X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui.cpp;h=df8275cf05e8826f1fe7c5cc89292c3dad96f346;hb=fa2e10a964b5f0305656d858a3a8273baad12624;hp=2305ea6e7eb3f10bc76fb82030829c5249f6667f;hpb=43a80363f784b8dc10e438024149da0d993c7eca;p=thunder diff --git a/src/gui.cpp b/src/gui.cpp index 2305ea6..df8275c 100755 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -11,11 +11,12 @@ // JLH 07/23/2009 Added changelog ;-) // +#include "gui.h" + #include #include // Needed for tracelog -#include "SDL.h" // Needed for screen.h +//#include "SDL.h" // Needed for screen.h #include "screen.h" -#include "gui.h" #include "resource.h" // Thunder graphics & sounds using namespace std; // Yes! @@ -24,34 +25,34 @@ using namespace std; // Yes! extern SDL_Surface * screen; -extern BYTE my_scr[0x14000]; // Screen buffer... -extern BYTE * gram1; // Game RAM (do here??) -extern BYTE hScrollOffset; // Horizontal scroll offset -extern BYTE vScrollOffset; // Vertical scroll offset -extern DWORD voffsets[8]; -extern BYTE * voice_rom; // PCM data pointer +extern uint8 my_scr[0x14000]; // Screen buffer... +extern uint8 gram1[]; // Game RAM (do here??) +extern uint8 hScrollOffset; // Horizontal scroll offset +extern uint8 vScrollOffset; // Vertical scroll offset +extern uint32 voffsets[8]; +extern uint8 voice_rom[]; // PCM data pointer extern fstream tr; // Tracelog // Global shit -WORD text_life; // How long text is visible +uint16 text_life; // How long text is visible bool show_text; // Whether or not to show text -WORD show_which_msg; // Which message to show +uint16 show_which_msg; // Which message to show bool show_gui; // Whether or not to show GUI -WORD selection; // Which GUI item currently selected -WORD snd_num; -WORD gui_debounce; // GUI key debounce value -WORD num_coins; // Number of coins dropped -WORD blink = 0; // Used to blink player 1 & 2 start buttons -WORD flash = 23; // Used to flash GUI lights -WORD iline = 0; // Used to roll line -WORD dcurcol = 179; // dipswitch cursor color +uint16 selection; // Which GUI item currently selected +uint16 snd_num; +uint16 gui_debounce; // GUI key debounce value +uint16 num_coins; // Number of coins dropped +uint16 blink = 0; // Used to blink player 1 & 2 start buttons +uint16 flash = 23; // Used to flash GUI lights +uint16 iline = 0; // Used to roll line +uint16 dcurcol = 179; // dipswitch cursor color int dcurdir = 1; // Initially going up... bool blink_on = false; bool game_refresh; // Refresh rate user set bool do_decrement; // Flag to handle decrement... bool user_selected_something; // Flag for well, you know... -WORD dswitch; // Which dipswitch is selected... +uint16 dswitch; // Which dipswitch is selected... // The following are global for the sound routines... @@ -59,7 +60,7 @@ const float sampleBase = 22050.0/6000.0; // Btwn 5512.5 and 6000 bool snd_go = false; bool chan1_go = false, chan2_go = false, chan3_go = false; bool chan4_go = false, chan5_go = false, chan6_go = false; -BYTE * sndp1, * sndp2, * sndp3, * sndp4, * sndp5, * sndp6; +uint8 * sndp1, * sndp2, * sndp3, * sndp4, * sndp5, * sndp6; uint32 rom_pos, end_pos; uint32 spos1, end_pos1; uint32 spos2, end_pos2; @@ -74,12 +75,12 @@ float sample2; uint8 prevSamp2; int8 delta_x2; -BYTE * snd_array[3] = { sunknown, scya, scamera }; // From RESOURCE.H -DWORD snd_lens[3] = { sunknownlen, scyalen, scameralen }; +uint8 * snd_array[3] = { sunknown, scya, scamera }; // From RESOURCE.H +uint32 snd_lens[3] = { sunknownlen, scyalen, scameralen }; // Bitmaps -BYTE bmp1[] = { +uint8 bmp1[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0, 0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,1,1,1,1,0, @@ -88,7 +89,7 @@ BYTE bmp1[] = { 0,0,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,1,1,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; -BYTE bmp2[] = { +uint8 bmp2[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,0,0,0, 0,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,1,1,1,0, @@ -97,7 +98,7 @@ BYTE bmp2[] = { 0,1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,1,1,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; -BYTE bmp3[] = { +uint8 bmp3[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,0,0, @@ -106,7 +107,7 @@ BYTE bmp3[] = { 0,1,1,1,0,0,1,0,0,1,0,0,1,1,1,0,1,1,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 }; -BYTE boptions[] = { // 35x9 +uint8 boptions[] = { // 35x9 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -117,7 +118,7 @@ BYTE boptions[] = { // 35x9 0,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,0,0,1,1,0,0,1,0,0,1,0,0,1,1,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; -BYTE bn0[] = { +uint8 bn0[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,1,0, @@ -126,7 +127,7 @@ BYTE bn0[] = { 0,0,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn1[] = { +uint8 bn1[] = { 0,0,0,0,0,0, 0,0,1,0,0,0, 0,1,1,0,0,0, @@ -135,7 +136,7 @@ BYTE bn1[] = { 0,1,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn2[] = { +uint8 bn2[] = { 0,0,0,0,0,0, 0,1,1,1,0,0, 0,0,0,0,1,0, @@ -144,7 +145,7 @@ BYTE bn2[] = { 0,1,1,1,1,0, 0,0,0,0,0,0 }; -BYTE bn3[] = { +uint8 bn3[] = { 0,0,0,0,0,0, 0,1,1,1,0,0, 0,0,0,0,1,0, @@ -153,7 +154,7 @@ BYTE bn3[] = { 0,1,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn4[] = { +uint8 bn4[] = { 0,0,0,0,0,0, 0,0,0,1,0,0, 0,1,0,1,0,0, @@ -162,7 +163,7 @@ BYTE bn4[] = { 0,0,0,1,0,0, 0,0,0,0,0,0 }; -BYTE bn5[] = { +uint8 bn5[] = { 0,0,0,0,0,0, 0,1,1,1,1,0, 0,1,0,0,0,0, @@ -171,7 +172,7 @@ BYTE bn5[] = { 0,1,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn6[] = { +uint8 bn6[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,0,0, @@ -180,7 +181,7 @@ BYTE bn6[] = { 0,0,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn7[] = { +uint8 bn7[] = { 0,0,0,0,0,0, 0,1,1,1,1,0, 0,0,0,0,1,0, @@ -189,7 +190,7 @@ BYTE bn7[] = { 0,0,1,0,0,0, 0,0,0,0,0,0 }; -BYTE bn8[] = { +uint8 bn8[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,1,0, @@ -198,7 +199,7 @@ BYTE bn8[] = { 0,0,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bn9[] = { +uint8 bn9[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,1,0, @@ -207,7 +208,7 @@ BYTE bn9[] = { 0,0,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bnA[] = { +uint8 bnA[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,1,0, @@ -216,7 +217,7 @@ BYTE bnA[] = { 0,1,0,0,1,0, 0,0,0,0,0,0 }; -BYTE bnB[] = { +uint8 bnB[] = { 0,0,0,0,0,0, 0,1,1,1,0,0, 0,1,0,0,1,0, @@ -225,7 +226,7 @@ BYTE bnB[] = { 0,1,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bnC[] = { +uint8 bnC[] = { 0,0,0,0,0,0, 0,0,1,1,0,0, 0,1,0,0,1,0, @@ -234,7 +235,7 @@ BYTE bnC[] = { 0,0,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bnD[] = { +uint8 bnD[] = { 0,0,0,0,0,0, 0,1,1,1,0,0, 0,1,0,0,1,0, @@ -243,7 +244,7 @@ BYTE bnD[] = { 0,1,1,1,0,0, 0,0,0,0,0,0 }; -BYTE bnE[] = { +uint8 bnE[] = { 0,0,0,0,0,0, 0,1,1,1,1,0, 0,1,0,0,0,0, @@ -252,7 +253,7 @@ BYTE bnE[] = { 0,1,1,1,1,0, 0,0,0,0,0,0 }; -BYTE bnF[] = { +uint8 bnF[] = { 0,0,0,0,0,0, 0,1,1,1,1,0, 0,1,0,0,0,0, @@ -321,16 +322,16 @@ void DeactivateGUI(void) { show_gui = false; } // // Draw the small icons... // -void DrawSmallIcons(WORD icon_not_to_draw) +void DrawSmallIcons(uint16 icon_not_to_draw) { - BYTE * iconmem; - BYTE xl, yl; - BYTE * sIcons[12] = { inoguis, icoinus, ipl1sts, ipl2sts, ii30hzs, ii60hzs, + uint8 * iconmem; + uint8 xl, yl; + uint8 * sIcons[12] = { inoguis, icoinus, ipl1sts, ipl2sts, ii30hzs, ii60hzs, idipsws, ichecks, ikeycns, isnapss, iresets, ibyebys }; - BYTE xlens[12] = { 31, 18, 32, 35, 37, 37, 29, 23, 28, 32, 19, 19 }; - BYTE ylens[12] = { 31, 18, 19, 19, 21, 21, 23, 20, 16, 17, 20, 23 }; - BYTE xpos[11] = { 33, 48, 63, 78, 104, 0, 184, 210, 225, 240, 255 }; - BYTE iconidx[11] = { 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 6 }; + uint8 xlens[12] = { 31, 18, 32, 35, 37, 37, 29, 23, 28, 32, 19, 19 }; + uint8 ylens[12] = { 31, 18, 19, 19, 21, 21, 23, 20, 16, 17, 20, 23 }; + uint8 xpos[11] = { 33, 48, 63, 78, 104, 0, 184, 210, 225, 240, 255 }; + uint8 iconidx[11] = { 7, 8, 9, 10, 11, 0, 1, 2, 3, 4, 6 }; if (game_refresh) iconidx[9] = 5; // 60 Hz... @@ -338,44 +339,44 @@ void DrawSmallIcons(WORD icon_not_to_draw) for(int i=0; i<5; i++) { - WORD idx = i + icon_not_to_draw; // Get correct start pos. + uint16 idx = i + icon_not_to_draw; // Get correct start pos. if (idx > 10) idx -= 11; iconmem = sIcons[iconidx[idx]]; xl = xlens[iconidx[idx]]; yl = ylens[iconidx[idx]]; - DWORD scadr = hScrollOffset + voffsets[vScrollOffset]; + uint32 scadr = hScrollOffset + voffsets[vScrollOffset]; scadr += 320*((224-yl)/2); // Center vertically scadr += xpos[i] - (xl/2); // Center around horiz. pos. - WORD bmpptr = 0; + uint16 bmpptr = 0; for(int yy=0; yy5; i--) { - WORD idx = i + icon_not_to_draw; // Get correct start pos. + uint16 idx = i + icon_not_to_draw; // Get correct start pos. if (idx > 10) idx -= 11; iconmem = sIcons[iconidx[idx]]; xl = xlens[iconidx[idx]]; yl = ylens[iconidx[idx]]; - DWORD scadr = hScrollOffset + voffsets[vScrollOffset]; + uint32 scadr = hScrollOffset + voffsets[vScrollOffset]; scadr += 320*((224-yl)/2); // Center vertically scadr += xpos[i] - (xl/2); // Center around horiz. pos. - WORD bmpptr = 0; + uint16 bmpptr = 0; for(int yy=0; yy>4, second_dig = number&0x0F; + uint8 first_dig = number>>4, second_dig = number&0x0F; for(int y=0; y<7; y++) { for(int x=0; x<6; x++) @@ -801,7 +802,7 @@ void ShowNumbers(int number) // // Spawn a message // -void SpawnMsg(BYTE msg) +void SpawnMsg(uint8 msg) { text_life = 60; // 1 second... show_text = true; // Show the damn thing... @@ -822,8 +823,8 @@ void DrawText(void) text_life--; // Your life force is running out... // Draw the message here... - DWORD scadr = hScrollOffset + voffsets[vScrollOffset] + 642; - WORD bmpptr = 0; + uint32 scadr = hScrollOffset + voffsets[vScrollOffset] + 642; + uint16 bmpptr = 0; for(int y=0; y<7; y++) { @@ -862,12 +863,12 @@ void DrawText(void) // void SpawnSound(int type, int snd, int channel/* = 0*/) { - extern DWORD psg_lens[16]; - extern BYTE * psg_adrs[16]; - extern DWORD voc_lens[32]; - extern BYTE * voc_adrs[32]; - extern DWORD fm_lens[14]; - extern BYTE * fm_adrs[14]; + extern uint32 psg_lens[16]; + extern uint8 * psg_adrs[16]; + extern uint32 voc_lens[32]; + extern uint8 * voc_adrs[32]; + extern uint32 fm_lens[14]; + extern uint8 * fm_adrs[14]; snd_num = snd; SpawnMsg(MSHOWNUMS); @@ -879,7 +880,7 @@ void SpawnSound(int type, int snd, int channel/* = 0*/) if (channel == 0) { // 00 nn ss (nn # of repeats of sample ss) - DWORD st = 0; + uint32 st = 0; if (snd & 0x40) { @@ -895,7 +896,7 @@ void SpawnSound(int type, int snd, int channel/* = 0*/) } else { - DWORD st = 0; + uint32 st = 0; if (snd & 0x40) {