Merged revision(s) 7699 from branches/ja2_source_official_2014:

Merged revision(s) 7688 from branches/Flugente/BaseTable:
- moved hair & skin enums to header
- moved hair colour choosing function to header


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7703 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2015-01-05 00:39:35 +00:00
parent 72809ac09f
commit 8cfdddddc4
2 changed files with 41 additions and 26 deletions
+20 -26
View File
@@ -1393,15 +1393,7 @@ BOOLEAN TacticalCopySoldierFromProfile( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STR
return( TRUE ); return( TRUE );
} }
enum { PINKSKIN, TANSKIN, DARKSKIN, BLACKSKIN, NUMSKINS }; INT32 ChooseHairColor( UINT8 usBodyType, INT32 skin )
enum {
WHITEHEAD, BLACKHEAD, //black skin (only this line )
BROWNHEAD, //dark skin (this line plus all above)
BLONDEHEAD, REDHEAD, //pink/tan skin (this line plus all above )
NUMHEADS
};
INT32 ChooseHairColor( SOLDIERTYPE *pSoldier, INT32 skin )
{ {
INT32 iRandom; INT32 iRandom;
INT32 hair = 0; INT32 hair = 0;
@@ -1429,11 +1421,11 @@ INT32 ChooseHairColor( SOLDIERTYPE *pSoldier, INT32 skin )
else else
{ {
hair = WHITEHEAD; hair = WHITEHEAD;
if( pSoldier->ubBodyType == REGFEMALE || if ( usBodyType == REGFEMALE ||
pSoldier->ubBodyType == MINICIV || usBodyType == MINICIV ||
pSoldier->ubBodyType == DRESSCIV || usBodyType == DRESSCIV ||
pSoldier->ubBodyType == HATKIDCIV || usBodyType == HATKIDCIV ||
pSoldier->ubBodyType == KIDCIV ) usBodyType == KIDCIV )
{ {
hair = Random( NUMHEADS - 1 ) + 1; hair = Random( NUMHEADS - 1 ) + 1;
} }
@@ -1452,11 +1444,11 @@ INT32 ChooseHairColor( SOLDIERTYPE *pSoldier, INT32 skin )
else else
{ {
hair = WHITEHEAD; hair = WHITEHEAD;
if( pSoldier->ubBodyType == REGFEMALE || if ( usBodyType == REGFEMALE ||
pSoldier->ubBodyType == MINICIV || usBodyType == MINICIV ||
pSoldier->ubBodyType == DRESSCIV || usBodyType == DRESSCIV ||
pSoldier->ubBodyType == HATKIDCIV || usBodyType == HATKIDCIV ||
pSoldier->ubBodyType == KIDCIV ) usBodyType == KIDCIV )
{ {
hair = Random( 2 ) + 1; hair = Random( 2 ) + 1;
} }
@@ -1470,11 +1462,11 @@ INT32 ChooseHairColor( SOLDIERTYPE *pSoldier, INT32 skin )
else else
{ {
hair = WHITEHEAD; hair = WHITEHEAD;
if( pSoldier->ubBodyType == REGFEMALE || if ( usBodyType == REGFEMALE ||
pSoldier->ubBodyType == MINICIV || usBodyType == MINICIV ||
pSoldier->ubBodyType == DRESSCIV || usBodyType == DRESSCIV ||
pSoldier->ubBodyType == HATKIDCIV || usBodyType == HATKIDCIV ||
pSoldier->ubBodyType == KIDCIV ) usBodyType == KIDCIV )
{ {
hair = BLACKHEAD; hair = BLACKHEAD;
} }
@@ -1484,13 +1476,15 @@ INT32 ChooseHairColor( SOLDIERTYPE *pSoldier, INT32 skin )
AssertMsg( 0, "Skin type not accounted for." ); AssertMsg( 0, "Skin type not accounted for." );
break; break;
} }
if( pSoldier->ubBodyType == CRIPPLECIV )
if ( usBodyType == CRIPPLECIV )
{ {
if( Chance( 50 ) ) if( Chance( 50 ) )
{ {
hair = WHITEHEAD; hair = WHITEHEAD;
} }
} }
return hair; return hair;
} }
@@ -1508,7 +1502,7 @@ void GeneratePaletteForSoldier( SOLDIERTYPE *pSoldier, UINT8 ubSoldierClass, UIN
skin = (INT8)Random( NUMSKINS ); skin = (INT8)Random( NUMSKINS );
//Choose hair color which uses the skin color to limit choices //Choose hair color which uses the skin color to limit choices
hair = ChooseHairColor( pSoldier, skin ); hair = ChooseHairColor( pSoldier->ubBodyType, skin );
if ( pSoldier->usSoldierProfile ) if ( pSoldier->usSoldierProfile )
{ {
+21
View File
@@ -30,6 +30,25 @@ class _OLD_SOLDIERCREATE_STRUCT;//dnl ch42 250909
//Total 148 //Total 148
#define MAX_INDIVIDUALS TOTAL_SOLDIERS #define MAX_INDIVIDUALS TOTAL_SOLDIERS
enum
{
PINKSKIN,
TANSKIN,
DARKSKIN,
BLACKSKIN,
NUMSKINS
};
enum
{
WHITEHEAD,
BLACKHEAD, //black skin (only this line )
BROWNHEAD, //dark skin (this line plus all above)
BLONDEHEAD,
REDHEAD, //pink/tan skin (this line plus all above )
NUMHEADS
};
//Kris: SERIALIZING INFORMATION //Kris: SERIALIZING INFORMATION
//All maps must have: //All maps must have:
// -MAPCREATE_STRUCT // -MAPCREATE_STRUCT
@@ -536,4 +555,6 @@ BOOLEAN TranslateArrayFields(void* out, const void* inp, int len, int cmd);
void ResetNumSquadleadersInArmyGroup( void ); // added by SANDRO void ResetNumSquadleadersInArmyGroup( void ); // added by SANDRO
BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCreateStruct ); // Added a function to add traits to soldiers - SANDRO BOOLEAN AssignTraitsToSoldier( SOLDIERTYPE *pSoldier, SOLDIERCREATE_STRUCT *pCreateStruct ); // Added a function to add traits to soldiers - SANDRO
INT32 ChooseHairColor( UINT8 usBodyType, INT32 skin );
#endif #endif