Merged "Enhanced IMP Creation" (by Sandro)

- For code changes search for // SANDRO
- Tooltips can now be toggled on/off in the options screen instead of "Random IMP Personality" option
- Updated Version Number for new Release Build (2949)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2949 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2009-06-04 10:44:23 +00:00
parent e983a0ccc6
commit 7445ba2051
40 changed files with 3638 additions and 161 deletions
+15 -9
View File
@@ -153,7 +153,7 @@ BOOLEAN LoadGameSettings()
gGameSettings.fOptions[TOPTION_TRACERS_FOR_SINGLE_FIRE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TRACERS_FOR_SINGLE_FIRE" , FALSE );
gGameSettings.fOptions[TOPTION_RAIN_SOUND] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RAIN_SOUND" , TRUE );
gGameSettings.fOptions[TOPTION_ALLOW_CROWS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ALLOW_CROWS" , TRUE );
gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_RANDOM_PERSONALITY" , FALSE );
gGameSettings.fOptions[TOPTION_ALLOW_SOLDIER_TOOLTIPS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ALLOW_SOLDIER_TOOLTIPS" , TRUE ); // Changed from random IMP personality - SANDRO
gGameSettings.fOptions[TOPTION_USE_AUTO_SAVE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_AUTO_SAVE" , FALSE );
gGameSettings.fOptions[TOPTION_SILENT_SKYRIDER] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SILENT_SKYRIDER" , FALSE );
gGameSettings.fOptions[TOPTION_LOW_CPU_USAGE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_LOW_CPU_USAGE" , FALSE );
@@ -319,7 +319,7 @@ BOOLEAN SaveGameSettings()
fprintf_s (file_pointer , "TOPTION_TRACERS_FOR_SINGLE_FIRE = %s \n" , (gGameSettings.fOptions[TOPTION_TRACERS_FOR_SINGLE_FIRE] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_RAIN_SOUND = %s \n" , (gGameSettings.fOptions[TOPTION_RAIN_SOUND] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_ALLOW_CROWS = %s \n" , (gGameSettings.fOptions[TOPTION_ALLOW_CROWS] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_USE_RANDOM_PERSONALITY = %s \n" , (gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_ALLOW_SOLDIER_TOOLTIPS = %s \n" , (gGameSettings.fOptions[TOPTION_ALLOW_SOLDIER_TOOLTIPS] ? "TRUE" : "FALSE" ) ); // changed from random IMP personality - SANDRO
fprintf_s (file_pointer , "TOPTION_USE_AUTO_SAVE = %s \n" , (gGameSettings.fOptions[TOPTION_USE_AUTO_SAVE] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_SILENT_SKYRIDER = %s \n" , (gGameSettings.fOptions[TOPTION_SILENT_SKYRIDER] ? "TRUE" : "FALSE" ) );
fprintf_s (file_pointer , "TOPTION_LOW_CPU_USAGE = %s \n" , (gGameSettings.fOptions[TOPTION_LOW_CPU_USAGE] ? "TRUE" : "FALSE" ) );
@@ -405,7 +405,7 @@ void InitGameSettings()
gGameSettings.fOptions[ TOPTION_TRACERS_FOR_SINGLE_FIRE ] = FALSE;
gGameSettings.fOptions[ TOPTION_RAIN_SOUND ] = TRUE;
gGameSettings.fOptions[ TOPTION_ALLOW_CROWS ] = TRUE;
gGameSettings.fOptions[ TOPTION_USE_RANDOM_PERSONALITY ] = FALSE;
gGameSettings.fOptions[ TOPTION_ALLOW_SOLDIER_TOOLTIPS ] = TRUE; // changed - SANDRO
gGameSettings.fOptions[ TOPTION_USE_AUTO_SAVE ] = FALSE;
gGameSettings.fOptions[ TOPTION_SILENT_SKYRIDER ] = FALSE;
gGameSettings.fOptions[ TOPTION_LOW_CPU_USAGE ] = FALSE;
@@ -576,8 +576,14 @@ void LoadGameExternalOptions()
gGameExternalOptions.iStartAttribute = iniReader.ReadInteger("JA2 Laptop Settings","START_ATTRIBUTE",55, 1, 100);
//gGameExternalOptions.fPers_att = iniReader.ReadBoolean("JA2 Laptop Settings","USE_RANDOM_PERSONALITY",FALSE);
gGameExternalOptions.iCustomPersonality = (INT8) iniReader.ReadInteger("JA2 Laptop Settings","CUSTOM_PERSONALITY",0, 0, NUM_PERSONALITYTRAIT-1);
gGameExternalOptions.iCustomAttitude = (INT8) iniReader.ReadInteger("JA2 Laptop Settings","CUSTOM_ATTITUDE",0, 0, NUM_ATTITUDES-1);
// These two removed - SANDRO
//gGameExternalOptions.iCustomPersonality = (INT8) iniReader.ReadInteger("JA2 Laptop Settings","CUSTOM_PERSONALITY",0, 0, NUM_PERSONALITYTRAIT-1);
//gGameExternalOptions.iCustomAttitude = (INT8) iniReader.ReadInteger("JA2 Laptop Settings","CUSTOM_ATTITUDE",0, 0, NUM_ATTITUDES-1);
// These three added - SANDRO
gGameExternalOptions.iIMPStartingLevelCostMultiplier = iniReader.ReadInteger("JA2 Laptop Settings","IMP_STARTING_LEVEL_COST_MULTIPLIER", 5, 0, 100);
gGameExternalOptions.iBonusPointsForDisability = iniReader.ReadInteger("JA2 Laptop Settings","IMP_BONUS_POINTS_FOR_DISABILITY",20, 0, 500);
gGameExternalOptions.iBonusPointsPerSkillNotTaken = iniReader.ReadInteger("JA2 Laptop Settings","IMP_BONUS_POINTS_PER_SKILL_NOT_TAKEN",25, 0, 500);
//Merc settings
gGameExternalOptions.fMercDayOne = iniReader.ReadBoolean("JA2 Laptop Settings","MERC_AVAILABLE_DAY_ONE",FALSE);
@@ -637,8 +643,8 @@ void LoadGameExternalOptions()
// Maximal search distance for grenades
//gGameExternalOptions.guiMaxTossSearchDist = iniReader.ReadInteger("JA2 Tactical Settings","MaxTossSearchDist",3);
// Soldier tool tips
gGameExternalOptions.gfAllowSoldierToolTips = iniReader.ReadBoolean("JA2 Tactical Settings","ALLOW_SOLDIER_TOOL_TIPS",0);
// Soldier tool tips - removed from here, placed into preferences - SANDRO
//gGameExternalOptions.gfAllowSoldierToolTips = iniReader.ReadBoolean("JA2 Tactical Settings","ALLOW_SOLDIER_TOOL_TIPS",0);
//SCORE: Settings for UDT
gGameExternalOptions.gfAllowUDTRange = iniReader.ReadBoolean("JA2 Tactical Settings","ALLOW_UDT_RANGE",0);
gGameExternalOptions.gfAllowUDTDetail = iniReader.ReadBoolean("JA2 Tactical Settings","ALLOW_UDT_DETAIL",0);
@@ -753,8 +759,8 @@ void LoadGameExternalOptions()
gGameExternalOptions.ubGameProgressPortionVisited = 0;
}
// WDS: Advanced start
gGameExternalOptions.ubIMPStartingLevel = iniReader.ReadInteger("JA2 Gameplay Settings","IMP_STARTING_LEVEL", 1, 1, 7);
// WDS: Advanced start - removed - SANDRO
//gGameExternalOptions.ubIMPStartingLevel = iniReader.ReadInteger("JA2 Gameplay Settings","IMP_STARTING_LEVEL", 1, 1, 7);
// WDS - make number of mercenaries, etc. be configurable
gGameExternalOptions.ubGameMaximumNumberOfPlayerMercs = iniReader.ReadInteger("JA2 Gameplay Settings","MAX_NUMBER_PLAYER_MERCS", 24, 1, CODE_MAXIMUM_NUMBER_OF_PLAYER_MERCS);
+11 -5
View File
@@ -49,7 +49,7 @@ enum
TOPTION_TRACERS_FOR_SINGLE_FIRE,
TOPTION_RAIN_SOUND,
TOPTION_ALLOW_CROWS,
TOPTION_USE_RANDOM_PERSONALITY,
TOPTION_ALLOW_SOLDIER_TOOLTIPS, // Changed from TOPTION_USE_RANDOM_PERSONALITY - SANDRO
TOPTION_USE_AUTO_SAVE,
TOPTION_SILENT_SKYRIDER,
TOPTION_LOW_CPU_USAGE,
@@ -185,6 +185,11 @@ typedef struct
INT32 iMaxZeroBonus;
INT32 iStartAttribute;
// These 3 added - SANDRO
INT32 iIMPStartingLevelCostMultiplier;
INT32 iBonusPointsForDisability;
INT32 iBonusPointsPerSkillNotTaken;
INT32 iMaxMilitiaPerSector;
INT32 iTrainingSquadSize;
INT32 iMilitiaTrainingCost;
@@ -219,8 +224,9 @@ typedef struct
//BOOLEAN fPers_att;
INT8 iCustomPersonality;
INT8 iCustomAttitude;
// These 2 removed - SANDRO
//INT8 iCustomPersonality;
//INT8 iCustomAttitude;
INT8 iEasyAPBonus;
INT8 iExperiencedAPBonus;
@@ -271,7 +277,7 @@ typedef struct
UINT32 guiMaxMilitiaSquadSize;
UINT32 guiMaxMilitiaSquadSizeBattle;
BOOLEAN gfAllowSoldierToolTips;
//BOOLEAN gfAllowSoldierToolTips; // moved to prefereces - SANDRO
// WDS - Improve Tony's and Devin's inventory like BR's
BOOLEAN tonyUsesBRSetting;
@@ -322,7 +328,7 @@ typedef struct
UINT32 ubGameProgressIncrement;
// WDS - Advanced start
UINT32 ubIMPStartingLevel;
//UINT32 ubIMPStartingLevel; // removed - SANDRO
// Event settings
UINT32 ubGameProgressStartMadlabQuest;
+4 -4
View File
@@ -13,12 +13,12 @@
#ifdef JA2EDITOR
//MAP EDITOR BUILD VERSION
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.2929" };
CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.2949" };
#elif defined JA2BETAVERSION
//BETA/TEST BUILD VERSION
CHAR16 zVersionLabel[256] = { L"Debug v1.13.2929" };
CHAR16 zVersionLabel[256] = { L"Debug v1.13.2949" };
#elif defined CRIPPLED_VERSION
@@ -28,11 +28,11 @@ CHAR16 zVersionLabel[256] = { L"Beta v. 0.98" };
#else
//RELEASE BUILD VERSION
CHAR16 zVersionLabel[256] = { L"Release v1.13.2929" };
CHAR16 zVersionLabel[256] = { L"Release v1.13.2949" };
#endif
CHAR8 czVersionNumber[16] = { "Build 09.06.02" }; //YY.MM.DD
CHAR8 czVersionNumber[16] = { "Build 09.06.04" }; //YY.MM.DD
CHAR16 zTrackingNumber[16] = { L"Z" };
+71
View File
@@ -25,6 +25,11 @@
#include "IMP Confirm.h"
#include "messageboxscreen.h"
#include "LaptopSave.h"
// These 4 added - SANDRO
#include "IMP Character and Disability Entrance.h"
#include "IMP Character Trait.h"
#include "IMP Disability Trait.h"
#include "IMP Color Choosing.h"
#endif
@@ -250,6 +255,19 @@ void HandleCharProfile()
case( IMP_CONFIRM ):
HandleIMPConfirm( );
break;
// These 4 added - SANDRO
case( IMP_CHARACTER_AND_DISABILITY_ENTRANCE ):
HandleIMPCharacterAndDisabilityEntrance( );
break;
case( IMP_CHARACTER_PAGE ):
HandleIMPCharacterTrait( );
break;
case( IMP_DISABILITY_PAGE ):
HandleIMPDisabilityTrait( );
break;
case( IMP_COLOR_CHOICE_PAGE ):
HandleIMPColorChoice( );
break;
}
return;
@@ -310,6 +328,19 @@ void RenderCharProfile()
case( IMP_CONFIRM ):
RenderIMPConfirm( );
break;
// These 4 added - SANDRO
case( IMP_CHARACTER_AND_DISABILITY_ENTRANCE ):
RenderIMPCharacterAndDisabilityEntrance( );
break;
case( IMP_CHARACTER_PAGE ):
RenderIMPCharacterTrait( );
break;
case( IMP_DISABILITY_PAGE ):
RenderIMPDisabilityTrait( );
break;
case( IMP_COLOR_CHOICE_PAGE ):
RenderIMPColorChoice( );
break;
}
// render title bar
@@ -394,6 +425,23 @@ void ExitOldIMPMode( void )
case( IMP_CONFIRM ):
ExitIMPConfirm( );
break;
// These 4 added - SANDRO
case( IMP_CHARACTER_AND_DISABILITY_ENTRANCE ):
DestroyIMPButtons( );
ExitIMPCharacterAndDisabilityEntrance( );
break;
case( IMP_CHARACTER_PAGE ):
DestroyIMPButtons( );
ExitIMPCharacterTrait( );
break;
case( IMP_DISABILITY_PAGE ):
DestroyIMPButtons( );
ExitIMPDisabilityTrait( );
break;
case( IMP_COLOR_CHOICE_PAGE ):
DestroyIMPButtons( );
ExitIMPColorChoice( );
break;
}
return;
@@ -460,6 +508,23 @@ void EnterNewIMPMode( void )
case( IMP_CONFIRM ):
EnterIMPConfirm( );
break;
// These 4 added - SANDRO
case( IMP_CHARACTER_AND_DISABILITY_ENTRANCE ):
CreateIMPButtons( );
EnterIMPCharacterAndDisabilityEntrance( );
break;
case( IMP_CHARACTER_PAGE ):
CreateIMPButtons( );
EnterIMPCharacterTrait( );
break;
case( IMP_DISABILITY_PAGE ):
CreateIMPButtons( );
EnterIMPDisabilityTrait( );
break;
case( IMP_COLOR_CHOICE_PAGE ):
CreateIMPButtons( );
EnterIMPColorChoice( );
break;
}
@@ -549,6 +614,8 @@ void LoadImpGraphics( void )
LoadAvgMercIndentFrame( );
LoadAboutUsIndentFrame( );
LoadAttribStartingLevelFrame( ); // Added by SANDRO
LoadColorChoiceFrame( ); // Added by SANDRO
return;
@@ -599,6 +666,10 @@ void RemoveImpGraphics( void )
DeleteAttrib2IndentFrame( );
DeleteAvgMercIndentFrame( );
DeleteAboutUsIndentFrame( );
DeleteAttribStartingLevelFrame( ); // Added by SANDRO
DeleteColorChoiceFrame( ); // Added by SANDRO
return;
}
+5
View File
@@ -78,6 +78,11 @@ enum{
IMP_VOICE,
IMP_ABOUT_US,
IMP_CONFIRM,
// These 4 added - SANDRO
IMP_CHARACTER_AND_DISABILITY_ENTRANCE,
IMP_CHARACTER_PAGE,
IMP_DISABILITY_PAGE,
IMP_COLOR_CHOICE_PAGE,
IMP_NUM_PAGES,
};
+277 -16
View File
@@ -23,8 +23,14 @@
#include "IMP Compile Character.h"
#include "text.h"
#include "GameSettings.h"
#include "IMP Disability Trait.h" // Added this one - SANDRO
#endif
#define STARTING_LEVEL_BOX_POS_X ( 51 )
#define STARTING_LEVEL_BOX_POS_Y ( 296 )
// width of the slider bar region
#define BAR_WIDTH 423 - 197
@@ -63,6 +69,9 @@ enum
// Snap: these globals will be properly initialized in SetAttributes
INT32 iStartingLevel = 1; // Added by SANDRO
INT32 iLevelCostMultiplier; // Added by SANDRO
// the skills as they stand
INT32 iCurrentStrength = 0;
INT32 iCurrentAgility = 0;
@@ -99,6 +108,11 @@ BOOLEAN fReviewStats = FALSE;
UINT32 giIMPAttributeSelectionButton[ 1 ];
UINT32 giIMPAttributeSelectionButtonImage[ 1 ];
// STARTING LEVEL BUTTONS ADDED - SANDRO
UINT32 giIMPStartingLevelButton[ 2 ];
UINT32 giIMPStartingLevelButtonImage[ 2 ];
// slider buttons
UINT32 giIMPAttributeSelectionSliderButton[ 20 ];
UINT32 giIMPAttributeSelectionSliderButtonImage[ 20 ];
@@ -120,6 +134,9 @@ INT32 uiBarToReRender = -1;
// are we actually coming back to edit, or are we restarting?
BOOLEAN fReturnStatus = FALSE;
UINT32 guiIST_GreyGoldBoxLvl;
// function definition
void ProcessAttributes( void );
void DestroyIMPAttributeSelectionButtons( void );
@@ -148,6 +165,12 @@ void SliderRegionButtonCallback(MOUSE_REGION * pRegion, INT32 iReason );
void SliderBarRegionButtonCallback( MOUSE_REGION * pRegion, INT32 iReason );
void StatAtZeroBoxCallBack( UINT8 bExitValue );
// added starting level choosing
void CreateIMPStartingLevelSelectionButtons( void );
void BtnIMPLevelSelectionLeftCallback( GUI_BUTTON *btn,INT32 reason );
void BtnIMPLevelSelectionRightCallback( GUI_BUTTON *btn,INT32 reason );
INT32 iBonusPointsNeededForLevelUp();
INT32 iBonusPointsRecievedForLevelDown();
void EnterIMPAttributeSelection( void )
{
@@ -157,7 +180,9 @@ void EnterIMPAttributeSelection( void )
if( ( fReturnStatus == FALSE ) && ( fFirstIMPAttribTime == TRUE ) )
{
// re starting
SetAttributes( );
SetAttributes( );
iStartingLevel = 1; // ADDED - SADNRO
gpCurrentScrollBox = NULL;
giCurrentlySelectedStat = -1;
@@ -186,6 +211,9 @@ void EnterIMPAttributeSelection( void )
CreateSlideRegionMouseRegions( );
//CreateSliderBarMouseRegions( );
// create starting level choice button
CreateIMPStartingLevelSelectionButtons( );
// render background
RenderIMPAttributeSelection( );
@@ -197,6 +225,7 @@ void EnterIMPAttributeSelection( void )
void RenderIMPAlteredAttribute( void )
{
}
void RenderIMPAttributeSelection( void )
{
@@ -223,9 +252,71 @@ void RenderIMPAttributeSelection( void )
// print text for screen
PrintImpText( );
// texts around
// don't blit bonus if reviewing
if( fReviewStats != TRUE )
{
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 355, LAPTOP_SCREEN_WEB_UL_Y + 51, ( 640 ), 2, FONT12ARIAL, FONT_WHITE, sgAttributeSelectionText[2],FONT_BLACK,FALSE,0);
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 59, LAPTOP_SCREEN_WEB_UL_Y + 36, ( 240 ), 2, FONT10ARIAL, 142, sgAttributeSelectionText[0],FONT_BLACK,FALSE,0);
// this show us the exact maximum attribute based on ini option
CHAR16 sMaxPntsString[64];
INT32 iMaxPointsToShow = gGameExternalOptions.iMaxAttribute;
if (iMaxPointsToShow > 100 )
iMaxPointsToShow = 100;
swprintf(sMaxPntsString, L"%d", iMaxPointsToShow);
// set font color
SetFontForeground( 142 );
SetFontBackground( FONT_BLACK );
SetFont( FONT10ARIAL );
// print string
mprintf( LAPTOP_SCREEN_UL_X + 88 ,LAPTOP_SCREEN_WEB_UL_Y + 58, sMaxPntsString );
InvalidateRegion( LAPTOP_SCREEN_UL_X + 65, LAPTOP_SCREEN_WEB_UL_Y + 51, LAPTOP_SCREEN_UL_X + 85, LAPTOP_SCREEN_WEB_UL_Y + 71 );
}
else
{
//LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + 44, ( 200 ), sgAttributeSelectionTextReview, FONT10ARIAL, 142, TRUE, 0);
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + 44, ( 240 ), 2, FONT10ARIAL, 142, sgAttributeSelectionText[1],FONT_BLACK,FALSE,0);
}
// amt of bonus pts
DrawBonusPointsRemaining( );
//***********************************************************************************************
// STARTING LEVEL BOX
///////////////////////////
// Bonus frame for starting level
RenderAttribStartingLevelFrame( STARTING_LEVEL_BOX_POS_X, STARTING_LEVEL_BOX_POS_Y );
// text
DrawTextToScreen( sgAttributeSelectionText[3], LAPTOP_SCREEN_UL_X + STARTING_LEVEL_BOX_POS_X + 9, LAPTOP_SCREEN_WEB_UL_Y + STARTING_LEVEL_BOX_POS_Y + 4, ( 100 ), FONT12ARIAL, FONT_WHITE, FONT_BLACK, FALSE, RIGHT_JUSTIFIED );
// show level index
HVOBJECT hImageHandle;
GetVideoObject(&hImageHandle, guiIST_GreyGoldBoxLvl );
BltVideoObject(FRAME_BUFFER, hImageHandle, 0,STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 20, STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 70, VO_BLT_SRCTRANSPARENCY,NULL);
CHAR16 sStartLevelString[64];
swprintf(sStartLevelString, L"%d", iStartingLevel );
// set font color
SetFontForeground( 142 );
SetFontBackground( FONT_BLACK );
SetFont( FONT14ARIAL );
// print string
mprintf( STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 144 , STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 6, sStartLevelString );
InvalidateRegion( STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 130, STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 10, STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 172, STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 42 );
//****************************************
return;
}
@@ -914,7 +1005,7 @@ void CreateIMPAttributeSelectionButtons( void )
{
// the finished button
giIMPAttributeSelectionButtonImage[0]= LoadButtonImage( "LAPTOP\\button_2.sti" ,-1,0,-1,1,-1 );
giIMPAttributeSelectionButtonImage[0]= LoadButtonImage( "LAPTOP\\button_5.sti" ,-1,0,-1,1,-1 );
/* giIMPAttributeSelectionButton[0] = QuickCreateButton( giIMPAttributeSelectionButtonImage[0], LAPTOP_SCREEN_UL_X + ( 136 ), LAPTOP_SCREEN_WEB_UL_Y + ( 314 ),
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPAttributeFinishCallback );
@@ -923,7 +1014,7 @@ void CreateIMPAttributeSelectionButtons( void )
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + ( 136 ), LAPTOP_SCREEN_WEB_UL_Y + ( 314 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
LAPTOP_SCREEN_UL_X + ( 350 ), LAPTOP_SCREEN_WEB_UL_Y + ( 340 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPAttributeFinishCallback);
@@ -940,11 +1031,16 @@ void DestroyIMPAttributeSelectionButtons( void )
RemoveButton(giIMPAttributeSelectionButton[ 0 ] );
UnloadButtonImage(giIMPAttributeSelectionButtonImage[ 0 ] );
// Destroy also starting level buttons
RemoveButton(giIMPStartingLevelButton[ 0 ] );
RemoveButton(giIMPStartingLevelButton[ 1 ] );
UnloadButtonImage(giIMPStartingLevelButtonImage[ 0 ] );
UnloadButtonImage(giIMPStartingLevelButtonImage[ 1 ] );
return;
}
void BtnIMPAttributeFinishCallback(GUI_BUTTON *btn,INT32 reason)
{
@@ -962,22 +1058,175 @@ void BtnIMPAttributeFinishCallback(GUI_BUTTON *btn,INT32 reason)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
//are we done diting, or just reviewing the stats?
if( fReviewStats == TRUE )
{
//iCurrentImpPage = IMP_MAIN_PAGE;
// SANDRO WAS HERE - THE FINISH PAGE AFTER ATTRIBUTES IS WORTHLESS AND HAVE BEEN CUT OUT
//if ( fReviewStats == TRUE )
//{
iCurrentImpPage = IMP_FINISH;
}
else
{
iCurrentImpPage = IMP_ATTRIBUTE_FINISH;
}
fButtonPendingFlag = TRUE;
//}
//else
//{
iCurrentProfileMode = IMP__FINISH; // All done
//}
// SET ATTRIBUTES NOW
SetGeneratedCharacterAttributes( );
//fButtonPendingFlag = TRUE;
}
}
}
void CreateIMPStartingLevelSelectionButtons( void )
{
giIMPStartingLevelButtonImage[ 0 ]= LoadButtonImage( "LAPTOP\\AttributeArrows.sti" ,-1,0,-1,1,-1 );
giIMPStartingLevelButtonImage[ 1 ]= LoadButtonImage( "LAPTOP\\AttributeArrows.sti" ,-1,3,-1,4,-1 );
// left button - decrement level
giIMPStartingLevelButton[ 0 ] = QuickCreateButton( giIMPStartingLevelButtonImage[ 0 ], STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 112, STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 3,
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPLevelSelectionLeftCallback );
// right button - increment level
giIMPStartingLevelButton[ 1 ] = QuickCreateButton( giIMPStartingLevelButtonImage[ 1 ], STARTING_LEVEL_BOX_POS_X + LAPTOP_SCREEN_UL_X + 166, STARTING_LEVEL_BOX_POS_Y + LAPTOP_SCREEN_WEB_UL_Y + 3,
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPLevelSelectionRightCallback );
SetButtonCursor(giIMPStartingLevelButton[0], CURSOR_WWW);
SetButtonCursor(giIMPStartingLevelButton[1 ], CURSOR_WWW);
// set user data
MSYS_SetBtnUserData(giIMPStartingLevelButton[0],0, 0 / 2 );
MSYS_SetBtnUserData(giIMPStartingLevelButton[1],0, 1 / 2 );
//Get rid of playing the button sound, it will be handled here
//ButtonList[ giIMPStartingLevelButton[0] ]->ubSoundSchemeID = 0;
//ButtonList[ giIMPStartingLevelButton[1] ]->ubSoundSchemeID = 0;
MarkButtonsDirty( );
}
void BtnIMPLevelSelectionLeftCallback( GUI_BUTTON *btn,INT32 reason )
{
// btn callback for IMP personality quiz answer button
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_REPEAT )
{
if ( (iStartingLevel > 1) && !fReviewStats )
{
PlayButtonSound( giIMPStartingLevelButton[0], BUTTON_SOUND_CLICKED_ON );
iCurrentBonusPoints += iBonusPointsRecievedForLevelDown();
iStartingLevel--;
fHasAnySlidingBarMoved = TRUE;
}
else
{
PlayButtonSound( giIMPStartingLevelButton[0], BUTTON_SOUND_DISABLED_CLICK );
}
}
else if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags|=(BUTTON_CLICKED_ON);
if ( (iStartingLevel > 1) && !fReviewStats )
{
PlayButtonSound( giIMPStartingLevelButton[0], BUTTON_SOUND_CLICKED_ON );
iCurrentBonusPoints += iBonusPointsRecievedForLevelDown();
iStartingLevel--;
fHasAnySlidingBarMoved = TRUE;
}
else
{
PlayButtonSound( giIMPStartingLevelButton[0], BUTTON_SOUND_DISABLED_CLICK );
}
}
else if( reason & MSYS_CALLBACK_REASON_LBUTTON_UP )
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
}
}
}
void BtnIMPLevelSelectionRightCallback( GUI_BUTTON *btn,INT32 reason )
{
// btn callback for IMP personality quiz answer button
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_REPEAT )
{
if ((iBonusPointsNeededForLevelUp() <= iCurrentBonusPoints) && ( iStartingLevel < 10 ) && !fReviewStats )
{
PlayButtonSound( giIMPStartingLevelButton[1], BUTTON_SOUND_CLICKED_ON );
iCurrentBonusPoints -= iBonusPointsNeededForLevelUp();
iStartingLevel++;
fHasAnySlidingBarMoved = TRUE;
}
else
{
PlayButtonSound( giIMPStartingLevelButton[1], BUTTON_SOUND_DISABLED_CLICK );
}
}
else if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags|=(BUTTON_CLICKED_ON);
if ((iBonusPointsNeededForLevelUp() <= iCurrentBonusPoints) && ( iStartingLevel < 10 ) && !fReviewStats )
{
PlayButtonSound( giIMPStartingLevelButton[1], BUTTON_SOUND_CLICKED_ON );
iCurrentBonusPoints -= iBonusPointsNeededForLevelUp();
iStartingLevel++;
fHasAnySlidingBarMoved = TRUE;
}
else
{
PlayButtonSound( giIMPStartingLevelButton[1], BUTTON_SOUND_DISABLED_CLICK );
}
}
else if( reason & MSYS_CALLBACK_REASON_LBUTTON_UP )
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
}
}
}
INT32 iBonusPointsNeededForLevelUp()
{
INT32 iBonusPointsNeeded = 0;
if (iStartingLevel > 0 && iStartingLevel < 10)
{
iBonusPointsNeeded = (iStartingLevel + 1) * iLevelCostMultiplier;
}
return( iBonusPointsNeeded );
}
INT32 iBonusPointsRecievedForLevelDown()
{
INT32 iBonusPointsRecieved;
if (iStartingLevel > 1 && iStartingLevel <= 10)
{
iBonusPointsRecieved = iStartingLevel * iLevelCostMultiplier;
}
return( iBonusPointsRecieved );
}
void RenderAttributeBoxes( void )
{
@@ -1185,7 +1434,7 @@ void CreateAttributeSliderButtons( void )
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPAttributeSliderLeftCallback );
// right button - increment stat
giIMPAttributeSelectionSliderButton[ iCounter + 1 ] = QuickCreateButton( giIMPAttributeSelectionSliderButtonImage[ 1 ], LAPTOP_SCREEN_UL_X + ( 419 ), ( INT16 ) ( LAPTOP_SCREEN_WEB_UL_Y + ( 99 + iCounter / 2 * 20 ) ),
giIMPAttributeSelectionSliderButton[ iCounter + 1 ] = QuickCreateButton( giIMPAttributeSelectionSliderButtonImage[ 1 ], LAPTOP_SCREEN_UL_X + ( 420 ), ( INT16 ) ( LAPTOP_SCREEN_WEB_UL_Y + ( 99 + iCounter / 2 * 20 ) ),
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPAttributeSliderRightCallback );
@@ -1647,7 +1896,7 @@ INT32 GetCurrentAttributeValue( INT32 iAttribute )
void SetAttributes( void )
{
INT8 bExtraPoints;
INT8 bExtraPoints = 0;
/*
// set attributes and skills based on what is in charprofile.c
@@ -1669,6 +1918,9 @@ void SetAttributes( void )
iCurrentBonusPoints = 40;
*/
// added externilized multiplier for starting level - SADNRO
iLevelCostMultiplier = gGameExternalOptions.iIMPStartingLevelCostMultiplier;
iCurrentStrength = gGameExternalOptions.iStartAttribute;
iCurrentDexterity = gGameExternalOptions.iStartAttribute;
iCurrentHealth = gGameExternalOptions.iStartAttribute;
@@ -1689,7 +1941,8 @@ void SetAttributes( void )
//Determine if the player has any extra points
bExtraPoints = DoesPlayerHaveExtraAttibutePointsToDistributeBasedOnSkillSelection();
bExtraPoints += iPlayersAttributePointsBonusForDisabilitySelected(); // Added attribute bonus for chosen disability - SANDRO
bExtraPoints += DoesPlayerHaveExtraAttibutePointsToDistributeBasedOnSkillSelection();
if( bExtraPoints > 0 )
{
@@ -1815,3 +2068,11 @@ INT32 DetermineNewPosition( INT32 iAttribute )
return( iNewLoc );
}
INT8 StartingLevelChosen()
{
if ( (iStartingLevel > 0) && (iStartingLevel <= 10) )
return(iStartingLevel);
else
return(1);
}
+1
View File
@@ -20,5 +20,6 @@ extern BOOLEAN fReturnStatus;
#define SKILL_SLIDE_START_Y 100
#define SKILL_SLIDE_HEIGHT 20
INT8 StartingLevelChosen(); // added - SANDRO
#endif
+446
View File
@@ -0,0 +1,446 @@
#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#include "IMP Character Trait.h"
#include "_Ja25Englishtext.h"
#else
#include "IMP Character Trait.h"
#include "Button System.h"
#include "utilities.h"
#include "Debug.h"
#include "Text.h"
#include "Font Control.h"
#include "font.h"
#include "laptop.h"
#include "cursors.h"
#include "IMP MainPage.h"
#include "IMPVideoObjects.h"
#include "_Ja25EnglishText.h"
#include "wordwrap.h"
#include "CharProfile.h"
#include "soldier profile type.h"
#include "IMP Compile Character.h"
#endif
//*******************************************************************
//
// Local Defines
//
//*******************************************************************
#define IMP_CHARACTER_TRAIT__TITLE_FONT FONT14ARIAL
#define IMP_CHARACTER_TRAIT__FONT FONT12ARIAL
#define IMP_CHARACTER_TRAIT__COLOR FONT_MCOLOR_WHITE
enum
{
IMP_CHARACTER_TRAIT__TITLE_TEXT=IMP_CHARACTER_TRAITS_NUMBER,
};
#define IMP_CHARACTER_1ST_COLUMN_START_X ( LAPTOP_SCREEN_UL_X + 15 )
#define IMP_CHARACTER_1ST_COLUMN_START_Y ( LAPTOP_SCREEN_WEB_UL_Y + 40 )
#define IMP_CHARACTER_2ND_COLUMN_START_X ( IMP_CHARACTER_1ST_COLUMN_START_X + 241 )
#define IMP_CHARACTER_2ND_COLUMN_START_Y IMP_CHARACTER_1ST_COLUMN_START_Y
#define IMP_CHARACTER_TRAIT__SPACE_BTN_BUTTONS 38
#define IMP_CHARACTER_TRAIT_NUMBER_TO_START_2ND_COLUMN 5
#define IMP_CHARACTER_TRAIT__TEXT_OFFSET_X 65
#define IMP_CHARACTER_TRAIT__TEXT_OFFSET_Y 12
#define IMP_CHARACTER_TRAIT__TITLE_X LAPTOP_SCREEN_UL_X - 111
#define IMP_CHARACTER_TRAIT__TITLE_Y iScreenHeightOffset + 53
#define IMP_CHARACTER_TRAIT__TITLE_WIDTH ( LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X )
#define IMP_CHARACTER_TRAIT__GREY_BOX_OFFSET_X 5
#define IMP_CHARACTER_TRAIT__GREY_BOX_OFFSET_Y 7
//*******************************************************************
//
// Global Variables
//
//*******************************************************************
BOOLEAN gfIST_Redraw2=FALSE;
BOOLEAN gfCharacterTraitQuestions[ IMP_CHARACTER_TRAITS_NUMBER ];
// these are the buttons for the questions
INT32 giIMPCharacterTraitAnswerButton[ IMP_CHARACTER_TRAITS_NUMBER ];
INT32 giIMPCharacterTraitAnswerButtonImage[ IMP_CHARACTER_TRAITS_NUMBER ];
// this is the Done buttons
INT32 giIMPCharacterTraitFinsihButton;
INT32 giIMPCharacterTraitFinsihButtonImage;
//image handle
UINT32 guiIST_GreyGoldBox2;
//*******************************************************************
//
// Function Prototypes
//
//*******************************************************************
void BtnIMPCharacterTraitAnswerCallback(GUI_BUTTON *btn,INT32 reason);
void BtnIMPCharacterTraitFinishCallback(GUI_BUTTON *btn,INT32 reason);
void AddImpCharacterTraitButtons();
void HandleCharacterTraitButtonStates( );
void HandleIMPCharacterTraitAnswers( UINT32 uiSkillPressed );
void IMPCharacterTraitDisplayCharacterTraits();
//INT8 CountNumCharacterTraitsSelected( BOOLEAN fIncludeNoneSkill );
//BOOLEAN ShouldTraitBeSkipped( UINT32 uiTrait );
//void SaveSelectedPersonality();
//void HandleLastSelectedCharacterTraits( INT8 bNewTrait );
BOOLEAN CameBackToCharacterTraitPageButNotFinished();
//ppp
//*******************************************************************
//
// Functions
//
//*******************************************************************
void EnterIMPCharacterTrait( void )
{
// UINT32 uiCnt;
VOBJECT_DESC VObjectDesc;
//add the skill trait buttons
AddImpCharacterTraitButtons();
// load the stats graphic and add it
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\SkillTraitSmallGreyIdent.sti", VObjectDesc.ImageFile);
if( !AddVideoObject(&VObjectDesc, &guiIST_GreyGoldBox2 ) )
{
Assert( 0 );
return;
}
giIMPCharacterTraitFinsihButtonImage = LoadButtonImage( "LAPTOP\\button_5.sti" ,-1,0,-1,1,-1 );
giIMPCharacterTraitFinsihButton = CreateIconAndTextButton( giIMPCharacterTraitFinsihButtonImage, pImpButtonText[ 13 ], FONT12ARIAL,
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + ( 350 ), LAPTOP_SCREEN_WEB_UL_Y + ( 340 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPCharacterTraitFinishCallback );
SetButtonCursor( giIMPCharacterTraitFinsihButton, CURSOR_WWW);
//if we are not DONE and are just reviewing
if( iCurrentProfileMode != IMP__FINISH )
{
//Have the NONE trait initially selected
gfCharacterTraitQuestions[ IMP_CHARACTER_TRAIT_NORMAL ] = TRUE;
}
HandleCharacterTraitButtonStates( );
}
void RenderIMPCharacterTrait( void )
{
//render the metal background graphic
RenderProfileBackGround();
//Display the title
DrawTextToScreen( gzIMPCharacterTraitText[IMP_CHARACTER_TRAITS_NUMBER], LAPTOP_SCREEN_UL_X - 111, iScreenHeightOffset + 53, ( LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X ), FONT14ARIAL, FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
IMPCharacterTraitDisplayCharacterTraits();
}
void ExitIMPCharacterTrait( void )
{
INT32 iCnt;
DeleteVideoObjectFromIndex( guiIST_GreyGoldBox2 );
//remove the skill buttons
for(iCnt = 0; iCnt < IMP_CHARACTER_TRAITS_NUMBER; iCnt++)
{
//if there is a button allocated
if( giIMPCharacterTraitAnswerButton[iCnt] != -1 )
{
RemoveButton(giIMPCharacterTraitAnswerButton[ iCnt ] );
UnloadButtonImage(giIMPCharacterTraitAnswerButtonImage[ iCnt ] );
}
}
RemoveButton( giIMPCharacterTraitFinsihButton );
UnloadButtonImage( giIMPCharacterTraitFinsihButtonImage );
}
void HandleIMPCharacterTrait( void )
{
if( gfIST_Redraw2 )
{
RenderIMPCharacterTrait( );
gfIST_Redraw2 = FALSE;
}
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
}
void AddImpCharacterTraitButtons()
{
INT32 iCnt = 0;
UINT16 usPosX, usPosY;
usPosX = IMP_CHARACTER_1ST_COLUMN_START_X;
usPosY = IMP_CHARACTER_1ST_COLUMN_START_Y;
for(iCnt = 0; iCnt < IMP_CHARACTER_TRAITS_NUMBER; iCnt++)
{
//reset
giIMPCharacterTraitAnswerButton[iCnt] = -1;
//if we are not DONE and are just reviewing
if( iCurrentProfileMode != IMP__FINISH )
{
gfCharacterTraitQuestions[ iCnt ] = FALSE;
}
if( iCnt == 0 )
giIMPCharacterTraitAnswerButtonImage[ iCnt ] = LoadButtonImage( "LAPTOP\\button_6.sti", -1,0,-1,1,-1 );
else
giIMPCharacterTraitAnswerButtonImage[ iCnt ] = UseLoadedButtonImage( giIMPCharacterTraitAnswerButtonImage[ 0 ], -1,0,-1,1,-1 );
giIMPCharacterTraitAnswerButton[iCnt] = QuickCreateButton( giIMPCharacterTraitAnswerButtonImage[ iCnt ], usPosX, usPosY,
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3,
MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPCharacterTraitAnswerCallback);
//Set the button data
MSYS_SetBtnUserData( giIMPCharacterTraitAnswerButton[iCnt], 0, iCnt );
SetButtonCursor( giIMPCharacterTraitAnswerButton[iCnt], CURSOR_WWW);
//Get rid of playing the button sound, it will be handled here
//ButtonList[ giIMPCharacterTraitAnswerButton[ iCnt ] ]->ubSoundSchemeID = 0;
//Determine the next x location
if( iCnt < IMP_CHARACTER_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosX = IMP_CHARACTER_1ST_COLUMN_START_X;
else
usPosX = IMP_CHARACTER_2ND_COLUMN_START_X;
//Determine the next Y location
if( iCnt == IMP_CHARACTER_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosY = IMP_CHARACTER_2ND_COLUMN_START_Y;
else
usPosY += IMP_CHARACTER_TRAIT__SPACE_BTN_BUTTONS;
}
}
void BtnIMPCharacterTraitAnswerCallback(GUI_BUTTON *btn,INT32 reason)
{
// btn callback for IMP personality quiz answer button
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
// btn->uiFlags|=(BUTTON_CLICKED_ON);
INT32 iCharacterTrait = MSYS_GetBtnUserData( btn, 0 );
HandleIMPCharacterTraitAnswers( iCharacterTrait );
}
}
void HandleIMPCharacterTraitAnswers( UINT32 uiSkillPressed )
{
UINT32 uiCnt;
//if we are DONE and are just reviewing
if( iCurrentProfileMode == IMP__FINISH )
{
return;
}
//reset all other buttons
for( uiCnt=0; uiCnt<IMP_CHARACTER_TRAITS_NUMBER; uiCnt++ )
{
gfCharacterTraitQuestions[ uiCnt ] = FALSE;
}
//make sure its a valid character trait
if( uiSkillPressed > IMP_CHARACTER_TRAITS_NUMBER )
{
Assert( 0 );
return;
}
//if its allready set
if( gfCharacterTraitQuestions[ uiSkillPressed ] )
{
//dont need to do anything
return;
}
//Set the skill
gfCharacterTraitQuestions[ uiSkillPressed ] = TRUE;
//Play the button sound
if( gfCharacterTraitQuestions[ uiSkillPressed ] )
{
PlayButtonSound( giIMPCharacterTraitAnswerButton[ uiSkillPressed ], BUTTON_SOUND_CLICKED_ON );
}
else
{
PlayButtonSound( giIMPCharacterTraitAnswerButton[ uiSkillPressed ], BUTTON_SOUND_CLICKED_OFF );
}
//update buttons
HandleCharacterTraitButtonStates( );
//redraw the screen
gfIST_Redraw2 = TRUE;
}
void HandleCharacterTraitButtonStates( )
{
UINT32 uiCnt;
for( uiCnt=0; uiCnt<IMP_CHARACTER_TRAITS_NUMBER; uiCnt++ )
{
//if the skill is selected ( ie depressed )
if( gfCharacterTraitQuestions[ uiCnt ] )
{
ButtonList[ giIMPCharacterTraitAnswerButton[ uiCnt ] ]->uiFlags |= BUTTON_CLICKED_ON;
}
else
{
ButtonList[ giIMPCharacterTraitAnswerButton[ uiCnt ] ]->uiFlags &= ~BUTTON_CLICKED_ON;
}
}
}
void IMPCharacterTraitDisplayCharacterTraits()
{
UINT32 uiCnt;
UINT16 usPosX, usPosY;
UINT16 usBoxPosX, usBoxPosY;
HVOBJECT hImageHandle;
// Stats
GetVideoObject(&hImageHandle, guiIST_GreyGoldBox2 );
usPosX = IMP_CHARACTER_1ST_COLUMN_START_X + IMP_CHARACTER_TRAIT__TEXT_OFFSET_X;
usPosY = IMP_CHARACTER_1ST_COLUMN_START_Y + IMP_CHARACTER_TRAIT__TEXT_OFFSET_Y;
for( uiCnt=0; uiCnt<IMP_CHARACTER_TRAITS_NUMBER; uiCnt++ )
{
usBoxPosX = usPosX - IMP_CHARACTER_TRAIT__GREY_BOX_OFFSET_X;
usBoxPosY = usPosY - IMP_CHARACTER_TRAIT__GREY_BOX_OFFSET_Y;
//if the trait is selected
if( gfCharacterTraitQuestions[ uiCnt ] )
{
//Display the gold background box
BltVideoObject(FRAME_BUFFER, hImageHandle, 1, usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL);
}
else
{
//Display the grey background box
BltVideoObject(FRAME_BUFFER, hImageHandle, 0,usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL);
}
//draw the text to the screenx
DrawTextToScreen( gzIMPCharacterTraitText[ uiCnt ], usPosX, usPosY, 0, IMP_CHARACTER_TRAIT__FONT, IMP_CHARACTER_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
//Determine the next x location
if( uiCnt < IMP_CHARACTER_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosX = IMP_CHARACTER_1ST_COLUMN_START_X + IMP_CHARACTER_TRAIT__TEXT_OFFSET_X;
else
usPosX = IMP_CHARACTER_2ND_COLUMN_START_X + IMP_CHARACTER_TRAIT__TEXT_OFFSET_X;
//Determine the next Y location
if( uiCnt == IMP_CHARACTER_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosY = IMP_CHARACTER_2ND_COLUMN_START_Y + IMP_CHARACTER_TRAIT__TEXT_OFFSET_Y;
else
usPosY += IMP_CHARACTER_TRAIT__SPACE_BTN_BUTTONS;
}
}
void BtnIMPCharacterTraitFinishCallback(GUI_BUTTON *btn,INT32 reason)
{
// btn callback for IMP personality quiz answer button
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags|=(BUTTON_CLICKED_ON);
//if we are just reviewing the page
//if( iCurrentProfileMode == IMP__FINISH )
//{
//go back tot he done screen
iCurrentImpPage = IMP_DISABILITY_PAGE;
fButtonPendingFlag = TRUE;
//}
/*else
{
iCurrentImpPage = IMP_DISABILITY_PAGE;
if( CameBackToCharacterTraitPageButNotFinished() )
{
}
else
{
//We are finished on this page
iCurrentProfileMode = IMP__PERSONALITY;
}
}*/
}
}
BOOLEAN CameBackToCharacterTraitPageButNotFinished()
{
//if we are in a page that comes after this one
if( iCurrentProfileMode == IMP__ATTRIBUTES || iCurrentProfileMode == IMP__PERSONALITY )
{
return( TRUE );
}
else
{
return( FALSE );
}
}
INT8 iChosenCharacterTrait()
{
UINT32 uiCnt;
INT8 iCharacterTraitNumber = 0;
//loop through all the buttons and reset them
for( uiCnt=0; uiCnt<IMP_CHARACTER_TRAITS_NUMBER; uiCnt++ )
{
//if the trait is selected
if( gfCharacterTraitQuestions[ uiCnt ] )
{
iCharacterTraitNumber = uiCnt;
}
}
return( iCharacterTraitNumber );
}
+32
View File
@@ -0,0 +1,32 @@
#ifndef __IMP_CHARACTER_TRAIT__H_
#define __IMP_CHARACTER_TRAIT__H_
#include "Types.h"
void EnterIMPCharacterTrait( void );
void RenderIMPCharacterTrait( void );
void ExitIMPCharacterTrait( void );
void HandleIMPCharacterTrait( void );
//enum
//{
typedef enum
{
IMP_CHARACTER_TRAIT_NORMAL = 0,
IMP_CHARACTER_TRAIT_FRIENDLY,
IMP_CHARACTER_TRAIT_LONER,
IMP_CHARACTER_TRAIT_OPTIMIST,
IMP_CHARACTER_TRAIT_PESSIMIST,
IMP_CHARACTER_TRAIT_AGGRESSIVE,
IMP_CHARACTER_TRAIT_ARROGANT,
IMP_CHARACTER_TRAIT_BIGSHOT,
IMP_CHARACTER_TRAIT_ASSHOLE,
IMP_CHARACTER_TRAIT_COWARD,
IMP_CHARACTER_TRAITS_NUMBER,
} ;
INT8 iChosenCharacterTrait();
STR16 gzIMPCharacterTraitText[];
#endif
@@ -0,0 +1,133 @@
#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#else
#include "CharProfile.h"
#include "IMP Character and Disability Entrance.h"
#include "IMP MainPage.h"
#include "IMP HomePage.h"
#include "IMPVideoObjects.h"
#include "Utilities.h"
#include "WCheck.h"
#include "Debug.h"
#include "WordWrap.h"
#include "Render Dirty.h"
#include "Encrypted File.h"
#include "cursors.h"
#include "laptop.h"
#include "IMP Text System.h"
#include "text.h"
#endif
// IMP personality entrance buttons
INT32 giIMPCharacterAndDisabilityEntranceButton[1];
INT32 giIMPCharacterAndDisabilityEntranceButtonImage[1];
// function definitions
void CreateIMPCharacterAndDisabilityEntranceButtons( void );
void BtnIMPCharacterAndDisabilityEntranceDoneCallback(GUI_BUTTON *btn,INT32 reason);
void WriteIMPCharacterAndDisabilityEntranceText( void );
void EnterIMPCharacterAndDisabilityEntrance( void )
{
// create buttons needed
CreateIMPCharacterAndDisabilityEntranceButtons( );
return;
}
void RenderIMPCharacterAndDisabilityEntrance( void )
{
// the background
RenderProfileBackGround( );
// the IMP symbol
//RenderIMPSymbol( 112, 30 );
// indent
RenderAvgMercIndentFrame(90, 40 );
return;
}
void ExitIMPCharacterAndDisabilityEntrance( void )
{
// destroy buttons needed
RemoveButton(giIMPCharacterAndDisabilityEntranceButton[0] );
UnloadButtonImage(giIMPCharacterAndDisabilityEntranceButtonImage[0] );
return;
}
void HandleIMPCharacterAndDisabilityEntrance( void )
{
// Show the text
WriteIMPCharacterAndDisabilityEntranceText( );
return;
}
void CreateIMPCharacterAndDisabilityEntranceButtons( void )
{
// this function will create the buttons needed for the IMP personality Page
// ths begin button
giIMPCharacterAndDisabilityEntranceButtonImage[0]= LoadButtonImage( "LAPTOP\\button_2.sti" ,-1,0,-1,1,-1 );
/*giIMPCharacterAndDisabilityEntranceButton[0] = QuickCreateButton( giIMPCharacterAndDisabilityEntranceButtonImage[0], LAPTOP_SCREEN_UL_X + ( 136 ), LAPTOP_SCREEN_WEB_UL_Y + ( 314 ),
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPCharacterAndDisabilityEntranceDoneCallback);
*/
giIMPCharacterAndDisabilityEntranceButton[0] = CreateIconAndTextButton( giIMPCharacterAndDisabilityEntranceButtonImage[0], pImpButtonText[ 1 ], FONT12ARIAL,
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + ( 136 ), LAPTOP_SCREEN_WEB_UL_Y + ( 314 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPCharacterAndDisabilityEntranceDoneCallback);
SetButtonCursor(giIMPCharacterAndDisabilityEntranceButton[0], CURSOR_WWW);
return;
}
void WriteIMPCharacterAndDisabilityEntranceText( void )
{
//Display the title
DrawTextToScreen( pCharacterTraitBeginIMPStrings[ 0 ], LAPTOP_SCREEN_UL_X - 111, iScreenHeightOffset + 53, ( LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X ), FONT14ARIAL, FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
// The personality part
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 106, LAPTOP_SCREEN_WEB_UL_Y + 63, ( 400 - 100 ), 2, FONT12ARIAL, FONT_WHITE, pCharacterTraitBeginIMPStrings[ 1 ],FONT_BLACK,FALSE,CENTER_JUSTIFIED);
// The disability part
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 106, LAPTOP_SCREEN_WEB_UL_Y + 145, ( 400 - 100 ), 2, FONT12ARIAL, FONT_WHITE, pCharacterTraitBeginIMPStrings[ 2 ],FONT_BLACK,FALSE,CENTER_JUSTIFIED);
return;
}
void BtnIMPCharacterAndDisabilityEntranceDoneCallback(GUI_BUTTON *btn,INT32 reason)
{
// btn callback for IMP Begin Screen done button
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags|=(BUTTON_CLICKED_ON);
}
else if( reason & MSYS_CALLBACK_REASON_LBUTTON_UP )
{
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
// done with begin screen, next screen
iCurrentImpPage = IMP_CHARACTER_PAGE;
fButtonPendingFlag = TRUE;
}
}
}
@@ -0,0 +1,10 @@
#ifndef _CHARACTERANDDISABILITY_ENTRANCE_H
#define _CHARACTERANDDISABILITY_ENTRANCE_H
void EnterIMPCharacterAndDisabilityEntrance( void );
void RenderIMPCharacterAndDisabilityEntrance( void );
void ExitIMPCharacterAndDisabilityEntrance( void );
void HandleIMPCharacterAndDisabilityEntrance( void );
#endif
File diff suppressed because it is too large Load Diff
+20
View File
@@ -0,0 +1,20 @@
#ifndef __IMP_COLOR_CHOOSING_SKIN_HAIR__H_
#define __IMP_COLOR_CHOOSING_SKIN_HAIR__H_
#include "Types.h"
void EnterIMPColorChoice( void );
void RenderIMPColorChoice( void );
void ExitIMPColorChoice( void );
void HandleIMPColorChoice( void );
INT8 iChosenSkin();
INT8 iChosenHair();
INT8 iChosenShirt();
INT8 iChosenPants();
BOOLEAN bBigBodySelected();
BOOLEAN bBadAssSelected();
#endif
+44 -18
View File
@@ -34,6 +34,10 @@
#include "Animation Data.h"
#include "random.h"
#include "LaptopSave.h"
// These 3 added - SANDRO
#include "IMP Character Trait.h"
#include "IMP Disability Trait.h"
#include "IMP Color Choosing.h"
#endif
// how many times should a 'die' be rolled for skills of the same type?
@@ -176,16 +180,20 @@ void CreateACharacterFromPlayerEnteredStats( void )
gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bAttitude = ( INT8 )iAttitude;
// WDS: Advanced start
gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bExpLevel = gGameExternalOptions.ubIMPStartingLevel;
//gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bExpLevel = gGameExternalOptions.ubIMPStartingLevel;
gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bExpLevel = StartingLevelChosen(); // We now choose the starting level on IMP creation - SANDRO
// set time away
gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bMercStatus = 0;
// face
SelectMercFace( );
// Option for badass added - SANDRO
if (bBadAssSelected())
gMercProfiles[ LaptopSaveInfo.iIMPIndex ].uiBodyTypeSubFlags = 1;
return;
}
@@ -251,8 +259,8 @@ BOOLEAN DoesCharacterHaveAPersoanlity( void )
void CreatePlayerAttitude( void )
{
if(gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] == TRUE)
// We no longer need this - SANDRO
/*if(gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] == TRUE)
{
AddAnAttitudeToAttitudeList( ATT_OPTIMIST );
AddAnAttitudeToAttitudeList( ATT_LONER );
@@ -328,7 +336,10 @@ void CreatePlayerAttitude( void )
else
{
iAttitude = gGameExternalOptions.iCustomAttitude;
}
}*/
// Chosen by ourselves - SANDRO
iAttitude = iChosenCharacterTrait();
}
@@ -595,8 +606,8 @@ void CreatePlayerPersonality( void )
{
// Kaiden: Added for optional Mercenary personalities and attitudes
if(gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] == TRUE)
// We don't need this - SANDRO
/*if(gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] == TRUE)
{
// Kaiden: More chances for Psycho and Normal.
AddAPersonalityToPersonalityList( NO_PERSONALITYTRAIT );
@@ -652,7 +663,12 @@ void CreatePlayerPersonality( void )
else
{
iPersonality = gGameExternalOptions.iCustomPersonality;
}
}*/
// Chosen by ourselves - SANDRO
iPersonality = iChosenDisabilityTrait();
return;
}
@@ -738,7 +754,8 @@ void SelectMercFace( void )
void SetMercSkinAndHairColors( void )
{
enum{ PINKSKIN, TANSKIN, DARKSKIN, BLACKSKIN, NUMSKINS };
// We don't need this - SANDRO
/*enum{ PINKSKIN, TANSKIN, DARKSKIN, BLACKSKIN, NUMSKINS };
enum{ BROWNHEAD, BLACKHEAD, //black skin (only this line )
WHITEHEAD, //dark skin (this line plus all above)
BLONDHEAD, REDHEAD, //pink/tan skin (this line plus all above )
@@ -770,7 +787,7 @@ void SetMercSkinAndHairColors( void )
BEIGEPANTS,
GREENPANTS,
NUMPANTS
};//pants
};//pants*/
// skin strings
STR sSkinStrings[]={
@@ -815,8 +832,9 @@ void SetMercSkinAndHairColors( void )
"GREENPANTS",
};//pants
// We don't need this - SANDRO
// given the portrait number, set the merc's skin and hair color
INT16 sSkinColor = 0, sHairColor = 0, sShirtColor, sPantColor;
/*INT16 sSkinColor = 0, sHairColor = 0, sShirtColor, sPantColor;
switch( iPortraitNumber )
{
@@ -922,8 +940,13 @@ void SetMercSkinAndHairColors( void )
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].HAIR, sHairStrings[ sHairColor ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].SKIN, sSkinStrings[ sSkinColor ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].PANTS, sPantStrings[ sPantColor ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].VEST, sShirtStrings[ sShirtColor ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].VEST, sShirtStrings[ sShirtColor ] );*/
// Cosen colors by ourselves - SANDRO
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].HAIR, sHairStrings[ iChosenHair() ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].SKIN, sSkinStrings[ iChosenSkin() ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].PANTS, sPantStrings[ iChosenPants() ] );
strcpy( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].VEST, sShirtStrings[ iChosenShirt() ] );
}
@@ -992,11 +1015,14 @@ BOOLEAN ShouldThisMercHaveABigBody( void )
// Madd - don't limit it by portrait
//if ( ( iPortraitNumber == 0 ) || ( iPortraitNumber == 6 ) || ( iPortraitNumber == 7 ) )
//{
if ( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bStrength >= 75 )
{
return( TRUE );
}
// if ( gMercProfiles[ LaptopSaveInfo.iIMPIndex ].bStrength >= 75 )
// {
// return( TRUE );
// }
//}
return( FALSE );
//return( FALSE );
// We can now choose this ourselves - SANDRO
return( bBigBodySelected() );
}
+460
View File
@@ -0,0 +1,460 @@
#ifdef PRECOMPILEDHEADERS
#include "Laptop All.h"
#include "IMP Disability Trait.h"
#include "_Ja25Englishtext.h"
#else
#include "IMP Disability Trait.h"
#include "Button System.h"
#include "utilities.h"
#include "Debug.h"
#include "Text.h"
#include "Font Control.h"
#include "font.h"
#include "laptop.h"
#include "cursors.h"
#include "IMP MainPage.h"
#include "IMPVideoObjects.h"
#include "_Ja25EnglishText.h"
#include "wordwrap.h"
#include "CharProfile.h"
#include "soldier profile type.h"
#include "IMP Compile Character.h"
#include "GameSettings.h"
#endif
//*******************************************************************
//
// Local Defines
//
//*******************************************************************
#define IMP_DISABILITY_TRAIT__TITLE_FONT FONT14ARIAL
#define IMP_DISABILITY_TRAIT__FONT FONT12ARIAL
#define IMP_DISABILITY_TRAIT__COLOR FONT_MCOLOR_WHITE
enum
{
IMP_DISABILITY_TRAIT__TITLE_TEXT=IMP_DISABILITIES_NUMBER,
};
#define IMP_DISABILITY_COLUMN_START_X ( LAPTOP_SCREEN_UL_X + 136 )
#define IMP_DISABILITY_COLUMN_START_Y ( LAPTOP_SCREEN_WEB_UL_Y + 40 )
#define IMP_DISABILITY_TRAIT__SPACE_BTN_BUTTONS 38
#define IMP_DISABILITY_TRAIT__TEXT_OFFSET_X 65
#define IMP_DISABILITY_TRAIT__TEXT_OFFSET_Y 12
#define IMP_DISABILITY_TRAIT__TITLE_X LAPTOP_SCREEN_UL_X - 111
#define IMP_DISABILITY_TRAIT__TITLE_Y iScreenHeightOffset + 53
#define IMP_DISABILITY_TRAIT__TITLE_WIDTH ( LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X )
#define IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_X 5
#define IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_Y 7
//*******************************************************************
//
// Global Variables
//
//*******************************************************************
BOOLEAN gfIST_Redraw3=FALSE;
BOOLEAN gfDisabilityTraitQuestions[ IMP_DISABILITIES_NUMBER ];
// these are the buttons for the questions
INT32 giIMPDisabilityTraitAnswerButton[ IMP_DISABILITIES_NUMBER ];
INT32 giIMPDisabilityTraitAnswerButtonImage[ IMP_DISABILITIES_NUMBER ];
// this is the Done buttons
INT32 giIMPDisabilityTraitFinsihButton;
INT32 giIMPDisabilityTraitFinsihButtonImage;
//image handle
UINT32 guiIST_GreyGoldBox3;
//*******************************************************************
//
// Function Prototypes
//
//*******************************************************************
void BtnIMPDisabilityTraitAnswerCallback(GUI_BUTTON *btn,INT32 reason);
void BtnIMPDisabilityTraitFinishCallback(GUI_BUTTON *btn,INT32 reason);
void AddImpDisabilityTraitButtons();
void HandleDisabilityTraitButtonStates( );
void HandleIMPDisabilityTraitAnswers( UINT32 uiSkillPressed );
void IMPDisabilityTraitDisplayDisabilityTraits();
BOOLEAN CameBackToDisabilityTraitPageButNotFinished();
//*******************************************************************
//
// Functions
//
//*******************************************************************
void EnterIMPDisabilityTrait( void )
{
VOBJECT_DESC VObjectDesc;
//add the disability trait buttons
AddImpDisabilityTraitButtons();
// load the stats graphic and add it
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\SkillTraitSmallGreyIdent.sti", VObjectDesc.ImageFile);
if( !AddVideoObject(&VObjectDesc, &guiIST_GreyGoldBox3 ) )
{
Assert( 0 );
return;
}
giIMPDisabilityTraitFinsihButtonImage = LoadButtonImage( "LAPTOP\\button_5.sti" ,-1,0,-1,1,-1 );
giIMPDisabilityTraitFinsihButton = CreateIconAndTextButton( giIMPDisabilityTraitFinsihButtonImage, pImpButtonText[ 24 ], FONT12ARIAL,
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
LAPTOP_SCREEN_UL_X + ( 350 ), LAPTOP_SCREEN_WEB_UL_Y + ( 340 ), BUTTON_TOGGLE, MSYS_PRIORITY_HIGH,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPDisabilityTraitFinishCallback );
SetButtonCursor( giIMPDisabilityTraitFinsihButton, CURSOR_WWW);
//if we are not DONE and are just reviewing
if( iCurrentProfileMode != IMP__FINISH )
{
//Have the NONE trait initially selected
gfDisabilityTraitQuestions[ IMP_NO_DISABILITY ] = TRUE;
}
HandleDisabilityTraitButtonStates( );
}
void RenderIMPDisabilityTrait( void )
{
//render the metal background graphic
RenderProfileBackGround();
// Display title
DrawTextToScreen( gzIMPDisabilityTraitText[IMP_DISABILITIES_NUMBER], LAPTOP_SCREEN_UL_X - 111, iScreenHeightOffset + 53, ( LAPTOP_SCREEN_LR_X - LAPTOP_SCREEN_UL_X ), FONT14ARIAL, FONT_MCOLOR_WHITE, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
IMPDisabilityTraitDisplayDisabilityTraits();
}
void ExitIMPDisabilityTrait( void )
{
INT32 iCnt;
DeleteVideoObjectFromIndex( guiIST_GreyGoldBox3 );
//remove the skill buttons
for(iCnt = 0; iCnt < IMP_DISABILITIES_NUMBER; iCnt++)
{
//if there is a button allocated
if( giIMPDisabilityTraitAnswerButton[iCnt] != -1 )
{
RemoveButton(giIMPDisabilityTraitAnswerButton[ iCnt ] );
UnloadButtonImage(giIMPDisabilityTraitAnswerButtonImage[ iCnt ] );
}
}
RemoveButton( giIMPDisabilityTraitFinsihButton );
UnloadButtonImage( giIMPDisabilityTraitFinsihButtonImage );
}
void HandleIMPDisabilityTrait( void )
{
if( gfIST_Redraw3 )
{
RenderIMPDisabilityTrait( );
gfIST_Redraw3 = FALSE;
}
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
}
void AddImpDisabilityTraitButtons()
{
INT32 iCnt = 0;
UINT16 usPosX, usPosY;
usPosX = IMP_DISABILITY_COLUMN_START_X;
usPosY = IMP_DISABILITY_COLUMN_START_Y;
for(iCnt = 0; iCnt < IMP_DISABILITIES_NUMBER; iCnt++)
{
//reset
giIMPDisabilityTraitAnswerButton[iCnt] = -1;
//if we are not DONE and are just reviewing
if( iCurrentProfileMode != IMP__FINISH )
{
gfDisabilityTraitQuestions[ iCnt ] = FALSE;
}
if( iCnt == 0 )
giIMPDisabilityTraitAnswerButtonImage[ iCnt ] = LoadButtonImage( "LAPTOP\\button_6.sti", -1,0,-1,1,-1 );
else
giIMPDisabilityTraitAnswerButtonImage[ iCnt ] = UseLoadedButtonImage( giIMPDisabilityTraitAnswerButtonImage[ 0 ], -1,0,-1,1,-1 );
giIMPDisabilityTraitAnswerButton[iCnt] = QuickCreateButton( giIMPDisabilityTraitAnswerButtonImage[ iCnt ], usPosX, usPosY,
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 3,
MSYS_NO_CALLBACK, (GUI_CALLBACK)BtnIMPDisabilityTraitAnswerCallback);
//Set the button data
MSYS_SetBtnUserData( giIMPDisabilityTraitAnswerButton[iCnt], 0, iCnt );
SetButtonCursor( giIMPDisabilityTraitAnswerButton[iCnt], CURSOR_WWW);
//Get rid of playing the button sound, it will be handled here
//ButtonList[ giIMPDisabilityTraitAnswerButton[ iCnt ] ]->ubSoundSchemeID = 0;
//Determine the next x location
//if( iCnt < IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosX = IMP_DISABILITY_COLUMN_START_X;
//else
// usPosX = IMP_DISABILITY_2ND_COLUMN_START_X;
//Determine the next Y location
//if( iCnt == IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN )
// usPosY = IMP_DISABILITY_2ND_COLUMN_START_Y;
//else
usPosY += IMP_DISABILITY_TRAIT__SPACE_BTN_BUTTONS;
}
}
void BtnIMPDisabilityTraitAnswerCallback(GUI_BUTTON *btn,INT32 reason)
{
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
// btn->uiFlags|=(BUTTON_CLICKED_ON);
INT32 iDisabilityTrait = MSYS_GetBtnUserData( btn, 0 );
HandleIMPDisabilityTraitAnswers( iDisabilityTrait );
}
}
void HandleIMPDisabilityTraitAnswers( UINT32 uiSkillPressed )
{
UINT32 uiCnt;
//if we are DONE and are just reviewing
if( iCurrentProfileMode == IMP__FINISH )
{
return;
}
//reset all other buttons
for( uiCnt=0; uiCnt<IMP_DISABILITIES_NUMBER; uiCnt++ )
{
gfDisabilityTraitQuestions[ uiCnt ] = FALSE;
}
//make sure its a valid disability trait
if( uiSkillPressed > IMP_DISABILITIES_NUMBER )
{
Assert( 0 );
return;
}
//if its allready set
if( gfDisabilityTraitQuestions[ uiSkillPressed ] )
{
//dont need to do anything
return;
}
//Set the skill
gfDisabilityTraitQuestions[ uiSkillPressed ] = TRUE;
//Play the button sound
if( gfDisabilityTraitQuestions[ uiSkillPressed ] )
{
PlayButtonSound( giIMPDisabilityTraitAnswerButton[ uiSkillPressed ], BUTTON_SOUND_CLICKED_ON );
}
else
{
PlayButtonSound( giIMPDisabilityTraitAnswerButton[ uiSkillPressed ], BUTTON_SOUND_CLICKED_OFF );
}
//update buttons
HandleDisabilityTraitButtonStates( );
//redraw the screen
gfIST_Redraw3 = TRUE;
}
void HandleDisabilityTraitButtonStates( )
{
UINT32 uiCnt;
for( uiCnt=0; uiCnt<IMP_DISABILITIES_NUMBER; uiCnt++ )
{
//if the skill is selected ( ie depressed )
if( gfDisabilityTraitQuestions[ uiCnt ] )
{
ButtonList[ giIMPDisabilityTraitAnswerButton[ uiCnt ] ]->uiFlags |= BUTTON_CLICKED_ON;
}
else
{
ButtonList[ giIMPDisabilityTraitAnswerButton[ uiCnt ] ]->uiFlags &= ~BUTTON_CLICKED_ON;
}
}
}
void IMPDisabilityTraitDisplayDisabilityTraits()
{
UINT32 uiCnt;
UINT16 usPosX, usPosY;
UINT16 usBoxPosX, usBoxPosY;
HVOBJECT hImageHandle;
//Display the title
//DrawTextToScreen( gzIMPSkillTraitsText[ IMP_DISABILITY_TRAIT__TITLE_TEXT ], IMP_DISABILITY_TRAIT__TITLE_X, IMP_DISABILITY_TRAIT__TITLE_Y, IMP_DISABILITY_TRAIT__TITLE_WIDTH, IMP_DISABILITY_TRAIT__TITLE_FONT, IMP_DISABILITY_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, CENTER_JUSTIFIED );
// Stats
GetVideoObject(&hImageHandle, guiIST_GreyGoldBox3 );
usPosX = IMP_DISABILITY_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X;
usPosY = IMP_DISABILITY_COLUMN_START_Y + IMP_DISABILITY_TRAIT__TEXT_OFFSET_Y;
for( uiCnt=0; uiCnt<IMP_DISABILITIES_NUMBER; uiCnt++ )
{
usBoxPosX = usPosX - IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_X;
usBoxPosY = usPosY - IMP_DISABILITY_TRAIT__GREY_BOX_OFFSET_Y;
//if the trait is selected
if( gfDisabilityTraitQuestions[ uiCnt ] )
{
//Display the gold background box
BltVideoObject(FRAME_BUFFER, hImageHandle, 1, usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL);
}
else
{
//Display the grey background box
BltVideoObject(FRAME_BUFFER, hImageHandle, 0,usBoxPosX, usBoxPosY, VO_BLT_SRCTRANSPARENCY,NULL);
}
//draw the text to the screenx
DrawTextToScreen( gzIMPDisabilityTraitText[ uiCnt ], usPosX, usPosY, 0, IMP_DISABILITY_TRAIT__FONT, IMP_DISABILITY_TRAIT__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
//Determine the next x location
// if( uiCnt < IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN )
usPosX = IMP_DISABILITY_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X;
//else
// usPosX = IMP_DISABILITY_2ND_COLUMN_START_X + IMP_DISABILITY_TRAIT__TEXT_OFFSET_X;
//Determine the next Y location
//if( uiCnt == IMP_DISABILITY_TRAIT_NUMBER_TO_START_2ND_COLUMN )
// usPosY = IMP_DISABILITY_2ND_COLUMN_START_Y + IMP_DISABILITY_TRAIT__TEXT_OFFSET_Y;
//else
usPosY += IMP_DISABILITY_TRAIT__SPACE_BTN_BUTTONS;
}
}
void BtnIMPDisabilityTraitFinishCallback(GUI_BUTTON *btn,INT32 reason)
{
if (!(btn->uiFlags & BUTTON_ENABLED))
return;
if( reason & MSYS_CALLBACK_REASON_LBUTTON_DWN )
{
btn->uiFlags|=(BUTTON_CLICKED_ON);
//if we are just reviewing the page
if( iCurrentProfileMode == IMP__FINISH )
{
//go back tot he done screen
iCurrentImpPage = IMP_FINISH;
}
else
{
iCurrentImpPage = IMP_MAIN_PAGE;
if( CameBackToDisabilityTraitPageButNotFinished() )
{
}
else
{
if ( iCurrentProfileMode != IMP__FINISH )
iCurrentProfileMode = IMP__PERSONALITY;
else
iCurrentProfileMode = IMP__FINISH;
}
}
}
}
BOOLEAN CameBackToDisabilityTraitPageButNotFinished()
{
//if we are in a page that comes after this one
if( iCurrentProfileMode == IMP__ATTRIBUTES || iCurrentProfileMode == IMP__PERSONALITY )
{
return( TRUE );
}
else
{
return( FALSE );
}
}
INT8 iChosenDisabilityTrait()
{
UINT32 uiCnt;
INT8 iDisabilityTraitNumber = 0;
//loop through all the buttons and reset them
for( uiCnt=0; uiCnt<IMP_DISABILITIES_NUMBER; uiCnt++ )
{
//if the trait is selected
if( gfDisabilityTraitQuestions[ uiCnt ] )
{
iDisabilityTraitNumber = uiCnt;
}
}
return( iDisabilityTraitNumber );
}
INT8 iPlayersAttributePointsBonusForDisabilitySelected()
{
INT8 bExtraAttributePoints = 0;
//if there is any disability selected, give a bonus to attributes (counted there)
if( ( iChosenDisabilityTrait() > 0 ) && ( iChosenDisabilityTrait() <= IMP_DISABILITIES_NUMBER ) )
{
bExtraAttributePoints = gGameExternalOptions.iBonusPointsForDisability;
}
else
{
bExtraAttributePoints = 0;
}
return( bExtraAttributePoints );
}
+31
View File
@@ -0,0 +1,31 @@
#ifndef __IMP_DISABILITY_TRAIT__H_
#define __IMP_DISABILITY_TRAIT__H_
#include "Types.h"
void EnterIMPDisabilityTrait( void );
void RenderIMPDisabilityTrait( void );
void ExitIMPDisabilityTrait( void );
void HandleIMPDisabilityTrait( void );
//enum
//{
typedef enum
{
IMP_NO_DISABILITY = 0,
IMP_DISABILITY_HEAT_INTOLERANT,
IMP_DISABILITY_NERVOUS,
IMP_DISABILITY_CLAUSTROPHOBIC,
IMP_DISABILITY_NONSWIMMER,
IMP_DISABILITY_FEAR_OF_INSECTS,
IMP_DISABILITY_FORGETFUL,
IMP_DISABILITY_PSYCHO,
IMP_DISABILITIES_NUMBER,
};
INT8 iChosenDisabilityTrait();
INT8 iPlayersAttributePointsBonusForDisabilitySelected();
STR16 gzIMPDisabilityText[];
#endif
+3 -1
View File
@@ -215,7 +215,9 @@ void CreateIMPFinishButtons( void )
SpecifyButtonIcon( giIMPFinishButton[ 4 ], guiCHARACTERPORTRAIT, 0,
33, 23, FALSE );
swprintf( sString, pImpButtonText[ 5 ], GetVoiceCountFromVoiceSlot(iCurrentVoice));
// Canged to display "Character" - SANDRO
//swprintf( sString, pImpButtonText[ 5 ], GetVoiceCountFromVoiceSlot(iCurrentVoice));
swprintf( sString, pImpButtonText[ 25 ]);
// the voice button
giIMPFinishButtonImage[5]= LoadButtonImage( "LAPTOP\\button_8.sti" ,-1,0,-1,1,-1 );
+12 -9
View File
@@ -464,14 +464,15 @@ void CreateIMPMainPageButtons( void )
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPMainPageVoiceCallback);
*/
if( iCurrentProfileMode != IMP__VOICE && iCurrentProfileMode != IMP__PORTRAIT )
{
swprintf( sString, pImpButtonText[ 5 ], GetVoiceCountFromVoiceSlot(iCurrentVoice) );
}
else
{
swprintf( sString, pImpButtonText[ 25 ] );
}
// Changed to display "Character" instead of "Voice" - SANDRO
//if( iCurrentProfileMode != IMP__VOICE && iCurrentProfileMode != IMP__PORTRAIT )
//{
// swprintf( sString, pImpButtonText[ 5 ], GetVoiceCountFromVoiceSlot(iCurrentVoice) );
//}
//else
//{
swprintf( sString, pImpButtonText[ 25 ] ); // "Character"
//}
//Voice
giIMPMainPageButton[5] = CreateIconAndTextButton( giIMPMainPageButtonImage[ 5 ], sString, FONT12ARIAL,
@@ -740,7 +741,9 @@ void BtnIMPMainPageVoiceCallback(GUI_BUTTON *btn,INT32 reason)
if (btn->uiFlags & BUTTON_CLICKED_ON)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
iCurrentImpPage = IMP_VOICE;
// changed to go to character analysis - SANDRO
iCurrentImpPage = IMP_CHARACTER_AND_DISABILITY_ENTRANCE;
//iCurrentImpPage = IMP_VOICE;
fButtonPendingFlag = TRUE;
}
}
+9 -4
View File
@@ -227,7 +227,7 @@ void CreateIMPPortraitButtons( void )
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPPortraitDoneCallback );
*/
giIMPPortraitButton[ 2 ] = CreateIconAndTextButton( giIMPPortraitButtonImage[ 2 ], pImpButtonText[ 11 ], FONT12ARIAL,
giIMPPortraitButton[ 2 ] = CreateIconAndTextButton( giIMPPortraitButtonImage[ 2 ], pImpButtonText[ 13 ], FONT12ARIAL, // changed text on button to [13]("Next") - SANDRO
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
@@ -331,8 +331,13 @@ void BtnIMPPortraitDoneCallback(GUI_BUTTON *btn,INT32 reason)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
// Changed to go to voice selection after portrait selection - SANDRO
iCurrentImpPage = IMP_VOICE;
// Following part has been cut out
// go to main page
iCurrentImpPage = IMP_MAIN_PAGE;
//iCurrentImpPage = IMP_MAIN_PAGE;
/*
// current mode now is voice
if( iCurrentProfileMode < IMP__VOICE )
@@ -341,7 +346,7 @@ void BtnIMPPortraitDoneCallback(GUI_BUTTON *btn,INT32 reason)
}
*/
// if we are already done, leave
if( iCurrentProfileMode == IMP__FINISH )
/* if( iCurrentProfileMode == IMP__FINISH )
{
iCurrentImpPage = IMP_FINISH;
}
@@ -356,7 +361,7 @@ void BtnIMPPortraitDoneCallback(GUI_BUTTON *btn,INT32 reason)
{
iCurrentProfileMode = IMP__VOICE;
}
}
}*/
// grab picture number
if( fCharacterIsMale )
+11 -8
View File
@@ -19,6 +19,8 @@
#include "CharProfile.h"
#include "soldier profile type.h"
#include "IMP Compile Character.h"
#include "GameSettings.h" // added by SANDRO
#include "IMP Color Choosing.h" // added by SANDRO
#endif
@@ -84,8 +86,6 @@ INT32 giIMPSkillTraitAnswerButtonImage[ IMP_SKILL_TRAITS__NUMBER_SKILLS ];
INT32 giIMPSkillTraitFinsihButton;
INT32 giIMPSkillTraitFinsihButtonImage;
//BOOLEAN gfSkillTraitButtonChanged=FALSE;
#define IST__NUM_SELECTABLE_TRAITS 2
@@ -256,7 +256,7 @@ void AddImpSkillTraitButtons()
SetButtonCursor( giIMPSkillTraitAnswerButton[iCnt], CURSOR_WWW);
//Get rid of playing the button sound, it will be handled here
ButtonList[ giIMPSkillTraitAnswerButton[ iCnt ] ]->ubSoundSchemeID = 0;
//ButtonList[ giIMPSkillTraitAnswerButton[ iCnt ] ]->ubSoundSchemeID = 0; // - This would disable the sounds totally resulted to play no sound - SANDRO
//Determine the next x location
if( iCnt < IMP_SKILL_TRAIT__SKILL_TRAIT_TO_START_RIGHT_COL )
@@ -569,7 +569,8 @@ INT8 DoesPlayerHaveExtraAttibutePointsToDistributeBasedOnSkillSelection()
//if there NONE selected
if( bNumSkills == 0 )
{
bExtraPoints = 10;
// Externilized bonus for not taking skills - SANDRO
bExtraPoints = 2 * (gGameExternalOptions.iBonusPointsPerSkillNotTaken);
}
//if there is 1 trait selected
@@ -577,10 +578,11 @@ INT8 DoesPlayerHaveExtraAttibutePointsToDistributeBasedOnSkillSelection()
{
//if the trait is not the ones you cant be expert in )
if( gfSkillTraitQuestions[ IMP_SKILL_TRAITS__ELECTRONICS ] ||
gfSkillTraitQuestions[ IMP_SKILL_TRAITS__AMBIDEXTROUS ] ||
gfSkillTraitQuestions[ IMP_SKILL_TRAITS__CAMO ] )
gfSkillTraitQuestions[ IMP_SKILL_TRAITS__AMBIDEXTROUS ] ) // Actually camo skill can be achived at expert level, although it does nothing now - SANDRO
// || gfSkillTraitQuestions[ IMP_SKILL_TRAITS__CAMO ] )
{
bExtraPoints = 5;
// Externilized bonus for not taking skills - SANDRO
bExtraPoints = gGameExternalOptions.iBonusPointsPerSkillNotTaken;
}
else
{
@@ -601,7 +603,8 @@ INT8 DoesPlayerHaveExtraAttibutePointsToDistributeBasedOnSkillSelection()
BOOLEAN ShouldTraitBeSkipped( UINT32 uiTrait )
{
if( uiTrait == IMP_SKILL_TRAITS__MARTIAL_ARTS && !fCharacterIsMale )
// added a check to not offer martial arts to big mercs - SANDRO
if( uiTrait == IMP_SKILL_TRAITS__MARTIAL_ARTS && (!fCharacterIsMale || bBigBodySelected()) )
return( TRUE );
else
return( FALSE );
+11 -4
View File
@@ -180,8 +180,14 @@ void PrintImpText( void )
break;
case ( IMP_PERSONALITY ):
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 60, ( 456 - 200 ), IMP_PERS_1, FONT12ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED);
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 130, ( 456 - 200 ), IMP_PERS_2, FONT12ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED);
// SANDRO - I HAVE CHANGED THESE TO BE ABLE TO EDIT THE TEXTS BEFORE SKILL TRAITS (THE TEXTS ARE ABOVE HERE)
// EVEN IF IT IS A LITTLE STUPID WAY, I HAVEN'T FOUND A WAY HOW TO EDIT IMPtext.edt..
// THE TEXTS OF "pSkillTraitBeginIMPStrings" ARE IN "_EnglishText.cpp" at the end
//LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 60, ( 456 - 200 ), IMP_PERS_1, FONT12ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED);
//LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 130, ( 456 - 200 ), IMP_PERS_2, FONT12ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED);
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 57, ( 456 - 200 ), 2, FONT12ARIAL, FONT_WHITE, pSkillTraitBeginIMPStrings[ 0 ],FONT_BLACK,FALSE,CENTER_JUSTIFIED);
DisplayWrappedString( LAPTOP_SCREEN_UL_X + 130, LAPTOP_SCREEN_WEB_UL_Y + 150, ( 456 - 200 ), 2, FONT12ARIAL, FONT_WHITE, pSkillTraitBeginIMPStrings[ 1 ],FONT_BLACK,FALSE,CENTER_JUSTIFIED);
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X - 111, LAPTOP_SCREEN_WEB_UL_Y + 7, sWidth, IMP_PERS_6, FONT14ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED );
@@ -220,8 +226,9 @@ void PrintImpText( void )
case( IMP_ATTRIBUTE_PAGE ):
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X - 111, LAPTOP_SCREEN_WEB_UL_Y + 7, sWidth, IMP_ATTRIB_1 - 1, FONT14ARIAL, FONT_WHITE, TRUE, CENTER_JUSTIFIED);
// Moved this to "IMP Attribute Selection.cpp" - SANDRO
// don't blit bonus if reviewing
if( fReviewStats != TRUE )
/*if( fReviewStats != TRUE )
{
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 355, LAPTOP_SCREEN_WEB_UL_Y + 51, ( 640 ), IMP_ATTRIB_SA_2 - 1, FONT12ARIAL, FONT_WHITE, TRUE, 0);
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 56, LAPTOP_SCREEN_WEB_UL_Y + 33, ( 240 ), IMP_ATTRIB_SA_15, FONT10ARIAL, FONT_WHITE, TRUE, 0);
@@ -229,7 +236,7 @@ void PrintImpText( void )
else
{
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 56, LAPTOP_SCREEN_WEB_UL_Y + 33, ( 240 ), IMP_ATTRIB_SA_18, FONT10ARIAL, FONT_WHITE, TRUE, 0);
}
}*/
// stats
// health
LoadAndDisplayIMPText( LAPTOP_SCREEN_UL_X + 60, LAPTOP_SCREEN_WEB_UL_Y + SKILL_SLIDE_START_Y + 0 * SKILL_SLIDE_HEIGHT, ( 100 ), IMP_ATTRIB_SA_6 - 1, FONT12ARIAL, FONT_WHITE, TRUE, RIGHT_JUSTIFIED);
+1
View File
@@ -15,6 +15,7 @@ extern STR16 pImpButtonText[];
// extra strings not found in IMP Text Document
extern STR16 pExtraIMPStrings[];
extern STR16 pSkillTraitBeginIMPStrings[]; // added - SANDRO
enum{
IMP_HOME_1,
+7 -3
View File
@@ -251,7 +251,7 @@ void CreateIMPVoicesButtons( void )
BUTTON_TOGGLE, MSYS_PRIORITY_HIGHEST - 1,
BtnGenericMouseMoveButtonCallback, (GUI_CALLBACK)BtnIMPVoicesDoneCallback );
*/
giIMPVoicesButton[ 2 ] = CreateIconAndTextButton( giIMPVoicesButtonImage[ 2 ], pImpButtonText[ 11 ], FONT12ARIAL,
giIMPVoicesButton[ 2 ] = CreateIconAndTextButton( giIMPVoicesButtonImage[ 2 ], pImpButtonText[ 13 ], FONT12ARIAL, // changed text on button to [13]("Next") - SANDRO
FONT_WHITE, DEFAULT_SHADOW,
FONT_WHITE, DEFAULT_SHADOW,
TEXT_CJUSTIFIED,
@@ -377,8 +377,12 @@ void BtnIMPVoicesDoneCallback(GUI_BUTTON *btn,INT32 reason)
{
btn->uiFlags&=~(BUTTON_CLICKED_ON);
// Changed to continue to color choosing - SANDRO
iCurrentImpPage = IMP_COLOR_CHOICE_PAGE;
// Following part removed
// go to main page
iCurrentImpPage = IMP_MAIN_PAGE;
/*iCurrentImpPage = IMP_MAIN_PAGE;
// if we are already done, leave
if( iCurrentProfileMode == IMP__FINISH )
@@ -395,7 +399,7 @@ void BtnIMPVoicesDoneCallback(GUI_BUTTON *btn,INT32 reason)
{
iCurrentProfileMode = IMP__PERSONALITY;
}
}
}*/
/*
// current mode now is voice
else if( iCurrentProfileMode < IMP__PORTRAIT )
+76 -1
View File
@@ -56,7 +56,9 @@ UINT32 guiA2INDENT;
UINT32 guiAVGMERCINDENT;
UINT32 guiABOUTUSINDENT;
UINT32 guiSHORT2HINDENT;
// These 2 added - SANDRO
UINT32 guiASTARTLEVEL;
UINT32 guiCOLORCHOICEFRAME;
// position defines
#define CHAR_PROFILE_BACKGROUND_TILE_WIDTH 125
@@ -1417,8 +1419,81 @@ void RenderQtnShort2IndentHighFrame(INT16 sX, INT16 sY)
return;
}
// Following procedures added - SANDRO
BOOLEAN LoadAttribStartingLevelFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\STARTINGLEVELBAR.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiASTARTLEVEL));
return (TRUE);
}
void DeleteAttribStartingLevelFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiASTARTLEVEL );
return;
}
void RenderAttribStartingLevelFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiASTARTLEVEL);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, LAPTOP_SCREEN_UL_X + sX, LAPTOP_SCREEN_WEB_UL_Y + sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
BOOLEAN LoadColorChoiceFrame( void )
{
// this procedure will load the activation indent into memory
VOBJECT_DESC VObjectDesc;
VObjectDesc.fCreateFlags=VOBJECT_CREATE_FROMFILE;
FilenameForBPP("LAPTOP\\COLORCHOICEFRAME.sti", VObjectDesc.ImageFile);
CHECKF(AddVideoObject(&VObjectDesc, &guiCOLORCHOICEFRAME));
return (TRUE);
}
void DeleteColorChoiceFrame( void )
{
// remove activation indent symbol
DeleteVideoObjectFromIndex( guiCOLORCHOICEFRAME );
return;
}
void RenderColorChoiceFrame(INT16 sX, INT16 sY)
{
HVOBJECT hHandle;
// get the video object
GetVideoObject(&hHandle, guiCOLORCHOICEFRAME);
// blt to sX, sY relative to upper left corner
BltVideoObject(FRAME_BUFFER, hHandle, 0, sX, sY , VO_BLT_SRCTRANSPARENCY,NULL);
return;
}
+9
View File
@@ -144,6 +144,15 @@ void RenderAboutUsIndentFrame(INT16 sX, INT16 sY);
void RenderAttributeFrameForIndex( INT16 sX, INT16 sY, INT32 iIndex );
// Added by SANDRO
BOOLEAN LoadAttribStartingLevelFrame( void );
void DeleteAttribStartingLevelFrame( void );
void RenderAttribStartingLevelFrame(INT16 sX, INT16 sY);
// Added by SANDRO
BOOLEAN LoadColorChoiceFrame( void );
void DeleteColorChoiceFrame( void );
void RenderColorChoiceFrame(INT16 sX, INT16 sY);
// graphical handles
+33 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Version="8,00"
Name="Laptop_2005Express"
ProjectGUID="{5234CD2E-97F1-42FF-828D-CE0A1B46805E}"
RootNamespace="Laptop_2005Express"
@@ -408,6 +408,18 @@
RelativePath=".\IMP Begin Screen.h"
>
</File>
<File
RelativePath=".\IMP Character and Disability Entrance.h"
>
</File>
<File
RelativePath=".\IMP Character Trait.h"
>
</File>
<File
RelativePath=".\IMP Color Choosing.h"
>
</File>
<File
RelativePath=".\IMP Compile Character.h"
>
@@ -416,6 +428,10 @@
RelativePath=".\IMP Confirm.h"
>
</File>
<File
RelativePath=".\IMP Disability Trait.h"
>
</File>
<File
RelativePath=".\IMP Finish.h"
>
@@ -662,6 +678,18 @@
RelativePath=".\IMP Begin Screen.cpp"
>
</File>
<File
RelativePath=".\IMP Character and Disability Entrance.cpp"
>
</File>
<File
RelativePath=".\IMP Character Trait.cpp"
>
</File>
<File
RelativePath=".\IMP Color Choosing.cpp"
>
</File>
<File
RelativePath=".\IMP Compile Character.cpp"
>
@@ -670,6 +698,10 @@
RelativePath=".\IMP Confirm.cpp"
>
</File>
<File
RelativePath=".\IMP Disability Trait.cpp"
>
</File>
<File
RelativePath=".\IMP Finish.cpp"
>
+32
View File
@@ -407,6 +407,18 @@
RelativePath="IMP Begin Screen.h"
>
</File>
<File
RelativePath=".\IMP Character and Disability Entrance.h"
>
</File>
<File
RelativePath=".\IMP Character Trait.h"
>
</File>
<File
RelativePath=".\IMP Color Choosing.h"
>
</File>
<File
RelativePath="IMP Compile Character.h"
>
@@ -415,6 +427,10 @@
RelativePath="IMP Confirm.h"
>
</File>
<File
RelativePath=".\IMP Disability Trait.h"
>
</File>
<File
RelativePath="IMP Finish.h"
>
@@ -663,6 +679,18 @@
RelativePath="IMP Begin Screen.cpp"
>
</File>
<File
RelativePath=".\IMP Character and Disability Entrance.cpp"
>
</File>
<File
RelativePath=".\IMP Character Trait.cpp"
>
</File>
<File
RelativePath=".\IMP Color Choosing.cpp"
>
</File>
<File
RelativePath="IMP Compile Character.cpp"
>
@@ -671,6 +699,10 @@
RelativePath="IMP Confirm.cpp"
>
</File>
<File
RelativePath=".\IMP Disability Trait.cpp"
>
</File>
<File
RelativePath="IMP Finish.cpp"
>
+2 -1
View File
@@ -1814,7 +1814,8 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
//jones
extern void SoldierTooltip(SOLDIERTYPE*);
if ( gGameExternalOptions.gfAllowSoldierToolTips )
//if ( gGameExternalOptions.gfAllowSoldierToolTips ) // changed by SANDRO
if ( gGameSettings.fOptions[TOPTION_ALLOW_SOLDIER_TOOLTIPS] )
SoldierTooltip(pSoldier);
SetFont( TINYFONT1 );
+10
View File
@@ -164,6 +164,16 @@ extern STR16 gzCWStrings[];
extern STR16 gzTooltipStrings[];
// These have been added - SANDRO
extern STR16 pSkillTraitBeginIMPStrings[];
extern STR16 sgAttributeSelectionText[];
extern STR16 pCharacterTraitBeginIMPStrings[];
extern STR16 gzIMPCharacterTraitText[];
extern STR16 gzIMPColorChoosingText[];
extern STR16 sColorChoiceExplanationTexts[];
extern STR16 gzIMPDisabilityTraitText[];
//****
enum
{
ANTIHACKERSTR_EXITGAME,
+78 -8
View File
@@ -2299,7 +2299,7 @@ STR16 pImpButtonText[] =
L"开始", // begin profiling
L"性格", // personality section
L"属性", // personal stats/attributes section
L"肖像", // the personal portrait selection
L"外表", // changed from portrait - SANDRO
L"嗓音%d", // the voice selection
L"完成", // done profiling
L"重新开始", // start over profiling
@@ -2320,15 +2320,16 @@ STR16 pImpButtonText[] =
L"注册", // the IMP site registry..when name and gender is selected
L"分析...", // analyzing your profile results
L"完成",
L"嗓音",
L"性格特征", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"现在嗓音选好了,接着选择您所掌握的技能。",
L"最后选择你的属性完成注册",
L"开始实际分析,选择您的肖像",
L"接着选择与您最相似的嗓音",
// These texts have been also slightly changed - SANDRO
L"选择完角色性格特征之后,接着选择您所掌握的技能",
L"最后调整好你的各项属性值完成整个自创角色过程。",
L"开始实际分析,请先选择头像、声音和颜色",
L"初步阶段完成,现在开始角色性格特征分析部分。",
};
STR16 pFilesTitle[] =
@@ -3689,7 +3690,7 @@ STR16 zOptionsToggleText[] =
L"单发曳光弹显示曳光", //"Tracer effect for single shot",
L"雨声", //"Rain noises",
L"允许乌鸦", //"Allow crows",
L"随机产生I.M.P人物性格", //"Random I.M.P personality",
L"允许士兵工具提示", // Changed from "Random I.M.P personality" - SANDRO
L"自动存盘", //"Auto save",
L"沉默的Skyrider", //"Silent Skyrider",
L"降低CPU的使用率", //"Low CPU usage",
@@ -3784,7 +3785,7 @@ STR16 zOptionsScreenHelpText[] =
L"当打开时,单发曳光弹也显示曳光。",
L"当打开时,下雨时能听到雨水音效。", //"When ON, you will hear rain noises when it is raining.",
L"当打开时,允许乌鸦出现。",
L"打开时, I.M.P人物的性格和属性为随机生成", //"When ON, I.M.P characters will get random personality and attitude.",
L"启用时,把光标定位在敌人身上并且按下 |A|l|t 键会显示一个提示工具窗口", // - Changed from random IMP personality - SANDRO
L"当打开时,游戏将在玩家回合后自动存盘",
L"当打开时,Skyrider将保持沉默。",
L"当打开时,游戏将使用更少的CPU资源。",
@@ -4788,4 +4789,73 @@ STR16 ChineseSpecString5 = L"%s [%d%]\n%s %d\n%s %d\n%s %1.1f %s";
STR16 ChineseSpecString6 = L"%s [%d%]\n%s %d% (%d/%d)\n%s %d%\n%s %1.1f %s";
STR16 ChineseSpecString7 = L"%s [%d%]\n%s %1.1f %s";
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"下一页你将会选择你所创造的佣兵的特长,请留意你最多能够选择两种特长,当你只选择一种特长时,该特长将会升级成为专家特长。除了电子和双手持枪之外,这两种是没有专家级的,请特别留意。",
L"你也可以选择什么特长也不要,作为补偿,你会得到更多的创造点数可以增加你的佣兵的各项能力数值。",
};
STR16 sgAttributeSelectionText[] =
{
L"请 按 照 你 对 自 己 的 感 觉 , 调 整 你 的 各 项 能 力 值 。 各 项 能 力 值 的 最 大 值 为 ",
L"IMP能力值和技能概览。",
L"奖励点数 :",
L"开始等级",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. 性格分析",
L"现在开始你个人档案的建立,在第一页会有一些性格特质给你的角色选择,可能你会发觉列出的选择未能完全反映你的性格,但是请至少选择一样你认为最接近你的。",
L"下面来设定你性格上的缺陷,相信自己做一个诚实的孩子吧!每个人至少都有一种缺陷的。真实反映有助于让你的未来雇主更能了解你的潜力,避免给你安排不利的工作环境。",
};
STR16 gzIMPCharacterTraitText[]=
{
L"平常",
L"友善",
L"独行侠",
L"乐观主义者",
L"悲观主义者",
L"有侵略性",
L"傲慢自大",
L"大人物",
L"神憎鬼厌",
L"胆小鬼",
L"I.M.P. 性格特征",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. 颜色及身型",
L"I.M.P. 颜色",
L"请选择你喜欢的IMP发色、肤色、服装颜色以及体型。",
L"请选择你喜欢的IMP发色、肤色、服装颜色。",
L"点选这里佣兵将单手持大枪",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"头色",
L"肤色",
L"上衣颜色",
L"裤子颜色",
L"一般体型",
L"魔鬼身材",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"身心健全",
L"怕热",
L"神经质",
L"幽闭恐怖症",
L"旱鸭子",
L"怕虫",
L"健忘",
L"神经错乱",
L"I.M.P. 性格缺陷",
};
#endif //CHINESE
+78 -8
View File
@@ -2285,7 +2285,7 @@ STR16 pImpButtonText[] =
L"BEGIN", // begin profiling ("BEGIN")
L"Persoonlijkheid", // personality section ("Personality")
L"Eigenschappen", // personal stats/attributes section ("Attributes")
L"Portret", // the personal portrait selection ("Portrait")
L"Appearance", // changed from portrait - SANDRO
L"Stem %d", // the voice selection ("Voice %d")
L"OK", // done profiling ("Done")
L"Opnieuw", // start over profiling ("Start Over")
@@ -2306,15 +2306,16 @@ STR16 pImpButtonText[] =
L"Registratie", // the IMP site registry..when name and gender is selected
L"Analyseren", // analyzing your profile results
L"OK",
L"Stem", // "Voice"
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Selecteer Persoonlijkheid om eigenlijke onderzoek te starten.",
L"Nu het onderzoek compleet is, selecteer je eigenschappen.",
L"Nu de eigenschappen gekozen zijn, kun je verder gaan met de portretselectie.",
L"Selecteer de stem die het best bij je past om het proces te voltooien.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3676,7 +3677,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Auto save",
L"Silent Skyrider",
L"Low CPU Usage",
@@ -3771,7 +3772,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"When ON, game will be saved after each players turn.",
L"When ON, Skyrider will not talk anymore.",
L"When ON, game will run with much lower CPU usage.",
@@ -4765,4 +4766,73 @@ STR16 gzMPChatboxText[] =
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //DUTCH
+78 -7
View File
@@ -2299,7 +2299,7 @@ STR16 pImpButtonText[] =
L"BEGIN", // begin profiling
L"Skills", // personality section
L"Attributes", // personal stats/attributes section
L"Portrait", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Voice %d", // the voice selection
L"Done", // done profiling
L"Start Over", // start over profiling
@@ -2320,15 +2320,16 @@ STR16 pImpButtonText[] =
L"Registry", // the IMP site registry..when name and gender is selected
L"Analyzing", // analyzing your profile results
L"OK",
L"Voice",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"With the voice now selected, it is time to select your skills.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait.",
L"Now that you have completet your portrait choice, select the voice sample that best fits you.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3689,7 +3690,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Auto save",
L"Silent Skyrider",
L"Low CPU usage",
@@ -3784,7 +3785,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"When ON, game will be saved after each players turn.",
L"When ON, Skyrider will not talk anymore.",
L"When ON, game will run with much lower CPU usage.",
@@ -4778,4 +4779,74 @@ STR16 gzMPChatboxText[] =
L"Multiplayer Chat",
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //ENGLISH
+78 -8
View File
@@ -2300,7 +2300,7 @@ STR16 pImpButtonText[] =
L"COMMENCER", // begin profiling
L"Personnalité", // personality section
L"Caractéristiques", // personal stats/attributes section
L"Portrait", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Voix %d", // the voice selection
L"OK", // done profiling
L"Recommencer", // start over profiling
@@ -2321,15 +2321,16 @@ STR16 pImpButtonText[] =
L"Registre", // the IMP site registry..when name and gender is selected
L"Analyse", // analyzing your profile results
L"OK",
L"Voix",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Pour lancer l'analyse, cliquez sur Personnalité.",
L"Cliquez maintenant sur Caractéristiques.",
L"Passons maintenant à la galerie de portraits.",
L"Pour que l'analyse soit complète, choisissez une voix.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3690,7 +3691,7 @@ STR16 zOptionsToggleText[] =
L"Balle Traçante pour tir simple",
L"Son de pluie",
L"Afficher corbeaux",
L"Personnalité I.M.P aléatiore",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Sauvegarde auto",
L"Silence Skyrider !",
L"Faible consommation processeur",
@@ -3785,7 +3786,7 @@ STR16 zOptionsScreenHelpText[] =
L"Si activé, les effets de traçantes sont affichés pour les tir simples.",
L"Si activé, le son de pluie est audible quand il pleut.",
L"Si activé, les corbeaux sont présents dans le jeu.",
L"Si activé, le(s) personnage(s) IMP sont affectés d'une personnalité aléatoire.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"Si activé, le jeu est sauvegardé à chaque nouveau tour joueur.",
L"Si activé, les confirmations insistantes de Skyrider cessent.",
L"Si activé, le jeu restreint l'utilisation du processeur.",
@@ -4779,4 +4780,73 @@ STR16 gzMPChatboxText[] =
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //FRENCH
+80 -9
View File
@@ -2213,7 +2213,7 @@ STR16 pImpButtonText[] =
L"BEGINNEN", // begin profiling
L"Persönlichkeiten", // personality section
L"Eigenschaften", // personal stats/attributes section
L"Porträt", // the personal portrait selection
L"Aussehen", // changed from portrait - SANDRO
L"Stimme %d", // the voice selection
L"Fertig", // done profiling
L"Von vorne anfangen", // start over profiling
@@ -2234,15 +2234,16 @@ STR16 pImpButtonText[] =
L"Registrieren", // the IMP site registry..when name and gender is selected
L"Analyse wird durchgeführt", // analyzing your profile results
L"OK",
L"Stimme",
L"Charakter", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Nachdem Sie nun die Stimme bestimmt haben, ist es an der Zeit die Persönlichkeiten auszuwählen.",
L"Wählen Sie abschließend Ihre Eigenschaften aus.",
L"Um mit der Evaluierung zu beginnen wählen Sie ein Porträt aus.",
L"Nachdem Sie nun Ihr Porträt ausgewählt haben, wählen Sie die Stimme aus, die Ihnen am nächsten kommt.",
// These texts have been also slightly changed - SANDRO
L"Nach Festlegung Ihres Charakters, können Sie Ihre Fertigkeit(en) auswählen.",
L"Um die Evaluation erfolgreich abzuschließen, bestimmen Sie Ihre Eigenschaften.",
L"Um Ihr Profil zu erstellen, wählen Sie ein(e) Portrait, Stimme aus und definieren Erscheinung und Äußeres.",
L"Jetzt, da Sie Ihr Aussehen bestimmt haben, fahren wir mit der Charakter-Analyse fort.",
};
STR16 pFilesTitle[] =
@@ -3495,14 +3496,14 @@ STR16 zOptionsToggleText[] =
L"Tracereffekte für Einzelschüsse",
L"Regengeräusche",
L"Krähen erlauben",
L"Zufällige B.S.E Persönlichkeiten",
L"Tooltips über Gegner", // Changed from "Random I.M.P personality" - SANDRO
L"Automatisch speichern",
L"Stummer Skyrider",
L"Niedrige CPU Belastung",
L"Erw. Gegenstandsinfo (EDB)",
L"Erzwungener Runden-Modus", // add forced turn mode
L"--Cheat Mode Optionen--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER,
L"Erwzinge Bobby Ray Lieferungen", // force all pending Bobby Ray shipments
L"Erzwinge Bobby Ray Lieferungen", // force all pending Bobby Ray shipments
L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END
L"--DEBUG OPTIONEN--", // an example options screen options header (pure text)
L"ALLE Einstellungen rücksetzen", // failsafe show/hide option to reset all options
@@ -3590,7 +3591,7 @@ STR16 zOptionsScreenHelpText[] =
L"Wenn diese Funktion aktiviert ist, wird Tracereffekt auch für Einzelschüsse angezeigt.",
L"Wenn diese Funktion aktiviert ist, werden Regengeräusche hörbar, sobald es regnet.",
L"Wenn diese Funktion aktiviert ist, sind Krähen im Spiel vorhanden.",
L"Wenn diese Funktion aktiviert ist, erhalten B.S.E Charaktere zufällige Persönlichkeiten und Gesinnungen.",
L"Wenn diese Funktion aktiviert ist, erscheint ein Tooltip Fenster über dem Gegner, bei gleichzeitigem Drücken von |A|l|t und Halten des Cursors über dem Feind.", // - Changed from random IMP personality - SANDRO
L"Wenn diese Funktion aktiviert ist, wird nach jeder Runde automatisch gespeichert.",
L"Wenn diese Funktion aktiviert ist, wird Skyrider nichts mehr sprechen.",
L"Wenn diese Funktion aktiviert ist, wird das Spiel mit viel geringerer CPU Belastung laufen.",
@@ -4572,4 +4573,74 @@ STR16 gzMPChatboxText[] =
L"Chat: Drücke 'ENTER' zum Senden oder 'ESC' zum Verlassen.",
};
// Following strings added - SANDRO
// Translated by Scheinworld
STR16 pSkillTraitBeginIMPStrings[] =
{
L"Auf der nächsten Seite können Sie die Fertigkeit(en) angeben, durch die Sie sich auszeichnen. Mehr als zwei verschiedene Fertigkeiten oder eine, die Sie in diesem Gebiet automatisch als Experten ausweist, können bzw. kann nicht gewählt werden.",
L"Wählen Sie nur eine oder gar keine Fertigkeit aus, so erhalten Sie einen Bonus in Form von zusätzlichen Eigenschaftspunkten. Bitte beachten Sie, dass die Fertigkeiten: 'Elektronik' und 'Beidhändig geschickt' über keinen Expertenstatus verfügen.",
};
STR16 sgAttributeSelectionText[] =
{
L"Bitte verteilen Sie nun Ihre Bonuspunkte auf die gewünschten Attribute. Der Wert kann dabei nicht höher sein als .",
L"B.S.E. Eigenschaften und Fähigkeiten.",
L"Bonus Pkt.:",
L"Anfangs-Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"B.S.E. Charakter-Analyse",
L"Die Charakter-Analyse ist der nächste Schritt bei der Erstellung Ihres Profils. Auf der nun folgenden Seite steht eine Vielzahl von Charaktereigenschaften zur Auswahl. Wir können uns vorstellen, dass Sie sich mit mehreren verbunden fühlen, entscheiden Sie sich daher bitte für die zutreffendste. ",
L"Die zweite Seite dient der Erfassung Ihrer Unzulänglichkeiten, die Sie möglicherweise haben (wir glauben, dass jeder Mensch nur eine große Schwäche hat). Bitte seien Sie dabei ehrlich, damit potentielle Arbeitgeber über Ihr zukünftiges Einsatzfeld informiert werden können.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Freundlich",
L"Einzelgänger",
L"Optimist",
L"Pessimist",
L"Aggressiv",
L"Arrogant",
L"Bonze",
L"Arschloch",
L"Feigling",
L"Charaktereigenschaften",
};
STR16 gzIMPColorChoosingText[] =
{
L"Erscheinung und Äußeres",
L"Hautfarbe",
L"Bitte geben Sie Ihre Haar- und Hautfarbe, Ihre Statur, sowie Ihre bevorzugten Kleidungsfarben an.",
L"Bitte geben Sie Ihre Haar- und Hautfarbe, sowie Ihre bevorzugten Kleidungsfarben an.",
L"Eingeschaltet, wird ein Gewehr einhändig abgefeuert.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Haarfarbe",
L"Hautfarbe",
L"Hemdfarbe",
L"Hosenfarbe",
L"Normale Statur",
L"Kräftige Statur",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"Keine Schwäche",
L"Hitzeempfindlichkeit",
L"Nervosität",
L"Klaustrophobie",
L"Nichtschwimmer",
L"Angst vor Insekten",
L"Vergesslichkeit",
L"Psychopath",
L"Ihre größte Schwäche",
};
#endif //GERMAN
+78 -8
View File
@@ -2281,7 +2281,7 @@ STR16 pImpButtonText[] =
L"INIZIO", // begin profiling
L"Personalità", // personality section
L"Attributi", // personal stats/attributes section
L"Ritratto", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Voce %d", // the voice selection
L"Fine", // done profiling
L"Ricomincio", // start over profiling
@@ -2302,15 +2302,16 @@ STR16 pImpButtonText[] =
L"Immatricolazione", // the IMP site registry..when name and gender is selected
L"Analisi", // analyzing your profile results
L"OK",
L"Voce",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Per completare il profilo attuale, seleziona 'Personalità'.",
L"Ora che hai completato la Personalità, seleziona i tuoi attributi.",
L"Con gli attributi ora assegnati, puoi procedere alla selezione del ritratto.",
L"Per completare il processo, seleziona il campione della voce che più ti piace.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3669,7 +3670,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Auto save",
L"Silent Skyrider",
L"Low CPU usage",
@@ -3764,7 +3765,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"When ON, game will be saved after each players turn.",
L"When ON, Skyrider will not talk anymore.",
L"When ON, game will run with much lower CPU usage.",
@@ -4763,4 +4764,73 @@ STR16 gzMPChatboxText[] =
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //ITALIAN
+78 -8
View File
@@ -2292,7 +2292,7 @@ STR16 pImpButtonText[] =
L"ZACZNIJ", // begin profiling
L"Umiejętności", // personality section
L"Atrybuty", // personal stats/attributes section
L"Portret", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Głos %d", // the voice selection
L"Gotowe", // done profiling
L"Zacznij od początku", // start over profiling
@@ -2313,15 +2313,16 @@ STR16 pImpButtonText[] =
L"Rejestr", // the IMP site registry..when name and gender is selected
L"Analizuję...", // analyzing your profile results
L"OK",
L"Głos",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Aby zacząć analizę profilu, wybierz osobowość.",
L"Teraz określ swoje atrybuty.",
L"Teraz możesz przystąpić do wyboru portretu.",
L"Aby zakończyć proces, wybierz próbkę głosu, która ci najbardziej odpowiada."
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3682,7 +3683,7 @@ STR16 zOptionsToggleText[] =
L"Efekt smugowy dla poj. strzału",
L"Odgłosy padającego deszczu",
L"Pokazuj wrony",
L"Losowa osobowość postaci I.M.P.",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Automatyczny zapis",
L"Cichy Skyrider",
L"Niskie obciążenie procesora",
@@ -3777,7 +3778,7 @@ STR16 zOptionsScreenHelpText[] =
L"Jeśli WŁĄCZONE, pojedynczy strzał będzie z efektem pocisku smugowego",
L"Jeśli WŁĄCZONE, będziesz słyszał padający deszcz.",
L"Jeśli WŁĄCZONE, w grze pojawiać się będą wrony.",
L"Jeśli WŁĄCZONE, postacie I.M.P. będą otrzymywać losową osobowość i postawę.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"Jeśli WŁĄCZONE, gra będzie zapisywana każdorazowo po zakończeniu tury gracza.",
L"Jeśli WŁĄCZONE, Skyrider nie będzie nic mówił.",
L"Jeśli WŁĄCZONE, gra będzie obciążała procesor w mniejszym stopniu.",
@@ -4768,4 +4769,73 @@ STR16 gzMPChatboxText[] =
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //POLISH
+78 -8
View File
@@ -2295,7 +2295,7 @@ STR16 pImpButtonText[] =
L"НАЧАТЬ", // begin profiling
L"Способности", // personality section
L"Характеристики", // personal stats/attributes section
L"Портрет", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Голос: %d", // the voice selection
L"Готово", // done profiling
L"Начать сначала", // start over profiling
@@ -2316,15 +2316,16 @@ STR16 pImpButtonText[] =
L"Регистрация", // the IMP site registry..when name and gender is selected
L"Анализ данных", // analyzing your profile results
L"Готово",
L"Голос",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"Сейчас необходимо указать ваши способности.",
L"Способности героя заданы. Чтобы завершить процесс, укажите свои характеристики.",
L"Чтобы создать профиль, необходимо указать некоторые данные. Начните с выбора портрета.",
L"Теперь, выберите голос, который вам подходит.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3684,7 +3685,7 @@ STR16 zOptionsToggleText[] =
L"Одиночный трассер",
L"Шум дождя",
L"Вороны",
L"Случайный I.M.P персонаж",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Автосохранение каждый ход",
L"Молчаливый пилот вертолёта",
L"Низкая загрузка процессора",
@@ -3779,7 +3780,7 @@ STR16 zOptionsScreenHelpText[] =
L"Если включено, трассирующий эффект\nсоздается одиночным выстрелом.",
L"Если включено, вы услышите шум дождя во время непогоды.",
L"Если включено, вороны присутствуют в игре.",
L"Если включено, персонаж I.M.P будет получать\nслучайную внешность и характеристики.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"Если включено, игра будет автоматически сохраняться\nпосле каждого хода игрока.",
L"Если включено, Небесный Всадник\nне будет вас раздражать болтливостью.",
L"Если включено, игра будет использовать\nменьше процессорного времени.",
@@ -4773,4 +4774,73 @@ STR16 gzMPChatboxText[] =
L"Заметка: нажмите |В|В|О|Д для отправки сообщения, |К|Л|Ю|Ч для выхода из чата.", //Chat: press 'ENTER' to send of 'ESC' to cancel
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //RUSSIAN
+77 -7
View File
@@ -2298,7 +2298,7 @@ STR16 pImpButtonText[] =
L"BEGIN", // begin profiling
L"Skills", // personality section
L"Attributes", // personal stats/attributes section
L"Portrait", // the personal portrait selection
L"Appearance", // changed from portrait - SANDRO
L"Voice %d", // the voice selection
L"Done", // done profiling
L"Start Over", // start over profiling
@@ -2319,15 +2319,16 @@ STR16 pImpButtonText[] =
L"Registry", // the IMP site registry..when name and gender is selected
L"Analyzing", // analyzing your profile results
L"OK",
L"Voice",
L"Character", // Change from "Voice" - SANDRO
};
STR16 pExtraIMPStrings[] =
{
L"With the voice now selected, it is time to select your skills.",
// These texts have been also slightly changed - SANDRO
L"With your character traits chosen, it is time to select your skills.",
L"To complete the process, select your attributes.",
L"To commence actual profiling, select portrait.",
L"Now that you have completet your portrait choice, select the voice sample that best fits you.",
L"To commence actual profiling, select portrait, voice and colors.",
L"Now that you have completed your appearence choice, procced to character analysis.",
};
STR16 pFilesTitle[] =
@@ -3688,7 +3689,7 @@ STR16 zOptionsToggleText[] =
L"Tracer effect for single shot",
L"Rain noises",
L"Allow crows",
L"Random I.M.P personality",
L"Show Soldier Tooltips", // Changed from "Random I.M.P personality" - SANDRO
L"Auto save",
L"Silent Skyrider",
L"Low CPU usage",
@@ -3783,7 +3784,7 @@ STR16 zOptionsScreenHelpText[] =
L"When ON, tracer effect will be shown for single shots.",
L"When ON, you will hear rain noises when it is raining.",
L"When ON, the crows are present in game.",
L"When ON, I.M.P characters will get random personality and attitude.",
L"When ON, a tooltip window is shown when pressing |A|l|t and hovering cursor over an enemy.", // - Changed from random IMP personality - SANDRO
L"When ON, game will be saved after each players turn.",
L"When ON, Skyrider will not talk anymore.",
L"When ON, game will run with much lower CPU usage.",
@@ -4776,4 +4777,73 @@ STR16 gzMPChatboxText[] =
L"Chat: Press 'ENTER' to send of 'ESC' to cancel.",
};
// Following strings added - SANDRO
STR16 pSkillTraitBeginIMPStrings[] =
{
L"On the next page, you are going to choose your skill traits according to your proffessional specialization as a mercenary. No more than two different traits or one expert trait can be selected. To achieve an expert level on a trait, simply choose only that one trait.",
L"You can also choose only one or even no traits, which will give you a bonus to your attribute points as a compensation. Note that Electronics and Ambidextrous traits cannot be achieved at expert levels, and if you choose one of them only, you will have only one skill trait.",
};
STR16 sgAttributeSelectionText[] =
{
L"Please adjust your physical attributes as comapred to that of an avarage merc. You cannot raise any score above .",
L"I.M.P. Attributes and skills review.",
L"Bonus Pts.:",
L"Starting Level",
};
STR16 pCharacterTraitBeginIMPStrings[] =
{
L"I.M.P. Character Analysis",
L"The analysis of your character is the next step on your profile creation. On the first page you will be shown a list of attitudes to choose. We imagine you could identify yourself with more of them, but here you will be able to pick only one. Choose the one which you feel aligned with mostly. ",
L"The second page enlists possible disabilities you might have. If you suffer from any of these disabilities, choose which one (we believe that everyone has only one such disablement). Be honest, as it is important to inform potential employers of your true condition.",
};
STR16 gzIMPCharacterTraitText[]=
{
L"Normal",
L"Friendly",
L"Loner",
L"Optimist",
L"Pessimist",
L"Aggressive",
L"Arrogant",
L"Big Shot",
L"Asshole",
L"Coward",
L"I.M.P. Character Traits",
};
STR16 gzIMPColorChoosingText[] =
{
L"I.M.P. Colors and Body Type",
L"I.M.P. Colors",
L"Please select the respective colors of your skin, hair and clothing. And select what body type you have.",
L"Please select the respective colors of your skin, hair and clothing.",
L"Toggle this to use alternative rifle holding.",
};
STR16 sColorChoiceExplanationTexts[]=
{
L"Hair Color",
L"Skin Color",
L"Shirt Color",
L"Pants Color",
L"Normal Body",
L"Big Body",
};
STR16 gzIMPDisabilityTraitText[]=
{
L"No Disability",
L"Heat Intolerant",
L"Nervous",
L"Claustrophobic",
L"Nonswimmer",
L"Fear of Insects",
L"Forgetful",
L"Psychotic",
L"I.M.P. Disabilities",
};
#endif //TAIWANESE
+2 -2
View File
@@ -66,7 +66,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib .\Multiplayer\raknet\RakNetLibStaticDebug.lib ws2_32.lib"
OutputFile="$(OutDir)\JA2_EN_Debug_2929.exe"
OutputFile="$(OutDir)\JA2_EN_Debug_2949.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="2"
@@ -145,7 +145,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib .\Multiplayer\raknet\RakNetLibStatic.lib ws2_32.lib"
OutputFile="$(OutDir)\JA2_RU_Release_2929.exe"
OutputFile="$(OutDir)\JA2_EN_Release_2949.exe"
LinkIncremental="1"
GenerateDebugInformation="true"
GenerateMapFile="true"
+4 -4
View File
@@ -18,7 +18,7 @@
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="C:\games\jagged alliance 2 EN"
OutputDirectory="\games\jagged alliance 2"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets=".\ja2_VS2008.vsprops;.\ja2_VS2008Debug.vsprops;.\ja2_VS2008Linker.vsprops;.\ja2_VS2008Libs.vsprops"
@@ -62,7 +62,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib RakNetLibStatic.lib ws2_32.lib"
OutputFile="$(OutDir)\ja2_debug_VS2008_en.exe"
OutputFile="$(OutDir)\JA2_EN_Debug_2949.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="Multiplayer\raknet"
IgnoreDefaultLibraryNames=""
@@ -95,7 +95,7 @@
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="C:\games\jagged alliance 2 EN"
OutputDirectory="\games\jagged alliance 2"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
InheritedPropertySheets=".\ja2_VS2008.vsprops;.\ja2_VS2008Linker.vsprops;.\ja2_VS2008Libs.vsprops"
@@ -141,7 +141,7 @@
<Tool
Name="VCLinkerTool"
AdditionalDependencies="Winmm.lib RakNetLibStatic.lib ws2_32.lib"
OutputFile="$(OutDir)\ja2_release_2445_en.exe"
OutputFile="$(OutDir)\JA2_EN_Release_2949.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="Multiplayer\raknet"
GenerateDebugInformation="false"