From 896c1e3e242ed497c2c6262d893bcdfb08bb0531 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sun, 10 Nov 2013 08:03:47 +0000 Subject: [PATCH] Reworked Briefing Room Feature (mission based JA2) (by Jazz) - Briefing room feature must be enabled in ja2_options.ini (BRIEFING_ROOM) - Briefing room can be accessed from the laptop. Enter key "SN5631" and then click the exit button - see: http://www.bears-pit.com/board/ubbthreads.php/topics/327839/Reworked_Feature_Mission_based.html#Post327839 - see: https://ja2svn.dyndns.org/source/ja2/trunk/Documents/1.13%20Modding/Modding%20Examples/Briefing%20Room%20Modding.txt git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6573 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Init.cpp | 73 +- Laptop/BriefingRoom.cpp | 9 +- Laptop/BriefingRoomM.cpp | 11 +- Laptop/BriefingRoom_Data.cpp | 1276 ++++++++++ Laptop/BriefingRoom_Data.h | 137 ++ Laptop/Encyclopedia.cpp | 445 ---- Laptop/Encyclopedia.h | 249 -- Laptop/Encyclopedia_Data.cpp | 3324 -------------------------- Laptop/Encyclopedia_Data.h | 42 - Laptop/Encyclopedia_Data_new.cpp | 2 +- Laptop/Laptop All.h | 3 +- Laptop/Laptop_VS2005.vcproj | 32 +- Laptop/Laptop_VS2008.vcproj | 34 +- Laptop/Laptop_VS2010.vcxproj | 8 +- Laptop/Laptop_VS2010.vcxproj.filters | 24 +- Laptop/XML_BriefingRoom.cpp | 400 ++++ Laptop/XML_EncyclopediaLocation.cpp | 1137 --------- Laptop/email.cpp | 1 + Laptop/laptop.cpp | 13 +- SaveLoadGame.cpp | 16 +- Strategic/Game Init.cpp | 7 - Strategic/LuaInitNPCs.cpp | 2 + Tactical/DisplayCover.cpp | 1 + Tactical/Food.cpp | 1 + Tactical/XML.h | 5 +- TacticalAI/NPC.cpp | 2 +- Utils/Text.h | 2 - Utils/_ChineseText.cpp | 1 - Utils/_DutchText.cpp | 1 - Utils/_EnglishText.cpp | 1 - Utils/_FrenchText.cpp | 1 - Utils/_GermanText.cpp | 1 - Utils/_ItalianText.cpp | 1 - Utils/_PolishText.cpp | 1 - Utils/_RussianText.cpp | 1 - Utils/_TaiwaneseText.cpp | 1 - builddefines.h | 12 +- ja2_VS2005.vcproj | 2 +- 38 files changed, 1883 insertions(+), 5396 deletions(-) create mode 100644 Laptop/BriefingRoom_Data.cpp create mode 100644 Laptop/BriefingRoom_Data.h delete mode 100644 Laptop/Encyclopedia.cpp delete mode 100644 Laptop/Encyclopedia.h delete mode 100644 Laptop/Encyclopedia_Data.cpp delete mode 100644 Laptop/Encyclopedia_Data.h create mode 100644 Laptop/XML_BriefingRoom.cpp delete mode 100644 Laptop/XML_EncyclopediaLocation.cpp diff --git a/Init.cpp b/Init.cpp index b083241f..2c6e73ad 100644 --- a/Init.cpp +++ b/Init.cpp @@ -80,8 +80,7 @@ #include "Civ Quotes.h" #include "LuaInitNPCs.h" -#include "Encyclopedia.h" -#include "Encyclopedia_Data.h" +#include "BriefingRoom_Data.h" #include "AimArchives.h" #include "connect.h" @@ -1252,84 +1251,18 @@ if ( ReadXMLEmail == TRUE ) } #endif -#ifdef ENABLE_ENCYCLOPEDIA - //encyklopedia - strcpy(fileName, directoryName); - strcat(fileName, ENCYCLOPEDIALOCATIONFILENAME); - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,FALSE,gEncyclopediaLocationData, 0), ENCYCLOPEDIALOCATIONFILENAME); - -#ifndef ENGLISH - AddLanguagePrefix(fileName); - if ( FileExists(fileName) ) - { - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,TRUE,gEncyclopediaLocationData, 0), fileName); - } -#endif - - strcpy(fileName, directoryName); - strcat(fileName, ENCYCLOPEDIAPROFILEFILENAME); - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,FALSE,gEncyclopediaProfilesData, 1), ENCYCLOPEDIAPROFILEFILENAME); - -#ifndef ENGLISH - AddLanguagePrefix(fileName); - if ( FileExists(fileName) ) - { - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,TRUE,gEncyclopediaProfilesData, 1), fileName); - } -#endif - - strcpy(fileName, directoryName); - strcat(fileName, ENCYCLOPEDIAINVENTORYFILENAME); - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,FALSE,gEncyclopediaInventoryData, 2), ENCYCLOPEDIAINVENTORYFILENAME); - -#ifndef ENGLISH - AddLanguagePrefix(fileName); - if ( FileExists(fileName) ) - { - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,TRUE,gEncyclopediaInventoryData, 2), ENCYCLOPEDIAINVENTORYFILENAME); - } -#endif - - strcpy(fileName, directoryName); - strcat(fileName, ENCYCLOPEDIAQUESTSFILENAME); - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,FALSE,gEncyclopediaQuestsData, 3), ENCYCLOPEDIAQUESTSFILENAME); - -#ifndef ENGLISH - AddLanguagePrefix(fileName); - if ( FileExists(fileName) ) - { - DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,TRUE,gEncyclopediaQuestsData, 3), fileName); - } -#endif - -BackupBRandEncyclopedia ( gEncyclopediaLocationData, gEncyclopediaLocationDataBackup , 0); -BackupBRandEncyclopedia ( gEncyclopediaProfilesData, gEncyclopediaProfilesDataBackup, 1); -BackupBRandEncyclopedia ( gEncyclopediaInventoryData, gEncyclopediaInventoryDataBackup , 2); -BackupBRandEncyclopedia ( gEncyclopediaQuestsData, gEncyclopediaQuestsDataBackup, 3); - - -#endif //ENABLE_ENCYCLOPEDIA - #ifdef ENABLE_BRIEFINGROOM strcpy(fileName, directoryName); strcat(fileName, BRIEFINGROOMFILENAME); DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,FALSE,gBriefingRoomData, 4), BRIEFINGROOMFILENAME); + SGP_THROW_IFFALSE(ReadInBriefingRoom(fileName,FALSE,gBriefingRoomData, 4), BRIEFINGROOMFILENAME); #ifndef ENGLISH AddLanguagePrefix(fileName); if ( FileExists(fileName) ) { DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("LoadExternalGameplayData, fileName = %s", fileName)); - SGP_THROW_IFFALSE(ReadInEncyclopediaLocation(fileName,TRUE,gBriefingRoomData, 4), fileName); + SGP_THROW_IFFALSE(ReadInBriefingRoom(fileName,TRUE,gBriefingRoomData, 4), fileName); } #endif diff --git a/Laptop/BriefingRoom.cpp b/Laptop/BriefingRoom.cpp index 10668714..43fd3262 100644 --- a/Laptop/BriefingRoom.cpp +++ b/Laptop/BriefingRoom.cpp @@ -14,8 +14,7 @@ #include "soldier profile type.h" #endif -#include "Encyclopedia_Data.h" -#include "Encyclopedia.h" +#include "BriefingRoom_Data.h" #include "BriefingRoom.h" // Link Images @@ -248,10 +247,6 @@ void SelectBriefingRoomLocationButton(MOUSE_REGION * pRegion, INT32 iReason ) } else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP) { - bEncyclopediaLocation = FALSE; - bEncyclopediaCharacter = FALSE; - bEncyclopediaInventory = FALSE; - bEncyclopediaQuests = FALSE; bBriefingRoom = TRUE; if(!fFirstTimeInBriefingRoom) guiCurrentLaptopMode = LAPTOP_MODE_BRIEFING_ROOM; } @@ -591,4 +586,4 @@ void ResetActivationBriefingRoomStringTextBox(void) uiCursorBriefingRoomPosition = StringPixLength( pPlayerBriefingRoomActivationString, FONT14ARIAL ) + IMP_PLAYER_ACTIVATION_STRING_X; DisplayPlayerActivationBriefingRoomString(); DisplayActivationBriefingRoomStringCursor(); -} +} diff --git a/Laptop/BriefingRoomM.cpp b/Laptop/BriefingRoomM.cpp index 4e9292f3..eb57db5f 100644 --- a/Laptop/BriefingRoomM.cpp +++ b/Laptop/BriefingRoomM.cpp @@ -14,8 +14,7 @@ #include "soldier profile type.h" #endif -#include "Encyclopedia_Data.h" -#include "Encyclopedia.h" +#include "BriefingRoom_Data.h" #include "BriefingRoomM.h" // Link Images @@ -304,10 +303,6 @@ void SelectBriefingRoomEnterLocationButton(MOUSE_REGION * pRegion, INT32 iReason if ( gBriefingRoomData[0].Hidden == TRUE ) { - bEncyclopediaLocation = FALSE; - bEncyclopediaCharacter = FALSE; - bEncyclopediaInventory = FALSE; - bEncyclopediaQuests = FALSE; bBriefingRoomSpecialMission = FALSE; bBriefingRoom = TRUE; @@ -628,10 +623,6 @@ void ProcessPlayerInputActivationBriefingRoomEnterString( void ) { /* - bEncyclopediaLocation = FALSE; - bEncyclopediaCharacter = FALSE; - bEncyclopediaInventory = FALSE; - bEncyclopediaQuests = FALSE; bBriefingRoom = FALSE; bBriefingRoomSpecialMission = TRUE; diff --git a/Laptop/BriefingRoom_Data.cpp b/Laptop/BriefingRoom_Data.cpp new file mode 100644 index 00000000..56cf179a --- /dev/null +++ b/Laptop/BriefingRoom_Data.cpp @@ -0,0 +1,1276 @@ +#ifdef PRECOMPILEDHEADERS + #include "Laptop All.h" +#else + //#include "Laptop All.h" + #include "laptop.h" + #include "aim.h" + #include "Utilities.h" + #include "WCheck.h" + #include "WordWrap.h" + #include "Text.h" + #include "Encrypted File.h" + #include "Soldier Profile.h" + #include "Sound Control.h" + #include "Campaign Types.h" + #include "Quests.h" + #include "Tactical Save.h" + #include "BriefingRoom_Data.h" +#endif + + + + + + + +#define MAX_FILTR_LOCATION_BUTTONS 11 +#define FILTR_INVENTORY_BUTTONS 5 +#define FILTR_BUTTONS_CHARACTER 8 +#define NO_FILTR -1 +#define NONE_FILTR 0 + + +UINT32 gFiltrBox = -1; +INT32 guiEncyclopediaLocationPageButton[3] = { -1,-1,-1 }; +INT32 guiEncyclopediaLocationPageButtonImage = -1; +INT32 guiEncyclopediaPageButton[3] = { -1,-1,-1 }; +INT32 guiEncyclopediaiPageButtonImage = -1; +UINT32 guiEncyclopediaPopUp; +INT32 ID = 0; +INT32 IDimage = 0; +INT32 MaxImages = 1; +INT32 IDNewLocation = 0; +UINT32 LocationID = 0; +INT32 MaxLocation = 0; +INT32 ENCYCLOPEDIA_PAGE = 2; +BOOLEAN fFirstTimeInEncyclopediaLocation = TRUE; +UINT32 FiltrID = 0; +BOOLEAN ResetVal = FALSE; + +UINT32 IDPageEncyData; +void InitData ( BOOLEAN bInit ); + +#define ENCYCLOPEDIA_LOCATION_PAGE1_X (LAPTOP_SCREEN_UL_X + 100) +#define ENCYCLOPEDIA_LOCATION_PAGE1_Y (LAPTOP_SCREEN_WEB_UL_Y + 357) +#define ENCYCLOPEDIA_LOCATION_FILTER_Y (LAPTOP_SCREEN_WEB_UL_Y + 10) +#define ENCYCLOPEDIA_LOCATION_PAGE_COLOR_UP FONT_MCOLOR_DKWHITE +#define ENCYCLOPEDIA_LOCATION_PAGE_COLOR_DOWN 138 +#define ENCYCLOPEDIA_LOCATION_PAGE_FONT FONT10ARIAL +#define ENCYCLOPEDIA_LOCATION_PAGE_GAP ENCYCLOPEDIA_LOCATION_BOTTOM_BUTTON_START_WIDTH + 25 +#define ENCYCLOPEDIA_LOCATION_BOTTOM_BUTTON_START_WIDTH 75 +#define ENCYCLOPEDIA_LOCATION_BOX_X LAPTOP_SCREEN_UL_X + (500-ENCYCLOPEDIA_LOCATION_BOX_WIDTH)/2 +#define ENCYCLOPEDIA_LOCATION_BOX_Y iScreenHeightOffset + 260 + LAPTOP_SCREEN_WEB_DELTA_Y +#define ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP 4 +#define ENCYCLOPEDIA_LOCATION_BOX_WIDTH 400//309 +#define ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH 400//296 +#define ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT 9 +#define ENCYCLOPEDIA_LOCATION_BOX_FONT FONT10ARIAL +#define ENCYCLOPEDIA_LOCATION_BOX_COLOR FONT_MCOLOR_WHITE +#define ENCYCLOPEDIA_LOCATION_BOX_DESC_X ENCYCLOPEDIA_LOCATION_BOX_X + 8 +#define ENCYCLOPEDIA_LOCATION_PANEL_HEIGHT 0//52 +#define ENCYCLOPEDIA_LOCATION_PANEL_Y ENCYCLOPEDIA_LOCATION_BOX_Y + 6 +#define ENCYCLOPEDIA_LOCATION_BOX_DESC_Y ENCYCLOPEDIA_LOCATION_PANEL_Y + ENCYCLOPEDIA_LOCATION_PANEL_HEIGHT + 5 + +#define ENCYCLOPEDIA_IMAGE_X LAPTOP_SCREEN_UL_X +#define ENCYCLOPEDIA_IMAGE_Y iScreenHeightOffset + LAPTOP_SCREEN_WEB_DELTA_Y +#define ENCYCLOPEDIA_FILTR_BUTTON_GAP 16 +void SelectEncyclopediaLocationPageRegionCallBack(GUI_BUTTON * btn, INT32 reason ); +void SelectEncyclopediaLocationRegionCallBack(GUI_BUTTON * btn, INT32 reason ); +void SelectFiltrButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ); + +//void BtnEncyclopediaTogglesCallback( GUI_BUTTON *btn, INT32 reason ); +void RenderButtonDisabled(); +void RenderButtonDisabled2(); +void RenderButtonDisabled3(); +void RenderButtonDisabled4(); +void RenderBoxDisabledButton(); +BOOLEAN RenderMap(); +void CopyToTemp ( BRIEFINGROOM_M_DATA *Ency, BOOLEAN bFiltr, INT32 sort, INT32 TypFiltr, BOOLEAN ShowBox ); +void ResetTemp(); +void UnLoadMenuButtons (); + +#define MAX_NUMBER_OF_OPTION_TOGGLES 5 + +//UINT32 guiEncyclopediaToggles[ MAX_NUMBER_OF_OPTION_TOGGLES ]; +MOUSE_REGION gSelectedEncyclopediaTextRegion[ MAX_FILTR_LOCATION_BUTTONS ]; + +BOOLEAN bBriefingRoom = FALSE; +BOOLEAN bBriefingRoomSpecialMission = FALSE; + +BOOLEAN bPage2 = FALSE; +BOOLEAN bPage3 = FALSE; + +#define MAX_MISSION_BUTTONS 2 + +BOOLEAN bSoundButtons = FALSE; +UINT32 guiSoundButtons[ MAX_MISSION_BUTTONS ]; +UINT32 uiSoundSampleBR; +INT32 guiSoundButtonsImage = -1; +MOUSE_REGION gSelectedSoundButtonTextRegion[ MAX_MISSION_BUTTONS ]; +void SelectSoundButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ); + +BOOLEAN LoadBriefingRoomFromLoadGameFile( HWFILE hFile ); +BOOLEAN SaveBriefingRoomToSaveGameFile( HWFILE hFile ); + +void BackupBRandEncyclopedia ( BRIEFINGROOM_M_DATA *EncyBackup, BRIEFINGROOM_M_DATA *Ency, UINT32 NUM); + +#ifdef ENABLE_BRIEFINGROOM +BRIEFINGROOM_M_DATA gbriefingRoomDataTemp[ NUM_MAX_TEMP ]; +#endif + +#ifdef ENABLE_BRIEFINGROOM +BRIEFINGROOM_M_DATA gBriefingRoomData[ NUM_MISSION ]; +BRIEFINGROOM_M_DATA gBriefingRoomSpecialMissionData[ NUM_MISSION ]; + +BRIEFINGROOM_M_DATA gBriefingRoomDataBackup[ NUM_MISSION ]; +BRIEFINGROOM_M_DATA gBriefingRoomSpecialMissionDataBackup[ NUM_MISSION ]; + +MISSION_SAVE saveBriefingRoomData[ NUM_MISSION ]; +MISSION_SAVE saveBriefingRoomSpecialMissionData[ NUM_MISSION ]; +MISSION_SAVE saveMissionData[ NUM_MISSION ]; +#else +BRIEFINGROOM_M_DATA gBriefingRoomData[ 1 ]; +#endif // ENABLE_BRIEFINGROOM + +#ifdef ENABLE_BRIEFINGROOM +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData1[ NUM_SECTOR ]; +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData2[ NUM_PROFILES ]; +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData3[ MAXITEMS ]; +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData4[ NUM_PROFILES ]; +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData5[ MAX_QUESTS ]; + +BOOLEAN saveBriefingRoomReservedData1[ NUM_SECTOR ]; +ENCYCLOPEDIA_PROF_SAVE saveBriefingRoomReservedData2[ NUM_PROFILES ]; +BOOLEAN saveBriefingRoomReservedData3[ MAXITEMS ]; +BOOLEAN saveBriefingRoomReservedData4[ NUM_PROFILES ]; +BOOLEAN saveBriefingRoomReservedData5[ MAX_QUESTS ]; +#else +BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData1[]; +#endif // ENABLE_BRIEFINGROOM + +UINT32 guiRustEncyclopediaBackGround; + +void ShowNPCEncyclopediaEntry(UINT8 ubNPC, BOOLEAN hidden) +{ +#ifdef ENABLE_BRIEFINGROOM + gLoadBriefingRoomReservedData2[ubNPC].Hidden = TRUE; +#endif +} + +BOOLEAN DrawEncyclopediaDefaults() +{ +#ifdef ENABLE_BRIEFINGROOM + HVOBJECT hRustBackGroundHandle; + + // Blt the rust background + GetVideoObject(&hRustBackGroundHandle, guiRustEncyclopediaBackGround); + BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,RUSTBACKGROUND_1_X, RUSTBACKGROUND_1_Y, VO_BLT_SRCTRANSPARENCY,NULL); +#endif // ENABLE_BRIEFINGROOM + return(TRUE); +} + +BOOLEAN RemoveEncyclopediaDefaults() +{ +#ifdef ENABLE_BRIEFINGROOM + DeleteVideoObjectFromIndex(guiRustEncyclopediaBackGround); +#endif // ENABLE_BRIEFINGROOM + return(TRUE); +} + +BOOLEAN InitEncyclopediaDefaults() +{ +#ifdef ENABLE_BRIEFINGROOM + VOBJECT_DESC VObjectDesc; + + // load the Rust bacground graphic and add it + VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE; + FilenameForBPP("BriefingRoom\\background.sti", VObjectDesc.ImageFile); + CHECKF(AddVideoObject(&VObjectDesc, &guiRustEncyclopediaBackGround)); + +#endif // ENABLE_BRIEFINGROOM + return(TRUE); +} + +BOOLEAN DisplayEncyclopediaLocationText() +{ + //DumpMemoryInfoIntoFile( "ExtremeMemoryDump.txt", FALSE ); + return(TRUE); +} + +void GameInitEncyclopediaLocation() +{/* + UINT32 typeSize = 0,total = 0; + CHAR buffer[150]; + + typeSize = sizeof (BRIEFINGROOM_M_DATA); + //backup data + total += sizeof(gEncyclopediaLocationDataBackup); + total += sizeof(gEncyclopediaProfilesDataBackup); + total += sizeof(gEncyclopediaInventoryDataBackup); + total += sizeof(gEncyclopediaOldProfilesDataBackup); + total += sizeof(gEncyclopediaQuestsDataBackup); + //actual data + total += sizeof(gEncyclopediaLocationData); + total += sizeof(gEncyclopediaProfilesData); + total += sizeof(gEncyclopediaInventoryData); + total += sizeof(gEncyclopediaOldProfilesData); + total += sizeof(gEncyclopediaQuestsData); + //save data + total += sizeof(saveEncyclopediaLocationData); + total += sizeof(saveEncyclopediaProfilesData); + total += sizeof(saveEncyclopediaInventoryData); + total += sizeof(saveEncyclopediaOldProfilesData); + total += sizeof(saveEncyclopediaQuestsData); + //working data + total += sizeof(gbriefingRoomDataTemp); + total /= 1024*1024; + sprintf(buffer,"Memory usage by Encyclopedia: %d MegaBytes\n",total); + OutputDebugString( buffer ); + int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); + + // Turn on leak-checking bit. + tmpFlag |= _CRTDBG_LEAK_CHECK_DF; + + // Turn off CRT block checking bit. + tmpFlag &= ~_CRTDBG_CHECK_CRT_DF; + + // Set flag to the new value. + _CrtSetDbgFlag( tmpFlag ); + + DumpMemoryInfoIntoFile( "ExtremeMemoryDump.txt", FALSE );*/ +} + +void ResetTemp() +{ +#ifdef ENABLE_BRIEFINGROOM + +UINT32 i,NUM_TEMP; + + NUM_TEMP = NUM_MISSION; + + for(i=0; i -1 ) + { + sprintf(zImage, "BriefingRoom\\mission%d_%d.STI", gbriefingRoomDataTemp[LocationID].MissionID,IDimage); + if( FileExists(zImage) ) + { + strcpy(fileName, zImage); + bImage = TRUE; + } + } + + if (IDimage == -1 || IDimage > MaxImages ) //|| IDimage > 4 ) + { + IDimage = 0; + } + + if (IDimage == -1 ) IDimage = 0; + + + if( !FileExists(fileName) ) + { + IDimage = -1; + } + + if ( IDimage > -1 && gbriefingRoomDataTemp[LocationID].MaxImages != -1 && (bBriefingRoom == TRUE || bBriefingRoomSpecialMission == TRUE ) ) + { + strcpy(VObjectDesc.ImageFile, fileName); + CHECKF(AddVideoObject(&VObjectDesc,&gbriefingRoomDataTemp[LocationID].uiIndex)); + //BltVideoObjectFromIndex( FRAME_BUFFER, gbriefingRoomDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 50 , ENCYCLOPEDIA_LOCATION_BOX_Y - 210, VO_BLT_SRCTRANSPARENCY, NULL ); + BltVideoObjectFromIndex( FRAME_BUFFER, gbriefingRoomDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gbriefingRoomDataTemp[LocationID].sImagePositionX[0] , ENCYCLOPEDIA_IMAGE_Y + gbriefingRoomDataTemp[LocationID].sImagePositionY[0], VO_BLT_SRCTRANSPARENCY, NULL ); + } + + + + +#endif // ENABLE_BRIEFINGROOM + return(TRUE); +} + +void RenderEncyclopediaLocation( BOOLEAN bHidden ) +{ +#ifdef ENABLE_BRIEFINGROOM + UINT16 i; + UINT8 ubNumLines=11; + UINT16 usPosY; + //UINT8 ubFontHeight; + UINT16 usStringPixLength; + CHAR16 zString[512]; + CHAR16 zString2[512]; + + CHAR16 P1[1120],P2[1120]; + CHAR8 fileNameEdt[80]; + + P1[0] = 0; + P2[0] = 0; + + + DrawEncyclopediaDefaults(); + + DisplayEncyclopediaLocationText(); + + //ubFontHeight = (UINT8)GetFontHeight(ENCYCLOPEDIA_LOCATION_BOX_FONT); + + sprintf(fileNameEdt, "BriefingRoom\\EDT\\mission%d.edt", gbriefingRoomDataTemp[LocationID].MissionID); + LoadEncryptedDataFromFile(fileNameEdt, P1, 1120*2*ID, 1120); + + bPage2 = TRUE; + bPage3 = TRUE; + + ENCYCLOPEDIA_PAGE = gbriefingRoomDataTemp[LocationID].MaxPages-1; + + MaxImages = gbriefingRoomDataTemp[LocationID].MaxImages;//-1; + + + if ( bBriefingRoom == TRUE || bBriefingRoomSpecialMission == TRUE && ResetVal == FALSE ) + { + swprintf( zString, gbriefingRoomDataTemp[LocationID].Name ); + wcscpy( zString2,zString ); + } + + ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + 13 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 227 , ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-42); + + ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + 13 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50 , ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-20); + + //Reset + //if ( ResetVal == TRUE ) + //DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, pSectorPageText[ 4 ], FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); + + //Reset + if ( ResetVal == TRUE ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 65, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED); + + if ( /* gbriefingRoomDataTemp[LocationID].SpecialQuestImage == FALSE && */ ResetVal == FALSE) + { + + if ( IDimage == -1 || MaxImages == -1 ) IDimage = 0; + + sprintf(fileNameEdt, "BriefingRoom\\EDT\\description%d.edt", gbriefingRoomDataTemp[LocationID].MissionID); + if ( FileExists(fileNameEdt) ) + LoadEncryptedDataFromFile(fileNameEdt, P2, 1120*2*IDimage, 1120); + + if ( FileExists(fileNameEdt) ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, P2, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + else + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + +/* + if ( IDimage == 1 ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gbriefingRoomDataTemp[LocationID].sImageDesc1, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + else if (IDimage == 2 && gbriefingRoomDataTemp[LocationID].sImageDesc2 != '\0' ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gbriefingRoomDataTemp[LocationID].sImageDesc2, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + else if (IDimage == 3 && gbriefingRoomDataTemp[LocationID].sImageDesc3 != '\0' ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gbriefingRoomDataTemp[LocationID].sImageDesc3, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + else if (IDimage == 4 && gbriefingRoomDataTemp[LocationID].sImageDesc4 != '\0' ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gbriefingRoomDataTemp[LocationID].sImageDesc4, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); +*/ + } + + //Reset + if ( ResetVal == TRUE ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + + /* + if ( ID == 0 ) + usStringPixLength = StringPixLength( P1, ENCYCLOPEDIA_LOCATION_BOX_FONT); + else if (ID == 1 ) // && gbriefingRoomDataTemp[LocationID].sDesc2 != '\0' ) + usStringPixLength = StringPixLength( P2, ENCYCLOPEDIA_LOCATION_BOX_FONT); + else if (ID == 2 ) // && gbriefingRoomDataTemp[LocationID].sDesc3 != '\0' ) + usStringPixLength = StringPixLength( P3, ENCYCLOPEDIA_LOCATION_BOX_FONT); + else if (ID == 3 ) // && gbriefingRoomDataTemp[LocationID].sDesc4 != '\0' ) + */ + usStringPixLength = StringPixLength( P2, ENCYCLOPEDIA_LOCATION_BOX_FONT); + + //Inventory name + if (bBriefingRoom == TRUE || ResetVal == FALSE ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); + + //reset + if ( ResetVal == TRUE ) + usStringPixLength = StringPixLength( L"", ENCYCLOPEDIA_LOCATION_BOX_FONT); + + usPosY = ENCYCLOPEDIA_LOCATION_BOX_Y + 13; + + //draw top line of the popup background + ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY + ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-1); + + //draw mid section of the popup background + usPosY += ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT; + for(i=0; i< 10; i++) + { + ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY + ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-1); + usPosY += ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT; + } + + if ( ResetVal == FALSE ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, P1, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + + //Reset + if ( ResetVal == TRUE ) + DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); + + + MarkButtonsDirty( ); + RenderWWWProgramTitleBar( ); + + if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) + RenderButtonDisabled4(); + + if ( bHidden == TRUE && ( MaxImages == 0 || MaxImages == -1 || MaxImages == 1 ) ) //|| gbriefingRoomDataTemp[0].MaxImages == 1 ) ) + DisableButton( guiEncyclopediaPageButton[1] ); + else if ( bHidden == FALSE && MaxImages > 1 ) + EnableButton( guiEncyclopediaPageButton[1] ); + + //Reset + if ( ResetVal == TRUE ) + DisableButton( guiEncyclopediaPageButton[1] ); + + if ( gbriefingRoomDataTemp[LocationID].CheckMission == MISSIONSTART || gbriefingRoomDataTemp[LocationID].CheckMission == MISSIONEND ) + DisableButton ( guiSoundButtons[1] ); + else if ( gbriefingRoomDataTemp[LocationID].CheckMission == MISSIONNOSTARTED ) + EnableButton ( guiSoundButtons[1] ); + + //if ( ResetVal == TRUE ) + //DoLapTopMessageBox( MSG_BOX_LAPTOP_DEFAULT, pSectorPageText[ 4 ], LAPTOP_SCREEN, MSG_BOX_FLAG_OK, NULL); + + InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); +#endif // ENABLE_BRIEFINGROOM +} + +void SelectEncyclopediaLocationPageRegionCallBack(GUI_BUTTON * btn, INT32 reason ) +{ +#ifdef ENABLE_BRIEFINGROOM + UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); + + if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) + { + btn->uiFlags |= BUTTON_CLICKED_ON; + } + if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) + { + if (btn->uiFlags & BUTTON_CLICKED_ON) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + + if ( ubRetValue == 2 ) + { + ID++; + + if ( ID == ENCYCLOPEDIA_PAGE || ID > ENCYCLOPEDIA_PAGE ) DisableButton( guiEncyclopediaPageButton[2] ); + if ( ID > 0 ) EnableButton( guiEncyclopediaPageButton[0] ); + + RenderEncyclopediaLocation(FALSE); + RenderMap(); + } + else if ( ubRetValue == 0 ) + { + ID--; + //if ( ID < 0 ) ID = 0; + if ( ID == 0 ) DisableButton( guiEncyclopediaPageButton[0] ); + if ( ID < ENCYCLOPEDIA_PAGE ) EnableButton( guiEncyclopediaPageButton[2] ); + RenderEncyclopediaLocation(FALSE); + RenderMap(); + } + else if ( ubRetValue == 1 ) + { + IDimage++; + + if ( IDimage > MaxImages || IDimage == -1 ) IDimage = 0; + + RenderEncyclopediaLocation(FALSE); + RenderMap(); + } + } + } + if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + } +#endif // ENABLE_BRIEFINGROOM +} + +void SelectEncyclopediaLocationRegionCallBack(GUI_BUTTON * btn, INT32 reason ) +{ +#ifdef ENABLE_BRIEFINGROOM + UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); + + if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) + { + btn->uiFlags |= BUTTON_CLICKED_ON; + } + if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) + { + if (btn->uiFlags & BUTTON_CLICKED_ON) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + if ( ubRetValue == 2 ) + { + IDNewLocation++; + ID = 0; + + LocationID = IDNewLocation; + + if ( IDNewLocation == MaxLocation - 1 || IDNewLocation == -1 ) DisableButton( guiEncyclopediaLocationPageButton[2] ); + if ( IDNewLocation > 0 ) EnableButton( guiEncyclopediaLocationPageButton[0] ); + + IDimage = 0; + + RenderEncyclopediaLocation(FALSE); + RenderButtonDisabled2(); + + if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) + RenderButtonDisabled4(); + + if ( MaxImages == -1 || MaxImages == 0 || MaxImages == 1 ) + DisableButton( guiEncyclopediaPageButton[1] ); + else + EnableButton( guiEncyclopediaPageButton[1] ); + + if( uiSoundSampleBR!=NO_SAMPLE ) + { + SoundStop( uiSoundSampleBR ); + } + + RenderMap(); + + } + else if ( ubRetValue == 0 ) + { + ID = 0; + + IDNewLocation--; + + LocationID = IDNewLocation; + + if ( IDNewLocation == 0 || IDNewLocation == -1 ) DisableButton( guiEncyclopediaLocationPageButton[0] ); + if ( IDNewLocation < MaxLocation-1) EnableButton( guiEncyclopediaLocationPageButton[2] ); + + IDimage = 0; + + RenderEncyclopediaLocation(FALSE); + RenderButtonDisabled2(); + + if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) + RenderButtonDisabled4(); + + if ( MaxImages == -1 || MaxImages == 0 || MaxImages == 1 ) + DisableButton( guiEncyclopediaPageButton[1] ); + else + EnableButton( guiEncyclopediaPageButton[1] ); + + if( uiSoundSampleBR!=NO_SAMPLE ) + { + SoundStop( uiSoundSampleBR ); + } + + RenderMap(); + + } + else if ( ubRetValue == 1 ) + { + //ExitEncyclopediaLocation(); + + if( uiSoundSampleBR!=NO_SAMPLE ) + { + SoundStop( uiSoundSampleBR ); + } + + if ( bBriefingRoom == TRUE || bBriefingRoomSpecialMission == TRUE ) + { + if(!fFirstTimeInEncyclopediaLocation) guiCurrentLaptopMode = LAPTOP_MODE_BRIEFING_ROOM_ENTER; + } + else + { + if(!fFirstTimeInEncyclopediaLocation) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA; + } + } + + } + } + if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + + } +#endif // ENABLE_BRIEFINGROOM +} + +void SelectSoundButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ) +{ +#ifdef ENABLE_BRIEFINGROOM + UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); + CHAR8 str[MAX_ENCYCLOPEDIA_CHARS]; + + if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) + { + btn->uiFlags |= BUTTON_CLICKED_ON; + } + if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) + { + if (btn->uiFlags & BUTTON_CLICKED_ON) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + + + if ( bBriefingRoom == TRUE ) + { + + if ( ubRetValue == 0 ) + { + + if( uiSoundSampleBR!=NO_SAMPLE ) + { + SoundStop( uiSoundSampleBR ); + } + + sprintf(str, "BriefingRoom\\mission%d.wav", gbriefingRoomDataTemp[LocationID].MissionID); + uiSoundSampleBR = PlayJA2SampleFromFile( str, RATE_11025, HIGHVOLUME, 1, MIDDLE ); + + } + + if ( ubRetValue == 1 ) + { + if ( gBriefingRoomData[gbriefingRoomDataTemp[LocationID].MissionID].CheckMission == MISSIONNOSTARTED ) + { + + gbriefingRoomDataTemp[LocationID].CheckMission = MISSIONSTART; + gBriefingRoomData[gbriefingRoomDataTemp[LocationID].MissionID].CheckMission = MISSIONSTART; + + DisableButton ( guiSoundButtons[1] ); + } + } + + } + else if ( bBriefingRoomSpecialMission == TRUE ) + { + + if ( ubRetValue == 0 ) + { + if( uiSoundSampleBR!=NO_SAMPLE ) + { + SoundStop( uiSoundSampleBR ); + } + + //sprintf(str, gbriefingRoomDataTemp[LocationID].sSounds); + sprintf(str, "BriefingRoom\\mission%d.wav", gbriefingRoomDataTemp[LocationID].MissionID); + uiSoundSampleBR = PlayJA2SampleFromFile( str, RATE_11025, HIGHVOLUME, 1, MIDDLE ); + + } + + } + + } + } + if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) + { + btn->uiFlags &= (~BUTTON_CLICKED_ON ); + + } +#endif // ENABLE_BRIEFINGROOM +} + +//-------------------------------------------------------------- + + +BOOLEAN SaveBriefingRoomToSaveGameFile( HWFILE hFile ) +{ +#ifdef ENABLE_BRIEFINGROOM + UINT32 uiNumBytesWritten; + UINT32 i; +#endif + + +#ifdef ENABLE_BRIEFINGROOM + //Briefing room + for(i=0; i NPC - - Ency[i].subGroup1 = 0; // set none - - if ( CheckNPCIsEPC ( Ency[i].IDProfile ) == TRUE || Ency[i].bvisible == TRUE && gProfilesNPC[ Ency[i].IDProfile ].ProfilId == Ency[i].IDProfile ) - { - Ency[i].subGroup1 = 1; //set EPC - Ency[i].bvisible = TRUE; - } - else if ( CheckNPCIsRPC ( Ency[i].IDProfile ) == TRUE || Ency[i].bvisible == TRUE && gProfilesRPC[ Ency[i].IDProfile ].ProfilId == Ency[i].IDProfile ) - { - Ency[i].subGroup1 = 3; // set RPC - Ency[i].bvisible = TRUE; - } - - /* - else if ( Ency[i].bvisible == FALSE ) - { - Ency[i].subGroup1 = 0; // set none - Ency[i].bvisible = TRUE; - } - */ - - gEncyclopediaDataTemp[MaxLocation].subGroup1 = Ency[i].subGroup1; - } - else if ( bEncyclopediaInventory == TRUE ) - { - gEncyclopediaDataTemp[MaxLocation].subGroup1 = -1; - gEncyclopediaDataTemp[MaxLocation].SectorX = -1; - gEncyclopediaDataTemp[MaxLocation].SectorY = -1; - gEncyclopediaDataTemp[MaxLocation].SectorZ = -1; - Ency[i].SectorX = -1; - Ency[i].SectorY = -1; - Ency[i].SectorZ = -1; - Ency[i].subGroup1 = -1; - Ency[i].IDProfile = -1; - - //Quests - Ency[i].QuestID = -1; - Ency[i].pQuests = -1; - Ency[i].SpecialQuestImage = FALSE; - Ency[i].ImagePositionQX[0] = 0; - Ency[i].ImagePositionQY[0] = 0; - Ency[i].ImagePositionQX[1] = 0; - Ency[i].ImagePositionQY[1] = 0; - - if ( Item[i].usItemClass == IC_GUN ) - { - if (Item[i].newinv && UsingNewInventorySystem() == true ) - { - IDClass = Item[i].ubClassIndex; - Ency[i].LocType = Weapon[IDClass].ubWeaponType; - Ency[i].InventoryClass = Item[i].usItemClass; - } - else - { - IDClass = Item[i].ubClassIndex; - Ency[i].LocType = Weapon[IDClass].ubWeaponType; - Ency[i].InventoryClass = Item[i].usItemClass; - } - } - else if ( Item[i].usItemClass == IC_ARMOUR ) - { - if (Item[i].newinv && UsingNewInventorySystem() == true ) - { - IDClass = Item[i].ubClassIndex; - Ency[i].InventoryClass = Item[i].usItemClass; - Ency[i].LocType = Armour[IDClass].ubArmourClass; - } - else - { - IDClass = Item[i].ubClassIndex; - Ency[i].InventoryClass = Item[i].usItemClass; - Ency[i].LocType = Armour[IDClass].ubArmourClass; - } - } - else if ( Item[i].usItemClass == IC_BLADE || Item[i].usItemClass == IC_THROWING_KNIFE || Item[i].usItemClass == IC_PUNCH || - Item[i].usItemClass == IC_BOMB || Item[i].usItemClass == IC_GRENADE || Item[i].usItemClass == IC_MEDKIT || - Item[i].usItemClass == IC_KIT || Item[i].usItemClass == IC_FACE || Item[i].usItemClass == IC_LBEGEAR || - Item[i].usItemClass == IC_MISC ) - { - if (Item[i].newinv && UsingNewInventorySystem() == true ) - { - //IDClass = Item[i].ubClassIndex; - Ency[i].LocType = Item[i].usItemClass; - Ency[i].InventoryClass = TypFiltr; - } - else - { - //IDClass = Item[i].ubClassIndex; - Ency[i].LocType = Item[i].usItemClass; - Ency[i].InventoryClass = TypFiltr; - } - } - else if ( Item[i].usItemClass == IC_AMMO ) - { - if (Item[i].newinv && UsingNewInventorySystem() == true ) - { - IDClass = Item[i].ubClassIndex; - //Ency[i].LocType = Weapon[IDClass].ubWeaponType; - //Ency[i].InventoryClass = Item[i].usItemClass; - - // Weapon has the correct filter ammo weapon type - // if (Magazine[ Item[ i ].ubClassIndex ].ubCalibre == Weapon[i].ubCalibre) - //{ - //if (Weapon[IDClass].ubWeaponType == sort) - //{ - //Weapon has correct magazine size - //if(Weapon[Item[i].ubClassIndex].ubMagSize == Magazine[Item[i].ubClassIndex].ubMagSize ) - //{ - Ency[i].LocType = Item[i].usItemClass; //Weapon[IDClass].ubWeaponType; - Ency[i].InventoryClass = Item[i].usItemClass; - //} - // } - //} - // IDClass = Item[i].ubClassIndex; - // Ency[i].InventoryClass = Item[i].usItemClass; - // Ency[i].LocType = Magazine[IDClass].ubCalibre; //Armour[IDClass].ubArmourClass; - } - else - { - IDClass = Item[i].ubClassIndex; - Ency[i].LocType = Item[i].usItemClass; //Weapon[IDClass].ubWeaponType; - Ency[i].InventoryClass = Item[i].usItemClass; - } - } - } - - if ( Item[i].usItemClass == IC_NONE || Item[i].usItemClass == IC_TENTACLES ) Ency[i].Hidden = FALSE; - - //if ( Ency[i].Hidden == TRUE && Ency[i].LocType == sort && !bFiltr ) Ency[i].Filtr = FALSE; - //if ( Ency[i].Hidden == TRUE && bFiltr == TRUE && Ency[i].LocType == sort ) Ency[i].Filtr = TRUE; - //if ( Ency[i].LocType == 0 ) Ency[i].Filtr = TRUE; - - if ( Ency[i].Hidden == TRUE ) gEncyclopediaDataTemp[MaxLocation].LocType = Ency[i].LocType; - - if ( Ency[i].Hidden == TRUE && ( Ency[i].LocType == sort || bFiltr == TRUE ) && ( Ency[i].subGroup1 == TypFiltr || Ency[i].InventoryClass == TypFiltr || TypFiltr == NO_FILTR )) //&& Ency[i].Filtr != FALSE ) - { - - bBoxShow = FALSE; - - gEncyclopediaDataTemp[MaxLocation].InventoryClass = Ency[i].InventoryClass; - - gEncyclopediaDataTemp[MaxLocation].enableDesc = Ency[i].enableDesc; - - strncpy(gEncyclopediaDataTemp[MaxLocation].szFile, Ency[i].szFile,MAX_ENCYCLOPEDIA_CHARS); - strncpy(gEncyclopediaDataTemp[MaxLocation].szFile2, Ency[i].szFile2,MAX_ENCYCLOPEDIA_CHARS); - strncpy(gEncyclopediaDataTemp[MaxLocation].szFile3, Ency[i].szFile3,MAX_ENCYCLOPEDIA_CHARS); - strncpy(gEncyclopediaDataTemp[MaxLocation].szFile4, Ency[i].szFile4,MAX_ENCYCLOPEDIA_CHARS); - - strncpy(gEncyclopediaDataTemp[MaxLocation].BeforeImage, Ency[i].BeforeImage,MAX_ENCYCLOPEDIA_CHARS); - strncpy(gEncyclopediaDataTemp[MaxLocation].AfterImage, Ency[i].AfterImage,MAX_ENCYCLOPEDIA_CHARS); - - strncpy(gEncyclopediaDataTemp[MaxLocation].sSounds, Ency[i].sSounds,MAX_ENCYCLOPEDIA_CHARS); - - wcscpy(gEncyclopediaDataTemp[MaxLocation].ImageDescBefore, Ency[i].ImageDescBefore); - wcscpy(gEncyclopediaDataTemp[MaxLocation].ImageDescAfter, Ency[i].ImageDescAfter); - - wcscpy(gEncyclopediaDataTemp[MaxLocation].Name, Ency[i].Name); - - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc1, Ency[i].sDesc1); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc2, Ency[i].sDesc2); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc3, Ency[i].sDesc3); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc4, Ency[i].sDesc4); - /* wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc5, Ency[i].sDesc5); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc6, Ency[i].sDesc6); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc7, Ency[i].sDesc7); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc8, Ency[i].sDesc8); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc9, Ency[i].sDesc9); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc10, Ency[i].sDesc10); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc11, Ency[i].sDesc11); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc12, Ency[i].sDesc12); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc13, Ency[i].sDesc13); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc14, Ency[i].sDesc14); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc15, Ency[i].sDesc15); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc16, Ency[i].sDesc16); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc17, Ency[i].sDesc17); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc18, Ency[i].sDesc18); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc19, Ency[i].sDesc19); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sDesc20, Ency[i].sDesc20); - */ - - wcscpy(gEncyclopediaDataTemp[MaxLocation].sImageDesc1, Ency[i].sImageDesc1); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sImageDesc2, Ency[i].sImageDesc2); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sImageDesc3, Ency[i].sImageDesc3); - wcscpy(gEncyclopediaDataTemp[MaxLocation].sImageDesc4, Ency[i].sImageDesc4); - - gEncyclopediaDataTemp[MaxLocation].sImagePositionX[0] = Ency[i].sImagePositionX[0]; - gEncyclopediaDataTemp[MaxLocation].sImagePositionY[0] = Ency[i].sImagePositionY[0]; - - gEncyclopediaDataTemp[MaxLocation].sImagePositionX[1] = Ency[i].sImagePositionX[1]; - gEncyclopediaDataTemp[MaxLocation].sImagePositionY[1] = Ency[i].sImagePositionY[1]; - - gEncyclopediaDataTemp[MaxLocation].sImagePositionX[2] = Ency[i].sImagePositionX[2]; - gEncyclopediaDataTemp[MaxLocation].sImagePositionY[2] = Ency[i].sImagePositionY[2]; - - gEncyclopediaDataTemp[MaxLocation].sImagePositionX[3] = Ency[i].sImagePositionX[3]; - gEncyclopediaDataTemp[MaxLocation].sImagePositionY[3] = Ency[i].sImagePositionY[3]; - - gEncyclopediaDataTemp[MaxLocation].Filtr = Ency[i].Filtr; - // Ency[i].Filtr = FALSE; - - //if ( bEncyclopediaCharacter == FALSE ) - - gEncyclopediaDataTemp[MaxLocation].bvisible = Ency[i].bvisible; - gEncyclopediaDataTemp[MaxLocation].Hidden = Ency[i].Hidden; - - //Quests - gEncyclopediaDataTemp[MaxLocation].QuestID = Ency[i].QuestID; - gEncyclopediaDataTemp[MaxLocation].pQuests = Ency[i].pQuests; - gEncyclopediaDataTemp[MaxLocation].SpecialQuestImage = Ency[i].SpecialQuestImage; - gEncyclopediaDataTemp[MaxLocation].ImagePositionQX[0] = Ency[i].ImagePositionQX[0]; - gEncyclopediaDataTemp[MaxLocation].ImagePositionQY[0] = Ency[i].ImagePositionQY[0]; - gEncyclopediaDataTemp[MaxLocation].ImagePositionQX[1] = Ency[i].ImagePositionQX[1]; - gEncyclopediaDataTemp[MaxLocation].ImagePositionQY[1] = Ency[i].ImagePositionQY[1]; - - if ( gEncyclopediaDataTemp[MaxLocation].SpecialQuestImage == TRUE ) - gEncyclopediaDataTemp[MaxLocation].MaxImages = 0; - else - gEncyclopediaDataTemp[MaxLocation].MaxImages = Ency[i].MaxImages; - - gEncyclopediaDataTemp[MaxLocation].MaxPages = Ency[i].MaxPages; - - //Profiles - if ( bEncyclopediaLocation == TRUE ) - { - gEncyclopediaDataTemp[MaxLocation].SectorX = Ency[i].SectorX; - gEncyclopediaDataTemp[MaxLocation].SectorY = Ency[i].SectorY; - gEncyclopediaDataTemp[MaxLocation].SectorZ = Ency[i].SectorZ; - } - else if ( bEncyclopediaCharacter == TRUE ) - { - gEncyclopediaDataTemp[MaxLocation].IDProfile = Ency[i].IDProfile; //Ency[i].uiIndex; - } - MaxLocation++; - - } - } - - if ( bBoxShow == TRUE && ShowBox == TRUE ) - { - ResetVal = TRUE; - //DoLapTopMessageBox( MSG_BOX_LAPTOP_DEFAULT, pSectorPageText[ 4 ], LAPTOP_SCREEN, MSG_BOX_FLAG_OK, NULL); - } -#endif // ENABLE_ENCYCLOPEDIA -} -/* -void InitLocationFiltrButtons() -{ - guiEncyclopediaToggles[ 0 ] = CreateCheckBoxButton( LAPTOP_SCREEN_UL_X + 15, LAPTOP_SCREEN_WEB_UL_Y + 250, - "INTERFACE\\OptionsCheckBoxes_12x12.sti", - MSYS_PRIORITY_HIGH+10, - BtnEncyclopediaTogglesCallback ); - MSYS_SetBtnUserData( guiEncyclopediaToggles[ 0 ], 0, 0 ); - - guiEncyclopediaToggles[ 1 ] = CreateCheckBoxButton( LAPTOP_SCREEN_UL_X + 30, LAPTOP_SCREEN_WEB_UL_Y + 250, - "INTERFACE\\OptionsCheckBoxes_12x12.sti", - MSYS_PRIORITY_HIGH+10, - BtnEncyclopediaTogglesCallback ); - MSYS_SetBtnUserData( guiEncyclopediaToggles[ 1 ], 0, 1 ); - - guiEncyclopediaToggles[ 2 ] = CreateCheckBoxButton( LAPTOP_SCREEN_UL_X + 15, LAPTOP_SCREEN_WEB_UL_Y + 264, - "INTERFACE\\OptionsCheckBoxes_12x12.sti", - MSYS_PRIORITY_HIGH+10, - BtnEncyclopediaTogglesCallback ); - MSYS_SetBtnUserData( guiEncyclopediaToggles[ 2 ], 0, 2 ); - - guiEncyclopediaToggles[ 3 ] = CreateCheckBoxButton( LAPTOP_SCREEN_UL_X + 30, LAPTOP_SCREEN_WEB_UL_Y + 264, - "INTERFACE\\OptionsCheckBoxes_12x12.sti", - MSYS_PRIORITY_HIGH+10, - BtnEncyclopediaTogglesCallback ); - MSYS_SetBtnUserData( guiEncyclopediaToggles[ 3 ], 0, 3 ); - - SetRegionFastHelpText( &gSelectedEncyclopediaTextRegion[ 0 ], pEncyclopediaHelpText[LOCATION_CITIES] ); - SetButtonFastHelpText( guiEncyclopediaToggles[ 0 ], pEncyclopediaHelpText[LOCATION_CITIES] ); - - SetRegionFastHelpText( &gSelectedEncyclopediaTextRegion[ 1 ], pEncyclopediaHelpText[LOCATION_SAM] ); - SetButtonFastHelpText( guiEncyclopediaToggles[ 1 ], pEncyclopediaHelpText[LOCATION_SAM] ); - - SetRegionFastHelpText( &gSelectedEncyclopediaTextRegion[ 2 ], pEncyclopediaHelpText[LOCATION_OTHER] ); - SetButtonFastHelpText( guiEncyclopediaToggles[ 2 ], pEncyclopediaHelpText[LOCATION_OTHER] ); - - SetRegionFastHelpText( &gSelectedEncyclopediaTextRegion[ 3 ], pEncyclopediaHelpText[LOCATION_MINES] ); - SetButtonFastHelpText( guiEncyclopediaToggles[ 3 ], pEncyclopediaHelpText[LOCATION_MINES] ); - -} -*/ - -void InitSoundButtons() -{ - UINT16 usPosY, i; - guiSoundButtonsImage = LoadButtonImage("BriefingRoom\\BUTTONF.sti", BUTTON_NO_IMAGE, 0, BUTTON_NO_IMAGE, 1, BUTTON_NO_IMAGE ); - - usPosY = ENCYCLOPEDIA_LOCATION_FILTER_Y; - for(i=0; i 4 ) - strcpy(fileName, gEncyclopediaDataTemp[LocationID].szFile); - - if (IDimage == -1 || IDimage > 4 ) IDimage = 1; - - if ( IDimage > 0 && gEncyclopediaDataTemp[LocationID].MaxImages != -1 && (bEncyclopediaLocation == TRUE || bEncyclopediaCharacter == TRUE || bEncyclopediaInventory == TRUE || bEncyclopediaQuests == TRUE || bBriefingRoom == TRUE || bBriefingRoomSpecialMission == TRUE ) ) - { - strcpy(VObjectDesc.ImageFile, fileName); - CHECKF(AddVideoObject(&VObjectDesc,&gEncyclopediaDataTemp[LocationID].uiIndex)); - //BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 50 , ENCYCLOPEDIA_LOCATION_BOX_Y - 210, VO_BLT_SRCTRANSPARENCY, NULL ); - BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gEncyclopediaDataTemp[LocationID].sImagePositionX[IDimage-1] , ENCYCLOPEDIA_IMAGE_Y + gEncyclopediaDataTemp[LocationID].sImagePositionY[IDimage-1], VO_BLT_SRCTRANSPARENCY, NULL ); - } - - } - - if ( gEncyclopediaDataTemp[LocationID].SpecialQuestImage == TRUE && bEncyclopediaQuests == TRUE && gubQuest[ gEncyclopediaDataTemp[ LocationID ].QuestID ] == QUESTINPROGRESS ) - { - strcpy(fileName, gEncyclopediaDataTemp[LocationID].BeforeImage); - strcpy(VObjectDesc.ImageFile, fileName); - CHECKF(AddVideoObject(&VObjectDesc,&gEncyclopediaDataTemp[LocationID].uiIndex)); - //BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 50 , ENCYCLOPEDIA_LOCATION_BOX_Y - 210, VO_BLT_SRCTRANSPARENCY, NULL ); - BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gEncyclopediaDataTemp[LocationID].ImagePositionQX[0] , ENCYCLOPEDIA_IMAGE_Y + gEncyclopediaDataTemp[LocationID].ImagePositionQY[0], VO_BLT_SRCTRANSPARENCY, NULL ); - } - else if ( gEncyclopediaDataTemp[LocationID].SpecialQuestImage == TRUE && gubQuest[ gEncyclopediaDataTemp[ LocationID ].QuestID ] == QUESTDONE ) - { - strcpy(fileName, gEncyclopediaDataTemp[LocationID].AfterImage); - strcpy(VObjectDesc.ImageFile, fileName); - CHECKF(AddVideoObject(&VObjectDesc,&gEncyclopediaDataTemp[LocationID].uiIndex)); - //BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 50 , ENCYCLOPEDIA_LOCATION_BOX_Y - 210, VO_BLT_SRCTRANSPARENCY, NULL ); - BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gEncyclopediaDataTemp[LocationID].ImagePositionQX[1] , ENCYCLOPEDIA_IMAGE_Y + gEncyclopediaDataTemp[LocationID].ImagePositionQY[1], VO_BLT_SRCTRANSPARENCY, NULL ); - } - /* - else if ( gEncyclopediaDataTemp[LocationID].MaxImages != -10 && bEncyclopediaCharacter == TRUE ) - { - strcpy(VObjectDesc.ImageFile, fileName); - CHECKF(AddVideoObject(&VObjectDesc,&gEncyclopediaDataTemp[LocationID].uiIndex)); - BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gEncyclopediaDataTemp[LocationID].sImagePositionX[IDimage] , ENCYCLOPEDIA_IMAGE_Y + gEncyclopediaDataTemp[LocationID].sImagePositionY[IDimage], VO_BLT_SRCTRANSPARENCY, NULL ); - // BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 150 , ENCYCLOPEDIA_LOCATION_BOX_Y - 190, VO_BLT_SRCTRANSPARENCY, NULL ); - } - else if ( gEncyclopediaDataTemp[LocationID].MaxImages != -10 && bEncyclopediaInventory == TRUE ) - { - strcpy(VObjectDesc.ImageFile, fileName); - CHECKF(AddVideoObject(&VObjectDesc,&gEncyclopediaDataTemp[LocationID].uiIndex)); - BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_IMAGE_X + gEncyclopediaDataTemp[LocationID].sImagePositionX[IDimage] , ENCYCLOPEDIA_IMAGE_Y + gEncyclopediaDataTemp[LocationID].sImagePositionY[IDimage], VO_BLT_SRCTRANSPARENCY, NULL ); - // BltVideoObjectFromIndex( FRAME_BUFFER, gEncyclopediaDataTemp[LocationID].uiIndex, 0 , ENCYCLOPEDIA_LOCATION_BOX_X + 150 , ENCYCLOPEDIA_LOCATION_BOX_Y - 190, VO_BLT_SRCTRANSPARENCY, NULL ); - } - */ -#endif // ENABLE_ENCYCLOPEDIA - return(TRUE); -} - -void RenderEncyclopediaLocation( BOOLEAN bHidden ) -{ -//#ifdef ENABLE_ENCYCLOPEDIA -#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM) - UINT16 i; - UINT8 ubNumLines=11; - UINT16 usPosY; - //UINT8 ubFontHeight; - UINT16 usStringPixLength; - CHAR16 zString[512]; - CHAR16 zString2[512]; - - DrawEncyclopediaDefaults(); - - DisplayEncyclopediaLocationText(); - - //ubFontHeight = (UINT8)GetFontHeight(ENCYCLOPEDIA_LOCATION_BOX_FONT); - - ENCYCLOPEDIA_PAGE = gEncyclopediaDataTemp[LocationID].MaxPages-1; - - MaxImages = gEncyclopediaDataTemp[LocationID].MaxImages;//-1; - - //Location name - if (bEncyclopediaLocation == TRUE && ResetVal == FALSE)//&& gEncyclopediaDataTemp[LocationID].SectorY != -1 || gEncyclopediaDataTemp[LocationID].SectorX != -1 || gEncyclopediaDataTemp[LocationID].SectorZ != -1 ) - { - swprintf( zString, L" ( %c%d )", 'A' + gEncyclopediaDataTemp[LocationID].SectorY - 1, gEncyclopediaDataTemp[LocationID].SectorX ); - wcscpy( zString2,gEncyclopediaDataTemp[LocationID].Name ); - wcscat( zString2,zString ); - } - - //Profile name - if (bEncyclopediaCharacter == TRUE && gEncyclopediaDataTemp[LocationID].IDProfile != -1 && ResetVal == FALSE) - { - // if ( gEncyclopediaDataTemp[gEncyclopediaDataTemp[LocationID].IDProfile].Name[0] != 0 ) - ///swprintf( zString, L"%s ( %s )", gMercProfiles[gEncyclopediaDataTemp[LocationID].IDProfile].zName, gMercProfiles[ gEncyclopediaDataTemp[LocationID].IDProfile ].zNickname ); - // swprintf( zString, gEncyclopediaDataTemp[gEncyclopediaDataTemp[LocationID].IDProfile].Name ); - /// else - swprintf( zString, gMercProfiles[gEncyclopediaDataTemp[LocationID].IDProfile].zName ); - wcscpy( zString2,zString ); - } - - //Inventory name - if ( bEncyclopediaInventory == TRUE || bBriefingRoom == TRUE || bEncyclopediaQuests == TRUE || bBriefingRoomSpecialMission == TRUE && ResetVal == FALSE ) - { - swprintf( zString, gEncyclopediaDataTemp[LocationID].Name ); - wcscpy( zString2,zString ); - } - - ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + 13 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 227 , ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-42); - - ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + 13 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50 , ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_Y + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-20); - - - //Location name - if (bEncyclopediaLocation == TRUE && ResetVal == FALSE) //&& gEncyclopediaDataTemp[LocationID].IDProfile != -1 ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); - - //Inventory name - if (bEncyclopediaInventory == TRUE || bBriefingRoom == TRUE || bEncyclopediaQuests == TRUE && ResetVal == FALSE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); - - //Profile name - if ( bEncyclopediaCharacter == TRUE && ResetVal == FALSE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); - - //Reset - if ( ResetVal == TRUE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X, ENCYCLOPEDIA_LOCATION_BOX_Y-225, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, FONT14ARIAL, ENCYCLOPEDIA_LOCATION_BOX_COLOR, pSectorPageText[ 4 ], FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED); - - /* - //Type - if ( bEncyclopediaInventory == TRUE && bEncyclopediaLocation == FALSE ) - { - //Guns - if ( gEncyclopediaDataTemp[LocationID].LocType == NOT_GUN ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[0] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_PISTOL ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[1] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_M_PISTOL ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[2] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_SMG ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[3] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_RIFLE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[4] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_SN_RIFLE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[5] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_AS_RIFLE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[6] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_LMG ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[7] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == GUN_SHOTGUN ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[8] ); - //Armour - else if ( gEncyclopediaDataTemp[LocationID].LocType == ARMOURCLASS_HELMET ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[21] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == ARMOURCLASS_VEST ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[22] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == ARMOURCLASS_LEGGINGS ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[23] ); - else if ( gEncyclopediaDataTemp[LocationID].LocType == ARMOURCLASS_PLATE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[24] ); - //Misc - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_BLADE && gEncyclopediaDataTemp[LocationID].LocType == IC_BLADE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[25] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_THROWING_KNIFE && gEncyclopediaDataTemp[LocationID].LocType == IC_THROWING_KNIFE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[26] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_PUNCH ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[27] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_GRENADE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[28] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_BOMB ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[29] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_MEDKIT ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[30] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_KIT ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[31] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_FACE ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[32] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_LBEGEAR ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[33] ); - else if ( gEncyclopediaDataTemp[LocationID].InventoryClass == IC_MISC ) swprintf( zString, L"%s %s", pSectorPageText[3],BobbyRFilter[34] ); - else swprintf( zString, L"%s ---", pSectorPageText[3] ); - - wcscpy( zString2,zString ); - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 65, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED); - } - */ - - if ( bEncyclopediaLocation == TRUE && ResetVal == FALSE) - { - swprintf( zString, L"%s %s", pSectorPageText[3],pEncyclopediaTypeText[gEncyclopediaDataTemp[LocationID].LocType] ); - wcscpy( zString2,zString ); - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 65, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, zString2, FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED); - } - - //Reset - if ( ResetVal == TRUE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 65, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, RIGHT_JUSTIFIED); - - if ( gEncyclopediaDataTemp[LocationID].SpecialQuestImage == FALSE && ResetVal == FALSE) - { - - if ( IDimage == 1 ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sImageDesc1, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if (IDimage == 2 && gEncyclopediaDataTemp[LocationID].sImageDesc2 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sImageDesc2, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if (IDimage == 3 && gEncyclopediaDataTemp[LocationID].sImageDesc3 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sImageDesc3, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if (IDimage == 4 && gEncyclopediaDataTemp[LocationID].sImageDesc4 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sImageDesc4, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - - } - - if ( ResetVal == FALSE && gEncyclopediaDataTemp[LocationID].SpecialQuestImage == TRUE && gubQuest[ gEncyclopediaDataTemp[ LocationID ].QuestID ] == QUESTINPROGRESS ) - { - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].ImageDescBefore, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - } - else if ( gEncyclopediaDataTemp[LocationID].SpecialQuestImage == TRUE && gubQuest[ gEncyclopediaDataTemp[ LocationID ].QuestID ] == QUESTDONE ) - { - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].ImageDescAfter, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - } - - //Reset - if ( ResetVal == TRUE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP + 3, ENCYCLOPEDIA_LOCATION_BOX_Y + 18 + ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP - 50, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - - - if ( ID == 0 ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc1, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 1 && gEncyclopediaDataTemp[LocationID].sDesc2 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc2, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 2 && gEncyclopediaDataTemp[LocationID].sDesc3 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc3, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 3 && gEncyclopediaDataTemp[LocationID].sDesc4 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc4, ENCYCLOPEDIA_LOCATION_BOX_FONT); -/* else if (ID == 4 && gEncyclopediaDataTemp[LocationID].sDesc5 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc5, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 5 && gEncyclopediaDataTemp[LocationID].sDesc6 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc6, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 6 && gEncyclopediaDataTemp[LocationID].sDesc7 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc7, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 7 && gEncyclopediaDataTemp[LocationID].sDesc8 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc8, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 8 && gEncyclopediaDataTemp[LocationID].sDesc9 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc9, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 9 && gEncyclopediaDataTemp[LocationID].sDesc10 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc10, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 10 && gEncyclopediaDataTemp[LocationID].sDesc11 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc11, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 11 && gEncyclopediaDataTemp[LocationID].sDesc12 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc12, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 12 && gEncyclopediaDataTemp[LocationID].sDesc13 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc13, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 13 && gEncyclopediaDataTemp[LocationID].sDesc14 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc14, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 14 && gEncyclopediaDataTemp[LocationID].sDesc15 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc15, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 15 && gEncyclopediaDataTemp[LocationID].sDesc16 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc16, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 16 && gEncyclopediaDataTemp[LocationID].sDesc17 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc17, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 17 && gEncyclopediaDataTemp[LocationID].sDesc18 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc18, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 18 && gEncyclopediaDataTemp[LocationID].sDesc19 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc19, ENCYCLOPEDIA_LOCATION_BOX_FONT); - else if (ID == 19 && gEncyclopediaDataTemp[LocationID].sDesc20 != '\0' ) - usStringPixLength = StringPixLength( gEncyclopediaDataTemp[LocationID].sDesc20, ENCYCLOPEDIA_LOCATION_BOX_FONT); - */ - - //reset - if ( ResetVal == TRUE ) - usStringPixLength = StringPixLength( L"", ENCYCLOPEDIA_LOCATION_BOX_FONT); - - usPosY = ENCYCLOPEDIA_LOCATION_BOX_Y + 13; - - //draw top line of the popup background - ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY + ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-1); - - //draw mid section of the popup background - usPosY += ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT; - for(i=0; i< 10; i++) - { - ShadowVideoSurfaceRect( FRAME_BUFFER, ENCYCLOPEDIA_LOCATION_BOX_X+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, ENCYCLOPEDIA_LOCATION_BOX_X + ENCYCLOPEDIA_LOCATION_BOX_WIDTH+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP, usPosY + ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT+ENCYCLOPEDIA_LOCATION_BOX_SHADOW_GAP-1); - usPosY += ENCYCLOPEDIA_LOCATION_BOX_SECTION_HEIGHT; - } - - if ( ResetVal == FALSE ) { - - if (ID == 0 ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc1, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 1 && gEncyclopediaDataTemp[LocationID].sDesc2 != '\0') - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc2, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 2 && gEncyclopediaDataTemp[LocationID].sDesc3 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc3, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 3 && gEncyclopediaDataTemp[LocationID].sDesc4 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc4, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); -/* else if ( ID == 4 && gEncyclopediaDataTemp[LocationID].sDesc5 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc5, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 5 && gEncyclopediaDataTemp[LocationID].sDesc6 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc6, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 6 && gEncyclopediaDataTemp[LocationID].sDesc7 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc7, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 7 && gEncyclopediaDataTemp[LocationID].sDesc8 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc8, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 8 && gEncyclopediaDataTemp[LocationID].sDesc9 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc9, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 9 && gEncyclopediaDataTemp[LocationID].sDesc10 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc10, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 10 && gEncyclopediaDataTemp[LocationID].sDesc11 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc11, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 11 && gEncyclopediaDataTemp[LocationID].sDesc12 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc12, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 12 && gEncyclopediaDataTemp[LocationID].sDesc13 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc13, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 13 && gEncyclopediaDataTemp[LocationID].sDesc14 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc14, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 14 && gEncyclopediaDataTemp[LocationID].sDesc15 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc15, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 15 && gEncyclopediaDataTemp[LocationID].sDesc16 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc16, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 16 && gEncyclopediaDataTemp[LocationID].sDesc17 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc17, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 17 && gEncyclopediaDataTemp[LocationID].sDesc18 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc18, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 18 && gEncyclopediaDataTemp[LocationID].sDesc19 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc19, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - else if ( ID == 19 && gEncyclopediaDataTemp[LocationID].sDesc20 != '\0' ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, gEncyclopediaDataTemp[LocationID].sDesc20, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - */ - } - //Reset - if ( ResetVal == TRUE ) - DisplayWrappedString(ENCYCLOPEDIA_LOCATION_BOX_DESC_X, ENCYCLOPEDIA_LOCATION_BOX_DESC_Y + 13, ENCYCLOPEDIA_LOCATION_BOX_TEXT_WIDTH, 6, ENCYCLOPEDIA_LOCATION_BOX_FONT, ENCYCLOPEDIA_LOCATION_BOX_COLOR, L"", FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED); - - - MarkButtonsDirty( ); - RenderWWWProgramTitleBar( ); - - if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) - RenderButtonDisabled4(); - - if ( bHidden == TRUE && ( MaxImages == 0 || MaxImages == -1 || MaxImages == 1 ) ) //|| gEncyclopediaDataTemp[0].MaxImages == 1 ) ) - DisableButton( guiEncyclopediaPageButton[1] ); - else if ( bHidden == FALSE && MaxImages > 1 ) - EnableButton( guiEncyclopediaPageButton[1] ); - - //Reset - if ( ResetVal == TRUE ) - DisableButton( guiEncyclopediaPageButton[1] ); - - if ( gEncyclopediaDataTemp[LocationID].CheckMission == MISSIONSTART || gEncyclopediaDataTemp[LocationID].CheckMission == MISSIONEND ) - DisableButton ( guiSoundButtons[1] ); - else if ( gEncyclopediaDataTemp[LocationID].CheckMission == MISSIONNOSTARTED ) - EnableButton ( guiSoundButtons[1] ); - - //if ( bRenderFiltrBox == TRUE ) RenderFiltrBox(); - - //if ( ResetVal == TRUE ) - //DoLapTopMessageBox( MSG_BOX_LAPTOP_DEFAULT, pSectorPageText[ 4 ], LAPTOP_SCREEN, MSG_BOX_FLAG_OK, NULL); - - InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y); -#endif // ENABLE_ENCYCLOPEDIA -} - -void SelectEncyclopediaLocationPageRegionCallBack(GUI_BUTTON * btn, INT32 reason ) -{ -//#ifdef ENABLE_ENCYCLOPEDIA -#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM) - UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); - - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - btn->uiFlags |= BUTTON_CLICKED_ON; - } - if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - if ( ubRetValue == 2 ) - { - ID++; - - if ( ID == ENCYCLOPEDIA_PAGE || ID > ENCYCLOPEDIA_PAGE ) DisableButton( guiEncyclopediaPageButton[2] ); - if ( ID > 0 ) EnableButton( guiEncyclopediaPageButton[0] ); - - RenderEncyclopediaLocation(FALSE); - RenderMap(); - } - else if ( ubRetValue == 0 ) - { - ID--; - //if ( ID < 0 ) ID = 0; - if ( ID == 0 ) DisableButton( guiEncyclopediaPageButton[0] ); - if ( ID < ENCYCLOPEDIA_PAGE ) EnableButton( guiEncyclopediaPageButton[2] ); - RenderEncyclopediaLocation(FALSE); - RenderMap(); - } - else if ( ubRetValue == 1 ) - { - IDimage++; - - if ( IDimage > MaxImages || IDimage == -1 ) IDimage = 1; - - RenderEncyclopediaLocation(FALSE); - RenderMap(); - } - } - } - if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - } -#endif // ENABLE_ENCYCLOPEDIA -} - -void SelectEncyclopediaLocationRegionCallBack(GUI_BUTTON * btn, INT32 reason ) -{ -//#ifdef ENABLE_ENCYCLOPEDIA -#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM) - UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); - - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - btn->uiFlags |= BUTTON_CLICKED_ON; - } - if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - if ( ubRetValue == 2 ) - { - IDNewLocation++; - ID = 0; - - LocationID = IDNewLocation; - - if ( IDNewLocation == MaxLocation - 1 || IDNewLocation == -1 ) DisableButton( guiEncyclopediaLocationPageButton[2] ); - if ( IDNewLocation > 0 ) EnableButton( guiEncyclopediaLocationPageButton[0] ); - - IDimage = 1; - - RenderEncyclopediaLocation(FALSE); - RenderButtonDisabled2(); - - if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) - RenderButtonDisabled4(); - - if ( MaxImages == -1 || MaxImages == 0 || MaxImages == 1 ) - DisableButton( guiEncyclopediaPageButton[1] ); - else - EnableButton( guiEncyclopediaPageButton[1] ); - - if( uiSoundSampleBR!=NO_SAMPLE ) - { - SoundStop( uiSoundSampleBR ); - } - - RenderMap(); - - } - else if ( ubRetValue == 0 ) - { - ID = 0; - - IDNewLocation--; - - LocationID = IDNewLocation; - - if ( IDNewLocation == 0 || IDNewLocation == -1 ) DisableButton( guiEncyclopediaLocationPageButton[0] ); - if ( IDNewLocation < MaxLocation-1) EnableButton( guiEncyclopediaLocationPageButton[2] ); - - IDimage = 1; - - RenderEncyclopediaLocation(FALSE); - RenderButtonDisabled2(); - - if ( ENCYCLOPEDIA_PAGE == -1 || ENCYCLOPEDIA_PAGE == 0 ) - RenderButtonDisabled4(); - - if ( MaxImages == -1 || MaxImages == 0 || MaxImages == 1 ) - DisableButton( guiEncyclopediaPageButton[1] ); - else - EnableButton( guiEncyclopediaPageButton[1] ); - - if( uiSoundSampleBR!=NO_SAMPLE ) - { - SoundStop( uiSoundSampleBR ); - } - - RenderMap(); - - } - else if ( ubRetValue == 1 ) - { - //ExitEncyclopediaLocation(); - - if( uiSoundSampleBR!=NO_SAMPLE ) - { - SoundStop( uiSoundSampleBR ); - } - - if ( bBriefingRoom == TRUE || bBriefingRoomSpecialMission == TRUE ) - { - if(!fFirstTimeInEncyclopediaLocation) guiCurrentLaptopMode = LAPTOP_MODE_BRIEFING_ROOM_ENTER; - } - else - { - if(!fFirstTimeInEncyclopediaLocation) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA; - } - } - - } - } - if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - } -#endif // ENABLE_ENCYCLOPEDIA -} - -void SelectFiltrButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ) -{ -#ifdef ENABLE_ENCYCLOPEDIA - UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); - - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - btn->uiFlags |= BUTTON_CLICKED_ON; - } - if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - ResetTemp(); - - if ( bEncyclopediaLocation == TRUE ) - { - if ( ubRetValue == 0 ) - { - CopyToTemp ( gEncyclopediaLocationData, TRUE, NO_FILTR , NO_FILTR, TRUE ); - DisableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 1 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_CITIES , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - DisableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 2 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_SAM , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - DisableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 3 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_OTHER , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - DisableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 4 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_MINES , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - DisableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 5 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_MILITARY , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - DisableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 6 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_LABORATORY , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - DisableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 7 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_FACTORY , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - DisableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 8 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_HOSPITAL , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - DisableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 9 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_PRISON , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - DisableButton( guiFiltrPageButton[9] ); - EnableButton( guiFiltrPageButton[10] ); - } - else if ( ubRetValue == 10 ) - { - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_AIRPORT , NO_FILTR, TRUE ); - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - EnableButton( guiFiltrPageButton[8] ); - EnableButton( guiFiltrPageButton[9] ); - DisableButton( guiFiltrPageButton[10] ); - } - } - else if ( bEncyclopediaCharacter == TRUE ) - { - if ( ubRetValue == 0 ) - { - CopyToTemp ( gEncyclopediaProfilesData, TRUE, NO_FILTR , NO_FILTR, TRUE ); //0 - DisableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 1 ) - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_AIM , NO_FILTR, TRUE ); //1 - EnableButton( guiFiltrPageButton[0] ); - DisableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 2 ) - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_MERC , NO_FILTR, TRUE ); //2 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - DisableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 3 ) //NPC - RPC - { - //CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_RPC , NO_FILTR, TRUE ); //3 - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_NPC , PROFIL_RPC, TRUE ); //3 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - DisableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 4 ) //NPC - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_NPC , NO_FILTR, TRUE ); //4 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - DisableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 5 ) - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_VEHICLES , NO_FILTR, TRUE ); //5 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - DisableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 6 ) - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_IMP , NO_FILTR, TRUE ); //5 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - DisableButton( guiFiltrPageButton[6] ); - EnableButton( guiFiltrPageButton[7] ); - } - else if ( ubRetValue == 7 ) //NPC - EPC - { - CopyToTemp ( gEncyclopediaProfilesData, FALSE, PROFIL_NPC , PROFIL_EPC, TRUE ); //4/1 - EnableButton( guiFiltrPageButton[0] ); - EnableButton( guiFiltrPageButton[1] ); - EnableButton( guiFiltrPageButton[2] ); - EnableButton( guiFiltrPageButton[3] ); - EnableButton( guiFiltrPageButton[4] ); - EnableButton( guiFiltrPageButton[5] ); - EnableButton( guiFiltrPageButton[6] ); - DisableButton( guiFiltrPageButton[7] ); - } - - } - else if ( bEncyclopediaInventory == TRUE ) - { - if ( ubRetValue == 0 ) - { - CopyToTemp ( gEncyclopediaInventoryData, TRUE, NO_FILTR,NO_FILTR, TRUE ); - - - - bRenderFiltrBox[0] = TRUE; - bRenderFiltrBox[1] = TRUE; - bRenderFiltrBox[2] = TRUE; - bRenderFiltrBox[3] = TRUE; - - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - bRenderFiltrBox[0] = FALSE; - bRenderFiltrBox[1] = FALSE; - bRenderFiltrBox[2] = FALSE; - bRenderFiltrBox[3] = FALSE; - - SetFiltrButtons(); - - //RenderFiltrBox(); - //RenderBoxDisabledButton(); - //InitAddInventoryFiltrButtons( 9,0, bRenderFiltrBox[0] ); - - } - else if ( ubRetValue == 1 ) - { - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - bRenderFiltrBox[0] = TRUE; - bRenderFiltrBox[1] = FALSE; - bRenderFiltrBox[2] = FALSE; - bRenderFiltrBox[3] = FALSE; - - SetFiltrButtons(); - - RenderFiltrBox(); - InitAddInventoryFiltrButtons( 9,0, bRenderFiltrBox[0] ); - } - //Ammo - else if ( ubRetValue == 2 ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_AMMO, IC_AMMO, TRUE ); - - bRenderFiltrBox[0] = TRUE; - bRenderFiltrBox[1] = TRUE; - bRenderFiltrBox[2] = TRUE; - bRenderFiltrBox[3] = TRUE; - - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - bRenderFiltrBox[0] = FALSE; - bRenderFiltrBox[1] = FALSE; - bRenderFiltrBox[2] = FALSE; - bRenderFiltrBox[3] = FALSE; - - SetFiltrButtons(); - - /* - bRenderFiltrBox[0] = FALSE; - bRenderFiltrBox[1] = TRUE; - bRenderFiltrBox[2] = FALSE; - bRenderFiltrBox[3] = FALSE; - - RenderFiltrBox(); - InitAddInventoryFiltrButtons(8,9, FALSE); - */ - } - else if ( ubRetValue == 3 ) - { - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - bRenderFiltrBox[0] = FALSE; - bRenderFiltrBox[1] = FALSE; - bRenderFiltrBox[2] = TRUE; - bRenderFiltrBox[3] = FALSE; - - SetFiltrButtons(); - - RenderFiltrBox(); - InitAddInventoryFiltrButtons(4,21, FALSE); - } - else if ( ubRetValue == 4 ) - { - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - bRenderFiltrBox[0] = FALSE; - bRenderFiltrBox[1] = FALSE; - bRenderFiltrBox[2] = FALSE; - bRenderFiltrBox[3] = TRUE; - - SetFiltrButtons(); - - RenderFiltrBox(); - InitAddInventoryFiltrButtons(10,25, FALSE); - } - } - else if ( bEncyclopediaQuests == TRUE ) - { - - } - else if ( bBriefingRoom == TRUE ) - { - - } - else if ( bBriefingRoomSpecialMission == TRUE ) - { - - - } - - RenderEncyclopediaLocation(TRUE); - RenderMap(); - RenderButtonDisabled3(); - - } - } - if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - } -#endif // ENABLE_ENCYCLOPEDIA -} - -void SelectInventoryFiltrButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ) -{ -#ifdef ENABLE_ENCYCLOPEDIA - UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); - - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - btn->uiFlags |= BUTTON_CLICKED_ON; - } - if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - ResetTemp(); - - if ( bBriefingRoomSpecialMission == TRUE ) - { - - } - else if ( bBriefingRoom == TRUE ) - { - - } - else if ( bEncyclopediaQuests == TRUE ) - { - - } - else if ( bEncyclopediaLocation == TRUE ) - { - - } - else if ( bEncyclopediaCharacter == TRUE ) - { - - } - else if ( bEncyclopediaInventory == TRUE ) - { - //Guns - if ( ubRetValue == 0 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, NOT_GUN, IC_GUN, TRUE ); - - - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 1 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_PISTOL, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 2 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_M_PISTOL, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 3 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SMG, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 4 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_RIFLE, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 5 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SN_RIFLE, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 6 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_AS_RIFLE, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 7 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_LMG, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 8 && bRenderFiltrBox[0] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SHOTGUN, IC_GUN, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[0] = FALSE; - SetFiltrButtons(); - } - //AMMO - if ( ubRetValue == 0 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_PISTOL, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[1] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 1 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_M_PISTOL, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 2 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SMG, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[1] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 3 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_RIFLE, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 4 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SN_RIFLE, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 5 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_AS_RIFLE, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[1] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 6 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_LMG, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[0] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 7 && bRenderFiltrBox[1] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, GUN_SHOTGUN, IC_AMMO, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[1] == TRUE ) bRenderFiltrBox[1] = FALSE; - SetFiltrButtons(); - } - - //ARMOUR - if ( ubRetValue == 0 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_HELMET, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 1 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_VEST, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 2 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_LEGGINGS, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 3 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_PLATE, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] = FALSE; - SetFiltrButtons(); - } - /* - else if ( ubRetValue == 4 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_MONST, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] == FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 5 && bRenderFiltrBox[2] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, ARMOURCLASS_VEHICLE, IC_ARMOUR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[2] == TRUE ) bRenderFiltrBox[2] == FALSE; - SetFiltrButtons(); - } - */ - //misc - if ( ubRetValue == 0 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_BLADE, IC_BLADE, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 1 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_THROWING_KNIFE, IC_THROWING_KNIFE, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 2 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_PUNCH, IC_PUNCH, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 3 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_GRENADE, IC_GRENADE, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 4 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_BOMB, IC_BOMB, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 5 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_MEDKIT, IC_MEDKIT, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 6 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_KIT, IC_KIT, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 7 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_FACE, IC_FACE, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 8 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_LBEGEAR, IC_LBEGEAR, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - else if ( ubRetValue == 9 && bRenderFiltrBox[3] == TRUE ) - { - CopyToTemp ( gEncyclopediaInventoryData, FALSE, IC_MISC, IC_MISC, TRUE ); - if ( bRenderFiltrBox[0] == TRUE ) UnloadInventoryFilterBox(9); - if ( bRenderFiltrBox[1] == TRUE ) UnloadInventoryFilterBox(8); - if ( bRenderFiltrBox[2] == TRUE ) UnloadInventoryFilterBox(4); - if ( bRenderFiltrBox[3] == TRUE ) UnloadInventoryFilterBox(10); - - if ( bRenderFiltrBox[3] == TRUE ) bRenderFiltrBox[3] = FALSE; - SetFiltrButtons(); - } - } - RenderEncyclopediaLocation(FALSE); - RenderMap(); - RenderButtonDisabled3(); - } - } - if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - } -#endif // ENABLE_ENCYCLOPEDIA -} - - -void SelectSoundButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason ) -{ -//#ifdef ENABLE_ENCYCLOPEDIA -#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM) - UINT8 ubRetValue = (UINT8)MSYS_GetBtnUserData( btn, 0 ); - CHAR8 str[MAX_ENCYCLOPEDIA_CHARS]; - - if(reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - btn->uiFlags |= BUTTON_CLICKED_ON; - } - if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) - { - if (btn->uiFlags & BUTTON_CLICKED_ON) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - if ( bEncyclopediaLocation == TRUE ) - { - - if ( ubRetValue == 0 ) - { - - } - - } - else if ( bEncyclopediaCharacter == TRUE ) - { - - if ( ubRetValue == 0 ) - { - - } - - } - else if ( bEncyclopediaInventory == TRUE ) - { - if ( ubRetValue == 0 ) - { - - } - } - else if ( bEncyclopediaQuests == TRUE ) - { - - if ( ubRetValue == 0 ) - { - - } - - } - else if ( bBriefingRoom == TRUE ) - { - - if ( ubRetValue == 0 ) - { - - if( uiSoundSampleBR!=NO_SAMPLE ) - { - SoundStop( uiSoundSampleBR ); - } - - sprintf(str, gEncyclopediaDataTemp[LocationID].sSounds); - uiSoundSampleBR = PlayJA2SampleFromFile( str, RATE_11025, HIGHVOLUME, 1, MIDDLE ); - - } - - if ( ubRetValue == 1 ) - { - if ( gBriefingRoomData[gEncyclopediaDataTemp[LocationID].MissionID].CheckMission == MISSIONNOSTARTED ) - { - - gEncyclopediaDataTemp[LocationID].CheckMission = MISSIONSTART; - gBriefingRoomData[gEncyclopediaDataTemp[LocationID].MissionID].CheckMission = MISSIONSTART; - - DisableButton ( guiSoundButtons[1] ); - } - } - - } - else if ( bBriefingRoomSpecialMission == TRUE ) - { - - if ( ubRetValue == 0 ) - { - if( uiSoundSampleBR!=NO_SAMPLE ) - { - SoundStop( uiSoundSampleBR ); - } - - sprintf(str, gEncyclopediaDataTemp[LocationID].sSounds); - uiSoundSampleBR = PlayJA2SampleFromFile( str, RATE_11025, HIGHVOLUME, 1, MIDDLE ); - - } - - } - - } - } - if(reason & MSYS_CALLBACK_REASON_LOST_MOUSE) - { - btn->uiFlags &= (~BUTTON_CLICKED_ON ); - - } -#endif // ENABLE_ENCYCLOPEDIA -} - -//-------------------------------------------------------------- - - -BOOLEAN SaveEncyclopediaToSaveGameFile( HWFILE hFile ) -{ -#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM) - UINT32 uiNumBytesWritten; - UINT32 i; -#endif - - -#ifdef ENABLE_BRIEFINGROOM - //Briefing room - for(i=0; iuiFlags & BUTTON_CLICKED_ON ) - { - if ( ubRetValue == 0 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_CITIES); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_CITIES, TRUE ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 1 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_SAM); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_SAM, TRUE ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 2 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_OTHER ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 3 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_MINES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - btn->uiFlags |= BUTTON_CLICKED_ON; - } - else - { - - if ( ubRetValue == 0 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_CITIES); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_CITIES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 1 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_SAM); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_SAM ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 2 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_OTHER ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 3 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToTrue( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_MINES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - /* - btn->uiFlags &= ~BUTTON_CLICKED_ON; - } - } - else if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN ) - { - if( btn->uiFlags & BUTTON_CLICKED_ON ) - { - if ( ubRetValue == 0 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_CITIES); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_CITIES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 1 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_SAM); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_SAM ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 2 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_OTHER ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 3 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, TRUE, LOCATION_MINES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - btn->uiFlags |= BUTTON_CLICKED_ON; - } - else - { - - if ( ubRetValue == 0 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_CITIES); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_CITIES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 1 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_SAM); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_SAM ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 2 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_OTHER ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - - if ( ubRetValue == 3 && bEncyclopediaLocation == TRUE ) - { - // ResetTemp(); - //FiltrToFalse( gEncyclopediaLocationData,LOCATION_OTHER); - CopyToTemp ( gEncyclopediaLocationData, FALSE, LOCATION_MINES ); - RenderEncyclopediaLocation(); - RenderMap(); - RenderButtonDisabled3(); - } - btn->uiFlags &= ~BUTTON_CLICKED_ON; - } - } -} -*/ diff --git a/Laptop/Encyclopedia_Data.h b/Laptop/Encyclopedia_Data.h deleted file mode 100644 index 48e425e8..00000000 --- a/Laptop/Encyclopedia_Data.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef __Encyclopedia_Data_H -#define __Encyclopedia_Data_H - -#include "Encyclopedia.h" -//#include "Encyclopedia_Data.h" - -void GameInitEncyclopediaLocation(); -BOOLEAN EnterEncyclopediaLocation(); -void ExitEncyclopediaLocation(); -void HandleEncyclopediaLocation(); -void RenderEncyclopediaLocation(BOOLEAN bHidden); - -extern BOOLEAN bEncyclopediaLocation; -extern BOOLEAN bEncyclopediaCharacter; -extern BOOLEAN bEncyclopediaInventory; -extern BOOLEAN bEncyclopediaQuests; -extern BOOLEAN bBriefingRoom; -extern BOOLEAN bBriefingRoomSpecialMission; - -extern void BackupBRandEncyclopedia ( ENCYCLOPEDIA_LOCATION *EncyBackup, ENCYCLOPEDIA_LOCATION *Ency, UINT32 NUM); - -extern UINT32 IDPageEncyData; -extern void InitData ( BOOLEAN bInit); -extern void UnLoadMenuButtons (); -extern BOOLEAN ResetVal; - -extern void CopyToTemp ( ENCYCLOPEDIA_LOCATION *Ency, BOOLEAN bFiltr, INT32 sort, INT32 TypFiltr, BOOLEAN ShowBox ); -extern void ResetTemp(); - -extern BOOLEAN LoadEncyclopediaFromLoadGameFile( HWFILE hFile ); -extern BOOLEAN SaveEncyclopediaToSaveGameFile( HWFILE hFile ); - -#define PAGENONE 0 -#define PAGEENCYCLOPEDIALOCATION 1 -#define PAGEENCYCLOPEDIACHARACTER 2 -#define PAGEENCYCLOPEDIAINVENTORY 3 -#define PAGEENCYCLOPEDIAQUESTS 4 -#define PAGEBRIEFINGROOM 5 -#define PAGEBRIEFINGROOMSPECIALMISSION 6 - - -#endif \ No newline at end of file diff --git a/Laptop/Encyclopedia_Data_new.cpp b/Laptop/Encyclopedia_Data_new.cpp index 2e8ab13c..b29860c1 100644 --- a/Laptop/Encyclopedia_Data_new.cpp +++ b/Laptop/Encyclopedia_Data_new.cpp @@ -29,7 +29,7 @@ #include "vsurface.h" //fill extra buffer with black color #include "Text.h" #include "WordWrap.h" - + #include "Quests.h" #endif /** @ingroup ENCYCLOPEDIA diff --git a/Laptop/Laptop All.h b/Laptop/Laptop All.h index 50efd271..4ddb5f4f 100644 --- a/Laptop/Laptop All.h +++ b/Laptop/Laptop All.h @@ -138,8 +138,7 @@ #include "ShopKeeper Interface.h" #include "Cheats.h" #include "GameVersion.h" -#include "Encyclopedia.h" -#include "Encyclopedia_Data.h" +#include "BriefingRoom_Data.h" #include "Encyclopedia_new.h" #include "Encyclopedia_Data_new.h" #endif \ No newline at end of file diff --git a/Laptop/Laptop_VS2005.vcproj b/Laptop/Laptop_VS2005.vcproj index 64e762c4..62963b6b 100644 --- a/Laptop/Laptop_VS2005.vcproj +++ b/Laptop/Laptop_VS2005.vcproj @@ -406,6 +406,10 @@ RelativePath=".\BriefingRoom.h" > + + @@ -426,14 +430,6 @@ RelativePath=".\email.h" > - - - - @@ -720,6 +716,10 @@ RelativePath=".\BriefingRoom.cpp" > + + @@ -740,14 +740,6 @@ RelativePath=".\email.cpp" > - - - - @@ -944,6 +936,10 @@ RelativePath=".\XML_AIMAvailability.cpp" > + + @@ -964,10 +960,6 @@ RelativePath=".\XML_EmailMercLevelUp.cpp" > - - diff --git a/Laptop/Laptop_VS2008.vcproj b/Laptop/Laptop_VS2008.vcproj index 02a71904..d91b53e2 100644 --- a/Laptop/Laptop_VS2008.vcproj +++ b/Laptop/Laptop_VS2008.vcproj @@ -1,7 +1,7 @@ + + @@ -426,14 +430,6 @@ RelativePath="email.h" > - - - - @@ -710,6 +706,10 @@ RelativePath=".\BriefingRoom.cpp" > + + @@ -730,14 +730,6 @@ RelativePath="email.cpp" > - - - - @@ -930,6 +922,10 @@ RelativePath=".\XML_AIMAvailability.cpp" > + + @@ -950,10 +946,6 @@ RelativePath=".\XML_EmailMercLevelUp.cpp" > - - diff --git a/Laptop/Laptop_VS2010.vcxproj b/Laptop/Laptop_VS2010.vcxproj index 4a092a49..4efbfb1c 100644 --- a/Laptop/Laptop_VS2010.vcxproj +++ b/Laptop/Laptop_VS2010.vcxproj @@ -41,12 +41,11 @@ + - - @@ -120,12 +119,11 @@ + - - @@ -176,12 +174,12 @@ + - diff --git a/Laptop/Laptop_VS2010.vcxproj.filters b/Laptop/Laptop_VS2010.vcxproj.filters index ef9ce810..62230fad 100644 --- a/Laptop/Laptop_VS2010.vcxproj.filters +++ b/Laptop/Laptop_VS2010.vcxproj.filters @@ -219,12 +219,6 @@ Header Files - - Header Files - - - Header Files - Header Files @@ -240,6 +234,9 @@ Header Files + + Header Files + @@ -461,15 +458,6 @@ Source Files - - Source Files - - - Source Files - - - Source Files - Source Files @@ -491,5 +479,11 @@ Source Files + + Source Files + + + Source Files + \ No newline at end of file diff --git a/Laptop/XML_BriefingRoom.cpp b/Laptop/XML_BriefingRoom.cpp new file mode 100644 index 00000000..45c78ed9 --- /dev/null +++ b/Laptop/XML_BriefingRoom.cpp @@ -0,0 +1,400 @@ +#ifdef PRECOMPILEDHEADERS + #include "Tactical All.h" + #include "Editor All.h" + #include "LuaInitNPCs.h" +#else + #include "sgp.h" + #include "Debug Control.h" + #include "expat.h" + #include "XML.h" + #include "Interface.h" + #include "LuaInitNPCs.h" + #include "email.h" + #include "InterfaceItemImages.h" + #include "Soldier Profile.h" + #include "aim.h" + #include "mercs.h" + #include "Encrypted File.h" + #include "GameSettings.h" +#endif + +#include "BriefingRoom_Data.h" + +typedef enum +{ + ENCYCLOPEDIA_ELEMENT_NONE = 0, + ENCYCLOPEDIA_ELEMENT_LIST, + ENCYCLOPEDIA_ELEMENT, + ENCYCLOPEDIA_ELEMENT_PROPERTY, + ENCYCLOPEDIA_ELEMENT_SUBLIST, + ENCYCLOPEDIA_ELEMENT_SUBLIST_PROPERTY, + + +} ENCYCLOPEDIA_PARSE_STAGE; + +typedef struct +{ + ENCYCLOPEDIA_PARSE_STAGE curElement; + + CHAR8 szCharData[ENCYCLOPEDIA_DECRIPTION_SIZE+1]; + BRIEFINGROOM_M_DATA curEncyclopediaData; + + UINT32 maxArraySize; + UINT32 curIndex; + UINT32 currentDepth; + UINT32 maxReadDepth; +}encyclopediaLocationParseData; + + +BOOLEAN EncyclopediaLocation_TextOnly; + +BRIEFINGROOM_M_DATA *pEncy; + +//extern BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo); + +UINT32 FileType = 0; +UINT32 MaxPage = 0; +UINT8 mID = 0; +UINT8 gMercArray[ NUM_PROFILES ]; + +#define SIZE_MERC_BIO_INFO 400 * 2 +#define SIZE_MERC_ADDITIONAL_INFO 160 * 2 +#define MERCBIOSFILENAME "BINARYDATA\\MercBios.edt" +#define AIMBIOSFILENAME "BINARYDATA\\aimbios.edt" + + +CHAR16 MercInfoString[ SIZE_MERC_BIO_INFO ]; +CHAR16 AdditionalInfoString[ SIZE_MERC_BIO_INFO ]; + +BOOLEAN bMERC; + +BOOLEAN LoadEncyclopediaMercBio( UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo,UINT32 Type ) +{ + HWFILE hFile=NULL; + UINT32 uiBytesRead; + //UINT16 i; + UINT32 uiStartSeekAmount; + + if ( Type == 1 ) + hFile = FileOpen(AIMBIOSFILENAME, FILE_ACCESS_READ, FALSE); + else if ( Type == 2 ) + hFile = FileOpen(MERCBIOSFILENAME, FILE_ACCESS_READ, FALSE); + + if ( !hFile ) + { + return( FALSE ); + } + + + // Get current mercs bio info + uiStartSeekAmount = (SIZE_MERC_BIO_INFO + SIZE_MERC_ADDITIONAL_INFO) * ubIndex; + + if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE ) + { + return( FALSE ); + } + + if( !FileRead( hFile, pInfoString, SIZE_MERC_BIO_INFO, &uiBytesRead) ) + { + return( FALSE ); + } + + DecodeString(pInfoString, SIZE_MERC_BIO_INFO); + + // Get the additional info + uiStartSeekAmount = ((SIZE_MERC_BIO_INFO + SIZE_MERC_ADDITIONAL_INFO) * ubIndex )+ SIZE_MERC_BIO_INFO ; + if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE ) + { + return( FALSE ); + } + + if( !FileRead( hFile, pAddInfo, SIZE_MERC_ADDITIONAL_INFO, &uiBytesRead) ) + { + return( FALSE ); + } + + DecodeString(pAddInfo, SIZE_MERC_BIO_INFO); + + FileClose(hFile); + return(TRUE); +} + +BOOLEAN LoadGraphicForItem( BRIEFINGROOM_M_DATA *pEncy, UINT32 i ) +{ + CHAR8 zName[ 100 ]; +// UINT32 uiVo; + UINT16 ubGraphic, ubGraphicType; + CHAR8 zString[512]; +// CHAR8 zString2[512]; + + DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("LoadTileGraphicForItem")); + + const char* ext = g_bUsePngItemImages ? ".png" : ".sti"; + + // CHECK SUBCLASS + ubGraphic = Item[i].ubGraphicNum; + ubGraphicType = Item[i].ubGraphicType; + + if ( Item[i].ubGraphicType == 0 ) + { + // CHECK SUBCLASS + //ubGraphic++; + + if ( ubGraphic < 10 ) + { + sprintf( zName, "gun0%d", ubGraphic ); + } + else + { + sprintf( zName, "gun%d", ubGraphic ); + } + } + else + { + if ( ubGraphic < 10 ) + { + sprintf( zName, "p%ditem0%d", ubGraphicType, ubGraphic ); + } + else + { + sprintf( zName, "p%ditem%d", ubGraphicType, ubGraphic ); + } + } + + //Load item + sprintf( zString, "BIGITEMS\\%s%s", zName, ext ); + + + + + DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("LoadTileGraphicForItem: done")); + + return( TRUE ); +} + +static void XMLCALL +encyclopediaLocationStartElementHandle(void *userData, const XML_Char *name, const XML_Char **atts) +{ + encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; + + if(pData->currentDepth <= pData->maxReadDepth) //are we reading this element? + { + if(strcmp(name, "BRIEFINGROOM") == 0 && pData->curElement == ENCYCLOPEDIA_ELEMENT_NONE) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT_LIST; + + pData->maxReadDepth++; //we are not skipping this element + } + else if(strcmp(name, "DATA") == 0 && pData->curElement == ENCYCLOPEDIA_ELEMENT_LIST) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + + pData->maxReadDepth++; //we are not skipping this element + } + else if(pData->curElement == ENCYCLOPEDIA_ELEMENT && + (strcmp(name, "uiIndex") == 0 || + strcmp(name, "Name") == 0 || + strcmp(name, "Hidden") == 0 || + strcmp(name, "MaxPages") == 0 || + strcmp(name, "MaxImages") == 0 || + strcmp(name, "ImagePositionX") == 0 || + strcmp(name, "ImagePositionY") == 0 || + strcmp(name, "NextMission") == 0 )) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT_PROPERTY; + + pData->maxReadDepth++; //we are not skipping this element + } + + pData->szCharData[0] = '\0'; + } + + pData->currentDepth++; + +} + +static void XMLCALL +encyclopediaLocationCharacterDataHandle(void *userData, const XML_Char *str, int len) +{ + encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; + + if( (pData->currentDepth <= pData->maxReadDepth) && + (strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH) + ){ + strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData))); + } +} + +static void XMLCALL +encyclopediaLocationEndElementHandle(void *userData, const XML_Char *name) +{ + encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; + +// char temp; + + if(pData->currentDepth <= pData->maxReadDepth) + { + if(strcmp(name, "BRIEFINGROOM") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT_NONE; + } + else if(strcmp(name, "DATA") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT_LIST; + + if (!EncyclopediaLocation_TextOnly) + { + wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); + + pEncy[pData->curEncyclopediaData.uiIndex].uiIndex = pData->curEncyclopediaData.uiIndex; + pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = pData->curEncyclopediaData.MaxPages; + pEncy[pData->curEncyclopediaData.uiIndex].MaxImages = pData->curEncyclopediaData.MaxImages; + + //if ( pData->curEncyclopediaData.MaxImages > MAX_IMAGES ) + //pEncy[pData->curEncyclopediaData.uiIndex].MaxImages = 0; + + //if ( pData->curEncyclopediaData.MaxPages > MAX_PAGES ) + //pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = 0; + + if (pData->curEncyclopediaData.Hidden == FALSE ) + pEncy[pData->curEncyclopediaData.uiIndex].Hidden = TRUE; + else + pEncy[pData->curEncyclopediaData.uiIndex].Hidden = FALSE; + + + if ( FileType == 4 ) //briefing room + pEncy[pData->curEncyclopediaData.uiIndex].NextMission = pData->curEncyclopediaData.NextMission; + else + pEncy[pData->curEncyclopediaData.uiIndex].NextMission = -1; + + pEncy[pData->curEncyclopediaData.uiIndex].MissionID = pData->curEncyclopediaData.uiIndex; + + pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionX[0] = pData->curEncyclopediaData.sImagePositionX[0]; + pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionY[0] = pData->curEncyclopediaData.sImagePositionY[0]; + + } + else + { + wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); + } + } + else if(strcmp(name, "uiIndex") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.uiIndex = (UINT32) strtoul(pData->szCharData, NULL, 0); + } + else if(strcmp(name, "Name") == 0 ) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + + MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.Name, sizeof(pData->curEncyclopediaData.Name)/sizeof(pData->curEncyclopediaData.Name[0]) ); + pData->curEncyclopediaData.Name[sizeof(pData->curEncyclopediaData.Name)/sizeof(pData->curEncyclopediaData.Name[0]) - 1] = '\0'; + } + else if(strcmp(name, "Hidden") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.Hidden = (BOOLEAN) atol(pData->szCharData); + } + else if(strcmp(name, "MaxPages") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.MaxPages = (UINT32) strtoul(pData->szCharData, NULL, 0); + } + else if(strcmp(name, "MaxImages") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.MaxImages = (INT32) atol(pData->szCharData); + } + else if(strcmp(name, "ImagePositionX") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.sImagePositionX[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); + } + else if(strcmp(name, "ImagePositionY") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.sImagePositionY[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); + } + else if(strcmp(name, "SecretCode") == 0 ) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + + MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sCode, sizeof(pData->curEncyclopediaData.sCode)/sizeof(pData->curEncyclopediaData.sCode[0]) ); + pData->curEncyclopediaData.sCode[sizeof(pData->curEncyclopediaData.sCode)/sizeof(pData->curEncyclopediaData.sCode[0]) - 1] = '\0'; + } + else if(strcmp(name, "NextMission") == 0) + { + pData->curElement = ENCYCLOPEDIA_ELEMENT; + pData->curEncyclopediaData.NextMission = (INT32) atol(pData->szCharData); + } + + + pData->maxReadDepth--; + } + pData->currentDepth--; +} + +BOOLEAN ReadInBriefingRoom(STR fileName, BOOLEAN localizedVersion, BRIEFINGROOM_M_DATA *Ency, UINT32 FileType2 ) +{ + HWFILE hFile; + UINT32 uiBytesRead; + UINT32 uiFSize; + CHAR8 * lpcBuffer; + XML_Parser parser = XML_ParserCreate(NULL); + + encyclopediaLocationParseData pData; + + DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading BriefingRoom.xml" ); + + EncyclopediaLocation_TextOnly = localizedVersion; + + // Open file + hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE ); + if ( !hFile ) + return( localizedVersion ); + + uiFSize = FileGetSize(hFile); + lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1); + + //Read in block + if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) ) + { + MemFree(lpcBuffer); + return( FALSE ); + } + + lpcBuffer[uiFSize] = 0; //add a null terminator + + FileClose( hFile ); + + + XML_SetElementHandler(parser, encyclopediaLocationStartElementHandle, encyclopediaLocationEndElementHandle); + XML_SetCharacterDataHandler(parser, encyclopediaLocationCharacterDataHandle); + + + memset(&pData,0,sizeof(pData)); + XML_SetUserData(parser, &pData); + + pEncy = Ency; + FileType = FileType2; + + + if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE)) + { + CHAR8 errorBuf[511]; + + sprintf(errorBuf, "XML Parser Error in BriefingRoom.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser)); + LiveMessage(errorBuf); + + MemFree(lpcBuffer); + return FALSE; + } + + MemFree(lpcBuffer); + + + XML_ParserFree(parser); + + + return( TRUE ); +} diff --git a/Laptop/XML_EncyclopediaLocation.cpp b/Laptop/XML_EncyclopediaLocation.cpp deleted file mode 100644 index 03c87816..00000000 --- a/Laptop/XML_EncyclopediaLocation.cpp +++ /dev/null @@ -1,1137 +0,0 @@ -#ifdef PRECOMPILEDHEADERS - #include "Tactical All.h" - #include "Editor All.h" - #include "LuaInitNPCs.h" -#else - #include "sgp.h" - #include "Debug Control.h" - #include "expat.h" - #include "XML.h" - #include "Interface.h" - #include "LuaInitNPCs.h" - #include "email.h" - #include "InterfaceItemImages.h" - #include "Soldier Profile.h" - #include "aim.h" - #include "mercs.h" - #include "Encrypted File.h" - #include "GameSettings.h" -#endif - -#include "Encyclopedia_Data.h" -#include "Encyclopedia.h" - -typedef enum -{ - ENCYCLOPEDIA_ELEMENT_NONE = 0, - ENCYCLOPEDIA_ELEMENT_LIST, - ENCYCLOPEDIA_ELEMENT, - ENCYCLOPEDIA_ELEMENT_PROPERTY, - ENCYCLOPEDIA_ELEMENT_SUBLIST, - ENCYCLOPEDIA_ELEMENT_SUBLIST_PROPERTY, - - -} ENCYCLOPEDIA_PARSE_STAGE; - -typedef struct -{ - ENCYCLOPEDIA_PARSE_STAGE curElement; - - CHAR8 szCharData[ENCYCLOPEDIA_DECRIPTION_SIZE+1]; - ENCYCLOPEDIA_LOCATION curEncyclopediaData; - - UINT32 maxArraySize; - UINT32 curIndex; - UINT32 currentDepth; - UINT32 maxReadDepth; -}encyclopediaLocationParseData; - - -BOOLEAN EncyclopediaLocation_TextOnly; - -ENCYCLOPEDIA_LOCATION *pEncy; - -//extern BOOLEAN LoadMercBioInfo(UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo); - -UINT32 FileType = 0; -UINT32 MaxPage = 0; -UINT8 mID = 0; -UINT8 gMercArray[ NUM_PROFILES ]; - -#define SIZE_MERC_BIO_INFO 400 * 2 -#define SIZE_MERC_ADDITIONAL_INFO 160 * 2 -#define MERCBIOSFILENAME "BINARYDATA\\MercBios.edt" -#define AIMBIOSFILENAME "BINARYDATA\\aimbios.edt" - - -CHAR16 MercInfoString[ SIZE_MERC_BIO_INFO ]; -CHAR16 AdditionalInfoString[ SIZE_MERC_BIO_INFO ]; - -BOOLEAN bMERC; - -BOOLEAN LoadEncyclopediaMercBio( UINT8 ubIndex, STR16 pInfoString, STR16 pAddInfo,UINT32 Type ) -{ - HWFILE hFile=NULL; - UINT32 uiBytesRead; - //UINT16 i; - UINT32 uiStartSeekAmount; - - if ( Type == 1 ) - hFile = FileOpen(AIMBIOSFILENAME, FILE_ACCESS_READ, FALSE); - else if ( Type == 2 ) - hFile = FileOpen(MERCBIOSFILENAME, FILE_ACCESS_READ, FALSE); - - if ( !hFile ) - { - return( FALSE ); - } - - - // Get current mercs bio info - uiStartSeekAmount = (SIZE_MERC_BIO_INFO + SIZE_MERC_ADDITIONAL_INFO) * ubIndex; - - if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE ) - { - return( FALSE ); - } - - if( !FileRead( hFile, pInfoString, SIZE_MERC_BIO_INFO, &uiBytesRead) ) - { - return( FALSE ); - } - - DecodeString(pInfoString, SIZE_MERC_BIO_INFO); - - // Get the additional info - uiStartSeekAmount = ((SIZE_MERC_BIO_INFO + SIZE_MERC_ADDITIONAL_INFO) * ubIndex )+ SIZE_MERC_BIO_INFO ; - if ( FileSeek( hFile, uiStartSeekAmount, FILE_SEEK_FROM_START ) == FALSE ) - { - return( FALSE ); - } - - if( !FileRead( hFile, pAddInfo, SIZE_MERC_ADDITIONAL_INFO, &uiBytesRead) ) - { - return( FALSE ); - } - - DecodeString(pAddInfo, SIZE_MERC_BIO_INFO); - - FileClose(hFile); - return(TRUE); -} - -BOOLEAN LoadGraphicForItem( ENCYCLOPEDIA_LOCATION *pEncy, UINT32 i ) -{ - CHAR8 zName[ 100 ]; -// UINT32 uiVo; - UINT16 ubGraphic, ubGraphicType; - CHAR8 zString[512]; -// CHAR8 zString2[512]; - - DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("LoadTileGraphicForItem")); - - const char* ext = g_bUsePngItemImages ? ".png" : ".sti"; - - // CHECK SUBCLASS - ubGraphic = Item[i].ubGraphicNum; - ubGraphicType = Item[i].ubGraphicType; - - if ( Item[i].ubGraphicType == 0 ) - { - // CHECK SUBCLASS - //ubGraphic++; - - if ( ubGraphic < 10 ) - { - sprintf( zName, "gun0%d", ubGraphic ); - } - else - { - sprintf( zName, "gun%d", ubGraphic ); - } - } - else - { - if ( ubGraphic < 10 ) - { - sprintf( zName, "p%ditem0%d", ubGraphicType, ubGraphic ); - } - else - { - sprintf( zName, "p%ditem%d", ubGraphicType, ubGraphic ); - } - } - - //Load item - sprintf( zString, "BIGITEMS\\%s%s", zName, ext ); - - strncpy(pEncy[i].szFile, zString,MAX_ENCYCLOPEDIA_CHARS); - - - DebugMsg(TOPIC_JA2,DBG_LEVEL_3,String("LoadTileGraphicForItem: done")); - - return( TRUE ); -} - -static void XMLCALL -encyclopediaLocationStartElementHandle(void *userData, const XML_Char *name, const XML_Char **atts) -{ - encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; - - if(pData->currentDepth <= pData->maxReadDepth) //are we reading this element? - { - if(strcmp(name, "ENCYCLOPEDIA") == 0 && pData->curElement == ENCYCLOPEDIA_ELEMENT_NONE) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT_LIST; - - pData->maxReadDepth++; //we are not skipping this element - } - else if(strcmp(name, "DATA") == 0 && pData->curElement == ENCYCLOPEDIA_ELEMENT_LIST) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - pData->maxReadDepth++; //we are not skipping this element - } - else if(pData->curElement == ENCYCLOPEDIA_ELEMENT && - (strcmp(name, "uiIndex") == 0 || - strcmp(name, "Name") == 0 || - strcmp(name, "EnableDesc") == 0 || - strcmp(name, "Hidden") == 0 || - strcmp(name, "Type") == 0 || - strcmp(name, "subGroup") == 0 || - strcmp(name, "SectorX") == 0 || - strcmp(name, "SectorY") == 0 || - strcmp(name, "Level") == 0 || - strcmp(name, "MaxPages") == 0 || - strcmp(name, "PageDesc1") == 0 || - strcmp(name, "PageDesc2") == 0 || - strcmp(name, "PageDesc3") == 0 || - strcmp(name, "PageDesc4") == 0 || - strcmp(name, "PageDesc5") == 0 || - strcmp(name, "PageDesc6") == 0 || - strcmp(name, "PageDesc7") == 0 || - strcmp(name, "PageDesc8") == 0 || - strcmp(name, "PageDesc9") == 0 || - strcmp(name, "PageDesc10") == 0 || - strcmp(name, "PageDesc11") == 0 || - strcmp(name, "PageDesc12") == 0 || - strcmp(name, "PageDesc13") == 0 || - strcmp(name, "PageDesc14") == 0 || - strcmp(name, "PageDesc15") == 0 || - strcmp(name, "PageDesc16") == 0 || - strcmp(name, "PageDesc17") == 0 || - strcmp(name, "PageDesc18") == 0 || - strcmp(name, "PageDesc19") == 0 || - strcmp(name, "PageDesc20") == 0 || - strcmp(name, "MaxImages") == 0 || - strcmp(name, "szFile1") == 0 || - strcmp(name, "szFile2") == 0 || - strcmp(name, "szFile3") == 0 || - strcmp(name, "szFile4") == 0 || - strcmp(name, "ImageDesc1") == 0 || - strcmp(name, "ImageDesc2") == 0 || - strcmp(name, "ImageDesc3") == 0 || - strcmp(name, "ImageDesc4") == 0 || - strcmp(name, "ImagePosition1X") == 0 || - strcmp(name, "ImagePosition1Y") == 0 || - strcmp(name, "ImagePosition2X") == 0 || - strcmp(name, "ImagePosition2Y") == 0 || - strcmp(name, "ImagePosition3X") == 0 || - strcmp(name, "ImagePosition3Y") == 0 || - strcmp(name, "ImagePosition4X") == 0 || - strcmp(name, "ImagePosition4Y") == 0 || - strcmp(name, "SpecialQuestImage") == 0 || - strcmp(name, "BeforeImage") == 0 || - strcmp(name, "AfterImage") == 0 || - strcmp(name, "ImagePositionBeforeX") == 0 || - strcmp(name, "ImagePositionBeforeY") == 0 || - strcmp(name, "ImagePositionAfterX") == 0 || - strcmp(name, "ImagePositionAfterY") == 0 || - strcmp(name, "ImageDescBefore") == 0 || - strcmp(name, "ImageDescAfter") == 0 || - strcmp(name, "szSounds") == 0 || - strcmp(name, "NextMission") == 0 )) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT_PROPERTY; - - pData->maxReadDepth++; //we are not skipping this element - } - - pData->szCharData[0] = '\0'; - } - - pData->currentDepth++; - -} - -static void XMLCALL -encyclopediaLocationCharacterDataHandle(void *userData, const XML_Char *str, int len) -{ - encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; - - if( (pData->currentDepth <= pData->maxReadDepth) && - (strlen(pData->szCharData) < MAX_CHAR_DATA_LENGTH) - ){ - strncat(pData->szCharData,str,__min((unsigned int)len,MAX_CHAR_DATA_LENGTH-strlen(pData->szCharData))); - } -} - -static void XMLCALL -encyclopediaLocationEndElementHandle(void *userData, const XML_Char *name) -{ - encyclopediaLocationParseData * pData = (encyclopediaLocationParseData *)userData; - - char temp; - - if(pData->currentDepth <= pData->maxReadDepth) - { - if(strcmp(name, "ENCYCLOPEDIA") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT_NONE; - } - else if(strcmp(name, "DATA") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT_LIST; - - if (!EncyclopediaLocation_TextOnly) - { - - //pEncy[pData->curEncyclopediaData.uiIndex].enableDesc = FALSE; - - if ( pData->curEncyclopediaData.enableDesc == TRUE ) pEncy[pData->curEncyclopediaData.uiIndex].enableDesc = FALSE; - else if ( pData->curEncyclopediaData.enableDesc == FALSE ) pEncy[pData->curEncyclopediaData.uiIndex].enableDesc = TRUE; - - pEncy[pData->curEncyclopediaData.uiIndex].uiIndex = pData->curEncyclopediaData.uiIndex; - - if ( pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage == TRUE ) FileType = 3; - - if ( pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage == TRUE ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, pData->curEncyclopediaData.sDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, pData->curEncyclopediaData.sDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc3, pData->curEncyclopediaData.sDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc4, pData->curEncyclopediaData.sDesc4); - /* wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc5, pData->curEncyclopediaData.sDesc5); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc6, pData->curEncyclopediaData.sDesc6); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc7, pData->curEncyclopediaData.sDesc7); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc8, pData->curEncyclopediaData.sDesc8); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc9, pData->curEncyclopediaData.sDesc9); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc10, pData->curEncyclopediaData.sDesc10); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc11, pData->curEncyclopediaData.sDesc11); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc12, pData->curEncyclopediaData.sDesc12); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc13, pData->curEncyclopediaData.sDesc13); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc14, pData->curEncyclopediaData.sDesc14); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc15, pData->curEncyclopediaData.sDesc15); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc16, pData->curEncyclopediaData.sDesc16); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc17, pData->curEncyclopediaData.sDesc17); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc18, pData->curEncyclopediaData.sDesc18); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc19, pData->curEncyclopediaData.sDesc19); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc20, pData->curEncyclopediaData.sDesc20); - */ - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == TRUE && pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage == FALSE ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, pData->curEncyclopediaData.sDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, pData->curEncyclopediaData.sDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc3, pData->curEncyclopediaData.sDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc4, pData->curEncyclopediaData.sDesc4); - /* wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc5, pData->curEncyclopediaData.sDesc5); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc6, pData->curEncyclopediaData.sDesc6); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc7, pData->curEncyclopediaData.sDesc7); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc8, pData->curEncyclopediaData.sDesc8); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc9, pData->curEncyclopediaData.sDesc9); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc10, pData->curEncyclopediaData.sDesc10); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc11, pData->curEncyclopediaData.sDesc11); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc12, pData->curEncyclopediaData.sDesc12); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc13, pData->curEncyclopediaData.sDesc13); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc14, pData->curEncyclopediaData.sDesc14); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc15, pData->curEncyclopediaData.sDesc15); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc16, pData->curEncyclopediaData.sDesc16); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc17, pData->curEncyclopediaData.sDesc17); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc18, pData->curEncyclopediaData.sDesc18); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc19, pData->curEncyclopediaData.sDesc19); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc20, pData->curEncyclopediaData.sDesc20); - */ - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 1 ) - { - for(int cnt = 0;cnt < NUM_PROFILES;cnt++) - { - if ( gConditionsForMercAvailabilityTemp[cnt].ProfilId != 0 ) - { - //mID = gConditionsForMercAvailabilityTemp[cnt].MercBio; - gMercArray[ cnt ] = gConditionsForMercAvailability[cnt].ProfilId; - } - } - - for(int cnt = 0;cnt < NUM_PROFILES;cnt++) - { - if ( gMercArray[ cnt ] == pData->curEncyclopediaData.uiIndex ) - { - mID = gConditionsForMercAvailabilityTemp[cnt].MercBio; - } - } - - if (tempProfiles[pData->curEncyclopediaData.uiIndex].Type == 1 )//if ( gProfilesAIM[ pData->curEncyclopediaData.uiIndex ].ProfilId == pData->curEncyclopediaData.uiIndex ) - { - LoadEncyclopediaMercBio( gAimAvailabilityTemp[pData->curEncyclopediaData.uiIndex].AimBio, MercInfoString, AdditionalInfoString,1); - } - else if (tempProfiles[pData->curEncyclopediaData.uiIndex].Type == 2 )//if ( gProfilesAIM[ pData->curEncyclopediaData.uiIndex ].ProfilId == pData->curEncyclopediaData.uiIndex ) - { - LoadEncyclopediaMercBio( mID, MercInfoString, AdditionalInfoString,2); - } - else - { - MercInfoString[0] = 0; - AdditionalInfoString[0] = 0; - pEncy[pData->curEncyclopediaData.uiIndex].enableDesc = TRUE; - } - - if( MercInfoString[0] != 0) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, MercInfoString); - MaxPage = 0; - } - if( AdditionalInfoString[0] != 0) - { - MaxPage = 2; - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, AdditionalInfoString); - } - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 2 ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, Item[pData->curEncyclopediaData.uiIndex].szItemDesc); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, Item[pData->curEncyclopediaData.uiIndex].szLongItemName); - } - - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc1, pData->curEncyclopediaData.sImageDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc2, pData->curEncyclopediaData.sImageDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc3, pData->curEncyclopediaData.sImageDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc4, pData->curEncyclopediaData.sImageDesc4); - - //Specjal Quest Image - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].ImageDescBefore, pData->curEncyclopediaData.ImageDescBefore); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].ImageDescAfter, pData->curEncyclopediaData.ImageDescAfter); - - pEncy[pData->curEncyclopediaData.uiIndex].QuestID = -1; - pEncy[pData->curEncyclopediaData.uiIndex].pQuests = -1; - pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage = pData->curEncyclopediaData.SpecialQuestImage; - - pEncy[pData->curEncyclopediaData.uiIndex].ImagePositionQX[0] = pData->curEncyclopediaData.ImagePositionQX[0]; - pEncy[pData->curEncyclopediaData.uiIndex].ImagePositionQY[0] = pData->curEncyclopediaData.ImagePositionQY[0]; - - pEncy[pData->curEncyclopediaData.uiIndex].ImagePositionQX[1] = pData->curEncyclopediaData.ImagePositionQX[1]; - pEncy[pData->curEncyclopediaData.uiIndex].ImagePositionQY[1] = pData->curEncyclopediaData.ImagePositionQY[1]; - - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].BeforeImage, pData->curEncyclopediaData.BeforeImage,MAX_ENCYCLOPEDIA_CHARS); - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].AfterImage, pData->curEncyclopediaData.AfterImage,MAX_ENCYCLOPEDIA_CHARS); - - - pEncy[pData->curEncyclopediaData.uiIndex].SectorX = pData->curEncyclopediaData.SectorX; - pEncy[pData->curEncyclopediaData.uiIndex].SectorY = pData->curEncyclopediaData.SectorY; - pEncy[pData->curEncyclopediaData.uiIndex].SectorZ = pData->curEncyclopediaData.SectorZ; - - if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == TRUE ) - pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = pData->curEncyclopediaData.MaxPages; - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 1 ) - pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = MaxPage; - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 2 ) - pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = 0; - - pEncy[pData->curEncyclopediaData.uiIndex].MaxImages = pData->curEncyclopediaData.MaxImages; - - if ( pData->curEncyclopediaData.MaxImages > MAX_IMAGES ) - pEncy[pData->curEncyclopediaData.uiIndex].MaxImages = 0; - - if ( pData->curEncyclopediaData.MaxPages > MAX_PAGES ) - pEncy[pData->curEncyclopediaData.uiIndex].MaxPages = 0; - - if (pData->curEncyclopediaData.Hidden == FALSE ) - pEncy[pData->curEncyclopediaData.uiIndex].Hidden = TRUE; - else - pEncy[pData->curEncyclopediaData.uiIndex].Hidden = FALSE; - - if (pEncy[pData->curEncyclopediaData.uiIndex].Hidden == TRUE ) - pEncy[pData->curEncyclopediaData.uiIndex].Filtr = TRUE; - else - pEncy[pData->curEncyclopediaData.uiIndex].Filtr = FALSE; - - if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 2 ) //0 - location , 2 - guns, 1 - profiles - LoadGraphicForItem( pEncy, pData->curEncyclopediaData.uiIndex); - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 1 ) //0 - location , 2 - guns, 1 - profiles - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].szFile, pData->curEncyclopediaData.szFile,MAX_ENCYCLOPEDIA_CHARS); - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == TRUE ) - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].szFile, pData->curEncyclopediaData.szFile,MAX_ENCYCLOPEDIA_CHARS); - - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].szFile2, pData->curEncyclopediaData.szFile2,MAX_ENCYCLOPEDIA_CHARS); - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].szFile3, pData->curEncyclopediaData.szFile3,MAX_ENCYCLOPEDIA_CHARS); - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].szFile4, pData->curEncyclopediaData.szFile4,MAX_ENCYCLOPEDIA_CHARS); - - strncpy(pEncy[pData->curEncyclopediaData.uiIndex].sSounds, pData->curEncyclopediaData.sSounds,MAX_ENCYCLOPEDIA_CHARS); - - if ( FileType == 4 ) //briefing room - pEncy[pData->curEncyclopediaData.uiIndex].NextMission = pData->curEncyclopediaData.NextMission; - else - pEncy[pData->curEncyclopediaData.uiIndex].NextMission = -1; - - pEncy[pData->curEncyclopediaData.uiIndex].MissionID = pData->curEncyclopediaData.uiIndex; - - pEncy[pData->curEncyclopediaData.uiIndex].IDProfile = -1; - - if ( pData->curEncyclopediaData.subGroup1 == 0 ) - pEncy[pData->curEncyclopediaData.uiIndex].subGroup1 = -1; - else - pEncy[pData->curEncyclopediaData.uiIndex].subGroup1 = pData->curEncyclopediaData.subGroup1; - - pEncy[pData->curEncyclopediaData.uiIndex].LocType = pData->curEncyclopediaData.LocType; - - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionX[0] = pData->curEncyclopediaData.sImagePositionX[0]; - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionY[0] = pData->curEncyclopediaData.sImagePositionY[0]; - - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionX[1] = pData->curEncyclopediaData.sImagePositionX[1]; - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionY[1] = pData->curEncyclopediaData.sImagePositionY[1]; - - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionX[2] = pData->curEncyclopediaData.sImagePositionX[2]; - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionY[2] = pData->curEncyclopediaData.sImagePositionY[2]; - - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionX[3] = pData->curEncyclopediaData.sImagePositionX[3]; - pEncy[pData->curEncyclopediaData.uiIndex].sImagePositionY[3] = pData->curEncyclopediaData.sImagePositionY[3]; - - } - else - { - - if ( pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage == TRUE ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, pData->curEncyclopediaData.sDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, pData->curEncyclopediaData.sDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc3, pData->curEncyclopediaData.sDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc4, pData->curEncyclopediaData.sDesc4); - /* wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc5, pData->curEncyclopediaData.sDesc5); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc6, pData->curEncyclopediaData.sDesc6); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc7, pData->curEncyclopediaData.sDesc7); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc8, pData->curEncyclopediaData.sDesc8); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc9, pData->curEncyclopediaData.sDesc9); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc10, pData->curEncyclopediaData.sDesc10); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc11, pData->curEncyclopediaData.sDesc11); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc12, pData->curEncyclopediaData.sDesc12); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc13, pData->curEncyclopediaData.sDesc13); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc14, pData->curEncyclopediaData.sDesc14); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc15, pData->curEncyclopediaData.sDesc15); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc16, pData->curEncyclopediaData.sDesc16); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc17, pData->curEncyclopediaData.sDesc17); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc18, pData->curEncyclopediaData.sDesc18); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc19, pData->curEncyclopediaData.sDesc19); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc20, pData->curEncyclopediaData.sDesc20); - */ - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == TRUE && pEncy[pData->curEncyclopediaData.uiIndex].SpecialQuestImage == FALSE ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, pData->curEncyclopediaData.sDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, pData->curEncyclopediaData.sDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc3, pData->curEncyclopediaData.sDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc4, pData->curEncyclopediaData.sDesc4); - /* wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc5, pData->curEncyclopediaData.sDesc5); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc6, pData->curEncyclopediaData.sDesc6); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc7, pData->curEncyclopediaData.sDesc7); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc8, pData->curEncyclopediaData.sDesc8); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc9, pData->curEncyclopediaData.sDesc9); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc10, pData->curEncyclopediaData.sDesc10); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc11, pData->curEncyclopediaData.sDesc11); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc12, pData->curEncyclopediaData.sDesc12); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc13, pData->curEncyclopediaData.sDesc13); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc14, pData->curEncyclopediaData.sDesc14); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc15, pData->curEncyclopediaData.sDesc15); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc16, pData->curEncyclopediaData.sDesc16); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc17, pData->curEncyclopediaData.sDesc17); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc18, pData->curEncyclopediaData.sDesc18); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc19, pData->curEncyclopediaData.sDesc19); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc20, pData->curEncyclopediaData.sDesc20); - */ - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, pData->curEncyclopediaData.Name); - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 1 ) - { - - for(int cnt = 0;cnt < NUM_PROFILES;cnt++) - { - if ( gConditionsForMercAvailabilityTemp[cnt].ProfilId != 0 ) - { - //mID = gConditionsForMercAvailabilityTemp[cnt].MercBio; - gMercArray[ cnt ] = gConditionsForMercAvailability[cnt].ProfilId; - } - } - - for(int cnt = 0;cnt < NUM_PROFILES;cnt++) - { - if ( gMercArray[ cnt ] == pData->curEncyclopediaData.uiIndex ) - { - mID = gConditionsForMercAvailabilityTemp[cnt].MercBio; - } - } - - if (tempProfiles[pData->curEncyclopediaData.uiIndex].Type == 1 )//if ( gProfilesAIM[ pData->curEncyclopediaData.uiIndex ].ProfilId == pData->curEncyclopediaData.uiIndex ) - { - LoadEncyclopediaMercBio( gAimAvailabilityTemp[pData->curEncyclopediaData.uiIndex].AimBio, MercInfoString, AdditionalInfoString,1); - } - else if (tempProfiles[pData->curEncyclopediaData.uiIndex].Type == 2 )//if ( gProfilesAIM[ pData->curEncyclopediaData.uiIndex ].ProfilId == pData->curEncyclopediaData.uiIndex ) - { - LoadEncyclopediaMercBio( mID, MercInfoString, AdditionalInfoString,2); - } - else - { - MercInfoString[0] = 0; - AdditionalInfoString[0] = 0; - pEncy[pData->curEncyclopediaData.uiIndex].enableDesc = TRUE; - } - - if( MercInfoString[0] != 0) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, MercInfoString); - MaxPage = 0; - } - if( AdditionalInfoString[0] != 0) - { - MaxPage = 1; - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc2, AdditionalInfoString); - } - } - else if ( pEncy[pData->curEncyclopediaData.uiIndex].enableDesc == FALSE && FileType == 2 ) - { - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sDesc1, Item[pData->curEncyclopediaData.uiIndex].szItemDesc); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].Name, Item[pData->curEncyclopediaData.uiIndex].szLongItemName); - } - - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc1, pData->curEncyclopediaData.sImageDesc1); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc2, pData->curEncyclopediaData.sImageDesc2); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc3, pData->curEncyclopediaData.sImageDesc3); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].sImageDesc4, pData->curEncyclopediaData.sImageDesc4); - - //Specjal Quest Image - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].ImageDescBefore, pData->curEncyclopediaData.ImageDescBefore); - wcscpy(pEncy[pData->curEncyclopediaData.uiIndex].ImageDescAfter, pData->curEncyclopediaData.ImageDescAfter); - - } - } - else if(strcmp(name, "uiIndex") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.uiIndex = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "Name") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.Name, sizeof(pData->curEncyclopediaData.Name)/sizeof(pData->curEncyclopediaData.Name[0]) ); - pData->curEncyclopediaData.Name[sizeof(pData->curEncyclopediaData.Name)/sizeof(pData->curEncyclopediaData.Name[0]) - 1] = '\0'; - } - else if(strcmp(name, "EnableDesc") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.enableDesc = (BOOLEAN) atol(pData->szCharData); - } - else if(strcmp(name, "Hidden") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.Hidden = (BOOLEAN) atol(pData->szCharData); - } - else if(strcmp(name, "Type") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.LocType = (INT32) atol(pData->szCharData); - } - else if(strcmp(name, "subGroup") == 0 ) //&& FileType == 1 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.subGroup1 = (INT32) atol(pData->szCharData); - } - else if(strcmp(name, "SectorX") == 0 ) //&& FileType == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.SectorX = (INT16) atol(pData->szCharData); - } - else if(strcmp(name, "SectorY") == 0 ) //&& FileType == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.SectorY = (INT16) atol(pData->szCharData); - } - else if(strcmp(name, "Level") == 0 )//&& FileType == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.SectorZ = (INT16) atol(pData->szCharData); - } - else if(strcmp(name, "MaxPages") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.MaxPages = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "PageDesc1") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc1, sizeof(pData->curEncyclopediaData.sDesc1)/sizeof(pData->curEncyclopediaData.sDesc1[0]) ); - pData->curEncyclopediaData.sDesc1[sizeof(pData->curEncyclopediaData.sDesc1)/sizeof(pData->curEncyclopediaData.sDesc1[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc2") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc2, sizeof(pData->curEncyclopediaData.sDesc2)/sizeof(pData->curEncyclopediaData.sDesc2[0]) ); - pData->curEncyclopediaData.sDesc2[sizeof(pData->curEncyclopediaData.sDesc2)/sizeof(pData->curEncyclopediaData.sDesc2[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc3") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc3, sizeof(pData->curEncyclopediaData.sDesc3)/sizeof(pData->curEncyclopediaData.sDesc3[0]) ); - pData->curEncyclopediaData.sDesc3[sizeof(pData->curEncyclopediaData.sDesc3)/sizeof(pData->curEncyclopediaData.sDesc3[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc4") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc4, sizeof(pData->curEncyclopediaData.sDesc4)/sizeof(pData->curEncyclopediaData.sDesc4[0]) ); - pData->curEncyclopediaData.sDesc4[sizeof(pData->curEncyclopediaData.sDesc4)/sizeof(pData->curEncyclopediaData.sDesc4[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc5") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc5, sizeof(pData->curEncyclopediaData.sDesc5)/sizeof(pData->curEncyclopediaData.sDesc5[0]) ); - // pData->curEncyclopediaData.sDesc5[sizeof(pData->curEncyclopediaData.sDesc5)/sizeof(pData->curEncyclopediaData.sDesc5[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc6") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc6, sizeof(pData->curEncyclopediaData.sDesc6)/sizeof(pData->curEncyclopediaData.sDesc6[0]) ); - // pData->curEncyclopediaData.sDesc6[sizeof(pData->curEncyclopediaData.sDesc6)/sizeof(pData->curEncyclopediaData.sDesc6[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc7") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc7, sizeof(pData->curEncyclopediaData.sDesc7)/sizeof(pData->curEncyclopediaData.sDesc7[0]) ); - // pData->curEncyclopediaData.sDesc7[sizeof(pData->curEncyclopediaData.sDesc7)/sizeof(pData->curEncyclopediaData.sDesc7[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc8") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc8, sizeof(pData->curEncyclopediaData.sDesc8)/sizeof(pData->curEncyclopediaData.sDesc8[0]) ); - // pData->curEncyclopediaData.sDesc8[sizeof(pData->curEncyclopediaData.sDesc8)/sizeof(pData->curEncyclopediaData.sDesc8[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc9") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc9, sizeof(pData->curEncyclopediaData.sDesc9)/sizeof(pData->curEncyclopediaData.sDesc9[0]) ); - // pData->curEncyclopediaData.sDesc9[sizeof(pData->curEncyclopediaData.sDesc9)/sizeof(pData->curEncyclopediaData.sDesc9[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc10") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc10, sizeof(pData->curEncyclopediaData.sDesc10)/sizeof(pData->curEncyclopediaData.sDesc10[0]) ); - // pData->curEncyclopediaData.sDesc10[sizeof(pData->curEncyclopediaData.sDesc10)/sizeof(pData->curEncyclopediaData.sDesc10[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc11") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc11, sizeof(pData->curEncyclopediaData.sDesc11)/sizeof(pData->curEncyclopediaData.sDesc11[0]) ); - // pData->curEncyclopediaData.sDesc11[sizeof(pData->curEncyclopediaData.sDesc11)/sizeof(pData->curEncyclopediaData.sDesc11[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc12") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc12, sizeof(pData->curEncyclopediaData.sDesc12)/sizeof(pData->curEncyclopediaData.sDesc12[0]) ); - // pData->curEncyclopediaData.sDesc12[sizeof(pData->curEncyclopediaData.sDesc12)/sizeof(pData->curEncyclopediaData.sDesc12[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc13") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc13, sizeof(pData->curEncyclopediaData.sDesc13)/sizeof(pData->curEncyclopediaData.sDesc13[0]) ); - // pData->curEncyclopediaData.sDesc13[sizeof(pData->curEncyclopediaData.sDesc13)/sizeof(pData->curEncyclopediaData.sDesc13[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc14") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc14, sizeof(pData->curEncyclopediaData.sDesc14)/sizeof(pData->curEncyclopediaData.sDesc14[0]) ); - // pData->curEncyclopediaData.sDesc14[sizeof(pData->curEncyclopediaData.sDesc14)/sizeof(pData->curEncyclopediaData.sDesc14[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc15") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc15, sizeof(pData->curEncyclopediaData.sDesc15)/sizeof(pData->curEncyclopediaData.sDesc15[0]) ); - // pData->curEncyclopediaData.sDesc15[sizeof(pData->curEncyclopediaData.sDesc15)/sizeof(pData->curEncyclopediaData.sDesc15[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc16") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc16, sizeof(pData->curEncyclopediaData.sDesc16)/sizeof(pData->curEncyclopediaData.sDesc16[0]) ); - // pData->curEncyclopediaData.sDesc16[sizeof(pData->curEncyclopediaData.sDesc16)/sizeof(pData->curEncyclopediaData.sDesc16[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc17") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc17, sizeof(pData->curEncyclopediaData.sDesc17)/sizeof(pData->curEncyclopediaData.sDesc17[0]) ); - // pData->curEncyclopediaData.sDesc17[sizeof(pData->curEncyclopediaData.sDesc17)/sizeof(pData->curEncyclopediaData.sDesc17[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc18") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc18, sizeof(pData->curEncyclopediaData.sDesc18)/sizeof(pData->curEncyclopediaData.sDesc18[0]) ); - // pData->curEncyclopediaData.sDesc18[sizeof(pData->curEncyclopediaData.sDesc18)/sizeof(pData->curEncyclopediaData.sDesc18[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc19") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc19, sizeof(pData->curEncyclopediaData.sDesc19)/sizeof(pData->curEncyclopediaData.sDesc19[0]) ); - // pData->curEncyclopediaData.sDesc19[sizeof(pData->curEncyclopediaData.sDesc19)/sizeof(pData->curEncyclopediaData.sDesc19[0]) - 1] = '\0'; - } - else if(strcmp(name, "PageDesc20") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - // MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sDesc20, sizeof(pData->curEncyclopediaData.sDesc20)/sizeof(pData->curEncyclopediaData.sDesc20[0]) ); - // pData->curEncyclopediaData.sDesc20[sizeof(pData->curEncyclopediaData.sDesc20)/sizeof(pData->curEncyclopediaData.sDesc20[0]) - 1] = '\0'; - } - else if(strcmp(name, "MaxImages") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.MaxImages = (INT32) atol(pData->szCharData); - } - else if(strcmp(name, "szFile1") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.szFile,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.szFile,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.szFile[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.szFile[i] = temp; - } - - } - else if(strcmp(name, "szFile2") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.szFile2,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.szFile2,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.szFile2[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.szFile2[i] = temp; - } - - } - else if(strcmp(name, "szFile3") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.szFile3,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.szFile3,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.szFile3[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.szFile3[i] = temp; - } - - } - else if(strcmp(name, "szFile4") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.szFile4,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.szFile4,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.szFile4[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.szFile4[i] = temp; - } - - } - - else if(strcmp(name, "ImageDesc1") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sImageDesc1, sizeof(pData->curEncyclopediaData.sImageDesc1)/sizeof(pData->curEncyclopediaData.sImageDesc1[0]) ); - pData->curEncyclopediaData.sImageDesc1[sizeof(pData->curEncyclopediaData.sImageDesc1)/sizeof(pData->curEncyclopediaData.sImageDesc1[0]) - 1] = '\0'; - } - else if(strcmp(name, "ImageDesc2") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sImageDesc2, sizeof(pData->curEncyclopediaData.sImageDesc2)/sizeof(pData->curEncyclopediaData.sImageDesc2[0]) ); - pData->curEncyclopediaData.sImageDesc2[sizeof(pData->curEncyclopediaData.sImageDesc2)/sizeof(pData->curEncyclopediaData.sImageDesc2[0]) - 1] = '\0'; - } - else if(strcmp(name, "ImageDesc3") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sImageDesc3, sizeof(pData->curEncyclopediaData.sImageDesc3)/sizeof(pData->curEncyclopediaData.sImageDesc3[0]) ); - pData->curEncyclopediaData.sImageDesc3[sizeof(pData->curEncyclopediaData.sImageDesc3)/sizeof(pData->curEncyclopediaData.sImageDesc3[0]) - 1] = '\0'; - } - else if(strcmp(name, "ImageDesc4") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sImageDesc4, sizeof(pData->curEncyclopediaData.sImageDesc4)/sizeof(pData->curEncyclopediaData.sImageDesc4[0]) ); - pData->curEncyclopediaData.sImageDesc4[sizeof(pData->curEncyclopediaData.sImageDesc4)/sizeof(pData->curEncyclopediaData.sImageDesc4[0]) - 1] = '\0'; - } - else if(strcmp(name, "ImagePosition1X") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionX[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition1Y") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionY[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition2X") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionX[1] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition2Y") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionY[1] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition3X") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionX[2] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition3Y") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionY[2] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition4X") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionX[3] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePosition4Y") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.sImagePositionY[3] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "SpecialQuestImage") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.SpecialQuestImage = (BOOLEAN) atol(pData->szCharData); - } - else if(strcmp(name, "BeforeImage") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.BeforeImage,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.BeforeImage,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.BeforeImage[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.BeforeImage[i] = temp; - } - } - else if(strcmp(name, "AfterImage") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.AfterImage,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.AfterImage,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.AfterImage[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.AfterImage[i] = temp; - } - } - else if(strcmp(name, "ImagePositionBeforeX") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.ImagePositionQX[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePositionBeforeY") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.ImagePositionQY[0] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePositionAfterX") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.ImagePositionQX[1] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImagePositionAfterY") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.ImagePositionQY[1] = (UINT32) strtoul(pData->szCharData, NULL, 0); - } - else if(strcmp(name, "ImageDescBefore") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.ImageDescBefore, sizeof(pData->curEncyclopediaData.ImageDescBefore)/sizeof(pData->curEncyclopediaData.ImageDescBefore[0]) ); - pData->curEncyclopediaData.ImageDescBefore[sizeof(pData->curEncyclopediaData.ImageDescBefore)/sizeof(pData->curEncyclopediaData.ImageDescBefore[0]) - 1] = '\0'; - } - else if(strcmp(name, "ImageDescAfter") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.ImageDescAfter, sizeof(pData->curEncyclopediaData.ImageDescAfter)/sizeof(pData->curEncyclopediaData.ImageDescAfter[0]) ); - pData->curEncyclopediaData.ImageDescAfter[sizeof(pData->curEncyclopediaData.ImageDescAfter)/sizeof(pData->curEncyclopediaData.ImageDescAfter[0]) - 1] = '\0'; - } - else if(strcmp(name, "SecretCode") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - MultiByteToWideChar( CP_UTF8, 0, pData->szCharData, -1, pData->curEncyclopediaData.sCode, sizeof(pData->curEncyclopediaData.sCode)/sizeof(pData->curEncyclopediaData.sCode[0]) ); - pData->curEncyclopediaData.sCode[sizeof(pData->curEncyclopediaData.sCode)/sizeof(pData->curEncyclopediaData.sCode[0]) - 1] = '\0'; - } - else if(strcmp(name, "szSounds") == 0 ) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - - if(MAX_ENCYCLOPEDIA_CHARS >= strlen(pData->szCharData)) - strcpy(pData->curEncyclopediaData.sSounds,pData->szCharData); - else - { - strncpy(pData->curEncyclopediaData.sSounds,pData->szCharData,MAX_ENCYCLOPEDIA_CHARS); - pData->curEncyclopediaData.sSounds[MAX_ENCYCLOPEDIA_CHARS-1] = '\0'; - } - - for(int i=0;iszCharData),MAX_ENCYCLOPEDIA_CHARS);i++) - { - temp = pData->szCharData[i]; - pData->curEncyclopediaData.sSounds[i] = temp; - } - - } - else if(strcmp(name, "NextMission") == 0) - { - pData->curElement = ENCYCLOPEDIA_ELEMENT; - pData->curEncyclopediaData.NextMission = (INT32) atol(pData->szCharData); - } - - - pData->maxReadDepth--; - } - pData->currentDepth--; -} - -BOOLEAN ReadInEncyclopediaLocation(STR fileName, BOOLEAN localizedVersion, ENCYCLOPEDIA_LOCATION *Ency, UINT32 FileType2 ) -{ - HWFILE hFile; - UINT32 uiBytesRead; - UINT32 uiFSize; - CHAR8 * lpcBuffer; - XML_Parser parser = XML_ParserCreate(NULL); - - encyclopediaLocationParseData pData; - - DebugMsg(TOPIC_JA2, DBG_LEVEL_3, "Loading EncyclopediaLocation.xml" ); - - EncyclopediaLocation_TextOnly = localizedVersion; - - // Open file - hFile = FileOpen( fileName, FILE_ACCESS_READ, FALSE ); - if ( !hFile ) - return( localizedVersion ); - - uiFSize = FileGetSize(hFile); - lpcBuffer = (CHAR8 *) MemAlloc(uiFSize+1); - - //Read in block - if ( !FileRead( hFile, lpcBuffer, uiFSize, &uiBytesRead ) ) - { - MemFree(lpcBuffer); - return( FALSE ); - } - - lpcBuffer[uiFSize] = 0; //add a null terminator - - FileClose( hFile ); - - - XML_SetElementHandler(parser, encyclopediaLocationStartElementHandle, encyclopediaLocationEndElementHandle); - XML_SetCharacterDataHandler(parser, encyclopediaLocationCharacterDataHandle); - - - memset(&pData,0,sizeof(pData)); - XML_SetUserData(parser, &pData); - - pEncy = Ency; - FileType = FileType2; - - - if(!XML_Parse(parser, lpcBuffer, uiFSize, TRUE)) - { - CHAR8 errorBuf[511]; - - sprintf(errorBuf, "XML Parser Error in EncyclopediaLocation.xml: %s at line %d", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser)); - LiveMessage(errorBuf); - - MemFree(lpcBuffer); - return FALSE; - } - - MemFree(lpcBuffer); - - - XML_ParserFree(parser); - - - return( TRUE ); -} diff --git a/Laptop/email.cpp b/Laptop/email.cpp index cb0f900b..3a771ca9 100644 --- a/Laptop/email.cpp +++ b/Laptop/email.cpp @@ -25,6 +25,7 @@ #include #endif #include "soldier profile type.h" +#include "strategicmap.h" #ifdef JA2UB #include "Ja25_Tactical.h" diff --git a/Laptop/laptop.cpp b/Laptop/laptop.cpp index 27c350e2..9dd906d8 100644 --- a/Laptop/laptop.cpp +++ b/Laptop/laptop.cpp @@ -88,8 +88,7 @@ #endif #include "connect.h" -#include "Encyclopedia_Data.h" -#include "Encyclopedia.h" +#include "BriefingRoom_Data.h" #include "BriefingRoom.h" #include "BriefingRoomM.h" @@ -3185,19 +3184,11 @@ void WWWRegionButtonCallback(GUI_BUTTON *btn,INT32 reason ) { IDPageEncyData = PAGENONE; UnLoadMenuButtons (); - bEncyclopediaLocation = FALSE; - bEncyclopediaCharacter = FALSE; - bEncyclopediaInventory = FALSE; - bEncyclopediaQuests = FALSE; bBriefingRoom = FALSE; bBriefingRoomSpecialMission = FALSE; } - if ( IDPageEncyData == PAGEENCYCLOPEDIALOCATION ) guiCurrentWWWMode = LAPTOP_MODE_ENCYCLOPEDIA;//{ bEncyclopediaLocation = TRUE; InitData (); } - else if ( IDPageEncyData == PAGEENCYCLOPEDIACHARACTER ) guiCurrentWWWMode = LAPTOP_MODE_ENCYCLOPEDIA;//{ bEncyclopediaCharacter = TRUE; InitData (); } - else if ( IDPageEncyData == PAGEENCYCLOPEDIAINVENTORY ) guiCurrentWWWMode = LAPTOP_MODE_ENCYCLOPEDIA;//{ bEncyclopediaInventory = TRUE; InitData (); } - else if ( IDPageEncyData == PAGEENCYCLOPEDIAQUESTS ) guiCurrentWWWMode = LAPTOP_MODE_ENCYCLOPEDIA;//{ bEncyclopediaQuests = TRUE; InitData (); } - else if ( IDPageEncyData == PAGEBRIEFINGROOM ) guiCurrentWWWMode = LAPTOP_MODE_BRIEFING_ROOM_ENTER;//{ bBriefingRoom = TRUE; InitData (); } + if ( IDPageEncyData == PAGEBRIEFINGROOM ) guiCurrentWWWMode = LAPTOP_MODE_BRIEFING_ROOM_ENTER;//{ bBriefingRoom = TRUE; InitData (); } else if ( IDPageEncyData == PAGEBRIEFINGROOMSPECIALMISSION ) guiCurrentWWWMode = LAPTOP_MODE_BRIEFING_ROOM_ENTER;//{ bBriefingRoomSpecialMission = TRUE; InitData (); } if(guiCurrentWWWMode!=LAPTOP_MODE_NONE) diff --git a/SaveLoadGame.cpp b/SaveLoadGame.cpp index f8f63c40..83b07abd 100644 --- a/SaveLoadGame.cpp +++ b/SaveLoadGame.cpp @@ -134,7 +134,7 @@ #include "LuaInitNPCs.h" #include "Vehicles.h" -#include "Encyclopedia_Data.h" +#include "BriefingRoom_Data.h" #include //rain @@ -4134,13 +4134,13 @@ if( !SaveNewEmailDataToSaveGameFile( hFile ) ) } - if( !SaveEncyclopediaToSaveGameFile( hFile ) ) + if( !SaveBriefingRoomToSaveGameFile( hFile ) ) { - ScreenMsg( FONT_MCOLOR_WHITE, MSG_ERROR, L"ERROR writing Briefing Room & Encyclopedia"); + ScreenMsg( FONT_MCOLOR_WHITE, MSG_ERROR, L"ERROR writing Briefing Room"); goto FAILED_TO_SAVE; #ifdef JA2BETAVERSION - SaveGameFilePosition( FileGetPos( hFile ), "Briefing Room & Encyclopedia" ); + SaveGameFilePosition( FileGetPos( hFile ), "Briefing Room" ); #endif } @@ -5746,19 +5746,19 @@ BOOLEAN LoadSavedGame( int ubSavedGameID ) if( guiCurrentSaveGameVersion > ENCYCLOPEDIA_SAVEGAME_CHANGE) { uiRelEndPerc += 1; - SetRelativeStartAndEndPercentage( 0, uiRelStartPerc, uiRelEndPerc, L"Load Briefing Room & Encyclopedia..." ); + SetRelativeStartAndEndPercentage( 0, uiRelStartPerc, uiRelEndPerc, L"Load Briefing Room..." ); RenderProgressBar( 0, 100 ); uiRelStartPerc = uiRelEndPerc; - if( !LoadEncyclopediaFromLoadGameFile( hFile ) ) + if( !LoadBriefingRoomFromLoadGameFile( hFile ) ) { - DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("LoadEncyclopediaFromLoadGameFile failed" ) ); + DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("LoadBriefingRoomFromLoadGameFile failed" ) ); FileClose( hFile ); return( FALSE ); } #ifdef JA2BETAVERSION - LoadGameFilePosition( FileGetPos( hFile ), "Briefing Room & Load Encyclopedia" ); + LoadGameFilePosition( FileGetPos( hFile ), "Briefing Room" ); #endif } diff --git a/Strategic/Game Init.cpp b/Strategic/Game Init.cpp index 921e0c61..33777744 100644 --- a/Strategic/Game Init.cpp +++ b/Strategic/Game Init.cpp @@ -684,13 +684,6 @@ fFirstTimeInMapScreen = TRUE; gAimAvailability[i].AimBio = gAimAvailabilityTemp[i].AimBio; } -#ifdef ENABLE_ENCYCLOPEDIA - BackupBRandEncyclopedia ( gEncyclopediaLocationDataBackup, gEncyclopediaLocationData, 0); - BackupBRandEncyclopedia ( gEncyclopediaProfilesDataBackup, gEncyclopediaProfilesData, 1); - BackupBRandEncyclopedia ( gEncyclopediaInventoryDataBackup, gEncyclopediaInventoryData, 2); - BackupBRandEncyclopedia ( gEncyclopediaQuestsDataBackup, gEncyclopediaQuestsData, 3); -#endif //ENABLE_ENCYCLOPEDIA - #ifdef ENABLE_BRIEFINGROOM BackupBRandEncyclopedia ( gBriefingRoomDataBackup, gBriefingRoomData, 0); #endif //ENABLE_BRIEFINGROOM diff --git a/Strategic/LuaInitNPCs.cpp b/Strategic/LuaInitNPCs.cpp index dde0faad..3d47c071 100644 --- a/Strategic/LuaInitNPCs.cpp +++ b/Strategic/LuaInitNPCs.cpp @@ -43,6 +43,7 @@ #include "LOS.h" #include "Music Control.h" +#include "NPC.h" #ifdef JA2UB #include "Ja25 Strategic Ai.h" @@ -70,6 +71,7 @@ extern "C" { #include "Encrypted File.h" +#include "BriefingRoom_Data.h" extern UINT8 gubWaitingForAllMercsToExitCode; //-------------------------- UB ------------------------------ diff --git a/Tactical/DisplayCover.cpp b/Tactical/DisplayCover.cpp index eb112894..44545a16 100644 --- a/Tactical/DisplayCover.cpp +++ b/Tactical/DisplayCover.cpp @@ -32,6 +32,7 @@ #include "Render Fun.h" // HEADROCK HAM B2.7: Allow calling a CTH approximation function for the CTH display ("F" key) #include "UI Cursors.h" +#include "soldier profile type.h" #endif //forward declarations of common classes to eliminate includes diff --git a/Tactical/Food.cpp b/Tactical/Food.cpp index 9744aa5d..71c8fe5c 100644 --- a/Tactical/Food.cpp +++ b/Tactical/Food.cpp @@ -24,6 +24,7 @@ #include "WorldDat.h" #include "Facilities.h" #include "Soldier macros.h" + #include "strategicmap.h" #endif //forward declarations of common classes to eliminate includes diff --git a/Tactical/XML.h b/Tactical/XML.h index cd432e81..c1407d06 100644 --- a/Tactical/XML.h +++ b/Tactical/XML.h @@ -13,8 +13,7 @@ #include "Strategic Town Loyalty.h" #include "qarray.h" #include "XML_Language.h" -#include "Encyclopedia_Data.h" -#include "Encyclopedia.h" +#include "BriefingRoom_Data.h" #include "Inventory Choosing.h" // added by Flugente //forward declarations of common classes to eliminate includes class OBJECTTYPE; @@ -499,7 +498,7 @@ extern BOOLEAN ReadInEmailMercLevelUp(STR fileName, BOOLEAN localizedVersion); extern BOOLEAN ReadInEmailOther(STR fileName, BOOLEAN localizedVersion); //extern BOOLEAN ReadInInsurance(STR fileName, BOOLEAN localizedVersion); -extern BOOLEAN ReadInEncyclopediaLocation(STR fileName, BOOLEAN localizedVersion, ENCYCLOPEDIA_LOCATION *Ency, UINT32 FileType2 ); +extern BOOLEAN ReadInBriefingRoom(STR fileName, BOOLEAN localizedVersion, BRIEFINGROOM_M_DATA *Ency, UINT32 FileType2 ); extern BOOLEAN ReadInNewVehicles(STR fileName, BOOLEAN localizedVersion); extern BOOLEAN WriteNewVehicles(STR fileName); diff --git a/TacticalAI/NPC.cpp b/TacticalAI/NPC.cpp index 85f0b9b5..ae135c3e 100644 --- a/TacticalAI/NPC.cpp +++ b/TacticalAI/NPC.cpp @@ -51,7 +51,7 @@ #endif #include "Soldier Profile.h" - #include "Encyclopedia.h" + #include "BriefingRoom_Data.h" #ifdef JA2UB #include "Ja25_Tactical.h" diff --git a/Utils/Text.h b/Utils/Text.h index a9da06dd..61e05c77 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -6,8 +6,6 @@ #include "mapscreen.h" #include "XML_Language.h" -#include "Encyclopedia.h" - #define STRING_LENGTH 255 enum diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index 02b92a1d..0059d752 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 687188a5..9a8b6bce 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 02f4c9c9..e01dac51 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 3326a61c..64a945e5 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index b34e702e..3eb2fc6b 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index b6648518..d9a442ec 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index d7fb2eb5..64ea8b59 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -12,7 +12,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index e12257ed..4975d3cc 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/Utils/_TaiwaneseText.cpp b/Utils/_TaiwaneseText.cpp index b0fa85d0..27724d72 100644 --- a/Utils/_TaiwaneseText.cpp +++ b/Utils/_TaiwaneseText.cpp @@ -11,7 +11,6 @@ #include "Scheduling.h" #include "EditorMercs.h" #include "Item Statistics.h" - #include "Encyclopedia.h" #endif #endif diff --git a/builddefines.h b/builddefines.h index 2fd5b557..e19ba6ab 100644 --- a/builddefines.h +++ b/builddefines.h @@ -3,13 +3,13 @@ #include "Language Defines.h" -//----- Encyclopedia and Briefing room - by Jazz ----- -// WANNE: Do not disable that define. It is the old encyclopedia which uses a lot of memory -// The reworked encyclopedia (by Moa) is already coded in the source (without a define) -//#define ENABLE_ENCYCLOPEDIA - +//----- Briefing Room (Mission based JA2 like in JA/DG) - by Jazz ----- +// Once enabled here and also enabled in the ja2_options.ini (BRIEFING_ROOM), +// you can access the briefing room feature from the laptop +// Of course, you also need a briefing room 1.13-MOD, otherwise you have a blank briefing room. +// There are 2 examples (Briefing Room Example 1.zip, Briefing Room Example 2.zip) in the documents svn folder: +// https://ja2svn.dyndns.org/source/ja2/trunk/Documents/1.13%20Modding/Modding%20Examples #define ENABLE_BRIEFINGROOM -//----- End encyclopedia and Briefing room - by Jazz ----- // ----------------------------- // ***************************** diff --git a/ja2_VS2005.vcproj b/ja2_VS2005.vcproj index b6c5f3c0..1e64219c 100644 --- a/ja2_VS2005.vcproj +++ b/ja2_VS2005.vcproj @@ -66,7 +66,7 @@