📄 i_system_sdl.c
字号:
// Emacs style mode select -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: i_system_sdl.c,v 1.1 2003/09/08 19:41:53 jasonk Exp $//// Copyright (C) 1993-1996 by id Software, Inc.//// This source is available for distribution and/or modification// only under the terms of the DOOM Source Code License as// published by id Software. All rights reserved.//// The source is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License// for more details.//// $Log: i_system_sdl.c,v $// Revision 1.1 2003/09/08 19:41:53 jasonk// Addition of packages directory and associated files.//// Revision 1.1 2000/12/08 21:07:53 jeffw// nxdoom initial entry -- No nxdoom/Makefile so it won't build automatically////// DESCRIPTION:////-----------------------------------------------------------------------------static const charrcsid[] = "$Id: i_system_sdl.c,v 1.1 2003/09/08 19:41:53 jasonk Exp $";#include <stdlib.h>#include <stdarg.h>#include <ctype.h>#include "SDL.h"#include "SDL_timer.h"#include "doomdef.h"#include "m_misc.h"#include "i_video.h"#include "i_sound.h"#include "d_net.h"#include "g_game.h"#ifdef __GNUG__#pragma implementation "i_system.h"#endif#include "i_system.h"int mb_used = 6;int I_strncasecmp(char *str1, char *str2, int len){ char c1, c2; while ( *str1 && *str2 && len-- ) { c1 = *str1++; c2 = *str2++; if ( toupper(c1) != toupper(c2) ) return(1); } return(0);}voidI_Tactile( int on, int off, int total ){ // UNUSED. on = off = total = 0;}ticcmd_t emptycmd;ticcmd_t* I_BaseTiccmd(void){ return &emptycmd;}int I_GetHeapSize (void){ return mb_used*1024*1024;}byte* I_ZoneBase (int* size){ *size = mb_used*1024*1024; return (byte *) malloc (*size);}//// I_GetTime// returns time in 1/35 second tics//int I_GetTime (void){ return (SDL_GetTicks()*TICRATE)/1000;}//// I_Init//void I_Init (void){ if ( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 ) I_Error("Could not initialize SDL: %s", SDL_GetError()); I_InitSound(); // I_InitGraphics();}//// I_Quit//void I_Quit (void){ D_QuitNetGame (); I_ShutdownSound(); I_ShutdownMusic(); M_SaveDefaults (); I_ShutdownGraphics(); exit(0);}void I_WaitVBL(int count){ SDL_Delay((count*1000)/70);}void I_BeginRead(void){}void I_EndRead(void){}byte* I_AllocLow(int length){ byte* mem; mem = (byte *)malloc (length); memset (mem,0,length); return mem;}//// I_Error//extern boolean demorecording;void I_Error (char *error, ...){ va_list argptr; // Message first. va_start (argptr,error); fprintf (stderr, "Error: "); vfprintf (stderr,error,argptr); fprintf (stderr, "\n"); va_end (argptr); fflush( stderr ); // Shutdown. Here might be other errors. if (demorecording) G_CheckDemoStatus(); D_QuitNetGame (); I_ShutdownGraphics(); exit(-1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -