mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +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.txt"
|
||||||
#define CRDT_NAME_OF_CREDIT_FILE "BINARYDATA\\Credits.edt"
|
#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
|
#define CREDITS_LINESIZE 80 * 2
|
||||||
|
|
||||||
@@ -336,6 +337,7 @@ UINT32 guiGapTillReadNextCredit = CRDT_SPACE_BN_NODES;
|
|||||||
|
|
||||||
UINT32 guiCurrentCreditRecord = 0;
|
UINT32 guiCurrentCreditRecord = 0;
|
||||||
BOOLEAN gfPauseCreditScreen = FALSE;
|
BOOLEAN gfPauseCreditScreen = FALSE;
|
||||||
|
BOOLEAN gfModCredits = TRUE;
|
||||||
|
|
||||||
HWFILE ghFile;
|
HWFILE ghFile;
|
||||||
|
|
||||||
@@ -478,6 +480,9 @@ BOOLEAN EnterCreditsScreen()
|
|||||||
return( FALSE );
|
return( FALSE );
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
gfModCredits = TRUE;
|
||||||
|
|
||||||
ColorFillVideoSurfaceArea( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0 );
|
ColorFillVideoSurfaceArea( FRAME_BUFFER, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0 );
|
||||||
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
|
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
|
||||||
|
|
||||||
@@ -1110,207 +1115,245 @@ BOOLEAN GetNextCreditFromTextFile()
|
|||||||
UINT32 uiStartLoc = 0;
|
UINT32 uiStartLoc = 0;
|
||||||
UINT32 uiFlags=0;
|
UINT32 uiFlags=0;
|
||||||
|
|
||||||
|
// 1.) MOD Credits
|
||||||
switch(guiCurrentCreditRecord)
|
if (gfModCredits == TRUE)
|
||||||
{
|
{
|
||||||
case 0:
|
if (FileExists(CRDT_NAME_OF_MOD_CREDIT_FILE))
|
||||||
wcscpy(zOriginalString, L"@T,C208,R134,D16,B40,S10,J1,};");
|
{
|
||||||
break;
|
uiStartLoc = CREDITS_LINESIZE * (guiCurrentCreditRecord);
|
||||||
|
if( !LoadEncryptedDataFromFile( CRDT_NAME_OF_MOD_CREDIT_FILE, zOriginalString, uiStartLoc, CREDITS_LINESIZE ) )
|
||||||
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 ) )
|
|
||||||
{
|
{
|
||||||
//there are no more credits
|
//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
|
//Increment to the next crdit record
|
||||||
|
|||||||
Reference in New Issue
Block a user