diff --git a/Makefile b/Makefile index 24e21c2..ee49255 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,7 @@ AVP = ai_sight.c avpview.c bh_agun.c bh_ais.c bh_alien.c bh_binsw.c bh_cable.c b SHAPES = cube.c SUPPORT = consbind.cpp consbtch.cpp coordstr.cpp daemon.cpp indexfnt.cpp r2base.cpp r2pos666.cpp reflist.cpp refobj.cpp rentrntq.cpp scstring.cpp strtab.cpp strutil.c trig666.cpp wrapstr.cpp AVPWIN95 = avpchunk.cpp cheat.c chtcodes.cpp d3d_hud.cpp ddplat.cpp endianio.c ffread.cpp ffstdio.cpp gammacontrol.cpp hierplace.cpp iofocus.cpp jsndsup.cpp kzsort.c langplat.c modcmds.cpp npcsetup.cpp objsetup.cpp pathchnk.cpp platsup.c pldghost.c pldnet.c progress_bar.cpp projload.cpp scrshot.cpp strachnk.cpp system.c usr_io.c vision.c -FRONTEND = avp_envinfo.c avp_intro.cpp avp_menudata.c +FRONTEND = avp_envinfo.c avp_intro.cpp avp_menudata.c avp_menus.c avp_mp_config.cpp avp_userprofile.cpp GADGETS = ahudgadg.cpp conscmnd.cpp conssym.cpp consvar.cpp gadget.cpp hudgadg.cpp rootgadg.cpp t_ingadg.cpp teletype.cpp textexp.cpp textin.cpp trepgadg.cpp WIN95 = animchnk.cpp animobs.cpp awtexld.cpp awbmpld.cpp awiffld.cpp awpnmld.cpp bmpnames.cpp chnkload.cpp chnktexi.cpp chnktype.cpp chunk.cpp chunkpal.cpp db.c debuglog.cpp dummyobjectchunk.cpp enumchnk.cpp enumsch.cpp envchunk.cpp fail.c fragchnk.cpp gsprchnk.cpp hierchnk.cpp huffman.cpp iff.cpp iff_ilbm.cpp ilbm_ext.cpp io.c list_tem.cpp ltchunk.cpp media.cpp mishchnk.cpp obchunk.cpp oechunk.cpp our_mem.c plat_shp.c plspecfn.c shpchunk.cpp sndchunk.cpp sprchunk.cpp string.cpp texio.c toolchnk.cpp txioctrl.cpp wpchunk.cpp zsp.cpp diff --git a/src/avp/consolelog.cpp b/src/avp/consolelog.cpp index 7b43053..9525219 100644 --- a/src/avp/consolelog.cpp +++ b/src/avp/consolelog.cpp @@ -31,13 +31,16 @@ #include "bh_agun.h" #include "weapons.h" -LogFile ConsoleLogFile("ConsoleLog.txt"); +#if 0 +static LogFile ConsoleLogFile("ConsoleLog.txt"); +#endif extern "C" { int LogConsoleTextToFile; extern void OutputBugReportToConsoleLogfile(char *messagePtr) { +#if 0 extern MODULE *playerPherModule; extern struct Target PlayersTarget; @@ -78,23 +81,17 @@ extern void OutputBugReportToConsoleLogfile(char *messagePtr) ConsoleLogFile.lprintf("Player's Module Coords: %d %d %d\n",playerPherModule->m_world.vx,playerPherModule->m_world.vy,playerPherModule->m_world.vz); ConsoleLogFile.lprintf("Player's Target: %d %d %d\n",PlayersTarget.Position.vx,PlayersTarget.Position.vy,PlayersTarget.Position.vz); ConsoleLogFile.lprintf("\n"); +#endif } -}; - extern void OutputToConsoleLogfile(char *messagePtr) { +#if 0 if(LogConsoleTextToFile) { ConsoleLogFile.lprintf("%s\n", (char const*)messagePtr); } +#endif } - - - - - - - - \ No newline at end of file +}; diff --git a/src/avp/consolelog.hpp b/src/avp/consolelog.hpp index b9e2d03..6df7815 100644 --- a/src/avp/consolelog.hpp +++ b/src/avp/consolelog.hpp @@ -7,14 +7,11 @@ #ifndef ConsoleLog_h_included #define ConsoleLog_h_included -extern void OutputToConsoleLogfile(char *messagePtr); - - - #ifdef __cplusplus extern "C" { #endif + extern void OutputToConsoleLogfile(char *messagePtr); extern void OutputBugReportToConsoleLogfile(char *messagePtr); #ifdef __cplusplus }; diff --git a/src/avp/win95/frontend/avp_menus.c b/src/avp/win95/frontend/avp_menus.c index a6cd3ab..1030992 100644 --- a/src/avp/win95/frontend/avp_menus.c +++ b/src/avp/win95/frontend/avp_menus.c @@ -410,21 +410,21 @@ void HandlePreGameFMVs(void) if (AvPMenus.MenusState == MENUSSTATE_STARTGAME && LoadGameRequest == SAVELOAD_REQUEST_NONE) { extern char LevelName[]; - if (!stricmp("derelict",&LevelName)) + if (!stricmp("derelict", LevelName)) { ClearScreenToBlack(); FlipBuffers(); ClearScreenToBlack(); PlayBinkedFMV("FMVs/marineintro.bik"); } - else if (!stricmp("temple",&LevelName)) + else if (!stricmp("temple", LevelName)) { ClearScreenToBlack(); FlipBuffers(); ClearScreenToBlack(); PlayBinkedFMV("FMVs/alienintro.bik"); } - else if (!stricmp("fall",&LevelName)) + else if (!stricmp("fall", LevelName)) { ClearScreenToBlack(); FlipBuffers(); @@ -666,6 +666,8 @@ extern void AvP_UpdateMenus(void) RenderMenuText(profilePtr->Name,MENU_CENTREX,MENU_CENTREY-100,ONE_FIXED,AVPMENUFORMAT_CENTREJUSTIFIED); { +#warning commented out code +#if 0 char buffer[100]; char buffer2[100]; int nLen = 80; @@ -680,6 +682,7 @@ extern void AvP_UpdateMenus(void) strcat(buffer2," "); strcat(buffer2,buffer); RenderSmallMenuText(buffer2,MENU_CENTREX,MENU_CENTREY-70,ONE_FIXED,AVPMENUFORMAT_CENTREJUSTIFIED); +#endif } RenderMenu(); @@ -837,7 +840,7 @@ static void SetupNewMenu(enum AVPMENU_ID menuID) { AvPMenus.UserEnteringText = 1; KeyboardEntryQueue_Clear(); - AvPMenus.MenuElements->TextPtr = UserProfilePtr->Name; + AvPMenus.MenuElements->c.TextPtr = UserProfilePtr->Name; UserProfilePtr->Name[0] = 0; AvPMenus.WidthLeftForText = 0; //will be calculated properly when menus are drawn break; @@ -859,24 +862,24 @@ static void SetupNewMenu(enum AVPMENU_ID menuID) { MarineEpisodeToPlay=0; EpisodeSelectScrollOffset=0; - AvPMenus.MenuElements->MaxSliderValue = NumberOfAvailableLevels(I_Marine); - *AvPMenus.MenuElements->SliderValuePtr = LevelMostLikelyToPlay(I_Marine); + AvPMenus.MenuElements->b.MaxSliderValue = NumberOfAvailableLevels(I_Marine); + *AvPMenus.MenuElements->c.SliderValuePtr = LevelMostLikelyToPlay(I_Marine); break; } case AVPMENU_PREDATORLEVELS: { PredatorEpisodeToPlay=0; EpisodeSelectScrollOffset=0; - AvPMenus.MenuElements->MaxSliderValue = NumberOfAvailableLevels(I_Predator); - *AvPMenus.MenuElements->SliderValuePtr = LevelMostLikelyToPlay(I_Predator); + AvPMenus.MenuElements->b.MaxSliderValue = NumberOfAvailableLevels(I_Predator); + *AvPMenus.MenuElements->c.SliderValuePtr = LevelMostLikelyToPlay(I_Predator); break; } case AVPMENU_ALIENLEVELS: { AlienEpisodeToPlay=0; EpisodeSelectScrollOffset=0; - AvPMenus.MenuElements->MaxSliderValue = NumberOfAvailableLevels(I_Alien); - *AvPMenus.MenuElements->SliderValuePtr = LevelMostLikelyToPlay(I_Alien); + AvPMenus.MenuElements->b.MaxSliderValue = NumberOfAvailableLevels(I_Alien); + *AvPMenus.MenuElements->c.SliderValuePtr = LevelMostLikelyToPlay(I_Alien); break; } case AVPMENU_MULTIPLAYERSELECTSESSION: @@ -1312,7 +1315,7 @@ has features which make it too awkward to add to the general system */ static void RenderEpisodeSelectMenu(void) { AVPMENU_ELEMENT *elementPtr = &AvPMenus.MenuElements[AvPMenus.CurrentlySelectedElement]; - int currentEpisode = *(elementPtr->SliderValuePtr); + int currentEpisode = *(elementPtr->c.SliderValuePtr); int centrePosition = (currentEpisode)*65536+EpisodeSelectScrollOffset; enum AVPMENUGFX_ID graphicID; I_PLAYER_TYPE playerID; @@ -1351,7 +1354,7 @@ static void RenderEpisodeSelectMenu(void) char *textPtr = GetTextString(AvPMenusData[AvPMenus.CurrentMenu].MenuTitle); RenderMenuText(textPtr,MENU_CENTREX,70,ONE_FIXED,AVPMENUFORMAT_CENTREJUSTIFIED); } - for (i=0; i<=elementPtr->MaxSliderValue; i++) + for (i=0; i<=elementPtr->b.MaxSliderValue; i++) { int y; @@ -1359,7 +1362,7 @@ static void RenderEpisodeSelectMenu(void) if (y>=-150 && y<=150) { - char *textPtr = GetTextString(elementPtr->TextDescription+i); + char *textPtr = GetTextString(elementPtr->a.TextDescription+i); int b; int targetBrightness; @@ -1427,7 +1430,7 @@ static void RenderEpisodeSelectMenu(void) } else { - if (i == elementPtr->MaxSliderValue) + if (i == elementPtr->b.MaxSliderValue) { RenderSmallMenuText ( @@ -1721,7 +1724,7 @@ static void RenderScrollyMenu() static void RenderUserProfileSelectMenu(void) { AVPMENU_ELEMENT *elementPtr = &AvPMenus.MenuElements[AvPMenus.CurrentlySelectedElement]; - int currentEpisode = *(elementPtr->SliderValuePtr); + int currentEpisode = *(elementPtr->c.SliderValuePtr); int centrePosition = (currentEpisode)*65536+EpisodeSelectScrollOffset; int i; AVP_USER_PROFILE *profilePtr = GetFirstUserProfile(); @@ -1729,8 +1732,11 @@ static void RenderUserProfileSelectMenu(void) char *textPtr = GetTextString(AvPMenusData[AvPMenus.CurrentMenu].MenuTitle); RenderMenuText(textPtr,MENU_CENTREX,70,ONE_FIXED,AVPMENUFORMAT_CENTREJUSTIFIED); } +#warning commented out code +#if 0 GetLocalTime(&profilePtr->TimeLastUpdated); - for (i=0; i<=elementPtr->MaxSliderValue; i++, profilePtr = GetNextUserProfile()) +#endif + for (i=0; i<=elementPtr->b.MaxSliderValue; i++, profilePtr = GetNextUserProfile()) { int y; @@ -1770,6 +1776,8 @@ static void RenderUserProfileSelectMenu(void) b=Brightness[i]; RenderMenuText_Clipped(textPtr,MENU_CENTREX,MENU_CENTREY+y-60,b,AVPMENUFORMAT_CENTREJUSTIFIED,MENU_CENTREY-60-100,MENU_CENTREY-30+150); { +#warning commented out code +#if 0 char buffer[100]; char buffer2[100]; int nLen = 80; @@ -1796,6 +1804,7 @@ static void RenderUserProfileSelectMenu(void) strcat(buffer2," "); strcat(buffer2,buffer); RenderSmallMenuText(buffer2,MENU_CENTREX,MENU_CENTREY+y-30,b,AVPMENUFORMAT_CENTREJUSTIFIED); +#endif } } } @@ -1926,8 +1935,9 @@ static void RenderLoadGameMenu(void) sprintf(buffer, "%s: %d",GetTextString(TEXTSTRING_SAVEGAME_SAVESLEFT),slotPtr->SavesLeft); RenderText(buffer,MENU_CENTREX,y+HUD_FONT_HEIGHT+1,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); - { +#warning commented out code +#if 0 char buffer2[100]; int nLen = 80; @@ -1939,6 +1949,7 @@ static void RenderLoadGameMenu(void) strcat(buffer2," "); strcat(buffer2,buffer); RenderText(buffer2,MENU_RIGHTXEDGE-30,y+HUD_FONT_HEIGHT+1,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); +#endif } } else @@ -2024,7 +2035,7 @@ static void ActUponUsersInput(void) if (DebouncedKeyboardInput[KEY_ESCAPE] || DebouncedKeyboardInput[KEY_CR]) { - elementPtr->TextPtr[AvPMenus.PositionInTextField] = 0; + elementPtr->c.TextPtr[AvPMenus.PositionInTextField] = 0; AvPMenus.UserEnteringText = 0; // KJL 10:09:35 09/02/00 - when the user has entered their name, @@ -2036,7 +2047,7 @@ static void ActUponUsersInput(void) { if(AvPMenus.PositionInTextField==0) { - strcpy(elementPtr->TextPtr,"DeadMeat"); + strcpy(elementPtr->c.TextPtr,"DeadMeat"); } AvPMenus.CurrentlySelectedElement++; } @@ -2045,7 +2056,7 @@ static void ActUponUsersInput(void) { if (AvPMenus.PositionInTextField>0) { - elementPtr->TextPtr[--AvPMenus.PositionInTextField] = 0; + elementPtr->c.TextPtr[--AvPMenus.PositionInTextField] = 0; } } else if(BackspaceTimer>ONE_FIXED/2) @@ -2056,7 +2067,7 @@ static void ActUponUsersInput(void) BackspaceTimer-=ONE_FIXED/20; if (AvPMenus.PositionInTextField>0) { - elementPtr->TextPtr[--AvPMenus.PositionInTextField] = 0; + elementPtr->c.TextPtr[--AvPMenus.PositionInTextField] = 0; } } } @@ -2065,17 +2076,17 @@ static void ActUponUsersInput(void) //allow Ctrl+V to paste from the clipboard (really just for pasting in ip addresses) if((KeyboardInput[KEY_LEFTCTRL] || KeyboardInput[KEY_RIGHTCTRL]) && KeyboardInput[KEY_V]) { - PasteFromClipboard(elementPtr->TextPtr,elementPtr->MaxTextLength); - AvPMenus.PositionInTextField = strlen(elementPtr->TextPtr); + PasteFromClipboard(elementPtr->c.TextPtr,elementPtr->b.MaxTextLength); + AvPMenus.PositionInTextField = strlen(elementPtr->c.TextPtr); } - else if (AvPMenus.PositionInTextFieldMaxTextLength) + else if (AvPMenus.PositionInTextFieldb.MaxTextLength) { char c=0; KeyboardEntryQueue_StartProcessing(); - while(c=KeyboardEntryQueue_ProcessCharacter()) + while((c=KeyboardEntryQueue_ProcessCharacter())) { - if (AvPMenus.PositionInTextFieldMaxTextLength) + if (AvPMenus.PositionInTextFieldb.MaxTextLength) { //see if there is room for this character if(AvPMenus.FontToUse==AVPMENU_FONT_BIG && elementPtr->ElementID !=AVPMENU_ELEMENT_TEXTFIELD_SMALLWRAPPED) @@ -2097,8 +2108,8 @@ static void ActUponUsersInput(void) AvPMenus.WidthLeftForText-=AAFontWidths[c]; } - elementPtr->TextPtr[AvPMenus.PositionInTextField++] = c; - elementPtr->TextPtr[AvPMenus.PositionInTextField] = 0; + elementPtr->c.TextPtr[AvPMenus.PositionInTextField++] = c; + elementPtr->c.TextPtr[AvPMenus.PositionInTextField] = 0; } } @@ -2118,7 +2129,7 @@ static void ActUponUsersInput(void) } else if (DebouncedKeyboardInput[KEY_BACKSPACE] || DebouncedKeyboardInput[KEY_LEFT]) { - (*elementPtr->NumberPtr)/=10; + (*elementPtr->c.NumberPtr)/=10; } else { @@ -2127,16 +2138,16 @@ static void ActUponUsersInput(void) KeyboardEntryQueue_StartProcessing(); while(c=KeyboardEntryQueue_ProcessCharacter()) { - if (AvPMenus.PositionInTextFieldMaxTextLength) + if (AvPMenus.PositionInTextFieldb.MaxTextLength) { if(c>='0' && c<='9') { - (*elementPtr->NumberPtr)*=10; - (*elementPtr->NumberPtr)+=c-'0'; + (*elementPtr->c.NumberPtr)*=10; + (*elementPtr->c.NumberPtr)+=c-'0'; - if((*elementPtr->NumberPtr)>elementPtr->MaxValue) + if((*elementPtr->c.NumberPtr)>elementPtr->b.MaxValue) { - (*elementPtr->NumberPtr)=elementPtr->MaxValue; + (*elementPtr->c.NumberPtr)=elementPtr->b.MaxValue; } } } @@ -2235,7 +2246,9 @@ static void ActUponUsersInput(void) MP_Config_Description[0]=0; break; } - + + default: + break; } @@ -2396,7 +2409,7 @@ static void ActUponUsersInput(void) { //take note of the current configuration MultiplayerConfigurationIndex=AvPMenus.CurrentlySelectedElement; - MultiplayerConfigurationName=AvPMenus.MenuElements[AvPMenus.CurrentlySelectedElement].TextPtr; + MultiplayerConfigurationName=AvPMenus.MenuElements[AvPMenus.CurrentlySelectedElement].c.TextPtr; //setup the delete configuration menu SetupNewMenu(AVPMENU_MULTIPLAYER_DELETECONFIG); break; @@ -2445,7 +2458,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact SaveUserProfile(UserProfilePtr); } - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -2457,7 +2470,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { SaveMultiplayerConfiguration(MP_Config_Name); } - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -2465,8 +2478,8 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { AvPMenus.UserEnteringText = 1; KeyboardEntryQueue_Clear(); - AvPMenus.PositionInTextField = strlen(elementPtr->TextPtr); - elementPtr->TextPtr[AvPMenus.PositionInTextField] = 0; + AvPMenus.PositionInTextField = strlen(elementPtr->c.TextPtr); + elementPtr->c.TextPtr[AvPMenus.PositionInTextField] = 0; AvPMenus.WidthLeftForText = 0; //will be calculated properly when menus are drawn break; } @@ -2474,7 +2487,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { AvPMenus.UserEnteringText = 1; KeyboardEntryQueue_Clear(); - AvPMenus.PositionInTextField = strlen(elementPtr->TextPtr); + AvPMenus.PositionInTextField = strlen(elementPtr->c.TextPtr); AvPMenus.WidthLeftForText = 0; //will be calculated properly when menus are drawn break; } @@ -2483,24 +2496,24 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { if(interactionID == AVPMENU_ELEMENT_INTERACTION_DECREASE) { - (*elementPtr->NumberPtr)--; - if(*elementPtr->NumberPtr<0) + (*elementPtr->c.NumberPtr)--; + if(*elementPtr->c.NumberPtr<0) { - *elementPtr->NumberPtr=0; + *elementPtr->c.NumberPtr=0; } } else if(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE) { - (*elementPtr->NumberPtr)++; - if(*elementPtr->NumberPtr>elementPtr->MaxValue) + (*elementPtr->c.NumberPtr)++; + if(*elementPtr->c.NumberPtr>elementPtr->b.MaxValue) { - *elementPtr->NumberPtr=elementPtr->MaxValue; + *elementPtr->c.NumberPtr=elementPtr->b.MaxValue; } } else { - *elementPtr->NumberPtr=0; + *elementPtr->c.NumberPtr=0; AvPMenus.UserEnteringNumber = 1; KeyboardEntryQueue_Clear(); } @@ -2519,16 +2532,16 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - if (*elementPtr->SliderValuePtrMaxSliderValue) + if (*elementPtr->c.SliderValuePtrb.MaxSliderValue) { - *elementPtr->SliderValuePtr+=1; + *elementPtr->c.SliderValuePtr+=1; } } else { - if (*elementPtr->SliderValuePtr>0) + if (*elementPtr->c.SliderValuePtr>0) { - *elementPtr->SliderValuePtr-=1; + *elementPtr->c.SliderValuePtr-=1; } } break; @@ -2539,18 +2552,18 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - *elementPtr->SliderValuePtr+=1; - if (*elementPtr->SliderValuePtr>elementPtr->MaxSliderValue) + *elementPtr->c.SliderValuePtr+=1; + if (*elementPtr->c.SliderValuePtr>elementPtr->b.MaxSliderValue) { - *elementPtr->SliderValuePtr=0; + *elementPtr->c.SliderValuePtr=0; } } else { - *elementPtr->SliderValuePtr-=1; - if (*elementPtr->SliderValuePtr<0) + *elementPtr->c.SliderValuePtr-=1; + if (*elementPtr->c.SliderValuePtr<0) { - *elementPtr->SliderValuePtr=elementPtr->MaxSliderValue; + *elementPtr->c.SliderValuePtr=elementPtr->b.MaxSliderValue; } } break; @@ -2560,21 +2573,21 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - *elementPtr->SliderValuePtr+=1; - if (*elementPtr->SliderValuePtr>elementPtr->MaxSliderValue) + *elementPtr->c.SliderValuePtr+=1; + if (*elementPtr->c.SliderValuePtr>elementPtr->b.MaxSliderValue) { - *elementPtr->SliderValuePtr=0; + *elementPtr->c.SliderValuePtr=0; } - GetNextAllowedSpecies(elementPtr->SliderValuePtr,TRUE); + GetNextAllowedSpecies(elementPtr->c.SliderValuePtr,TRUE); } else { - *elementPtr->SliderValuePtr-=1; - if (*elementPtr->SliderValuePtr<0) + *elementPtr->c.SliderValuePtr-=1; + if (*elementPtr->c.SliderValuePtr<0) { - *elementPtr->SliderValuePtr=elementPtr->MaxSliderValue; + *elementPtr->c.SliderValuePtr=elementPtr->b.MaxSliderValue; } - GetNextAllowedSpecies(elementPtr->SliderValuePtr,FALSE); + GetNextAllowedSpecies(elementPtr->c.SliderValuePtr,FALSE); } break; } @@ -2583,21 +2596,21 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - *elementPtr->SliderValuePtr+=1; - if (*elementPtr->SliderValuePtr>elementPtr->MaxSliderValue) + *elementPtr->c.SliderValuePtr+=1; + if (*elementPtr->c.SliderValuePtr>elementPtr->b.MaxSliderValue) { - *elementPtr->SliderValuePtr=0; + *elementPtr->c.SliderValuePtr=0; } - CheatMode_GetNextAllowedSpecies(elementPtr->SliderValuePtr,TRUE); + CheatMode_GetNextAllowedSpecies(elementPtr->c.SliderValuePtr,TRUE); } else { - *elementPtr->SliderValuePtr-=1; - if (*elementPtr->SliderValuePtr<0) + *elementPtr->c.SliderValuePtr-=1; + if (*elementPtr->c.SliderValuePtr<0) { - *elementPtr->SliderValuePtr=elementPtr->MaxSliderValue; + *elementPtr->c.SliderValuePtr=elementPtr->b.MaxSliderValue; } - CheatMode_GetNextAllowedSpecies(elementPtr->SliderValuePtr,FALSE); + CheatMode_GetNextAllowedSpecies(elementPtr->c.SliderValuePtr,FALSE); } break; } @@ -2606,21 +2619,21 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - *elementPtr->SliderValuePtr+=1; - if (*elementPtr->SliderValuePtr>elementPtr->MaxSliderValue) + *elementPtr->c.SliderValuePtr+=1; + if (*elementPtr->c.SliderValuePtr>elementPtr->b.MaxSliderValue) { - *elementPtr->SliderValuePtr=0; + *elementPtr->c.SliderValuePtr=0; } - CheatMode_GetNextAllowedMode(elementPtr->SliderValuePtr,TRUE); + CheatMode_GetNextAllowedMode(elementPtr->c.SliderValuePtr,TRUE); } else { - *elementPtr->SliderValuePtr-=1; - if (*elementPtr->SliderValuePtr<0) + *elementPtr->c.SliderValuePtr-=1; + if (*elementPtr->c.SliderValuePtr<0) { - *elementPtr->SliderValuePtr=elementPtr->MaxSliderValue; + *elementPtr->c.SliderValuePtr=elementPtr->b.MaxSliderValue; } - CheatMode_GetNextAllowedMode(elementPtr->SliderValuePtr,FALSE); + CheatMode_GetNextAllowedMode(elementPtr->c.SliderValuePtr,FALSE); } break; } @@ -2629,21 +2642,21 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if ((interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) ||(interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE)) { - *elementPtr->SliderValuePtr+=1; - if (*elementPtr->SliderValuePtr>elementPtr->MaxSliderValue) + *elementPtr->c.SliderValuePtr+=1; + if (*elementPtr->c.SliderValuePtr>elementPtr->b.MaxSliderValue) { - *elementPtr->SliderValuePtr=0; + *elementPtr->c.SliderValuePtr=0; } - CheatMode_GetNextAllowedEnvironment(elementPtr->SliderValuePtr,TRUE); + CheatMode_GetNextAllowedEnvironment(elementPtr->c.SliderValuePtr,TRUE); } else { - *elementPtr->SliderValuePtr-=1; - if (*elementPtr->SliderValuePtr<0) + *elementPtr->c.SliderValuePtr-=1; + if (*elementPtr->c.SliderValuePtr<0) { - *elementPtr->SliderValuePtr=elementPtr->MaxSliderValue; + *elementPtr->c.SliderValuePtr=elementPtr->b.MaxSliderValue; } - CheatMode_GetNextAllowedEnvironment(elementPtr->SliderValuePtr,FALSE); + CheatMode_GetNextAllowedEnvironment(elementPtr->c.SliderValuePtr,FALSE); } break; } @@ -2694,17 +2707,17 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact } else if (interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE) { - if (*elementPtr->SliderValuePtrMaxSliderValue) + if (*elementPtr->c.SliderValuePtrb.MaxSliderValue) { - *elementPtr->SliderValuePtr+=1; + *elementPtr->c.SliderValuePtr+=1; EpisodeSelectScrollOffset-=ONE_FIXED; } } else { - if (*elementPtr->SliderValuePtr>0) + if (*elementPtr->c.SliderValuePtr>0) { - *elementPtr->SliderValuePtr-=1; + *elementPtr->c.SliderValuePtr-=1; EpisodeSelectScrollOffset+=ONE_FIXED; } } @@ -2750,7 +2763,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact case AVPMENU_ELEMENT_ALIENEPISODE: { if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT - &&MaximumSelectableLevel>=*elementPtr->SliderValuePtr) + &&MaximumSelectableLevel>=*elementPtr->c.SliderValuePtr) { AvP.PlayerType = I_Alien; SetLevelToLoadForAlien(AlienEpisodeToPlay); @@ -2772,7 +2785,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact case AVPMENU_ELEMENT_MARINEEPISODE: { if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT - &&MaximumSelectableLevel>=*elementPtr->SliderValuePtr) + &&MaximumSelectableLevel>=*elementPtr->c.SliderValuePtr) { AvP.PlayerType = I_Marine; SetLevelToLoadForMarine(MarineEpisodeToPlay); @@ -2793,7 +2806,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact case AVPMENU_ELEMENT_PREDATOREPISODE: { if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT - &&MaximumSelectableLevel>=*elementPtr->SliderValuePtr) + &&MaximumSelectableLevel>=*elementPtr->c.SliderValuePtr) { AvP.PlayerType = I_Predator; SetLevelToLoadForPredator(PredatorEpisodeToPlay); @@ -2817,17 +2830,17 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact the current episode, not start playing the current episode */ if (interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE) { - if (*elementPtr->SliderValuePtrMaxSliderValue) + if (*elementPtr->c.SliderValuePtrb.MaxSliderValue) { - *elementPtr->SliderValuePtr+=1; + *elementPtr->c.SliderValuePtr+=1; EpisodeSelectScrollOffset-=ONE_FIXED; } } else { - if (*elementPtr->SliderValuePtr>0) + if (*elementPtr->c.SliderValuePtr>0) { - *elementPtr->SliderValuePtr-=1; + *elementPtr->c.SliderValuePtr-=1; EpisodeSelectScrollOffset+=ONE_FIXED; } } @@ -2844,17 +2857,17 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if (interactionID == AVPMENU_ELEMENT_INTERACTION_INCREASE) { - if (*elementPtr->SliderValuePtrMaxSliderValue) + if (*elementPtr->c.SliderValuePtrb.MaxSliderValue) { - *elementPtr->SliderValuePtr+=1; + *elementPtr->c.SliderValuePtr+=1; EpisodeSelectScrollOffset-=ONE_FIXED; } } else { - if (*elementPtr->SliderValuePtr>0) + if (*elementPtr->c.SliderValuePtr>0) { - *elementPtr->SliderValuePtr-=1; + *elementPtr->c.SliderValuePtr-=1; EpisodeSelectScrollOffset+=ONE_FIXED; } } @@ -2973,7 +2986,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if(braket_pos) *braket_pos=0; if(DirectPlay_ConnectToSession(s,MP_PlayerName)) - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } } break; @@ -2986,7 +2999,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact SaveUserProfile(UserProfilePtr); InitAVPNetGameForJoin(); - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -2996,7 +3009,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) { LoadMultiplayerConfigurationByIndex(AvPMenus.CurrentlySelectedElement); - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -3005,8 +3018,8 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) { - LoadIPAddress(elementPtr->TextPtr); - SetupNewMenu(elementPtr->MenuToGoTo); + LoadIPAddress(elementPtr->c.TextPtr); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -3015,19 +3028,22 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact { if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) { - netGameData.connectionType=elementPtr->Value; + netGameData.connectionType=elementPtr->c.Value; if(netGameData.connectionType == CONN_Mplayer) { //exit the game and launch the mplayer stuff + fprintf(stderr, "STUB: InteractWithMenuElement (launching mplayer...)\n"); + #if 0 LaunchingMplayer=TRUE; LaunchMplayer(); + #endif AvP.MainLoopRunning = 0; AvPMenus.MenusState = MENUSSTATE_OUTSIDEMENUS; break; } else { - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } } @@ -3052,7 +3068,7 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact if (interactionID == AVPMENU_ELEMENT_INTERACTION_SELECT) { SaveDeviceAndVideoModePreferences(); - SetupNewMenu(elementPtr->MenuToGoTo); + SetupNewMenu(elementPtr->b.MenuToGoTo); } break; } @@ -3133,6 +3149,9 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact JoystickControlMethods = PlayerJoystickControlMethods; break; } + + default: + break; } @@ -3183,7 +3202,9 @@ static void InteractWithMenuElement(enum AVPMENU_ELEMENT_INTERACTION_ID interact PlayerJoystickControlMethods = DefaultJoystickControlMethods; break; } - + + default: + break; } } break; @@ -3312,7 +3333,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_DELETEMPCONFIG: case AVPMENU_ELEMENT_SAVESETTINGS: { - char *textPtr = GetTextString(elementPtr->TextDescription); + char *textPtr = GetTextString(elementPtr->a.TextDescription); RenderText(textPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); break; } @@ -3321,7 +3342,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_STARTMARINEGAME: case AVPMENU_ELEMENT_STARTPREDATORGAME: { - char *textPtr = GetTextString(elementPtr->TextDescription); + char *textPtr = GetTextString(elementPtr->a.TextDescription); RenderText(textPtr,MENU_LEFTXEDGE,MENU_BOTTOMYEDGE,elementPtr->Brightness,AVPMENUFORMAT_LEFTJUSTIFIED); break; } @@ -3330,7 +3351,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_ALIENEPISODE: case AVPMENU_ELEMENT_PREDATOREPISODE: { - char *textPtr = GetTextString(elementPtr->TextDescription+*(elementPtr->SliderValuePtr)); + char *textPtr = GetTextString(elementPtr->a.TextDescription+*(elementPtr->SliderValuePtr)); RenderText(textPtr,MENU_LEFTXEDGE,MENU_TOPYEDGE,elementPtr->Brightness,AVPMENUFORMAT_LEFTJUSTIFIED); break; } @@ -3350,25 +3371,25 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) elementPtr->ElementID == AVPMENU_ELEMENT_DUMMYTEXTSLIDER_POINTER) { //we have a pointer to the strings rather than the first string index - if(elementPtr->TextSliderStringPointer) + if(elementPtr->d.TextSliderStringPointer) { - textPtr = elementPtr->TextSliderStringPointer[*(elementPtr->SliderValuePtr)]; + textPtr = elementPtr->d.TextSliderStringPointer[*(elementPtr->c.SliderValuePtr)]; } } else { //we have the index of the first string - textPtr = GetTextString(elementPtr->FirstTextSliderString+*(elementPtr->SliderValuePtr)); + textPtr = GetTextString(elementPtr->d.FirstTextSliderString+*(elementPtr->c.SliderValuePtr)); } - if(elementPtr->TextDescription!=TEXTSTRING_BLANK) + if(elementPtr->a.TextDescription!=TEXTSTRING_BLANK) { if(AvPMenus.MenusState == MENUSSTATE_INGAMEMENUS) { RenderText ( - GetTextString(elementPtr->TextDescription), + GetTextString(elementPtr->a.TextDescription), MENU_CENTREX-MENU_ELEMENT_SPACING, y, elementPtr->Brightness, @@ -3392,7 +3413,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) { RenderText ( - GetTextString(elementPtr->TextDescription), + GetTextString(elementPtr->a.TextDescription), ScreenDescriptorBlock.SDB_Width-MENU_ELEMENT_SPACING*2-length, y, elementPtr->Brightness, @@ -3412,7 +3433,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) RenderText ( - GetTextString(elementPtr->TextDescription), + GetTextString(elementPtr->a.TextDescription), MENU_CENTREX-MENU_ELEMENT_SPACING, y, elementPtr->Brightness, @@ -3445,12 +3466,12 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_DUMMYTEXTFIELD: case AVPMENU_ELEMENT_TEXTFIELD: { - if (elementPtr->TextDescription==TEXTSTRING_BLANK) + if (elementPtr->a.TextDescription==TEXTSTRING_BLANK) { if (AvPMenus.UserEnteringText && e==AvPMenus.CurrentlySelectedElement) { int b = GetSin(CloakingPhase&4095); - int x = RenderText(elementPtr->TextPtr,MENU_CENTREX,y,elementPtr->Brightness/2,AVPMENUFORMAT_CENTREJUSTIFIED); + int x = RenderText(elementPtr->c.TextPtr,MENU_CENTREX,y,elementPtr->Brightness/2,AVPMENUFORMAT_CENTREJUSTIFIED); x = RenderText("I",x,y,MUL_FIXED(b,b),AVPMENUFORMAT_CENTREJUSTIFIED); //work out how much space was left over @@ -3461,17 +3482,17 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) } else { - RenderText(elementPtr->TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); + RenderText(elementPtr->c.TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); } } else { - RenderText(GetTextString(elementPtr->TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); + RenderText(GetTextString(elementPtr->a.TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); if (AvPMenus.UserEnteringText && e==AvPMenus.CurrentlySelectedElement) { int b = GetSin(CloakingPhase&4095); - int x = RenderText(elementPtr->TextPtr,MENU_CENTREX+MENU_ELEMENT_SPACING,y,elementPtr->Brightness/2,AVPMENUFORMAT_LEFTJUSTIFIED); + int x = RenderText(elementPtr->c.TextPtr,MENU_CENTREX+MENU_ELEMENT_SPACING,y,elementPtr->Brightness/2,AVPMENUFORMAT_LEFTJUSTIFIED); x = RenderText("I",x,y,MUL_FIXED(b,b),AVPMENUFORMAT_LEFTJUSTIFIED); //work out how much space was left over @@ -3482,7 +3503,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) } else { - RenderText(elementPtr->TextPtr,MENU_CENTREX+MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_LEFTJUSTIFIED); + RenderText(elementPtr->c.TextPtr,MENU_CENTREX+MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_LEFTJUSTIFIED); } } break; @@ -3490,7 +3511,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_TEXTFIELD_SMALLWRAPPED: { - if (elementPtr->TextDescription==TEXTSTRING_BLANK) + if (elementPtr->a.TextDescription==TEXTSTRING_BLANK) { RECT area; area.left=MENU_LEFTXEDGE; @@ -3502,7 +3523,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) { int output_x,output_y; int b = GetSin(CloakingPhase&4095); - RenderSmallFontString_Wrapped(elementPtr->TextPtr,&area,elementPtr->Brightness/2,&output_x,&output_y); + RenderSmallFontString_Wrapped(elementPtr->c.TextPtr,&area,elementPtr->Brightness/2,&output_x,&output_y); output_x = RenderSmallMenuText("I",output_x,output_y,MUL_FIXED(b,b),AVPMENUFORMAT_LEFTJUSTIFIED); //work out how much space was left over @@ -3524,7 +3545,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) } else { - RenderSmallFontString_Wrapped(elementPtr->TextPtr,&area,elementPtr->Brightness,0,0); + RenderSmallFontString_Wrapped(elementPtr->c.TextPtr,&area,elementPtr->Brightness,0,0); } } else @@ -3535,13 +3556,13 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) area.top=y; area.bottom=y+4*HUD_FONT_HEIGHT; - RenderText(GetTextString(elementPtr->TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y+HUD_FONT_HEIGHT,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); + RenderText(GetTextString(elementPtr->a.TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y+HUD_FONT_HEIGHT,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); if (AvPMenus.UserEnteringText && e==AvPMenus.CurrentlySelectedElement) { int output_x,output_y; int b = GetSin(CloakingPhase&4095); - RenderSmallFontString_Wrapped(elementPtr->TextPtr,&area,elementPtr->Brightness/2,&output_x,&output_y); + RenderSmallFontString_Wrapped(elementPtr->c.TextPtr,&area,elementPtr->Brightness/2,&output_x,&output_y); output_x = RenderSmallMenuText("I",output_x,output_y,MUL_FIXED(b,b),AVPMENUFORMAT_LEFTJUSTIFIED); //work out how much space was left over @@ -3563,7 +3584,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) } else { - RenderSmallFontString_Wrapped(elementPtr->TextPtr,&area,elementPtr->Brightness,0,0); + RenderSmallFontString_Wrapped(elementPtr->c.TextPtr,&area,elementPtr->Brightness,0,0); } } break; @@ -3574,14 +3595,14 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) { { static char NumberString[50]; - if(*elementPtr->NumberPtr!=0 || elementPtr->NumberFieldZeroString==TEXTSTRING_BLANK) + if(*elementPtr->c.NumberPtr!=0 || elementPtr->NumberFieldZeroString==TEXTSTRING_BLANK) { - sprintf(NumberString,"%d",*elementPtr->NumberPtr); - if(elementPtr->NumberFieldUnitsString!=TEXTSTRING_BLANK) + sprintf(NumberString,"%d",*elementPtr->c.NumberPtr); + if(elementPtr->d.NumberFieldUnitsString!=TEXTSTRING_BLANK) { //add the text for the unit type strcat(NumberString," "); - strcat(NumberString,GetTextString(elementPtr->NumberFieldUnitsString)); + strcat(NumberString,GetTextString(elementPtr->d.NumberFieldUnitsString)); } } else @@ -3590,7 +3611,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) sprintf(NumberString,"%s",GetTextString(elementPtr->NumberFieldZeroString)); } - if (elementPtr->TextDescription==TEXTSTRING_BLANK) + if (elementPtr->a.TextDescription==TEXTSTRING_BLANK) { if (AvPMenus.UserEnteringNumber && e==AvPMenus.CurrentlySelectedElement) { @@ -3605,7 +3626,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) } else { - RenderText(GetTextString(elementPtr->TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); + RenderText(GetTextString(elementPtr->a.TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); if (AvPMenus.UserEnteringNumber && e==AvPMenus.CurrentlySelectedElement) { @@ -3624,22 +3645,22 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_GOTOMENU_GFX: { - DrawAvPMenuGfx(elementPtr->GfxID,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); + DrawAvPMenuGfx(elementPtr->a.GfxID,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); break; } case AVPMENU_ELEMENT_LISTCHOICE: { - RenderText(elementPtr->TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); + RenderText(elementPtr->c.TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); break; } case AVPMENU_ELEMENT_LOADMPCONFIG: { - RenderText(elementPtr->TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); + RenderText(elementPtr->c.TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); break; } case AVPMENU_ELEMENT_LOADIPADDRESS: { - RenderText(elementPtr->TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); + RenderText(elementPtr->c.TextPtr,MENU_CENTREX,y,elementPtr->Brightness,AVPMENUFORMAT_CENTREJUSTIFIED); break; } @@ -3650,8 +3671,8 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) case AVPMENU_ELEMENT_SLIDER: { int x = MENU_CENTREX+MENU_ELEMENT_SPACING+3; - x+=(201*(*elementPtr->SliderValuePtr))/elementPtr->MaxSliderValue; - RenderText(GetTextString(elementPtr->TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); + x+=(201*(*elementPtr->c.SliderValuePtr))/elementPtr->b.MaxSliderValue; + RenderText(GetTextString(elementPtr->a.TextDescription),MENU_CENTREX-MENU_ELEMENT_SPACING,y,elementPtr->Brightness,AVPMENUFORMAT_RIGHTJUSTIFIED); if(AvPMenus.MenusState == MENUSSTATE_INGAMEMENUS) { D3D_DrawSliderBar(MENU_CENTREX+MENU_ELEMENT_SPACING,y+1,elementPtr->Brightness); @@ -3670,7 +3691,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) { /* RenderText ( - GetTextString(elementPtr->TextDescription), + GetTextString(elementPtr->a.TextDescription), MENU_CENTREX-MENU_ELEMENT_SPACING, y, elementPtr->Brightness, @@ -3814,7 +3835,7 @@ static void RenderMenuElement(AVPMENU_ELEMENT *elementPtr, int e, int y) RenderText ( - GetTextString(elementPtr->TextDescription), + GetTextString(elementPtr->a.TextDescription), MENU_LEFTXEDGE, y, elementPtr->Brightness, @@ -3879,7 +3900,7 @@ static int HeightOfMenuElement(AVPMENU_ELEMENT *elementPtr) case AVPMENU_ELEMENT_GOTOMENU_GFX: { - h += HeightOfMenuGfx(elementPtr->GfxID); + h += HeightOfMenuGfx(elementPtr->a.GfxID); break; } #if 0 @@ -4493,6 +4514,8 @@ void DisplayVideoModeUnavailableScreen(void) void CheckForCredits(void) { + fprintf(stderr, "CheckForCredits()\n"); +#if 0 FILE *fp = fopen("credits.txt","rb"); if (!fp) @@ -4507,7 +4530,9 @@ void CheckForCredits(void) { fclose(fp); } +#endif } + void DoCredits(void) { int position = 300*2048; @@ -4942,6 +4967,10 @@ extern void DrawMainMenusBackdrop(void) int WhiteOfBrightness(int brightness) { + fprintf(stderr, "WhiteOfBrightness(%d)\n", brightness); + + return 0; +#if 0 extern DDPIXELFORMAT DisplayPixelFormat; int a; @@ -4950,10 +4979,13 @@ int WhiteOfBrightness(int brightness) a |= MUL_FIXED(DisplayPixelFormat.dwBBitMask,brightness) & DisplayPixelFormat.dwBBitMask; return a; +#endif } void RenderPixel(int x,int y,int r,int g,int b) { + fprintf(stderr, "RenderPixel(%d, %d, %d, %d, %d)\n", x, y, r, g, b); +#if 0 extern DDPIXELFORMAT DisplayPixelFormat; extern unsigned char *ScreenBuffer; extern long BackBufferPitch; @@ -4966,7 +4998,7 @@ void RenderPixel(int x,int y,int r,int g,int b) *(unsigned short*) (ScreenBuffer + (x)*2 + (y)*BackBufferPitch) = colour; - +#endif } #if 0 void BezierCurve(void) @@ -5025,7 +5057,7 @@ static void UpdateMultiplayerConfigurationMenu() GLOBALASSERT(elementPtr->ElementID!=AVPMENU_ELEMENT_ENDOFMENU); elementPtr++; - }while(elementPtr->TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT); + }while(elementPtr->a.TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT); if(netGameData.skirmishMode) @@ -5036,16 +5068,16 @@ static void UpdateMultiplayerConfigurationMenu() if(netGameData.gameType!=NGT_Coop) { - elementPtr->MaxSliderValue = NumMultiplayerLevels-1; - elementPtr->TextSliderStringPointer = MultiplayerLevelNames; + elementPtr->b.MaxSliderValue = NumMultiplayerLevels-1; + elementPtr->d.TextSliderStringPointer = MultiplayerLevelNames; //make sure the level number is within bounds netGameData.levelNumber%=NumMultiplayerLevels; } else { - elementPtr->MaxSliderValue = NumCoopLevels-1; - elementPtr->TextSliderStringPointer = CoopLevelNames; + elementPtr->b.MaxSliderValue = NumCoopLevels-1; + elementPtr->d.TextSliderStringPointer = CoopLevelNames; //make sure the level number is within bounds netGameData.levelNumber%=NumCoopLevels; @@ -5055,7 +5087,7 @@ static void UpdateMultiplayerConfigurationMenu() //see if selected element is the gamestyle element elementPtr = &AvPMenus.MenuElements[AvPMenus.CurrentlySelectedElement]; - if(elementPtr->TextDescription==TEXTSTRING_MULTIPLAYER_GAMESTYLE) + if(elementPtr->a.TextDescription==TEXTSTRING_MULTIPLAYER_GAMESTYLE) { //change the helpstring according to the game style switch(netGameData.gameType) @@ -5093,9 +5125,9 @@ static void UpdateMultiplayerConfigurationMenu() static void TestValidityOfCheatMenu(void) { - CheatMode_GetNextAllowedMode(AvPMenus.MenuElements[0].SliderValuePtr,TRUE); - CheatMode_GetNextAllowedSpecies(AvPMenus.MenuElements[1].SliderValuePtr,TRUE); - CheatMode_GetNextAllowedEnvironment(AvPMenus.MenuElements[2].SliderValuePtr,TRUE); + CheatMode_GetNextAllowedMode(AvPMenus.MenuElements[0].c.SliderValuePtr,TRUE); + CheatMode_GetNextAllowedSpecies(AvPMenus.MenuElements[1].c.SliderValuePtr,TRUE); + CheatMode_GetNextAllowedEnvironment(AvPMenus.MenuElements[2].c.SliderValuePtr,TRUE); } static unsigned char *BriefingTextString[5]; @@ -5579,6 +5611,8 @@ static void GetHeaderInfoForSaveSlot(SAVE_SLOT_HEADER* save_slot,const char* fil } +#warning commented out code +#if 0 //get the time stamp for the file { FILETIME time,localTime; @@ -5587,7 +5621,7 @@ static void GetHeaderInfoForSaveSlot(SAVE_SLOT_HEADER* save_slot,const char* fil FileTimeToSystemTime(&localTime,&save_slot->TimeStamp); } - +#endif //load the level header ReadFile(file,&block,sizeof(block),(LPDWORD)&bytes_read,0); @@ -5660,6 +5694,8 @@ static void CheckForLoadGame() static void PasteFromClipboard(char* Text,int MaxTextLength) { + fprintf(stderr, "PasteFromClipboard(%p, %d)\n", Text, MaxTextLength); +#if 0 HANDLE hGlobal; if(!Text) { @@ -5682,29 +5718,5 @@ static void PasteFromClipboard(char* Text,int MaxTextLength) } CloseClipboard(); } +#endif } - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/avp/win95/frontend/avp_mp_config.cpp b/src/avp/win95/frontend/avp_mp_config.cpp index aa5b338..f0eb85e 100644 --- a/src/avp/win95/frontend/avp_mp_config.cpp +++ b/src/avp/win95/frontend/avp_mp_config.cpp @@ -36,6 +36,8 @@ AVPMENU_ELEMENT* AvPMenu_Multiplayer_LoadConfig=0; BOOL BuildLoadMPConfigMenu() { + int i; + //delete the old list of filenames while(ConfigurationFilenameList.size()) { @@ -54,6 +56,9 @@ BOOL BuildLoadMPConfigMenu() { load_name=SKIRMISH_CONFIG_WILDCARD; } + + fprintf(stderr, "STUB: BuildLoadMPConfigMenu()\n"); +#if 0 // allow a wildcard search WIN32_FIND_DATA wfd; @@ -126,7 +131,7 @@ BOOL BuildLoadMPConfigMenu() } ::FindClose(hFindFile); - +#endif //delete the old menu if(AvPMenu_Multiplayer_LoadConfig) delete AvPMenu_Multiplayer_LoadConfig; @@ -138,12 +143,12 @@ BOOL BuildLoadMPConfigMenu() //create a new menu from the list of filenames AvPMenu_Multiplayer_LoadConfig=new AVPMENU_ELEMENT[ConfigurationFilenameList.size()+1]; - for(int i=0;iTextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) + while(elementPtr->a.TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) { GLOBALASSERT(elementPtr->ElementID!=AVPMENU_ELEMENT_ENDOFMENU); elementPtr++; } - elementPtr->MaxSliderValue = NumMultiplayerLevels-1; - elementPtr->TextSliderStringPointer = MultiplayerLevelNames; + elementPtr->b.MaxSliderValue = NumMultiplayerLevels-1; + elementPtr->d.TextSliderStringPointer = MultiplayerLevelNames; elementPtr = AvPMenu_Multiplayer_Config_Join; //search for the level name element - while(elementPtr->TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) + while(elementPtr->a.TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) { GLOBALASSERT(elementPtr->ElementID!=AVPMENU_ELEMENT_ENDOFMENU); elementPtr++; } - elementPtr->MaxSliderValue = NumMultiplayerLevels-1; - elementPtr->TextSliderStringPointer = MultiplayerLevelNames; + elementPtr->b.MaxSliderValue = NumMultiplayerLevels-1; + elementPtr->d.TextSliderStringPointer = MultiplayerLevelNames; elementPtr = AvPMenu_Skirmish_Config; //search for the level name element - while(elementPtr->TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) + while(elementPtr->a.TextDescription!=TEXTSTRING_MULTIPLAYER_ENVIRONMENT) { GLOBALASSERT(elementPtr->ElementID!=AVPMENU_ELEMENT_ENDOFMENU); elementPtr++; } - elementPtr->MaxSliderValue = NumMultiplayerLevels-1; - elementPtr->TextSliderStringPointer = MultiplayerLevelNames; + elementPtr->b.MaxSliderValue = NumMultiplayerLevels-1; + elementPtr->d.TextSliderStringPointer = MultiplayerLevelNames; } @@ -850,4 +863,4 @@ int GetLocalMultiplayerLevelIndex(int index,char* customLevelName,int gameType) } -}; \ No newline at end of file +}; diff --git a/src/avp/win95/frontend/avp_userprofile.cpp b/src/avp/win95/frontend/avp_userprofile.cpp index ed5babe..d3204df 100644 --- a/src/avp/win95/frontend/avp_userprofile.cpp +++ b/src/avp/win95/frontend/avp_userprofile.cpp @@ -9,7 +9,7 @@ extern "C" #include "avp_userprofile.h" #include "language.h" -#include "GammaControl.h" +#include "gammacontrol.h" #include "psnd.h" #include "cd_player.h" @@ -17,9 +17,8 @@ extern "C" #include "ourasert.h" // Edmond - #include "pldnet.h" - #include "dp_func.h" - #include +#include "pldnet.h" +#include static int LoadUserProfiles(void); @@ -63,8 +62,11 @@ extern void ExamineSavedUserProfiles(void) AVP_USER_PROFILE *profilePtr = new AVP_USER_PROFILE; *profilePtr = DefaultUserProfile; + fprintf(stderr, "STUB: ExamineSavedUserProfiles()\n"); +#if 0 GetLocalTime(&profilePtr->TimeLastUpdated); SystemTimeToFileTime(&profilePtr->TimeLastUpdated,&profilePtr->FileTime); +#endif strncpy(profilePtr->Name,GetTextString(TEXTSTRING_USERPROFILE_NEW),MAX_SIZE_OF_USERS_NAME); profilePtr->Name[MAX_SIZE_OF_USERS_NAME]=0; @@ -178,8 +180,12 @@ static void InsertProfileIntoList(AVP_USER_PROFILE *profilePtr) } UserProfilesList.add_entry(profilePtr); } + static int ProfileIsMoreRecent(AVP_USER_PROFILE *profilePtr, AVP_USER_PROFILE *profileToTestAgainstPtr) { + fprintf(stderr, "STUB: ProfileIsMoreRecent(%p, %p)\n", profilePtr, profileToTestAgainstPtr); + return 1; +#if 0 if (CompareFileTime(&profilePtr->FileTime,&profileToTestAgainstPtr->FileTime)==1) { return 1; @@ -188,10 +194,13 @@ static int ProfileIsMoreRecent(AVP_USER_PROFILE *profilePtr, AVP_USER_PROFILE *p { return 0; } +#endif } + static int LoadUserProfiles(void) { - + fprintf(stderr, "STUB: LoadUserProfiles()\n"); +#if 0 const char* load_name=USER_PROFILES_WILDCARD_NAME; // allow a wildcard search WIN32_FIND_DATA wfd; @@ -279,7 +288,7 @@ static int LoadUserProfiles(void) } ::FindClose(hFindFile); - +#endif return 1; } diff --git a/src/avp/win95/progress_bar.cpp b/src/avp/win95/progress_bar.cpp index 9ec23ad..b775d14 100644 --- a/src/avp/win95/progress_bar.cpp +++ b/src/avp/win95/progress_bar.cpp @@ -234,9 +234,8 @@ void Set_Progress_Bar_Position(int pos) { //time to check our messages LastSendTime=time; -#if 0 /* TODO: disabled for port */ + MinimalNetCollectMessages(); -#endif //send messages , mainly needed so that the host will send the game description //allowing people to join while the host is loading NetSendMessages(); @@ -267,7 +266,6 @@ void Game_Has_Loaded(void) // FlipBuffers(); -#if 0 /* TODO: disabled for port */ ColourFillBackBufferQuad ( 0, @@ -276,7 +274,7 @@ void Game_Has_Loaded(void) ScreenDescriptorBlock.SDB_Width-1, ScreenDescriptorBlock.SDB_Height-1 ); -#endif + if (f) { LoadingBarFull_SrcRect.left=0; @@ -314,9 +312,8 @@ void Game_Has_Loaded(void) /* If in a network game then we may as well check the network messages while waiting*/ if(AvP.Network != I_No_Network) { -#if 0 /* TODO: disabled for port */ MinimalNetCollectMessages(); -#endif + //send messages , mainly needed so that the host will send the game description //allowing people to join while the host is loading NetSendMessages(); @@ -324,9 +321,8 @@ void Game_Has_Loaded(void) } } -#if 0 /* TODO: disabled for port */ while(!DebouncedGotAnyKey); -#endif + while (0); FadingGameInAfterLoading=ONE_FIXED; diff --git a/src/main.c b/src/main.c index b94d517..153eba0 100644 --- a/src/main.c +++ b/src/main.c @@ -517,9 +517,6 @@ void CheckForWindowsMessages() SDL_ShowCursor(0); } - if (DebouncedKeyboardInput[KEY_ESCAPE]) - AvP.MainLoopRunning = 0; - /* ctrl-z for iconify window? */ } @@ -568,7 +565,6 @@ int main(int argc, char *argv[]) InitialVideoMode(); /* Env_List can probably be removed */ -// Env_List[0] = &(ELOLevelToLoad); /* overwrite the first entry of crappy env_list with LevelName */ Env_List[0]->main = LevelName; InitialiseSystem(); @@ -576,8 +572,6 @@ int main(int argc, char *argv[]) RequestedGammaSetting = 128; -/* InitOptionsMenu(); NOT YET */ - // LoadDefaultPrimaryConfigs(); /* load the configs! yes! */ MarineInputPrimaryConfig = DefaultMarineInputPrimaryConfig; PredatorInputPrimaryConfig = DefaultPredatorInputPrimaryConfig; @@ -606,12 +600,13 @@ int main(int argc, char *argv[]) AvP.LevelCompleted = 0; LoadSounds("PLAYER"); + AvP.CurrentEnv = AvP.StartingEnv = 0; /* are these even used? */ + +#if 0 { // AvP.Network = I_Host; /* for exploring */ } - AvP.CurrentEnv = AvP.StartingEnv = 0; /* are these even used? */ - #if ALIEN_DEMO AvP.PlayerType = I_Alien; SetLevelToLoad(AVP_ENVIRONMENT_INVASION_A); @@ -642,7 +637,9 @@ int main(int argc, char *argv[]) // SetLevelToLoad(AVP_ENVIRONMENT_E3DEMOSP); /* demo level */ #endif -// while(AvP_MainMenus()) { +#endif + +while(AvP_MainMenus()) { d3d_light_ctrl.ctrl = LCCM_NORMAL; d3d_overlay_ctrl.ctrl = OCCM_NORMAL; @@ -720,10 +717,8 @@ int main(int argc, char *argv[]) ThisFramesRenderingHasBegun(); } -/* NOT YET menusActive = AvP_InGameMenus(); if (AvP.RestartLevel) menusActive=0; -*/ if (AvP.LevelCompleted) { SoundSys_FadeOutFast(); @@ -758,18 +753,16 @@ int main(int argc, char *argv[]) if (AvP.RestartLevel) { AvP.RestartLevel = 0; AvP.LevelCompleted = 0; -/* NOT YET + FixCheatModesInUserProfile(UserProfilePtr); -*/ + RestartLevel(); } } AvP.LevelCompleted = thisLevelHasBeenCompleted; -/* NOT YET FixCheatModesInUserProfile(UserProfilePtr); -*/ /* NOT YET CloseFMV(); @@ -799,14 +792,12 @@ int main(int argc, char *argv[]) CDDA_Stop(); if (AvP.Network != I_No_Network) { -/* NOT YET EndAVPNetGame(); -*/ } ClearMemoryPool(); -// } +} SoundSys_StopAll(); SoundSys_RemoveAll(); diff --git a/src/opengl.c b/src/opengl.c index 97dc36f..1448184 100644 --- a/src/opengl.c +++ b/src/opengl.c @@ -1782,6 +1782,571 @@ if (stringPtr == NULL) return; } } +int Hardware_RenderSmallMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format) +{ + switch(format) + { + default: + fprintf(stderr, "Hardware_RenderSmallMenuText: UNKNOWN TEXT FORMAT\n"); + exit(EXIT_FAILURE); +// GLOBALASSERT("UNKNOWN TEXT FORMAT"==0); + case AVPMENUFORMAT_LEFTJUSTIFIED: + { + // supplied x is correct + break; + } + case AVPMENUFORMAT_RIGHTJUSTIFIED: + { + int length = 0; + signed char *ptr = textPtr; + + while(*ptr) + { + length+=AAFontWidths[*ptr++]; + } + + x -= length; + break; + } + case AVPMENUFORMAT_CENTREJUSTIFIED: + { + int length = 0; + signed char *ptr = textPtr; + + while(*ptr) + { + length+=AAFontWidths[*ptr++]; + } + + x -= length/2; + break; + } + } + +// LOCALASSERT(x>0); + + { + unsigned int colour = alpha>>8; + if (colour>255) colour = 255; + colour = (colour<<24)+0xffffff; + D3D_RenderHUDString(textPtr,x,y,colour); + } + return x; +} + +int Hardware_RenderSmallMenuText_Coloured(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int red, int green, int blue) +{ + switch(format) + { + default: +// GLOBALASSERT("UNKNOWN TEXT FORMAT"==0); + fprintf(stderr, "Hardware_RenderSmallMenuText_Coloured: UNKNOWN TEXT FORMAT\n"); + exit(EXIT_FAILURE); + case AVPMENUFORMAT_LEFTJUSTIFIED: + { + // supplied x is correct + break; + } + case AVPMENUFORMAT_RIGHTJUSTIFIED: + { + int length = 0; + signed char *ptr = textPtr; + + while(*ptr) + { + length+=AAFontWidths[*ptr++]; + } + + x -= length; + break; + } + case AVPMENUFORMAT_CENTREJUSTIFIED: + { + int length = 0; + signed char *ptr = textPtr; + + while(*ptr) + { + length+=AAFontWidths[*ptr++]; + } + + x -= length/2; + break; + } + } + +// LOCALASSERT(x>0); + + { + unsigned int colour = alpha>>8; + if (colour>255) colour = 255; + colour = (colour<<24); + colour += MUL_FIXED(red,255)<<16; + colour += MUL_FIXED(green,255)<<8; + colour += MUL_FIXED(blue,255); + D3D_RenderHUDString(textPtr,x,y,colour); + } + return x; +} + +void Hardware_RenderKeyConfigRectangle(int alpha) +{ + extern void D3D_DrawRectangle(int x, int y, int w, int h, int alpha); + D3D_DrawRectangle(10,ScreenDescriptorBlock.SDB_Height/2+25-115,ScreenDescriptorBlock.SDB_Width-20,250,alpha); +} + +void Hardware_RenderHighlightRectangle(int x1,int y1,int x2,int y2,int r, int g, int b) +{ + D3D_Rectangle(x1, y1, x2, y2, r, g, b, 255); +} + +void D3D_DrawSliderBar(int x, int y, int alpha) +{ + struct VertexTag quadVertices[4]; + int sliderHeight = 11; + unsigned int colour = alpha>>8; + + if (colour>255) colour = 255; + colour = (colour<<24)+0xffffff; + + quadVertices[0].Y = y; + quadVertices[1].Y = y; + quadVertices[2].Y = y + sliderHeight; + quadVertices[3].Y = y + sliderHeight; + + CheckFilteringModeIsCorrect(FILTERING_BILINEAR_OFF); + { + int topLeftU = 1; + int topLeftV = 68; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 2; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 2; + quadVertices[2].V = topLeftV + sliderHeight; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + sliderHeight; + + quadVertices[0].X = x; + quadVertices[3].X = x; + quadVertices[1].X = x + 2; + quadVertices[2].X = x + 2; + + D3D_HUDQuad_Output + ( + HUDFontsImageNumber, + quadVertices, + colour + ); + } + { + int topLeftU = 7; + int topLeftV = 68; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 2; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 2; + quadVertices[2].V = topLeftV + sliderHeight; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + sliderHeight; + + quadVertices[0].X = x+213+2; + quadVertices[3].X = x+213+2; + quadVertices[1].X = x+2 +213+2; + quadVertices[2].X = x+2 +213+2; + + D3D_HUDQuad_Output + ( + HUDFontsImageNumber, + quadVertices, + colour + ); + } + quadVertices[2].Y = y + 2; + quadVertices[3].Y = y + 2; + + { + int topLeftU = 5; + int topLeftV = 77; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU; + quadVertices[2].V = topLeftV + 2; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 2; + + quadVertices[0].X = x + 2; + quadVertices[3].X = x + 2; + quadVertices[1].X = x + 215; + quadVertices[2].X = x + 215; + + D3D_HUDQuad_Output + ( + HUDFontsImageNumber, + quadVertices, + colour + ); + } + quadVertices[0].Y = y + 9; + quadVertices[1].Y = y + 9; + quadVertices[2].Y = y + 11; + quadVertices[3].Y = y + 11; + + { + int topLeftU = 5; + int topLeftV = 77; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU; + quadVertices[2].V = topLeftV + 2; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 2; + + quadVertices[0].X = x + 2; + quadVertices[3].X = x + 2; + quadVertices[1].X = x + 215; + quadVertices[2].X = x + 215; + + D3D_HUDQuad_Output + ( + HUDFontsImageNumber, + quadVertices, + colour + ); + } +} + +void D3D_DrawSlider(int x, int y, int alpha) +{ + struct VertexTag quadVertices[4]; + int sliderHeight = 5; + unsigned int colour = alpha>>8; + + if (colour>255) colour = 255; + colour = (colour<<24)+0xffffff; + + quadVertices[0].Y = y; + quadVertices[1].Y = y; + quadVertices[2].Y = y + sliderHeight; + quadVertices[3].Y = y + sliderHeight; + + CheckFilteringModeIsCorrect(FILTERING_BILINEAR_OFF); + { + int topLeftU = 11; + int topLeftV = 74; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 9; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 9; + quadVertices[2].V = topLeftV + sliderHeight; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + sliderHeight; + + quadVertices[0].X = x; + quadVertices[3].X = x; + quadVertices[1].X = x + 9; + quadVertices[2].X = x + 9; + + D3D_HUDQuad_Output + ( + HUDFontsImageNumber, + quadVertices, + colour + ); + } +} + +void D3D_DrawRectangle(int x, int y, int w, int h, int alpha) +{ + struct VertexTag quadVertices[4]; + unsigned int colour = alpha>>8; + + if (colour>255) colour = 255; + colour = (colour<<24)+0xffffff; + + quadVertices[0].Y = y; + quadVertices[1].Y = y; + quadVertices[2].Y = y + 6; + quadVertices[3].Y = y + 6; + + CheckFilteringModeIsCorrect(FILTERING_BILINEAR_OFF); + /* top left corner */ + { + int topLeftU = 1; + int topLeftV = 238; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x; + quadVertices[3].X = x; + quadVertices[1].X = x + 6; + quadVertices[2].X = x + 6; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + /* top */ + { + int topLeftU = 9; + int topLeftV = 238; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x+6; + quadVertices[3].X = x+6; + quadVertices[1].X = x+6 + w-12; + quadVertices[2].X = x+6 + w-12; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + /* top right corner */ + { + int topLeftU = 11; + int topLeftV = 238; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x + w - 6; + quadVertices[3].X = x + w - 6; + quadVertices[1].X = x + w; + quadVertices[2].X = x + w; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + quadVertices[0].Y = y + 6; + quadVertices[1].Y = y + 6; + quadVertices[2].Y = y + h - 6; + quadVertices[3].Y = y + h - 6; + /* right */ + { + int topLeftU = 1; + int topLeftV = 246; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + /* left */ + { + int topLeftU = 1; + int topLeftV = 246; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV; + + quadVertices[0].X = x; + quadVertices[3].X = x; + quadVertices[1].X = x + 6; + quadVertices[2].X = x + 6; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + quadVertices[0].Y = y + h - 6; + quadVertices[1].Y = y + h - 6; + quadVertices[2].Y = y + h; + quadVertices[3].Y = y + h; + /* bottom left corner */ + { + int topLeftU = 1; + int topLeftV = 248; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x; + quadVertices[3].X = x; + quadVertices[1].X = x + 6; + quadVertices[2].X = x + 6; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + /* bottom */ + { + int topLeftU = 9; + int topLeftV = 238; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x+6; + quadVertices[3].X = x+6; + quadVertices[1].X = x+6 + w-12; + quadVertices[2].X = x+6 + w-12; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } + /* bottom right corner */ + { + int topLeftU = 11; + int topLeftV = 248; + + quadVertices[0].U = topLeftU; + quadVertices[0].V = topLeftV; + quadVertices[1].U = topLeftU + 6; + quadVertices[1].V = topLeftV; + quadVertices[2].U = topLeftU + 6; + quadVertices[2].V = topLeftV + 6; + quadVertices[3].U = topLeftU; + quadVertices[3].V = topLeftV + 6; + + quadVertices[0].X = x + w - 6; + quadVertices[3].X = x + w - 6; + quadVertices[1].X = x + w; + quadVertices[2].X = x + w; + + D3D_HUDQuad_Output + ( + AAFontImageNumber, + quadVertices, + colour + ); + } +} + +void D3D_DrawColourBar(int yTop, int yBottom, int rScale, int gScale, int bScale) +{ + extern unsigned char GammaValues[256]; + GLfloat x[4], y[4]; + int i; + + CheckTranslucencyModeIsCorrect(TRANSLUCENCY_OFF); + CheckBoundTextureIsCorrect(NULL); + + SelectPolygonBeginType(3); /* triangles */ + + for (i = 0; i < 255; ) { + unsigned int c; + + c = GammaValues[i]; + glColor4ub(MUL_FIXED(c,rScale), MUL_FIXED(c,gScale), MUL_FIXED(c,bScale), 0); + + x[0] = (Global_VDB_Ptr->VDB_ClipRight*i)/255; + x[0] = (x[0] - ScreenDescriptorBlock.SDB_CentreX)/ScreenDescriptorBlock.SDB_CentreX; + y[0] = yTop; + y[0] = -(y[0] - ScreenDescriptorBlock.SDB_CentreY)/ScreenDescriptorBlock.SDB_CentreY; + + x[1] = (Global_VDB_Ptr->VDB_ClipRight*i)/255; + x[1] = (x[1] - ScreenDescriptorBlock.SDB_CentreX)/ScreenDescriptorBlock.SDB_CentreX; + y[1] = yBottom; + y[1] = -(y[1] - ScreenDescriptorBlock.SDB_CentreY)/ScreenDescriptorBlock.SDB_CentreY; + + i++; + c = GammaValues[i]; + glColor4ub(MUL_FIXED(c,rScale), MUL_FIXED(c,gScale), MUL_FIXED(c,bScale), 0); + x[2] = (Global_VDB_Ptr->VDB_ClipRight*i)/255; + x[2] = (x[2] - ScreenDescriptorBlock.SDB_CentreX)/ScreenDescriptorBlock.SDB_CentreX; + y[2] = yBottom; + y[2] = -(y[2] - ScreenDescriptorBlock.SDB_CentreY)/ScreenDescriptorBlock.SDB_CentreY; + + x[3] = (Global_VDB_Ptr->VDB_ClipRight*i)/255; + x[3] = (x[3] - ScreenDescriptorBlock.SDB_CentreX)/ScreenDescriptorBlock.SDB_CentreX; + y[3] = yTop; + y[3] = -(y[3] - ScreenDescriptorBlock.SDB_CentreY)/ScreenDescriptorBlock.SDB_CentreY; + + + glVertex3f(x[0], y[0], -1.0f); + glVertex3f(x[1], y[1], -1.0f); + glVertex3f(x[3], y[3], -1.0f); + + glVertex3f(x[1], y[1], -1.0f); + glVertex3f(x[2], y[2], -1.0f); + glVertex3f(x[3], y[3], -1.0f); + } + + glEnd(); +} + void ColourFillBackBuffer(int FillColour) { float r, g, b, a; @@ -1796,6 +2361,18 @@ void ColourFillBackBuffer(int FillColour) glClear(GL_COLOR_BUFFER_BIT); } +void ColourFillBackBufferQuad(int FillColour, int LeftX, int TopY, int RightX, int BotY) +{ + int r, g, b, a; + + b = ((FillColour >> 0) & 0xFF); + g = ((FillColour >> 8) & 0xFF); + r = ((FillColour >> 16) & 0xFF); + a = ((FillColour >> 24) & 0xFF); + + D3D_Rectangle(LeftX, TopY, RightX, BotY, r, g, b, a); +} + void D3D_DrawBackdrop() { extern int NumActiveBlocks; diff --git a/src/stubs.c b/src/stubs.c index bdc0152..758c706 100644 --- a/src/stubs.c +++ b/src/stubs.c @@ -20,33 +20,91 @@ /* winmain.c */ BOOL KeepMainRifFile = FALSE; int HWAccel = 1; +int VideoModeNotAvailable=0; -/* avp_mp_config.cpp */ -char* GetCustomMultiplayerLevelName(int index, int gameType) +/* videomodes.cpp */ +void LoadDeviceAndVideoModePreferences() { - fprintf(stderr, "GetCustomMultiplayerLevelName(%d, %d)\n", index, gameType); + fprintf(stderr, "LoadDeviceAndVideoModePreferences()\n"); +} + +void SaveDeviceAndVideoModePreferences() +{ + fprintf(stderr, "SaveDeviceAndVideoModePreferences()\n"); +} + +void PreviousVideoMode2() +{ + fprintf(stderr, "PreviousVideoMode2()\n"); +} + +void NextVideoMode2() +{ + fprintf(stderr, "NextVideoMode2()\n"); +} + +char *GetVideoModeDescription2() +{ + fprintf(stderr, "GetVideoModeDescription2()\n"); - return NULL; + return ""; } -void BuildMultiplayerLevelNameArray() +char *GetVideoModeDescription3() { - fprintf(stderr, "BuildMultiplayerLevelNameArray()\n"); -} - -BOOL BuildLoadIPAddressMenu() -{ - fprintf(stderr, "BuildLoadIPAddressMenu()\n"); + fprintf(stderr, "GetVideoModeDescription3()\n"); - return FALSE; + return ""; } -/* avp_intro.cpp */ -void DrawMainMenusBackdrop() +/* directplay.c */ +int DirectPlay_ConnectingToLobbiedGame(char* playerName) { - fprintf(stderr, "DrawMainMenusBackdrop()\n"); + fprintf(stderr, "DirectPlay_ConnectingToLobbiedGame(%s)\n", playerName); + + return 0; +} + +int DirectPlay_ConnectingToSession() +{ + fprintf(stderr, "DirectPlay_ConnectingToSession()\n"); + + return 0; +} + +BOOL DirectPlay_UpdateSessionList(int *SelectedItem) +{ + fprintf(stderr, "DirectPlay_UpdateSessionList(%p)\n", SelectedItem); + + return 0; +} + +int DirectPlay_JoinGame() +{ + fprintf(stderr, "DirectPlay_JoinGame()\n"); + + return 0; +} + +void DirectPlay_EnumConnections() +{ + fprintf(stderr, "DirectPlay_EnumConnections()\n"); +} + +int DirectPlay_HostGame(char *playerName, char *sessionName,int species,int gamestyle,int level) +{ + fprintf(stderr, "DirectPlay_HostGame(%s, %s, %d, %d, %d)\n", playerName, sessionName, species, gamestyle, level); + + return 0; +} + +int DirectPlay_ConnectToSession(int sessionNumber, char *playerName) +{ + fprintf(stderr, "DirectPlay_ConnectToSession(%d, %s)\n", sessionNumber, playerName); + + return 0; } @@ -58,6 +116,29 @@ void CheckCDVolume() fprintf(stderr, "CheckCDVolume()\n"); } +/* bink.c */ +void PlayBinkedFMV(char *filenamePtr) +{ + fprintf(stderr, "PlayBinkedFMV(%s)\n", filenamePtr); +} + +void StartMenuBackgroundBink() +{ + fprintf(stderr, "StartMenuBackgroundBink()\n"); +} + +int PlayMenuBackgroundBink() +{ + fprintf(stderr, "PlayMenuBackgroundBink()\n"); + + return 0; +} + +void EndMenuBackgroundBink() +{ + fprintf(stderr, "EndMenuBackgroundBink()\n"); +} + /* smacker.c */ int FmvColourRed; @@ -65,6 +146,7 @@ int FmvColourGreen; int FmvColourBlue; int IntroOutroMoviesAreActive = 1; int MoviesAreActive; +int SmackerSoundVolume; void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr) { @@ -91,6 +173,11 @@ void UpdateAllFMVTextures() fprintf(stderr, "UpdateAllFMVTextures()\n"); } +void EndMenuMusic() +{ + fprintf(stderr, "EndMenuMusic()\n"); +} + /* alt_tab.cpp */ void ATIncludeSurface(void * pSurface, void * hBackup) @@ -113,6 +200,21 @@ void ATRemoveTexture(void * pTexture) /* char AAFontWidths[256]; */ AVPMENUGFX AvPMenuGfxStorage[MAX_NO_OF_AVPMENUGFXS]; /* TODO: this is initialized in avp_menugfx.cpp */ +void InitialiseMenuGfx() +{ + fprintf(stderr, "InitialiseMenuGfx()\n"); +} + +void LoadAllAvPMenuGfx() +{ + fprintf(stderr, "LoadAllAvPMenuGfx()\n"); +} + +void ReleaseAllAvPMenuGfx() +{ + fprintf(stderr, "ReleaseAllAvPMenuGfx()\n"); +} + void FadedScreen(int alpha) { fprintf(stderr, "FadedScreen(%d)\n", alpha); @@ -123,6 +225,16 @@ void ClearScreenToBlack() fprintf(stderr, "ClearScreenToBlack()\n"); } +void LoadAllSplashScreenGfx() +{ + fprintf(stderr, "LoadAllSplashScreenGfx()\n"); +} + +void LoadAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID) +{ + fprintf(stderr, "LoadAvPMenuGfx(%d)\n", menuGfxID); +} + void DrawAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID, int topleftX, int topleftY, int alpha,enum AVPMENUFORMAT_ID format) { fprintf(stderr, "DrawAvPMenuGfx(%d, %d, %d, %d, %d)\n", menuGfxID, topleftX, topleftY, alpha, format); @@ -138,6 +250,11 @@ void DrawAvPMenuGfx_Faded(enum AVPMENUGFX_ID menuGfxID, int topleftX, int toplef fprintf(stderr, "DrawAvPMenuGfx_Faded(%d, %d, %d, %d, %d)\n", menuGfxID, topleftX, topleftY, alpha, format); } +void DrawAvPMenuGfx_Clipped(enum AVPMENUGFX_ID menuGfxID, int topleftX, int topleftY, int alpha,enum AVPMENUFORMAT_ID format, int topY, int bottomY) +{ + fprintf(stderr, "DrawAvPMenuGfx_Clipped(%d, %d, %d, %d, %d, %d, %d)\n", menuGfxID, topleftX, topleftY, alpha, format, topY, bottomY); +} + int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format) { fprintf(stderr, "RenderMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format); @@ -145,62 +262,71 @@ int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID return 0; } -void LoadAllSplashScreenGfx() +int RenderMenuText_Clipped(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int topY, int bottomY) { - fprintf(stderr, "LoadAllSplashScreenGfx()\n"); + fprintf(stderr, "RenderMenuText_Clipped(%s, %d, %d, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format, topY, bottomY); + + return 0; } -void LoadAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID) +int RenderSmallMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format) { - fprintf(stderr, "LoadAvPMenuGfx(%d)\n", menuGfxID); +/* + return Hardware_RenderSmallMenuText(textPtr, x, y, alpha, format); +*/ + fprintf(stderr, "RenderSmallMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format); + + return 0; } - -/* avp_menus.cpp */ -AVP_USER_PROFILE *UserProfilePtr; -CONTROL_METHODS PlayerControlMethods; -int NumberOfSessionsFound; -JOYSTICK_CONTROL_METHODS PlayerJoystickControlMethods; -SESSION_DESC SessionData[MAX_NO_OF_SESSIONS]; -SAVE_SLOT_HEADER SaveGameSlot[NUMBER_OF_SAVE_SLOTS]; - -void GetFilenameForSaveSlot(int i, unsigned char *filenamePtr) +int RenderSmallMenuText_Coloured(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int red, int green, int blue) { - fprintf(stderr, "GetFilenameForSaveSlot(%d, %p)\n", i, filenamePtr); -} - -void RenderBriefingText(int centreY, int brightness) -{ - fprintf(stderr, "RenderBriefingText(%d, %d)\n", centreY, brightness); -} - -void LoadLevelHeader(SAVE_BLOCK_HEADER* header) -{ - fprintf(stderr, "LoadLevelHeader(%p)\n", header); -} - -void AvP_TriggerInGameMenus() -{ - fprintf(stderr, "AvP_TriggerInGameMenus()\n"); -} - -void ScanSaveSlots() -{ - fprintf(stderr, "ScanSaveSlots()\n"); -} - -void SaveLevelHeader() -{ - fprintf(stderr, "SaveLevelHeader()\n"); -} - -int InGameMenusAreRunning() -{ - fprintf(stderr, "InGameMenusAreRunning()\n"); +/* + return Hardware_RenderSmallMenuText_Coloured(textPtr, x, y, alpha, format, red, green, blue); +*/ + fprintf(stderr, "RenderSmallMenuText_Coloured(%s, %d, %d, %d, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format, red, green, blue); return 0; } +void RenderSmallFontString_Wrapped(char *textPtr,RECT* area,int alpha,int* output_x,int* output_y) +{ + fprintf(stderr, "RenderSmallFontString_Wrapped(%s, %p, %d, %p, %p)\n", textPtr, area, alpha, output_x, output_y); +} + +void RenderKeyConfigRectangle(int alpha) +{ +/* + void Hardware_RenderKeyConfigRectangle(int alpha); + Hardware_RenderKeyConfigRectangle(alpha); +*/ + fprintf(stderr, "RenderKeyConfigRectangle(%d)\n", alpha); +} + +void RenderHighlightRectangle(int x1,int y1,int x2,int y2, int r, int g, int b) +{ +/* + void Hardware_RenderHighlightRectangle(int x1,int y1,int x2,int y2,int r, int g, int b); + Hardware_RenderHighlightRectangle(x1, y1, x2, y2, r, g, b); +*/ + fprintf(stderr, "RenderHighlightRectangle(%d, %d, %d, %d, %d, %d, %d)\n", x1, y1, x2, y2, r, g, b); +} + +int LengthOfMenuText(char *textPtr) +{ + fprintf(stderr, "LengthOfMenuText(%s)\n", textPtr); + + return 0; +} + +int HeightOfMenuGfx(enum AVPMENUGFX_ID menuGfxID) +{ + fprintf(stderr, "HeightOfMenuGfx(%d)\n", menuGfxID); + + return 0; +} + + /* avpreg.cpp */ char *AvpCDPath = 0; @@ -217,16 +343,6 @@ extern char * SecondSoundDir; } -/* avp_userprofile.c */ -int SmackerSoundVolume; - -int NumberOfUserProfiles() -{ - fprintf(stderr, "NumberOfUserProfiles()\n"); - - return 0; -} - /* d3_func.cpp */ int GetTextureHandle(IMAGEHEADER *imageHeaderPtr) { @@ -299,6 +415,12 @@ BOOL EndD3DScene() return FALSE; } +/* ddplat.cpp */ +void MinimizeAllDDGraphics() +{ + fprintf(stderr, "MinimizeAllDDGraphics()\n"); +} + /* dd_func.cpp */ long BackBufferPitch; @@ -348,6 +470,18 @@ BOOL ChangeDirectDrawObject() return FALSE; } +int SelectDirectDrawObject(void *pGUID) +{ + fprintf(stderr, "SelectDirectDrawObject(%p)\n", pGUID); + + return 0; +} + +void GenerateDirectDrawSurface() +{ + fprintf(stderr, "GenerateDirectDrawSurface()\n"); +} + /* dx_proj.cpp */ int use_mmx_math = 0;