Added possibility, that mod makers can add their credits and display them in the credits screen

The new file is named "Credits_Mod.edt" and is located in the mod data folder\BinaryData
  If that file exists, the mod credits are displayed first, second the 1.13 credits and then the sir-tech credits.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1042 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2007-07-12 07:46:02 +00:00
parent dcb990debf
commit 2ff5019247
+239 -196
View File
@@ -89,6 +89,7 @@ enum
//#define CRDT_NAME_OF_CREDIT_FILE "BINARYDATA\\Credits.txt"
#define CRDT_NAME_OF_CREDIT_FILE "BINARYDATA\\Credits.edt"
#define CRDT_NAME_OF_MOD_CREDIT_FILE "BINARYDATA\\Credits_Mod.edt"
#define CREDITS_LINESIZE 80 * 2
@@ -336,6 +337,7 @@ UINT32 guiGapTillReadNextCredit = CRDT_SPACE_BN_NODES;
UINT32 guiCurrentCreditRecord = 0;
BOOLEAN gfPauseCreditScreen = FALSE;
BOOLEAN gfModCredits = TRUE;
HWFILE ghFile;
@@ -478,6 +480,9 @@ BOOLEAN EnterCreditsScreen()
return( FALSE );
}
*/
gfModCredits = TRUE;
ColorFillVideoSurfaceArea( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0 );
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
@@ -1110,207 +1115,245 @@ BOOLEAN GetNextCreditFromTextFile()
UINT32 uiStartLoc = 0;
UINT32 uiFlags=0;
switch(guiCurrentCreditRecord)
// 1.) MOD Credits
if (gfModCredits == TRUE)
{
case 0:
wcscpy(zOriginalString, L"@T,C208,R134,D16,B40,S10,J1,};");
break;
case 1:
wcscpy(zOriginalString, pCreditsJA2113[0]);
break;
case 2:
wcscpy(zOriginalString, L"@};");
break;
case 3:
wcscpy(zOriginalString, pCreditsJA2113[1]);
break;
case 4:
wcscpy(zOriginalString, L"Kaiden");
break;
case 5:
wcscpy(zOriginalString, L"Lesh");
break;
case 6:
wcscpy(zOriginalString, L"Little Alien");
break;
case 7:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 8:
wcscpy(zOriginalString, L"@};Roman");
break;
case 9:
wcscpy(zOriginalString, pCreditsJA2113[2]);
break;
case 10:
wcscpy(zOriginalString, L"BulletSix");
break;
case 11:
wcscpy(zOriginalString, L"Corpse");
break;
case 12:
wcscpy(zOriginalString, L"John Wright");
break;
case 13:
wcscpy(zOriginalString, L"Khor");
break;
case 14:
wcscpy(zOriginalString, L"Lisac");
break;
case 15:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 16:
wcscpy(zOriginalString, L"Marlboro Man");
break;
case 17:
wcscpy(zOriginalString, L"Scorpion");
break;
case 18:
wcscpy(zOriginalString, L"Starwalker");
break;
case 19:
wcscpy(zOriginalString, L"Tbird94lx");
break;
case 20:
wcscpy(zOriginalString, L"Terry Thorne");
break;
case 21:
wcscpy(zOriginalString, pCreditsJA2113[3]);
break;
case 22:
wcscpy(zOriginalString, pCreditsJA2113[4]);
break;
case 23:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 24:
wcscpy(zOriginalString, L"Starwalker");
break;
case 25:
wcscpy(zOriginalString, L"@};Lisac");
break;
case 26:
wcscpy(zOriginalString, pCreditsJA2113[5]);
break;
case 27:
wcscpy(zOriginalString, L"BearPit");
break;
case 28:
wcscpy(zOriginalString, L"Bugmonster");
break;
case 29:
wcscpy(zOriginalString, L"Captain J");
break;
case 30:
wcscpy(zOriginalString, L"DeFrog");
break;
case 31:
wcscpy(zOriginalString, L"Farmer Toby");
break;
case 32:
wcscpy(zOriginalString, L"Headrock");
break;
case 33:
wcscpy(zOriginalString, L"Jones");
break;
case 34:
wcscpy(zOriginalString, L"Judge");
break;
case 35:
wcscpy(zOriginalString, L"Nitrat");
break;
case 36:
wcscpy(zOriginalString, L"Pulmu");
break;
case 37:
wcscpy(zOriginalString, L"Realist");
break;
case 38:
wcscpy(zOriginalString, L"Scorpion");
break;
case 39:
wcscpy(zOriginalString, L"Sergeant Kolja");
break;
case 40:
wcscpy(zOriginalString, L"ShadoWarrior");
break;
case 41:
wcscpy(zOriginalString, L"Snap");
break;
case 42:
wcscpy(zOriginalString, L"TheDrill");
break;
case 43:
wcscpy(zOriginalString, L"Wil473");
break;
case 44:
wcscpy(zOriginalString, pCreditsJA2113[6]);
break;
// Additonal lines for free space
case 45:
wcscpy(zOriginalString, L"@T,B40,C208,{; ");
break;
case 46:
wcscpy(zOriginalString, L"@}; ");
break;
default:
//Get the current Credit record
uiStartLoc = CREDITS_LINESIZE * (guiCurrentCreditRecord-47);
if( !LoadEncryptedDataFromFile( CRDT_NAME_OF_CREDIT_FILE, zOriginalString, uiStartLoc, CREDITS_LINESIZE ) )
if (FileExists(CRDT_NAME_OF_MOD_CREDIT_FILE))
{
uiStartLoc = CREDITS_LINESIZE * (guiCurrentCreditRecord);
if( !LoadEncryptedDataFromFile( CRDT_NAME_OF_MOD_CREDIT_FILE, zOriginalString, uiStartLoc, CREDITS_LINESIZE ) )
{
//there are no more credits
return( FALSE );
gfModCredits = FALSE;
guiCurrentCreditRecord = 0;
}
// We have ended the mod credits list
if (strcmp((char *)zOriginalString, "") == 0)
{
gfModCredits = FALSE;
guiCurrentCreditRecord = 0;
}
}
else
{
gfModCredits = FALSE;
guiCurrentCreditRecord = 0;
}
}
if (gfModCredits == FALSE)
{
switch(guiCurrentCreditRecord)
{
// 2.) 1.13 Credits
case 0:
wcscpy(zOriginalString, L"@T,C208,R134,D16,B40,S10,J1,};");
break;
case 1:
wcscpy(zOriginalString, pCreditsJA2113[0]);
break;
case 2:
wcscpy(zOriginalString, L"@};");
break;
case 3:
wcscpy(zOriginalString, pCreditsJA2113[1]);
break;
case 4:
wcscpy(zOriginalString, L"Bugmonster");
break;
case 5:
wcscpy(zOriginalString, L"Kaiden");
break;
case 6:
wcscpy(zOriginalString, L"Lesh");
break;
case 7:
wcscpy(zOriginalString, L"Little Alien");
break;
case 8:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 9:
wcscpy(zOriginalString, L"Overhaul");
break;
case 10:
wcscpy(zOriginalString, L"Roman");
break;
case 11:
wcscpy(zOriginalString, L"Sergeant Kolja");
break;
case 12:
wcscpy(zOriginalString, L"@};Space Viking");
break;
case 13:
wcscpy(zOriginalString, pCreditsJA2113[2]);
break;
case 14:
wcscpy(zOriginalString, L"BulletSix");
break;
case 15:
wcscpy(zOriginalString, L"Corpse");
break;
case 16:
wcscpy(zOriginalString, L"John Wright");
break;
case 17:
wcscpy(zOriginalString, L"Khor");
break;
case 18:
wcscpy(zOriginalString, L"Lisac");
break;
case 19:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 20:
wcscpy(zOriginalString, L"Marlboro Man");
break;
case 21:
wcscpy(zOriginalString, L"Scorpion");
break;
case 22:
wcscpy(zOriginalString, L"Starwalker");
break;
case 23:
wcscpy(zOriginalString, L"Tbird94lx");
break;
case 24:
wcscpy(zOriginalString, L"Terry Thorne");
break;
case 25:
wcscpy(zOriginalString, pCreditsJA2113[3]);
break;
case 26:
wcscpy(zOriginalString, pCreditsJA2113[4]);
break;
case 27:
wcscpy(zOriginalString, L"Madd Mugsy");
break;
case 28:
wcscpy(zOriginalString, L"Starwalker");
break;
case 29:
wcscpy(zOriginalString, L"@};Lisac");
break;
case 30:
wcscpy(zOriginalString, pCreditsJA2113[5]);
break;
case 31:
wcscpy(zOriginalString, L"BearPit");
break;
case 32:
wcscpy(zOriginalString, L"Captain J");
break;
case 33:
wcscpy(zOriginalString, L"DeFrog");
break;
case 34:
wcscpy(zOriginalString, L"Farmer Toby");
break;
case 35:
wcscpy(zOriginalString, L"Headrock");
break;
case 36:
wcscpy(zOriginalString, L"Jones");
break;
case 37:
wcscpy(zOriginalString, L"Judge");
break;
case 38:
wcscpy(zOriginalString, L"Nitrat");
break;
case 39:
wcscpy(zOriginalString, L"Pulmu");
break;
case 40:
wcscpy(zOriginalString, L"Realist");
break;
case 41:
wcscpy(zOriginalString, L"Scorpion");
break;
case 42:
wcscpy(zOriginalString, L"ShadoWarrior");
break;
case 43:
wcscpy(zOriginalString, L"Snap");
break;
case 44:
wcscpy(zOriginalString, L"TheDrill");
break;
case 45:
wcscpy(zOriginalString, L"Wil473");
break;
case 46:
wcscpy(zOriginalString, pCreditsJA2113[6]);
break;
// Additonal lines for free space
case 47:
wcscpy(zOriginalString, L"@T,B40,C208,{; ");
break;
case 48:
wcscpy(zOriginalString, L"@}; ");
break;
// 3.) Sir-Tech Credits
default:
//Get the current Credit record
uiStartLoc = CREDITS_LINESIZE * (guiCurrentCreditRecord-49);
if( !LoadEncryptedDataFromFile( CRDT_NAME_OF_CREDIT_FILE, zOriginalString, uiStartLoc, CREDITS_LINESIZE ) )
{
//there are no more credits
return( FALSE );
}
}
}
//Increment to the next crdit record