Major code cleanup; removed unused/empty win32 functions

This commit is contained in:
hpsolo
2001-05-31 22:08:29 +00:00
parent 369fc16f7c
commit 99683fffbc

View File

@@ -12,17 +12,6 @@
#define WORD unsigned short #define WORD unsigned short
#define DWORD unsigned long #define DWORD unsigned long
DWORD WindowWidth = 256;
DWORD WindowHeight = 224;
DWORD FullScreen = 0;
BYTE TestID1[]={""};
DWORD Moving= 0;
DWORD SoundBufferSize=1024*18;
DWORD FirstSound=1;
int AllowDefault=0;
int SoundEnabled=1;
#ifdef __LINUX__ // AH
typedef enum {FALSE, TRUE} BOOL; typedef enum {FALSE, TRUE} BOOL;
typedef Uint32 UINT32; typedef Uint32 UINT32;
typedef long long _int64; typedef long long _int64;
@@ -30,106 +19,34 @@ typedef long long LARGE_INTEGER;
#define STUB_FUNCTION fprintf(stderr,"STUB: %s at " __FILE__ ", line %d, thread %d\n",__FUNCTION__,__LINE__,getpid()) #define STUB_FUNCTION fprintf(stderr,"STUB: %s at " __FILE__ ", line %d, thread %d\n",__FUNCTION__,__LINE__,getpid())
#define FAR #define FAR
#define PASCAL #define PASCAL
#endif // __LINUX__
SDL_Surface *surface;
int sdl_inited = 0;
DWORD CurrentJoy=0;
SDL_Joystick *JoystickInput[4];
DWORD BitDepth=0; // Do NOT change this for ANY reason
BYTE BackColor=0;
float MouseMinX=0;
float MouseMaxX=256;
float MouseMinY=0;
float MouseMaxY=223;
int MouseX;
int MouseY;
float MouseMoveX;
float MouseMoveY;
int MouseMove2X;
int MouseMove2Y;
DWORD SurfaceX=0;
DWORD SurfaceY=0;
Uint8 MouseButton;
#define UPDATE_TICKS_GAME 1000/60 // milliseconds per world update
#define UPDATE_TICKS_GAMEPAL 1000/50 // milliseconds per world update
#define UPDATE_TICKS_GUI 1000/36 // milliseconds per world update
#define UPDATE_TICKS_UDP 1000/60 // milliseconds per world update
_int64 start, end, freq, update_ticks_pc, start2, end2, update_ticks_pc2;
extern unsigned char pressed[];
void drawscreenwin(void);
//void Init_2xSaI(UINT32 BitFormat);
DWORD LastUsedPos=0;
DWORD CurMode=-1;
DWORD InputEn=0;
BOOL InputAcquire(void)
{
#ifdef __LINUX__ // AH
STUB_FUNCTION;
InputEn=1;
return TRUE;
#else // __WIN32__
if(JoystickInput[0]) JoystickInput[0]->Acquire();
if(JoystickInput[1]) JoystickInput[1]->Acquire();
if(JoystickInput[2]) JoystickInput[2]->Acquire();
if(JoystickInput[3]) JoystickInput[3]->Acquire();
if(MouseInput) MouseInput->Acquire();
if(KeyboardInput) KeyboardInput->Acquire();
InputEn=1;
return TRUE;
#endif // __LINUX__
}
BOOL InputDeAcquire(void)
{
#ifdef __LINUX__ // AH
// STUB_FUNCTION;
InputEn=0;
return TRUE;
#else // __WIN32__
if(MouseInput) { MouseInput->Unacquire(); }
if(KeyboardInput) KeyboardInput->Unacquire();
if(JoystickInput[0]) JoystickInput[0]->Unacquire();
if(JoystickInput[1]) JoystickInput[1]->Unacquire();
if(JoystickInput[2]) JoystickInput[2]->Unacquire();
if(JoystickInput[3]) JoystickInput[3]->Unacquire();
InputEn=0;
return TRUE;
#endif // __LINUX__
}
unsigned char keyboardhit=0;
void initwinvideo();
extern BYTE StereoSound;
extern DWORD SoundQuality;
extern int CurKeyPos;
extern int CurKeyReadPos;
extern int KeyBuffer[16];
BYTE TestID1[] = { "" };
DWORD Moving = 0;
// SOUND RELATED VARIABLES
DWORD SoundBufferSize = 1024*18;
DWORD FirstSound = 1;
int AllowDefault = 0;
int SoundEnabled = 1;
BYTE PrevStereoSound; BYTE PrevStereoSound;
DWORD PrevSoundQuality; DWORD PrevSoundQuality;
extern BYTE StereoSound;
extern DWORD SoundQuality;
int shiftptr = 0; // SDL VIDEO VARIOABLES
DWORD numlockptr; SDL_Surface *surface;
void ProcessKeyBuf(int scancode); DWORD WindowWidth = 256;
void LinuxExit(void); DWORD WindowHeight = 224;
DWORD SurfaceX = 0;
DWORD SurfaceY = 0;
DWORD FullScreen = 0;
int sdl_inited = 0;
DWORD vidbuff_w, vidbuff_h;
BYTE BackColor = 0;
DWORD BitDepth = 0; // Do NOT change this for ANY reason
extern unsigned char cvidmode;
// OPENGL VARIABLES
#ifdef __OPENGL__ #ifdef __OPENGL__
int gl_inited = 0; int gl_inited = 0;
unsigned short *glvidbuffer = 0; unsigned short *glvidbuffer = 0;
@@ -141,15 +58,51 @@ extern Uint8 BilinearFilter;
extern Uint8 FilteredGUI; extern Uint8 FilteredGUI;
extern Uint8 GUIOn2; extern Uint8 GUIOn2;
#endif #endif
extern unsigned char cvidmode;
DWORD vidbuff_w, vidbuff_h;
// JOYSTICK AND KEYBOARD INPUT
SDL_Joystick *JoystickInput[4];
DWORD CurrentJoy = 0;
unsigned char keyboardhit = 0;
int shiftptr = 0;
DWORD numlockptr;
extern unsigned char pressed[];
extern int CurKeyPos;
extern int CurKeyReadPos;
extern int KeyBuffer[16];
// MOUSE INPUT
float MouseMinX = 0;
float MouseMaxX = 256;
float MouseMinY = 0;
float MouseMaxY = 223;
int MouseX, MouseY;
float MouseMoveX, MouseMoveY;
int MouseMove2X, MouseMove2Y;
Uint8 MouseButton;
DWORD LastUsedPos = 0;
DWORD CurMode = -1;
#define UPDATE_TICKS_GAME 1000/60 // milliseconds per world update
#define UPDATE_TICKS_GAMEPAL 1000/50 // milliseconds per world update
#define UPDATE_TICKS_GUI 1000/36 // milliseconds per world update
#define UPDATE_TICKS_UDP 1000/60 // milliseconds per world update
_int64 start, end, freq, update_ticks_pc, start2, end2, update_ticks_pc2;
void drawscreenwin(void);
void initwinvideo();
void ProcessKeyBuf(int scancode);
void LinuxExit(void);
int Main_Proc(void) int Main_Proc(void)
{ {
int j; int j;
SDL_Event event; SDL_Event event;
Uint8 JoyButton; Uint8 JoyButton;
//STUB_FUNCTION;
while (SDL_PollEvent(&event)) { while (SDL_PollEvent(&event)) {
switch(event.type) switch(event.type)
{ {
@@ -196,7 +149,6 @@ int Main_Proc(void)
case 4: case 4:
ProcessKeyBuf(SDLK_UP); ProcessKeyBuf(SDLK_UP);
break; break;
case 5: case 5:
ProcessKeyBuf(SDLK_DOWN); ProcessKeyBuf(SDLK_DOWN);
break; break;
@@ -286,6 +238,7 @@ int Main_Proc(void)
return TRUE; return TRUE;
} }
#define true 1 #define true 1
void ProcessKeyBuf(int scancode) void ProcessKeyBuf(int scancode)
@@ -400,7 +353,6 @@ int InitSound (void)
const int freqtab[7] = { 8000, 11025, 22050, 44100, 16000, 32000, 48000 }; const int freqtab[7] = { 8000, 11025, 22050, 44100, 16000, 32000, 48000 };
const int samptab[7] = { 64, 64, 128, 256, 128, 256, 256 }; const int samptab[7] = { 64, 64, 128, 256, 128, 256, 256 };
SDL_CloseAudio(); SDL_CloseAudio();
if (!SoundEnabled) { if (!SoundEnabled) {
@@ -428,7 +380,8 @@ int InitSound (void)
if (SDL_OpenAudio(&wanted, NULL) < 0) { if (SDL_OpenAudio(&wanted, NULL) < 0) {
fprintf(stderr, "Sound init failed!\n"); fprintf(stderr, "Sound init failed!\n");
fprintf(stderr, "freq: %d, channels: %d, samples: %d\n", wanted.freq, wanted.channels, wanted.samples); fprintf(stderr, "freq: %d, channels: %d, samples: %d\n",
wanted.freq, wanted.channels, wanted.samples);
SoundEnabled = 0; SoundEnabled = 0;
return FALSE; return FALSE;
} }
@@ -442,13 +395,11 @@ int ReInitSound(void)
return InitSound(); return InitSound();
} }
#ifdef __LINUX__ // AH
BOOL InitJoystickInput(void) BOOL InitJoystickInput(void)
{ {
int i; int i;
// STUB_FUNCTION;
for (i=0; i<4; i++) for (i=0; i<4; i++)
JoystickInput[i] = NULL; JoystickInput[i] = NULL;
// If it is possible to use SDL_NumJoysticks // If it is possible to use SDL_NumJoysticks
@@ -469,34 +420,23 @@ BOOL InitJoystickInput(void)
return TRUE; return TRUE;
} }
#endif // __LINUX__
void endgame() void endgame()
{ {
#ifdef __LINUX__ // AH
STUB_FUNCTION; STUB_FUNCTION;
SDL_Quit(); SDL_Quit();
#endif // __LINUX__
} }
BOOL InitInput() BOOL InitInput()
{ {
#ifdef __LINUX__ // AH
InitJoystickInput(); InitJoystickInput();
//InputAcquire();
#endif // __LINUX__
return TRUE; return TRUE;
} }
int SurfaceLocking = 0; int SurfaceLocking = 0;
void TestJoy()
{
STUB_FUNCTION;
}
DWORD converta; DWORD converta;
unsigned int BitConv32Ptr; unsigned int BitConv32Ptr;
@@ -507,7 +447,6 @@ int startgame(void)
Uint32 flags = SDL_DOUBLEBUF | SDL_HWSURFACE | SDL_HWPALETTE; Uint32 flags = SDL_DOUBLEBUF | SDL_HWSURFACE | SDL_HWPALETTE;
DWORD GBitMask; DWORD GBitMask;
//STUB_FUNCTION;
ScreenPtr2=BitConv32Ptr; ScreenPtr2=BitConv32Ptr;
for(i=0; i<65536; i++) for(i=0; i<65536; i++)
{ {
@@ -533,7 +472,6 @@ int startgame(void)
flags |= SDL_OPENGL; flags |= SDL_OPENGL;
SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 ); SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
} }
BitDepth = (UseOpenGL ? 16 : 0);
#endif #endif
surface = SDL_SetVideoMode(WindowWidth, WindowHeight, BitDepth, flags); surface = SDL_SetVideoMode(WindowWidth, WindowHeight, BitDepth, flags);
@@ -557,6 +495,7 @@ int startgame(void)
glGenTextures(1,&glvbtexture[0]); glGenTextures(1,&glvbtexture[0]);
gl_inited = 1; gl_inited = 1;
glvidbuffer = malloc(256*256*2); glvidbuffer = malloc(256*256*2);
// the *2 in 256*256*2 may need to be changed later on to account for the bitdepth
} }
} else { } else {
if (gl_inited) { if (gl_inited) {
@@ -564,6 +503,8 @@ int startgame(void)
gl_inited = 0; gl_inited = 0;
} }
} }
BitDepth = (UseOpenGL ? 16 : 0);
#endif #endif
SurfaceLocking = SDL_MUSTLOCK(surface); SurfaceLocking = SDL_MUSTLOCK(surface);
@@ -583,13 +524,10 @@ int startgame(void)
#ifdef __OPENGL__ #ifdef __OPENGL__
if (!UseOpenGL) { if (!UseOpenGL) {
#endif #endif
if(BitDepth==16 && GBitMask!=0x07E0) if(BitDepth == 16 && GBitMask != 0x07E0) {
{
converta=1; converta=1;
// Init_2xSaI(555); // Init_2xSaI(555);
} } else {
else
{
converta=0; converta=0;
} }
@@ -600,6 +538,7 @@ int startgame(void)
return TRUE; return TRUE;
} }
BYTE* SurfBuf; BYTE* SurfBuf;
DWORD LockSurface(void) DWORD LockSurface(void)
@@ -632,10 +571,8 @@ void UnlockSurface(void)
#endif #endif
} }
void WinUpdateDevices();
int Running=0; int Running=0;
unsigned char Noise[]={ unsigned char Noise[]={
27,232,234,138,187,246,176,81,25,241,1,127,154,190,195,103,231,165,220,238, 27,232,234,138,187,246,176,81,25,241,1,127,154,190,195,103,231,165,220,238,
232,189,57,201,123,75,63,143,145,159,13,236,191,142,56,164,222,80,88,13, 232,189,57,201,123,75,63,143,145,159,13,236,191,142,56,164,222,80,88,13,
@@ -643,36 +580,30 @@ unsigned char Noise[]={
88,32,23,206,1,24,48,244,248,210,253,77,19,100,83,222,108,68,11,58, 88,32,23,206,1,24,48,244,248,210,253,77,19,100,83,222,108,68,11,58,
152,161,223,245,4,105,3,82,15,130,171,242,141,2,172,218,152,97,223,157, 152,161,223,245,4,105,3,82,15,130,171,242,141,2,172,218,152,97,223,157,
93,75,83,238,104,238,131,70,22,252,180,82,110,123,106,133,183,209,48,230, 93,75,83,238,104,238,131,70,22,252,180,82,110,123,106,133,183,209,48,230,
157,205,27,21,107,63,85,164}; 157,205,27,21,107,63,85,164
};
int X, Y; int X, Y;
int i;
int count, x, count2;
DWORD Temp1; DWORD Temp1;
DWORD SurfBufD; DWORD SurfBufD;
int count, x,count2;
int i;
short *Sound;
DWORD CurrentPos; DWORD CurrentPos;
DWORD WritePos; DWORD WritePos;
DWORD SoundBufD; DWORD SoundBufD;
DWORD SoundBufD2; DWORD SoundBufD2;
DWORD T60HZEnabled=0; DWORD T60HZEnabled=0;
DWORD T36HZEnabled=0; DWORD T36HZEnabled=0;
short *Sound;
//void WinUpdateDevices(); function removed since it was empty
extern unsigned char romispal; extern unsigned char romispal;
void Start60HZ(void) void Start60HZ(void)
{ {
update_ticks_pc2 = UPDATE_TICKS_UDP; update_ticks_pc2 = UPDATE_TICKS_UDP;
if(romispal==1) if(romispal == 1) {
{
update_ticks_pc = UPDATE_TICKS_GAMEPAL; update_ticks_pc = UPDATE_TICKS_GAMEPAL;
} } else {
else
{
update_ticks_pc = UPDATE_TICKS_GAME; update_ticks_pc = UPDATE_TICKS_GAME;
} }
@@ -707,34 +638,27 @@ void Stop36HZ(void)
T36HZEnabled=0; T36HZEnabled=0;
} }
extern BYTE BlackAndWhite;
extern BYTE V8Mode;
DWORD FirstVid = 1; DWORD FirstVid = 1;
DWORD FirstFull = 1; DWORD FirstFull = 1;
extern BYTE GUIWFVID[]; extern BYTE GUIWFVID[];
extern BYTE BlackAndWhite;
extern BYTE V8Mode;
void clearwin(); void clearwin();
void initwinvideo(void) void initwinvideo(void)
{ {
#ifdef __LINUX__
//RECT zwindowrect;
// WINDOWPLACEMENT wndpl;
//RECT rc1, swrect;
DWORD newmode=0; DWORD newmode=0;
if (BlackAndWhite == 1) V8Mode = 1; if (BlackAndWhite == 1) V8Mode = 1;
else V8Mode = 0; else V8Mode = 0;
//STUB_FUNCTION; if(CurMode != cvidmode) {
if(CurMode!=cvidmode)
{
CurMode = cvidmode; CurMode = cvidmode;
newmode = 1; newmode = 1;
SurfaceX = 256; SurfaceX = 256;
SurfaceY = 224; SurfaceY = 224;
X=0; X = 0; Y=0;
Y=0;
FullScreen=GUIWFVID[cvidmode]; FullScreen=GUIWFVID[cvidmode];
#ifdef __OPENGL__ #ifdef __OPENGL__
UseOpenGL = 0; UseOpenGL = 0;
@@ -743,15 +667,8 @@ void initwinvideo(void)
switch(cvidmode) switch(cvidmode)
{ {
/* redundant // case 0 is removed since it is the default
case 0:
WindowWidth=256;
WindowHeight=224;
break;
*/
case 1: case 1:
//WindowWidth=640;
//WindowHeight=480 ;
WindowWidth = 320; WindowWidth = 320;
WindowHeight = 240 ; WindowHeight = 240 ;
SurfaceX = 320; SurfaceX = 320;
@@ -821,29 +738,30 @@ void initwinvideo(void)
InitSound(); InitSound();
InitInput(); InitInput();
} }
if(((PrevStereoSound!=StereoSound)||(PrevSoundQuality!=SoundQuality))) if(((PrevStereoSound!=StereoSound)||(PrevSoundQuality!=SoundQuality)))
ReInitSound(); ReInitSound();
#endif // __LINUX__
} }
extern unsigned int vidbuffer;
extern void SoundProcess();
extern int DSPBuffer[];
DWORD ScreenPtr; DWORD ScreenPtr;
DWORD ScreenPtr2; DWORD ScreenPtr2;
extern int GUI36hzcall(void); extern unsigned int vidbuffer;
extern int Game60hzcall(void); extern int DSPBuffer[];
extern int packettimeleft[256]; extern int packettimeleft[256];
extern int PacketCounter; extern int PacketCounter;
extern int CounterA; extern int CounterA;
extern int CounterB; extern int CounterB;
extern void SoundProcess();
extern int GUI36hzcall(void);
extern int Game60hzcall(void);
void CheckTimers(void) void CheckTimers(void)
{ {
int i; int i;
//QueryPerformanceCounter((LARGE_INTEGER*)&end2); //QueryPerformanceCounter((LARGE_INTEGER*)&end2);
end2 = SDL_GetTicks(); end2 = SDL_GetTicks();
while ((end2 - start2) >= update_ticks_pc2) while ((end2 - start2) >= update_ticks_pc2)
{ {
if (CounterA>0) CounterA--; if (CounterA>0) CounterA--;
@@ -857,35 +775,37 @@ void CheckTimers(void)
start2 += update_ticks_pc2; start2 += update_ticks_pc2;
} }
if(T60HZEnabled) if(T60HZEnabled) {
{
//QueryPerformanceCounter((LARGE_INTEGER*)&end); //QueryPerformanceCounter((LARGE_INTEGER*)&end);
end = SDL_GetTicks(); end = SDL_GetTicks();
while ((end - start) >= update_ticks_pc) while ((end - start) >= update_ticks_pc)
{ {
// _asm{ /*
// pushad _asm{
// call Game60hzcall pushad
// popad call Game60hzcall
// } popad
}
*/
Game60hzcall(); Game60hzcall();
start += update_ticks_pc; start += update_ticks_pc;
} }
} }
if(T36HZEnabled) if(T36HZEnabled) {
{
//QueryPerformanceCounter((LARGE_INTEGER*)&end); //QueryPerformanceCounter((LARGE_INTEGER*)&end);
end = SDL_GetTicks(); end = SDL_GetTicks();
while ((end - start) >= update_ticks_pc) while ((end - start) >= update_ticks_pc)
{ {
// _asm{ /*
// pushad _asm{
// call GUI36hzcall pushad
// popad call GUI36hzcall
// } popad
}
*/
GUI36hzcall(); GUI36hzcall();
start += update_ticks_pc; start += update_ticks_pc;
} }
@@ -896,7 +816,6 @@ void CheckTimers(void)
DWORD BufferLeftOver=0; DWORD BufferLeftOver=0;
short Buffer[1800*2]; short Buffer[1800*2];
#ifdef __LINUX__
void UpdateSound(void *userdata, Uint8 *stream, int len) void UpdateSound(void *userdata, Uint8 *stream, int len)
{ {
const int SPCSize = 256; const int SPCSize = 256;
@@ -961,103 +880,22 @@ void UpdateSound(void *userdata, Uint8 *stream, int len)
memcpy(ptr, &Buffer[0], DataNeeded*2); memcpy(ptr, &Buffer[0], DataNeeded*2);
} }
} }
#endif
void UpdateVFrame(void) void UpdateVFrame(void)
{ {
#ifdef __LINUX__
//STUB_FUNCTION;
Main_Proc(); Main_Proc();
// WinUpdateDevices(); removed since it is an empty function
WinUpdateDevices();
CheckTimers(); CheckTimers();
#else
int DataNeeded;
int SPCSize=256;
if(StereoSound==1)SPCSize=256;
while (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} }
WinUpdateDevices();
CheckTimers();
if (!SoundEnabled) return;
SoundBuffer->GetCurrentPosition(&CurrentPos,&WritePos);
if(LastUsedPos <= CurrentPos)
{
DataNeeded=CurrentPos-LastUsedPos;
}
else
{
DataNeeded=SoundBufferSize- LastUsedPos + CurrentPos;
}
DataNeeded/=(SPCSize*2);
DataNeeded*=(SPCSize*2);
while(DataNeeded>0)
{
_asm
{
pushad
call SoundProcess
popad
}
DSPBuffer1=(int *)&DSPBuffer;
for(i=0;i<SPCSize;i++)
{
Buffer[i]=DSPBuffer1[i];
if(DSPBuffer1[i]>32767)Buffer[i]=32767;
if(DSPBuffer1[i]<-32767)Buffer[i]=-32767;
if(T36HZEnabled)Buffer[i]=0;
}
if(DS_OK!=SoundBuffer->Lock(LastUsedPos,
SPCSize*2, &lpvPtr1,
&dwBytes1, &lpvPtr2,
&dwBytes2, 0))
{
return;
}
Sound=(short *)lpvPtr1;
CopyMemory(lpvPtr1, &Buffer[0], dwBytes1);
if(NULL != lpvPtr2)
{
CopyMemory(lpvPtr2, &Buffer[0]+dwBytes1, dwBytes2);
}
if(DS_OK != SoundBuffer->Unlock(lpvPtr1, dwBytes1, lpvPtr2, dwBytes2))
{
return;
}
LastUsedPos+=SPCSize*2;
if(LastUsedPos==SoundBufferSize) LastUsedPos=0;
DataNeeded-=(SPCSize*2);
}
#endif // __LINUX__
}
extern unsigned char curblank;
extern DWORD AddEndBytes; extern DWORD AddEndBytes;
extern DWORD NumBytesPerLine; extern DWORD NumBytesPerLine;
extern unsigned char * WinVidMemStart; extern unsigned char * WinVidMemStart;
extern void copy640x480x16bwin(void); extern unsigned char curblank;
extern unsigned char FPUCopy; extern unsigned char FPUCopy;
extern unsigned char NGNoTransp; extern unsigned char NGNoTransp;
extern unsigned char newengen; extern unsigned char newengen;
extern void copy640x480x16bwin(void);
void clearwin() void clearwin()
{ {
@@ -1077,7 +915,6 @@ void clearwin()
SurfBufD = (DWORD) &glvidbuffer[0]; SurfBufD = (DWORD) &glvidbuffer[0];
SURFDW = (DWORD *) &glvidbuffer[0]; SURFDW = (DWORD *) &glvidbuffer[0];
vidbuff_w = 256; vidbuff_h = 224; vidbuff_w = 256; vidbuff_h = 224;
// Temp1 = 512;
} }
#endif #endif
@@ -1086,7 +923,6 @@ void clearwin()
switch(BitDepth) switch(BitDepth)
{ {
case 16: case 16:
//STUB_FUNCTION;
__asm__ __volatile__ (" __asm__ __volatile__ ("
pushw %%es pushw %%es
movw %%ds, %%ax movw %%ds, %%ax
@@ -1187,7 +1023,8 @@ void drawscreenwin(void)
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,glfilters); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,glfilters);
glBindTexture(GL_TEXTURE_2D, *glvbtexture); glBindTexture(GL_TEXTURE_2D, *glvbtexture);
glColor3f(1.0f,1.0f,1.0f); glColor3f(1.0f,1.0f,1.0f);
glTexImage2D(GL_TEXTURE_2D, 0, 3, 256, 256, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, glvidbuffer); glTexImage2D(GL_TEXTURE_2D, 0, 3, 256, 256, 0,
GL_RGB, GL_UNSIGNED_SHORT_5_6_5, glvidbuffer);
glBegin(GL_QUADS); glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f); glVertex3f(-ratiox, 1.0f, -1.0f); glTexCoord2f(0.0f, 0.0f); glVertex3f(-ratiox, 1.0f, -1.0f);
glTexCoord2f(1.0f, 0.0f); glVertex3f( ratiox, 1.0f, -1.0f); glTexCoord2f(1.0f, 0.0f); glVertex3f( ratiox, 1.0f, -1.0f);
@@ -1273,6 +1110,7 @@ void drawscreenwin(void)
" : : : "cc", "memory", "eax", "ebx", "ecx","edi", "esi"); " : : : "cc", "memory", "eax", "ebx", "ecx","edi", "esi");
} }
break; break;
case 32: case 32:
__asm__ __volatile__ (" __asm__ __volatile__ ("
pushw %%es pushw %%es
@@ -1318,6 +1156,7 @@ void drawscreenwin(void)
SURFDW[i] = color32; SURFDW[i] = color32;
} }
break; break;
case 24: case 24:
fprintf (stderr, "Sorry, this mode does not work in 24 bit color\n"); fprintf (stderr, "Sorry, this mode does not work in 24 bit color\n");
LinuxExit(); LinuxExit();
@@ -1450,6 +1289,7 @@ void drawscreenwin(void)
} }
break; break;
case 32: case 32:
for(j=0; j<8; j++) for(j=0; j<8; j++)
{ {
@@ -1524,6 +1364,7 @@ void drawscreenwin(void)
WinVidMemStart = &SurfBuf[0]; WinVidMemStart = &SurfBuf[0];
copy640x480x16bwin(); copy640x480x16bwin();
break; break;
case 32: case 32:
__asm__ __volatile__ (" __asm__ __volatile__ ("
pushw %%es pushw %%es
@@ -1587,6 +1428,7 @@ void drawscreenwin(void)
WinVidMemStart = &SurfBuf[16*640*2+64*2]; WinVidMemStart = &SurfBuf[16*640*2+64*2];
copy640x480x16bwin(); copy640x480x16bwin();
break; break;
case 32: case 32:
__asm__ __volatile__ (" __asm__ __volatile__ ("
pushw %%es pushw %%es
@@ -1630,6 +1472,7 @@ void drawscreenwin(void)
addl Temp1, %%edi addl Temp1, %%edi
subl $2048, %%edi subl $2048, %%edi
*/ */
default: default:
UnlockSurface(); UnlockSurface();
fprintf(stderr, "Mode only available in 16 or 32 bit color.\n"); fprintf(stderr, "Mode only available in 16 or 32 bit color.\n");
@@ -1651,170 +1494,10 @@ void drawscreenwin(void)
} }
extern char fulladdtab[65536*2]; extern char fulladdtab[65536*2];
extern void SwitchFullScreen(void); extern void SwitchFullScreen(void);
void WinUpdateDevices() int GetMouseX(void) { return((int)MouseX); }
{ int GetMouseY(void) { return((int)MouseY); }
#ifdef __LINUX__
#else
int i,j;
unsigned char * keys;
unsigned char keys2[256];
HRESULT hRes;
for (i=0;i<256;i++)
keys2[i]=0;
keys=(unsigned char *)&pressed;
if(KeyboardInput&&InputEn==1)
{
KeyboardInput->GetDeviceState(256, keys2);
}
else
{
return;
}
if(keys2[0x38]!=0&&keys2[0x3E]!=0) exit(0);
if(keys2[0x38]!=0&&keys2[0x1c]!=0)
{
_asm{
pushad
call SwitchFullScreen
popad
}
return;
}
for(i=0;i<256;i++)
{
if(keys2[i]==0) keys[i]=0;
if(keys2[i]!=0&&keys[i]==0) keys[i]=1;
}
// keys[1]=keys[16];
keys[0]=0;
for(i=0;i<4;i++)
{
if(JoystickInput[i])
{
for(j=0;j<32;j++)
{
keys[0x100+i*32+j]=0;
}
// memset(&js[i], 0, sizeof(DIJOYSTATE));
JoystickInput[i]->Poll();
if(IDirectInputDevice7_GetDeviceState(JoystickInput[i],sizeof(DIJOYSTATE),
&js[i])==DIERR_INPUTLOST)
{
if(JoystickInput[i]) JoystickInput[i]->Acquire();
if(FAILED(IDirectInputDevice7_GetDeviceState(JoystickInput[i],sizeof(DIJOYSTATE),
&js[i]))) return;
}
if(!X1Disable[i])
{
if(js[i].lX>0) keys[0x100+i*32+0]=1;
}
if(!X2Disable[i])
{
if(js[i].lX<0) keys[0x100+i*32+1]=1;
}
if(!Y1Disable[i])
{
if(js[i].lY>0) keys[0x100+i*32+2]=1;
}
if(!Y2Disable[i])
{
if(js[i].lY<0) keys[0x100+i*32+3]=1;
}
if(!Z1Disable[i])
{
if(js[i].lZ>0) keys[0x100+i*32+4]=1;
}
if(!Z2Disable[i])
{
if(js[i].lZ<0) keys[0x100+i*32+5]=1;
}
if(!RY1Disable[i])
{
if(js[i].lRy>0) keys[0x100+i*32+6]=1;
}
if(!RY2Disable[i])
{
if(js[i].lRy<0) keys[0x100+i*32+7]=1;
}
if(!RZ1Disable[i])
{
if(js[i].lRz>0) keys[0x100+i*32+8]=1;
}
if(!RZ2Disable[i])
{
if(js[i].lRz<0) keys[0x100+i*32+9]=1;
}
if(!S01Disable[i])
{
if(js[i].rglSlider[0]>0) keys[0x100+i*32+10]=1;
}
if(!S02Disable[i])
{
if(js[i].rglSlider[0]<0) keys[0x100+i*32+11]=1;
}
if(!S11Disable[i])
{
if(js[i].rglSlider[1]>0) keys[0x100+i*32+12]=1;
}
if(!S12Disable[i])
{
if(js[i].rglSlider[1]<0) keys[0x100+i*32+13]=1;
}
if(js[i].rgbButtons[0]) keys[0x100+i*32+16]=1;
if(js[i].rgbButtons[1]) keys[0x100+i*32+17]=1;
if(js[i].rgbButtons[2]) keys[0x100+i*32+18]=1;
if(js[i].rgbButtons[3]) keys[0x100+i*32+19]=1;
if(js[i].rgbButtons[4]) keys[0x100+i*32+20]=1;
if(js[i].rgbButtons[5]) keys[0x100+i*32+21]=1;
if(js[i].rgbButtons[6]) keys[0x100+i*32+22]=1;
if(js[i].rgbButtons[7]) keys[0x100+i*32+23]=1;
if(js[i].rgbButtons[8]) keys[0x100+i*32+24]=1;
if(js[i].rgbButtons[9]) keys[0x100+i*32+25]=1;
if(js[i].rgbButtons[10]) keys[0x100+i*32+26]=1;
if(js[i].rgbButtons[11]) keys[0x100+i*32+27]=1;
if(js[i].rgbButtons[12]) keys[0x100+i*32+28]=1;
if(js[i].rgbButtons[13]) keys[0x100+i*32+29]=1;
if(js[i].rgbButtons[14]) keys[0x100+i*32+30]=1;
if(js[i].rgbButtons[15]) keys[0x100+i*32+31]=1;
}
else
{
for(j=0;j<32;j++)
{
keys[0x100+i*32+j]=0;
}
}
}
#endif // __LINUX__
}
int GetMouseX(void)
{
return((int)MouseX);
}
int GetMouseY(void)
{
return((int)MouseY);
}
int GetMouseMoveX(void) int GetMouseMoveX(void)
{ {
@@ -1824,73 +1507,24 @@ int GetMouseMoveX(void)
return(MouseMove2X); return(MouseMove2X);
} }
int GetMouseMoveY(void) int GetMouseMoveY(void) { return(MouseMove2Y); }
{ int GetMouseButton(void) { return((int) MouseButton); }
return(MouseMove2Y);
}
int GetMouseButton(void) void SetMouseMinX(int MinX) { MouseMinX = MinX; }
{ void SetMouseMaxX(int MaxX) { MouseMaxX = MaxX; }
//STUB_FUNCTION; void SetMouseMinY(int MinY) { MouseMinY = MinY; }
return((int)MouseButton); void SetMouseMaxY(int MaxY) { MouseMaxY = MaxY; }
}
void SetMouseMinX(int MinX) // we can probably get rid of these functions since they are no
{ // longer called in sdlintrf.asm
// MinX&=0xFFF; void SetMouseX(int X) { /* MouseX=X; */ }
// char message1[256]; void SetMouseY(int Y) { /* MouseY=Y; */ }
// sprintf(message1,"MinX %d",MinX);
// MessageBox (NULL, message1, "Init", MB_ICONERROR );
MouseMinX=MinX;
}
void SetMouseMaxX(int MaxX)
{
// MaxX&=0xFFF;
// char message1[256];
// sprintf(message1,"MaxX %d",MaxX);
// MessageBox (NULL, message1, "Init", MB_ICONERROR );
MouseMaxX=MaxX;
}
void SetMouseMinY(int MinY)
{
// MinY&=0xFFF;
// char message1[256];
// sprintf(message1,"MinY %d",MinY);
// MessageBox (NULL, message1, "Init", MB_ICONERROR );
MouseMinY=MinY;
}
void SetMouseMaxY(int MaxY)
{
// MaxY&=0xFFF;
// char message1[256];
// sprintf(message1,"MaxY %d",MaxY);
// MessageBox (NULL, message1, "Init", MB_ICONERROR );
MouseMaxY=MaxY;
}
void SetMouseX(int X)
{
// MouseX=X;
}
void SetMouseY(int Y)
{
// MouseY=Y;
}
void ZsnesPage() void ZsnesPage()
{ {
#ifdef __LINUX__
system("netscape -remote 'openURL(http://www.zsnes.com/)'"); system("netscape -remote 'openURL(http://www.zsnes.com/)'");
#else
ShellExecute(NULL, NULL, "http://www.zsnes.com", NULL, NULL, 0);
#endif // __LINUX__
} }
#ifdef __LINUX__
short SystemTimewHour; short SystemTimewHour;
short SystemTimewMinute; short SystemTimewMinute;
short SystemTimewSecond; short SystemTimewSecond;
@@ -1905,5 +1539,4 @@ void GetLocalTime()
SystemTimewMinute = timeptr->tm_min; SystemTimewMinute = timeptr->tm_min;
SystemTimewSecond = timeptr->tm_sec; SystemTimewSecond = timeptr->tm_sec;
} }
#endif