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
This commit is contained in:
Wanne
2013-11-10 08:03:47 +00:00
parent b997811a5d
commit 896c1e3e24
38 changed files with 1883 additions and 5396 deletions
+3 -70
View File
@@ -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
+2 -7
View File
@@ -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();
}
}
+1 -10
View File
@@ -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;
File diff suppressed because it is too large Load Diff
+137
View File
@@ -0,0 +1,137 @@
#ifndef __BriefingRoom_Data_H
#define __BriefingRoom_Data_H
#include "Quests.h"
void GameInitEncyclopediaLocation();
BOOLEAN EnterEncyclopediaLocation();
void ExitEncyclopediaLocation();
void HandleEncyclopediaLocation();
void RenderEncyclopediaLocation(BOOLEAN bHidden);
extern BOOLEAN bBriefingRoom;
extern BOOLEAN bBriefingRoomSpecialMission;
#define NUM_MISSION NUM_SECTOR
#define NUM_MAX_TEMP MAXITEMS+1
#define TEXT_NUM_ENC TEXT_NUM_ENCYCLOPEDIA_HELP_TEXT
#define PAGENONE 0
#define PAGEENCYCLOPEDIALOCATION 1
#define PAGEENCYCLOPEDIACHARACTER 2
#define PAGEENCYCLOPEDIAINVENTORY 3
#define PAGEENCYCLOPEDIAQUESTS 4
#define PAGEBRIEFINGROOM 5
#define PAGEBRIEFINGROOMSPECIALMISSION 6
#define ENCYCLOPEDIA_DECRIPTION_SIZE 1120
#define ENCYCLOPEDIA_NAME_SIZE 160
#define NUM_SECTOR 4*255
#define MAX_ENCYCLOPEDIA_CHARS 500
typedef struct
{
//Profiles/Locations
UINT32 uiIndex;
CHAR16 Name[ENCYCLOPEDIA_NAME_SIZE];
BOOLEAN Hidden;
UINT32 sImagePositionX[4];
UINT32 sImagePositionY[4];
UINT32 MaxPages;
INT32 MaxImages;
BOOLEAN bvisible;
CHAR16 sCode[150];
INT32 NextMission;
UINT32 MissionID;
INT32 CheckMission;
} BRIEFINGROOM_M_DATA;
#define MAX_IMAGES 4
#define MAX_PAGES 4
#define MISSIONNOSTARTED 0
#define MISSIONSTART 1
#define MISSIONEND 2
typedef struct
{
UINT32 uiIndex;
BOOLEAN Hidden;
BOOLEAN bvisible;
} ENCYCLOPEDIA_PROF_SAVE;
typedef struct
{
UINT32 uiIndex;
BOOLEAN Hidden;
INT32 CheckMission;
} MISSION_SAVE;
extern void InitEncyklopediaBool();
extern void ShowNPCEncyclopediaEntry(UINT8 ubNPC, BOOLEAN hidden);
#ifdef ENABLE_BRIEFINGROOM
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData1[ NUM_SECTOR ];
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData2[ NUM_PROFILES ];
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData3[ MAXITEMS ];
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData4[ NUM_PROFILES ];
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData5[ MAX_QUESTS ];
extern BOOLEAN saveBriefingRoomReservedData1[ NUM_SECTOR ];
extern ENCYCLOPEDIA_PROF_SAVE saveBriefingRoomReservedData2[ NUM_PROFILES ];
extern BOOLEAN saveBriefingRoomReservedData3[ MAXITEMS ];
extern BOOLEAN saveBriefingRoomReservedData4[ NUM_PROFILES ];
extern BOOLEAN saveBriefingRoomReservedData5[ MAX_QUESTS ];
#else
extern BRIEFINGROOM_M_DATA gLoadBriefingRoomReservedData1[];
#endif // ENABLE_BRIEFINGROOM
#ifdef ENABLE_BRIEFINGROOM
extern BRIEFINGROOM_M_DATA gbriefingRoomDataTemp[ NUM_MAX_TEMP ];
#endif
#ifdef ENABLE_BRIEFINGROOM
extern BRIEFINGROOM_M_DATA gBriefingRoomData[ NUM_MISSION ];
extern BRIEFINGROOM_M_DATA gBriefingRoomSpecialMissionData[ NUM_MISSION ];
extern BRIEFINGROOM_M_DATA gBriefingRoomDataBackup[ NUM_MISSION ];
extern BRIEFINGROOM_M_DATA gBriefingRoomSpecialMissionDataBackup[ NUM_MISSION ];
extern MISSION_SAVE saveBriefingRoomData[ NUM_MISSION ];
extern MISSION_SAVE saveBriefingRoomSpecialMissionData[ NUM_MISSION ];
extern MISSION_SAVE saveMissionData[ NUM_MISSION ];
#else
extern BRIEFINGROOM_M_DATA gBriefingRoomData[];
#endif // ENABLE_BRIEFINGROOM
extern void BackupBRandEncyclopedia ( BRIEFINGROOM_M_DATA *EncyBackup, BRIEFINGROOM_M_DATA *Ency, UINT32 NUM);
extern UINT32 IDPageEncyData;
extern void InitData ( BOOLEAN bInit);
extern void UnLoadMenuButtons ();
extern BOOLEAN ResetVal;
extern void CopyToTemp ( BRIEFINGROOM_M_DATA *Ency, BOOLEAN bFiltr, INT32 sort, INT32 TypFiltr, BOOLEAN ShowBox );
extern void ResetTemp();
extern BOOLEAN LoadBriefingRoomFromLoadGameFile( HWFILE hFile );
extern BOOLEAN SaveBriefingRoomToSaveGameFile( HWFILE hFile );
#endif
-445
View File
@@ -1,445 +0,0 @@
#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#else
//#include "Laptop All.h"
#include "Types.h"
#include "WCheck.h"
#include "Cursors.h"
#include "Debug.h"
#include "Utilities.h"
#include "timer control.h"
#include "Font Control.h"
#include "WordWrap.h"
#include "Encrypted File.h"
#include "email.h"
#include "Game Clock.h"
#include "Text.h"
#include "soldier profile type.h"
#include "laptop.h"
#include "Encyclopedia.h"
#include "Encyclopedia_Data.h"
#endif
// Link Images
#define ENCYCLOPEDIA_BUTTON_SIZE_X 205
#define ENCYCLOPEDIA_BUTTON_SIZE_Y 19
#define ENCYCLOPEDIA_COPYRIGHT_X iScreenWidthOffset + 160
#define ENCYCLOPEDIA_COPYRIGHT_Y iScreenHeightOffset + 415 // + LAPTOP_SCREEN_WEB_DELTA_Y
#define ENCYCLOPEDIA_COPYRIGHT_WIDTH 400
#define ENCYCLOPEDIA_COPYRIGHT_GAP 9
#define IMAGE_OFFSET_X LAPTOP_SCREEN_UL_X
#define IMAGE_OFFSET_Y LAPTOP_SCREEN_WEB_UL_Y
//262, 28
// RustBackGround
#define RUSTBACKGROUND_SIZE_X 125
#define RUSTBACKGROUND_SIZE_Y 100
#define RUSTBACKGROUND_1_X IMAGE_OFFSET_X
#define RUSTBACKGROUND_1_Y IMAGE_OFFSET_Y
#define ENCYCLOPEDIA_FONT12ARIAL FONT12ARIAL
#define ENCYCLOPEDIA_FONT_MCOLOR_WHITE FONT_MCOLOR_WHITE
#define ENCYCLOPEDIA_BUTTONS_DEF 4
#define ENCYCLOPEDIA_SUBTITLE_Y iScreenHeightOffset + 150 + LAPTOP_SCREEN_WEB_DELTA_Y
#define ENCYCLOPEDIA_CONTENTBUTTON_X iScreenWidthOffset + 259
#define ENCYCLOPEDIA_CONTENTBUTTON_Y ENCYCLOPEDIA_SUBTITLE_Y
#define ENCYCLOPEDIA_TOC_X ENCYCLOPEDIA_CONTENTBUTTON_X
#define ENCYCLOPEDIA_TOC_Y 5
#define ENCYCLOPEDIA_TOC_GAP_Y 25
UINT32 guiRustEncyclopediaBackGround;
UINT32 guiRustEncyclopediaLogoAim;
MOUSE_REGION gSelectedEncyclopediaTocMenuRegion[ 6 ];
UINT32 guiContentButtonEncy;
void SelectEncyclopediaLocationButton(MOUSE_REGION * pRegion, INT32 iReason );
void SelectEncyclopediaCharacterButton(MOUSE_REGION * pRegion, INT32 iReason );
void SelectEncyclopediaQuestsButton(MOUSE_REGION * pRegion, INT32 iReason );
void SelectEncyclopediaInentoryButton(MOUSE_REGION * pRegion, INT32 iReason );
void LaptopInitEncyclopedia();
void InitEncyklopediaBool();
BOOLEAN fFirstTimeInEncyclopedia = TRUE;
BOOLEAN DrawEncyclopediaLogoAim();
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
ENCYCLOPEDIA_LOCATION gEncyclopediaDataTemp[ NUM_MAX_TEMP ];
#endif
#ifdef ENABLE_ENCYCLOPEDIA
ENCYCLOPEDIA_LOCATION gEncyclopediaLocationData[ NUM_SECTOR ];
ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[ NUM_PROFILES ];
ENCYCLOPEDIA_LOCATION gEncyclopediaInventoryData[ MAXITEMS ];
ENCYCLOPEDIA_LOCATION gEncyclopediaOldProfilesData[ NUM_PROFILES ];
ENCYCLOPEDIA_LOCATION gEncyclopediaQuestsData[ MAX_QUESTS ];
ENCYCLOPEDIA_LOCATION gEncyclopediaLocationDataBackup[ NUM_SECTOR ];
ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesDataBackup[ NUM_PROFILES ];
ENCYCLOPEDIA_LOCATION gEncyclopediaInventoryDataBackup[ MAXITEMS ];
ENCYCLOPEDIA_LOCATION gEncyclopediaOldProfilesDataBackup[ NUM_PROFILES ];
ENCYCLOPEDIA_LOCATION gEncyclopediaQuestsDataBackup[ MAX_QUESTS ];
ENCYCLOPEDIA_PROF_SAVE saveEncyclopediaProfilesData[ NUM_PROFILES ];
BOOLEAN saveEncyclopediaLocationData[ NUM_SECTOR ];
BOOLEAN saveEncyclopediaInventoryData[ MAXITEMS ];
BOOLEAN saveEncyclopediaOldProfilesData[ NUM_PROFILES ];
BOOLEAN saveEncyclopediaQuestsData[ MAX_QUESTS ];
#else
ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[ 1 ];
#endif // ENABLE_ENCYCLOPEDIA
#ifdef ENABLE_BRIEFINGROOM
ENCYCLOPEDIA_LOCATION gBriefingRoomData[ NUM_SECTOR ];
ENCYCLOPEDIA_LOCATION gBriefingRoomSpecialMissionData[ NUM_SECTOR ];
ENCYCLOPEDIA_LOCATION gBriefingRoomDataBackup[ NUM_SECTOR ];
ENCYCLOPEDIA_LOCATION gBriefingRoomSpecialMissionDataBackup[ NUM_SECTOR ];
MISSION_SAVE saveBriefingRoomData[ NUM_SECTOR ];
MISSION_SAVE saveBriefingRoomSpecialMissionData[ NUM_SECTOR ];
MISSION_SAVE saveMissionData[ NUM_SECTOR ];
#else
ENCYCLOPEDIA_LOCATION gBriefingRoomData[ 1 ];
#endif // ENABLE_BRIEFINGROOM
void GameInitEncyclopedia()
{
LaptopInitEncyclopedia();
}
BOOLEAN EnterEncyclopedia()
{
#ifdef ENABLE_ENCYCLOPEDIA
VOBJECT_DESC VObjectDesc;
UINT16 i, usPosY;
LaptopInitEncyclopedia();
InitEncyclopediaDefaults();
// load the Rust bacground graphic and add it
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
//FilenameForBPP("LAPTOP\\rustbackground.sti", VObjectDesc.ImageFile);
FilenameForBPP("ENCYCLOPEDIA\\encyclopedialogoaim.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiRustEncyclopediaLogoAim));
// load the MemberShipcard graphic and add it
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("Encyclopedia\\CONTENTBUTTON.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiContentButtonEncy));
//** Mouse Regions **
usPosY = ENCYCLOPEDIA_CONTENTBUTTON_Y + 120;
for(i=0; i<ENCYCLOPEDIA_BUTTONS_DEF; i++)
{
if ( i == 0 )
MSYS_DefineRegion( &gSelectedEncyclopediaTocMenuRegion[i], ENCYCLOPEDIA_TOC_X, usPosY, (UINT16)(ENCYCLOPEDIA_TOC_X + ENCYCLOPEDIA_BUTTON_SIZE_X), (UINT16)(usPosY + ENCYCLOPEDIA_BUTTON_SIZE_Y), MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectEncyclopediaLocationButton);
else if ( i == 1 )
MSYS_DefineRegion( &gSelectedEncyclopediaTocMenuRegion[i], ENCYCLOPEDIA_TOC_X, usPosY, (UINT16)(ENCYCLOPEDIA_TOC_X + ENCYCLOPEDIA_BUTTON_SIZE_X), (UINT16)(usPosY + ENCYCLOPEDIA_BUTTON_SIZE_Y), MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectEncyclopediaCharacterButton);
else if ( i == 2 )
MSYS_DefineRegion( &gSelectedEncyclopediaTocMenuRegion[i], ENCYCLOPEDIA_TOC_X, usPosY, (UINT16)(ENCYCLOPEDIA_TOC_X + ENCYCLOPEDIA_BUTTON_SIZE_X), (UINT16)(usPosY + ENCYCLOPEDIA_BUTTON_SIZE_Y), MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectEncyclopediaInentoryButton);
else if ( i == 3 )
MSYS_DefineRegion( &gSelectedEncyclopediaTocMenuRegion[i], ENCYCLOPEDIA_TOC_X, usPosY, (UINT16)(ENCYCLOPEDIA_TOC_X + ENCYCLOPEDIA_BUTTON_SIZE_X), (UINT16)(usPosY + ENCYCLOPEDIA_BUTTON_SIZE_Y), MSYS_PRIORITY_HIGH,
CURSOR_WWW, MSYS_NO_CALLBACK, SelectEncyclopediaQuestsButton);
MSYS_AddRegion(&gSelectedEncyclopediaTocMenuRegion[i]);
usPosY += ENCYCLOPEDIA_TOC_GAP_Y;
}
fFirstTimeInEncyclopedia = FALSE;
RenderEncyclopedia();
#endif // ENABLE_ENCYCLOPEDIA
return( TRUE );
}
void LaptopInitEncyclopedia()
{
}
void InitEncyklopediaBool()
{
bEncyclopediaLocation = FALSE;
bEncyclopediaCharacter = FALSE;
bEncyclopediaInventory = FALSE;
bEncyclopediaQuests = FALSE;
bBriefingRoom = FALSE;
bBriefingRoomSpecialMission = FALSE;
}
void ExitEncyclopedia()
{
#ifdef ENABLE_ENCYCLOPEDIA
UINT16 i;
//InitEncyklopediaBool();
RemoveEncyclopediaDefaults();
DeleteVideoObjectFromIndex(guiContentButtonEncy);
DeleteVideoObjectFromIndex(guiRustEncyclopediaLogoAim);
// Remove Mouse Regions
for(i=0; i<ENCYCLOPEDIA_BUTTONS_DEF; i++)
MSYS_RemoveRegion( &gSelectedEncyclopediaTocMenuRegion[i]);
//guiCurrentLaptopMode = LAPTOP_MODE_NONE;
#endif // ENABLE_ENCYCLOPEDIA
}
void HandleEncyclopedia()
{
}
void RenderEncyclopedia()
{
#ifdef ENABLE_ENCYCLOPEDIA
UINT16 i, usPosY;
UINT16 usHeight;
HVOBJECT hContentButtonHandle;
UINT16 usWidth=0;
DrawEncyclopediaDefaults();
DrawEncyclopediaLogoAim();
GetVideoObject(&hContentButtonHandle, guiContentButtonEncy);
usHeight = GetFontHeight(ENCYCLOPEDIA_FONT12ARIAL);
usPosY = ENCYCLOPEDIA_CONTENTBUTTON_Y + 120;
for(i=0; i<ENCYCLOPEDIA_BUTTONS_DEF; i++)
{
BltVideoObject(FRAME_BUFFER, hContentButtonHandle, 0,ENCYCLOPEDIA_TOC_X, usPosY, VO_BLT_SRCTRANSPARENCY,NULL);
usWidth = StringPixLength(pMenuStrings[i], ENCYCLOPEDIA_FONT12ARIAL);
DrawTextToScreen(pMenuStrings[i], ENCYCLOPEDIA_TOC_X, (UINT16)(usPosY + ENCYCLOPEDIA_TOC_Y), ENCYCLOPEDIA_BUTTON_SIZE_X, ENCYCLOPEDIA_FONT12ARIAL, ENCYCLOPEDIA_FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED);
usPosY += ENCYCLOPEDIA_TOC_GAP_Y;
}
DisplayEncyclopediaSlogan();
DisplayEncyclopediaCopyright();
RenderWWWProgramTitleBar( );
//InitEncyklopediaBool();
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
#endif // ENABLE_ENCYCLOPEDIA
}
void SelectEncyclopediaLocationButton(MOUSE_REGION * pRegion, INT32 iReason )
{
#ifdef ENABLE_ENCYCLOPEDIA
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
bEncyclopediaLocation = TRUE;
bEncyclopediaCharacter = FALSE;
bEncyclopediaInventory = FALSE;
bEncyclopediaQuests = FALSE;
bBriefingRoom = FALSE;
bBriefingRoomSpecialMission = FALSE;
ResetVal = TRUE;
IDPageEncyData = PAGEENCYCLOPEDIALOCATION;
if(!fFirstTimeInEncyclopedia) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA_DATA;
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
#endif // ENABLE_ENCYCLOPEDIA
}
void SelectEncyclopediaCharacterButton(MOUSE_REGION * pRegion, INT32 iReason )
{
#ifdef ENABLE_ENCYCLOPEDIA
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
bEncyclopediaLocation = FALSE;
bEncyclopediaCharacter = TRUE;
bEncyclopediaInventory = FALSE;
bEncyclopediaQuests = FALSE;
bBriefingRoom = FALSE;
bBriefingRoomSpecialMission = FALSE;
ResetVal = TRUE;
IDPageEncyData = PAGEENCYCLOPEDIACHARACTER;
if(!fFirstTimeInEncyclopedia) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA_DATA;
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
#endif // ENABLE_ENCYCLOPEDIA
}
void SelectEncyclopediaQuestsButton(MOUSE_REGION * pRegion, INT32 iReason )
{
#ifdef ENABLE_ENCYCLOPEDIA
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
bEncyclopediaLocation = FALSE;
bEncyclopediaCharacter = FALSE;
bEncyclopediaInventory = FALSE;
bEncyclopediaQuests = TRUE;
bBriefingRoom = FALSE;
bBriefingRoomSpecialMission = FALSE;
ResetVal = FALSE;
IDPageEncyData = PAGEENCYCLOPEDIAQUESTS;
if(!fFirstTimeInEncyclopedia) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA_DATA;
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
#endif // ENABLE_ENCYCLOPEDIA
}
void SelectEncyclopediaInentoryButton(MOUSE_REGION * pRegion, INT32 iReason )
{
#ifdef ENABLE_ENCYCLOPEDIA
if (iReason & MSYS_CALLBACK_REASON_INIT)
{
}
else if(iReason & MSYS_CALLBACK_REASON_LBUTTON_UP)
{
bEncyclopediaLocation = FALSE;
bEncyclopediaCharacter = FALSE;
bEncyclopediaInventory = TRUE;
bEncyclopediaQuests = FALSE;
bBriefingRoom = FALSE;
bBriefingRoomSpecialMission = FALSE;
ResetVal = FALSE;
IDPageEncyData = PAGEENCYCLOPEDIAINVENTORY;
if(!fFirstTimeInEncyclopedia) guiCurrentLaptopMode = LAPTOP_MODE_ENCYCLOPEDIA_DATA;
}
else if (iReason & MSYS_CALLBACK_REASON_RBUTTON_UP)
{
}
#endif // ENABLE_ENCYCLOPEDIA
}
BOOLEAN InitEncyclopediaDefaults()
{
//#ifdef ENABLE_ENCYCLOPEDIA
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
VOBJECT_DESC VObjectDesc;
// load the Rust bacground graphic and add it
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
//FilenameForBPP("LAPTOP\\rustbackground.sti", VObjectDesc.ImageFile);
FilenameForBPP("ENCYCLOPEDIA\\encyclopediabackground.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiRustEncyclopediaBackGround));
#endif // ENABLE_ENCYCLOPEDIA
return(TRUE);
}
BOOLEAN RemoveEncyclopediaDefaults()
{
//#ifdef ENABLE_ENCYCLOPEDIA
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
DeleteVideoObjectFromIndex(guiRustEncyclopediaBackGround);
#endif // ENABLE_ENCYCLOPEDIA
return(TRUE);
}
BOOLEAN DrawEncyclopediaLogoAim()
{
#ifdef ENABLE_ENCYCLOPEDIA
HVOBJECT hLogoEncyklopedia;
// UINT16 x,y, uiPosX, uiPosY;
GetVideoObject(&hLogoEncyklopedia, guiRustEncyclopediaLogoAim);
BltVideoObject(FRAME_BUFFER, hLogoEncyklopedia, 0,ENCYCLOPEDIA_TOC_X, RUSTBACKGROUND_1_Y + 40, VO_BLT_SRCTRANSPARENCY,NULL);
#endif // ENABLE_ENCYCLOPEDIA
return(TRUE);
}
BOOLEAN DrawEncyclopediaDefaults()
{
//#ifdef ENABLE_ENCYCLOPEDIA
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
HVOBJECT hRustBackGroundHandle;
// UINT16 x,y, uiPosX, uiPosY;
// Blt the rust background
GetVideoObject(&hRustBackGroundHandle, guiRustEncyclopediaBackGround);
BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,RUSTBACKGROUND_1_X, RUSTBACKGROUND_1_Y, VO_BLT_SRCTRANSPARENCY,NULL);
/*
uiPosY = RUSTBACKGROUND_1_Y;
for(y=0; y<4; y++)
{
uiPosX = RUSTBACKGROUND_1_X;
for(x=0; x<4; x++)
{
BltVideoObject(FRAME_BUFFER, hRustBackGroundHandle, 0,uiPosX, uiPosY, VO_BLT_SRCTRANSPARENCY,NULL);
uiPosX += RUSTBACKGROUND_SIZE_X;
}
uiPosY += RUSTBACKGROUND_SIZE_Y;
}
*/
#endif // ENABLE_ENCYCLOPEDIA
return(TRUE);
}
BOOLEAN DisplayEncyclopediaSlogan()
{
return(TRUE);
}
BOOLEAN DisplayEncyclopediaCopyright()
{
return(TRUE);
}
void ShowNPCEncyclopediaEntry(UINT8 ubNPC, BOOLEAN hidden)
{
#ifdef ENABLE_ENCYCLOPEDIA
gEncyclopediaProfilesData[ubNPC].Hidden = TRUE; //encyclopedia
#endif
}
-249
View File
@@ -1,249 +0,0 @@
#ifndef __ENCYCLOPEDIA_H
#define __ENCYCLOPEDIA_H
#include "Types.h"
#include "Quests.h"
#include "soldier profile type.h"
enum
{
ENCYCLOPEDIA_SLOGAN,
ENCYCLOPEDIA_WARNING_1,
ENCYCLOPEDIA_WARNING_2,
ENCYCLOPEDIA_COPYRIGHT_1,
ENCYCLOPEDIA_COPYRIGHT_2,
ENCYCLOPEDIA_COPYRIGHT_3
};
void GameInitEncyclopedia();
BOOLEAN EnterEncyclopedia();
void ExitEncyclopedia();
void HandleEncyclopedia();
void RenderEncyclopedia();
BOOLEAN RemoveEncyclopediaDefaults();
BOOLEAN InitEncyclopediaDefaults();
BOOLEAN DrawEncyclopediaDefaults();
BOOLEAN DisplayEncyclopediaSlogan();
BOOLEAN DisplayEncyclopediaCopyright();
#define ENCYCLOPEDIA_DECRIPTION_SIZE 1120
#define ENCYCLOPEDIA_NAME_SIZE 160
#define NUM_SECTOR 4*255
#define MAX_ENCYCLOPEDIA_CHARS 500
#define NUM_MAX_TEMP MAXITEMS+1
#define TEXT_NUM_ENC TEXT_NUM_ENCYCLOPEDIA_HELP_TEXT
enum
{
//Locations
NONE_NONE = 0,
LOCATION_CITIES,
LOCATION_SAM,
LOCATION_OTHER,
LOCATION_MINES,
LOCATION_MILITARY,
LOCATION_LABORATORY,
LOCATION_FACTORY,
LOCATION_HOSPITAL,
LOCATION_PRISON,
LOCATION_AIRPORT,
TEXT_NUM_ENCYCLOPEDIA_HELP_TEXT
};
//Profiles
enum
{
PROFIL = 0,
PROFIL_AIM,
PROFIL_MERC,
PROFIL_RPC,
PROFIL_NPC,
PROFIL_VEHICLES,
PROFIL_IMP,
};
//SubGroup
enum
{
PROFIL_NONE = 0,
PROFIL_EPC = 1,
// PROFIL_TERRORIS,
// PROFIL_DEIDRANNA_SOLDIER,
// PROFIL_HICK,
// PROFIL_KINGPIN,
// PROFIL_KINGPIN,
};
typedef struct
{
//Profiles/Locations
UINT32 uiIndex;
CHAR8 szFile[MAX_ENCYCLOPEDIA_CHARS];
CHAR8 szFile2[MAX_ENCYCLOPEDIA_CHARS];
CHAR8 szFile3[MAX_ENCYCLOPEDIA_CHARS];
CHAR8 szFile4[MAX_ENCYCLOPEDIA_CHARS];
CHAR16 Name[ENCYCLOPEDIA_NAME_SIZE];
CHAR16 sDesc1[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc2[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc3[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc4[ENCYCLOPEDIA_DECRIPTION_SIZE];
/* CHAR16 sDesc5[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc6[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc7[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc8[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc9[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc10[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc11[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc12[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc13[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc14[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc15[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc16[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc17[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc18[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc19[ENCYCLOPEDIA_DECRIPTION_SIZE];
CHAR16 sDesc20[ENCYCLOPEDIA_DECRIPTION_SIZE];
*/
BOOLEAN Hidden;
CHAR16 sImageDesc1[150];
CHAR16 sImageDesc2[150];
CHAR16 sImageDesc3[150];
CHAR16 sImageDesc4[150];
UINT32 sImagePositionX[4];
UINT32 sImagePositionY[4];
/*
UINT32 sImagePosition1X;
UINT32 sImagePosition1Y;
UINT32 sImagePosition2X;
UINT32 sImagePosition2Y;
UINT32 sImagePosition3X;
UINT32 sImagePosition3Y;
UINT32 sImagePosition4X;
UINT32 sImagePosition4Y;
*/
UINT32 MaxPages;
INT32 MaxImages;
//Only locations
INT32 LocType;
INT16 SectorX;
INT16 SectorY;
INT16 SectorZ;
//Only profiles
INT32 IDProfile;
INT32 subGroup1;
INT32 subCivGroup;
INT32 InventoryClass;
BOOLEAN Filtr;
BOOLEAN enableDesc;
BOOLEAN bvisible;
CHAR16 sCode[150];
CHAR8 sSounds[MAX_ENCYCLOPEDIA_CHARS];
//Quests
INT32 QuestID;
INT32 pQuests;
BOOLEAN SpecialQuestImage;
CHAR8 BeforeImage[MAX_ENCYCLOPEDIA_CHARS];
CHAR8 AfterImage[MAX_ENCYCLOPEDIA_CHARS];
UINT32 ImagePositionQX[10];
UINT32 ImagePositionQY[10];
CHAR16 ImageDescBefore[150];
CHAR16 ImageDescAfter[150];
INT32 NextMission;
UINT32 MissionID;
INT32 CheckMission;
//Inventory
} ENCYCLOPEDIA_LOCATION;
#define MAX_IMAGES 4
#define MAX_PAGES 4
#define MISSIONNOSTARTED 0
#define MISSIONSTART 1
#define MISSIONEND 2
typedef struct
{
UINT32 uiIndex;
BOOLEAN Hidden;
BOOLEAN bvisible;
} ENCYCLOPEDIA_PROF_SAVE;
typedef struct
{
UINT32 uiIndex;
BOOLEAN Hidden;
INT32 CheckMission;
} MISSION_SAVE;
extern void InitEncyklopediaBool();
extern void ShowNPCEncyclopediaEntry(UINT8 ubNPC, BOOLEAN hidden);
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
extern ENCYCLOPEDIA_LOCATION gEncyclopediaDataTemp[ NUM_MAX_TEMP ];
#endif
#ifdef ENABLE_ENCYCLOPEDIA
extern ENCYCLOPEDIA_LOCATION gEncyclopediaLocationDataBackup[ NUM_SECTOR ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesDataBackup[ NUM_PROFILES ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaInventoryDataBackup[ MAXITEMS ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaOldProfilesDataBackup[ NUM_PROFILES ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaQuestsDataBackup[ MAX_QUESTS ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaLocationData[ NUM_SECTOR ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[ NUM_PROFILES ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaInventoryData[ MAXITEMS ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaOldProfilesData[ NUM_PROFILES ];
extern ENCYCLOPEDIA_LOCATION gEncyclopediaQuestsData[ MAX_QUESTS ];
extern BOOLEAN saveEncyclopediaLocationData[ NUM_SECTOR ];
extern ENCYCLOPEDIA_PROF_SAVE saveEncyclopediaProfilesData[ NUM_PROFILES ];
extern BOOLEAN saveEncyclopediaInventoryData[ MAXITEMS ];
extern BOOLEAN saveEncyclopediaOldProfilesData[ NUM_PROFILES ];
extern BOOLEAN saveEncyclopediaQuestsData[ MAX_QUESTS ];
#else
extern ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[];
#endif // ENABLE_ENCYCLOPEDIA
#ifdef ENABLE_BRIEFINGROOM
extern ENCYCLOPEDIA_LOCATION gBriefingRoomData[ NUM_SECTOR ];
extern ENCYCLOPEDIA_LOCATION gBriefingRoomSpecialMissionData[ NUM_SECTOR ];
extern ENCYCLOPEDIA_LOCATION gBriefingRoomDataBackup[ NUM_SECTOR ];
extern ENCYCLOPEDIA_LOCATION gBriefingRoomSpecialMissionDataBackup[ NUM_SECTOR ];
extern MISSION_SAVE saveBriefingRoomData[ NUM_SECTOR ];
extern MISSION_SAVE saveBriefingRoomSpecialMissionData[ NUM_SECTOR ];
extern MISSION_SAVE saveMissionData[ NUM_SECTOR ];
#else
extern ENCYCLOPEDIA_LOCATION gBriefingRoomData[];
#endif // ENABLE_BRIEFINGROOM
#endif
File diff suppressed because it is too large Load Diff
-42
View File
@@ -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
+1 -1
View File
@@ -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
+1 -2
View File
@@ -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
+12 -20
View File
@@ -406,6 +406,10 @@
RelativePath=".\BriefingRoom.h"
>
</File>
<File
RelativePath=".\BriefingRoom_Data.h"
>
</File>
<File
RelativePath=".\BriefingRoomM.h"
>
@@ -426,14 +430,6 @@
RelativePath=".\email.h"
>
</File>
<File
RelativePath=".\Encyclopedia.h"
>
</File>
<File
RelativePath=".\Encyclopedia_Data.h"
>
</File>
<File
RelativePath=".\Encyclopedia_Data_new.h"
>
@@ -720,6 +716,10 @@
RelativePath=".\BriefingRoom.cpp"
>
</File>
<File
RelativePath=".\BriefingRoom_Data.cpp"
>
</File>
<File
RelativePath=".\BriefingRoomM.cpp"
>
@@ -740,14 +740,6 @@
RelativePath=".\email.cpp"
>
</File>
<File
RelativePath=".\Encyclopedia.cpp"
>
</File>
<File
RelativePath=".\Encyclopedia_Data.cpp"
>
</File>
<File
RelativePath=".\Encyclopedia_Data_new.cpp"
>
@@ -944,6 +936,10 @@
RelativePath=".\XML_AIMAvailability.cpp"
>
</File>
<File
RelativePath=".\XML_BriefingRoom.cpp"
>
</File>
<File
RelativePath=".\XML_ConditionsForMercAvailability.cpp"
>
@@ -964,10 +960,6 @@
RelativePath=".\XML_EmailMercLevelUp.cpp"
>
</File>
<File
RelativePath=".\XML_EncyclopediaLocation.cpp"
>
</File>
<File
RelativePath=".\XML_IMPPortraits.cpp"
>
+13 -21
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Version="9.00"
Name="Laptop"
ProjectGUID="{4D6F7570-9A1E-4DB0-8FD7-B9D14DD4E821}"
RootNamespace="Laptop"
@@ -406,6 +406,10 @@
RelativePath=".\BriefingRoom.h"
>
</File>
<File
RelativePath=".\BriefingRoom_Data.h"
>
</File>
<File
RelativePath=".\BriefingRoomM.h"
>
@@ -426,14 +430,6 @@
RelativePath="email.h"
>
</File>
<File
RelativePath=".\Encyclopedia.h"
>
</File>
<File
RelativePath=".\Encyclopedia_Data.h"
>
</File>
<File
RelativePath="files.h"
>
@@ -710,6 +706,10 @@
RelativePath=".\BriefingRoom.cpp"
>
</File>
<File
RelativePath=".\BriefingRoom_Data.cpp"
>
</File>
<File
RelativePath=".\BriefingRoomM.cpp"
>
@@ -730,14 +730,6 @@
RelativePath="email.cpp"
>
</File>
<File
RelativePath=".\Encyclopedia.cpp"
>
</File>
<File
RelativePath=".\Encyclopedia_Data.cpp"
>
</File>
<File
RelativePath="files.cpp"
>
@@ -930,6 +922,10 @@
RelativePath=".\XML_AIMAvailability.cpp"
>
</File>
<File
RelativePath=".\XML_BriefingRoom.cpp"
>
</File>
<File
RelativePath=".\XML_ConditionsForMercAvailability.cpp"
>
@@ -950,10 +946,6 @@
RelativePath=".\XML_EmailMercLevelUp.cpp"
>
</File>
<File
RelativePath=".\XML_EncyclopediaLocation.cpp"
>
</File>
<File
RelativePath=".\XML_IMPPortraits.cpp"
>
+3 -5
View File
@@ -41,12 +41,11 @@
<ClInclude Include="BobbyRUsed.h" />
<ClInclude Include="BriefingRoom.h" />
<ClInclude Include="BriefingRoomM.h" />
<ClInclude Include="BriefingRoom_Data.h" />
<ClInclude Include="BrokenLink.h" />
<ClInclude Include="CharProfile.h" />
<ClInclude Include="DropDown.h" />
<ClInclude Include="email.h" />
<ClInclude Include="Encyclopedia.h" />
<ClInclude Include="Encyclopedia_Data.h" />
<ClInclude Include="Encyclopedia_Data_new.h" />
<ClInclude Include="Encyclopedia_new.h" />
<ClInclude Include="files.h" />
@@ -120,12 +119,11 @@
<ClCompile Include="BobbyRUsed.cpp" />
<ClCompile Include="BriefingRoom.cpp" />
<ClCompile Include="BriefingRoomM.cpp" />
<ClCompile Include="BriefingRoom_Data.cpp" />
<ClCompile Include="BrokenLink.cpp" />
<ClCompile Include="CharProfile.cpp" />
<ClCompile Include="DropDown.cpp" />
<ClCompile Include="email.cpp" />
<ClCompile Include="Encyclopedia.cpp" />
<ClCompile Include="Encyclopedia_Data.cpp" />
<ClCompile Include="Encyclopedia_Data_new.cpp" />
<ClCompile Include="Encyclopedia_new.cpp" />
<ClCompile Include="files.cpp" />
@@ -176,12 +174,12 @@
<ClCompile Include="sirtech.cpp" />
<ClCompile Include="Store Inventory.cpp" />
<ClCompile Include="XML_AIMAvailability.cpp" />
<ClCompile Include="XML_BriefingRoom.cpp" />
<ClCompile Include="XML_ConditionsForMercAvailability.cpp" />
<ClCompile Include="XML_DeliveryMethods.cpp" />
<ClCompile Include="XML_Email.cpp" />
<ClCompile Include="XML_EmailMercAvailable.cpp" />
<ClCompile Include="XML_EmailMercLevelUp.cpp" />
<ClCompile Include="XML_EncyclopediaLocation.cpp" />
<ClCompile Include="XML_IMPPortraits.cpp" />
<ClCompile Include="XML_OldAIMArchive.cpp" />
<ClCompile Include="XML_ShippingDestinations.cpp" />
+9 -15
View File
@@ -219,12 +219,6 @@
<ClInclude Include="BriefingRoomM.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Encyclopedia.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Encyclopedia_Data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="IMP Background.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -240,6 +234,9 @@
<ClInclude Include="Encyclopedia_Data_new.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="BriefingRoom_Data.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="aim.cpp">
@@ -461,15 +458,6 @@
<ClCompile Include="BriefingRoomM.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Encyclopedia.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Encyclopedia_Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_EncyclopediaLocation.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_Email.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -491,5 +479,11 @@
<ClCompile Include="Encyclopedia_Data_new.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="BriefingRoom_Data.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="XML_BriefingRoom.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+400
View File
@@ -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 );
}
File diff suppressed because it is too large Load Diff
+1
View File
@@ -25,6 +25,7 @@
#include <string>
#endif
#include "soldier profile type.h"
#include "strategicmap.h"
#ifdef JA2UB
#include "Ja25_Tactical.h"
+2 -11
View File
@@ -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)
+8 -8
View File
@@ -134,7 +134,7 @@
#include "LuaInitNPCs.h"
#include "Vehicles.h"
#include "Encyclopedia_Data.h"
#include "BriefingRoom_Data.h"
#include <vfs/Core/vfs.h>
//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
}
-7
View File
@@ -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
+2
View File
@@ -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 ------------------------------
+1
View File
@@ -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
+1
View File
@@ -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
+2 -3
View File
@@ -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);
+1 -1
View File
@@ -51,7 +51,7 @@
#endif
#include "Soldier Profile.h"
#include "Encyclopedia.h"
#include "BriefingRoom_Data.h"
#ifdef JA2UB
#include "Ja25_Tactical.h"
-2
View File
@@ -6,8 +6,6 @@
#include "mapscreen.h"
#include "XML_Language.h"
#include "Encyclopedia.h"
#define STRING_LENGTH 255
enum
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -12,7 +12,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
-1
View File
@@ -11,7 +11,6 @@
#include "Scheduling.h"
#include "EditorMercs.h"
#include "Item Statistics.h"
#include "Encyclopedia.h"
#endif
#endif
+6 -6
View File
@@ -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 -----
// -----------------------------
// *****************************
+1 -1
View File
@@ -66,7 +66,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib .\Multiplayer\raknet\RakNetLibStaticDebug.lib ws2_32.lib DbgHelp.lib"
OutputFile="$(OutDir)\JA2_EN_Debug_5520.exe"
OutputFile="$(OutDir)\JA2_EN_Debug_5521.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"