- Encyclopedia / Briefing Room Updates (by Jazz)

o Improved record
o Restart game of Briefing Rooms
o New Action for NPC (recruiting / unrecruiting)
NPC_ACTION_RECRUIT_PROFILE_TO_EPC = 700
NPC_ACTION_UNRECRUIT_EPC = 701

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6120 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2013-06-13 22:34:43 +00:00
parent 742494ec77
commit 8f41617845
9 changed files with 187 additions and 6 deletions
+11
View File
@@ -77,6 +77,13 @@ 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 ];
@@ -89,6 +96,10 @@ ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[ 1 ];
#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 ];
+10
View File
@@ -210,6 +210,12 @@ 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 ];
@@ -227,6 +233,10 @@ extern ENCYCLOPEDIA_LOCATION gEncyclopediaProfilesData[];
#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 ];
+77
View File
@@ -121,6 +121,8 @@ void SelectSoundButtonsRegionCallBack(GUI_BUTTON * btn, INT32 reason );
BOOLEAN LoadEncyclopediaFromLoadGameFile( HWFILE hFile );
BOOLEAN SaveEncyclopediaToSaveGameFile( HWFILE hFile );
void BackupBRandEncyclopedia ( ENCYCLOPEDIA_LOCATION *EncyBackup, ENCYCLOPEDIA_LOCATION *Ency, UINT32 NUM);
BOOLEAN DisplayEncyclopediaLocationText()
{
return(TRUE);
@@ -248,6 +250,81 @@ UINT32 i,NUM_TEMP;
#endif // ENABLE_ENCYCLOPEDIA
}
void BackupBRandEncyclopedia ( ENCYCLOPEDIA_LOCATION *EncyBackup, ENCYCLOPEDIA_LOCATION *Ency, UINT32 NUM)
{
//#ifdef ENABLE_ENCYCLOPEDIA
#if (defined ENABLE_ENCYCLOPEDIA || defined ENABLE_BRIEFINGROOM)
UINT32 i,NUM_TEMP;
if ( NUM == 0 )
NUM_TEMP = NUM_SECTOR;
else if ( NUM == 1 )
NUM_TEMP = NUM_PROFILES;
else if ( NUM == 2 )
NUM_TEMP = MAXITEMS;
else if ( NUM == 3 )
NUM_TEMP = MAX_QUESTS;
else if ( NUM == 4 || NUM == 5 )
NUM_TEMP = NUM_SECTOR;
else
NUM_TEMP = NUM_SECTOR;
for(i=0; i<NUM_TEMP; i++)
{
Ency[i].uiIndex = EncyBackup[i].uiIndex;
/*
Ency[i].sImagePositionX[0] = EncyBackup[i].sImagePositionX[0];
Ency[i].sImagePositionY[0] = EncyBackup[i].sImagePositionY[0];
Ency[i].sImagePositionX[1] = EncyBackup[i].sImagePositionX[1];
Ency[i].sImagePositionY[1] = EncyBackup[i].sImagePositionY[1];
Ency[i].sImagePositionX[2] = EncyBackup[i].sImagePositionX[2];
Ency[i].sImagePositionY[2] = EncyBackup[i].sImagePositionY[2];
Ency[i].sImagePositionX[3] = EncyBackup[i].sImagePositionX[3];
Ency[i].sImagePositionY[3] = EncyBackup[i].sImagePositionY[3];
*/
Ency[i].Hidden = EncyBackup[i].Hidden;
// Ency[i].SectorX = EncyBackup[i].SectorX;
// Ency[i].SectorY = EncyBackup[i].SectorY;
// Ency[i].SectorZ = EncyBackup[i].SectorZ;
// Ency[i].MaxPages = EncyBackup[i].MaxPages;
// Ency[i].MaxImages = EncyBackup[i].MaxImages;
//Only locations
// Ency[i].LocType = EncyBackup[i].LocType;
//Only profiles
// Ency[i].IDProfile = EncyBackup[i].IDProfile;
// Ency[i].Filtr = EncyBackup[i].Filtr;
// Ency[i].enableDesc = EncyBackup[i].enableDesc;
// Ency[i].subGroup1 = EncyBackup[i].subGroup1;
Ency[i].bvisible = EncyBackup[i].bvisible;
//Inventory
// Ency[i].InventoryClass = EncyBackup[i].InventoryClass;
//Quest
Ency[i].QuestID = EncyBackup[i].QuestID;
Ency[i].pQuests = EncyBackup[i].pQuests;
/* Ency[i].SpecialQuestImage = EncyBackup[i].SpecialQuestImage;
Ency[i].ImagePositionQX[0] = EncyBackup[i].ImagePositionQX[0];
Ency[i].ImagePositionQY[0] = EncyBackup[i].ImagePositionQY[0];
Ency[i].ImagePositionQX[1] = EncyBackup[i].ImagePositionQX[1];
Ency[i].ImagePositionQY[1] = EncyBackup[i].ImagePositionQY[1];
*/
Ency[i].MissionID = EncyBackup[i].MissionID;
Ency[i].NextMission = EncyBackup[i].NextMission;
Ency[i].CheckMission = EncyBackup[i].CheckMission;
}
#endif // ENABLE_ENCYCLOPEDIA
}
void CopyToTemp ( ENCYCLOPEDIA_LOCATION *Ency, BOOLEAN bFiltr, INT32 sort, INT32 TypFiltr, BOOLEAN ShowBox )
{
//#ifdef ENABLE_ENCYCLOPEDIA
+2
View File
@@ -17,6 +17,8 @@ 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 ();