mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
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:
+239
-196
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user