- a few dialogue box button texts can now be easily changed

- Fix: improved bomb defusal

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5795 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2013-01-20 05:12:19 +00:00
parent 8c60796982
commit fb3d410dd9
18 changed files with 455 additions and 267 deletions
+194 -182
View File
@@ -78,6 +78,9 @@ extern STR16 pUpdatePanelButtons[];
CHAR16 gzUserDefinedButton1[ 128 ];
CHAR16 gzUserDefinedButton2[ 128 ];
// Flugente: made an array for user-defined buttons
CHAR16 gzUserDefinedButton[ NUM_CUSTOM_BUTTONS ][ 128 ];
INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT16 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect )
{
VSURFACE_DESC vs_desc;
@@ -179,6 +182,18 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
usCursor = CURSOR_LAPTOP_SCREEN;
break;
case MSG_BOX_BASIC_MEDIUM_BUTTONS:
ubMercBoxBackground = DIALOG_MERC_POPUP_BACKGROUND;
ubMercBoxBorder = DIALOG_MERC_POPUP_BORDER;
// Add button images
gMsgBox.iButtonImages = LoadButtonImage( "INTERFACE\\PreferencesButtons.sti", -1,0,-1,1,-1 );
ubFontColor = FONT_MCOLOR_WHITE;
ubFontShadowColor = DEFAULT_SHADOW;
usCursor = CURSOR_NORMAL;
break;
default:
ubMercBoxBackground = BASIC_MERC_POPUP_BACKGROUND;
ubMercBoxBorder = BASIC_MERC_POPUP_BORDER;
@@ -217,9 +232,11 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
// Flugente: increase the height of the display box under certain conditions
UINT16 heightincrease = 0;
if ( usFlags & MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS )
if ( usFlags & MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS )
heightincrease = 120;
if ( usFlags & MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS )
heightincrease = 50;
if ( usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
if ( usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
heightincrease = 90;
// Init message box
@@ -361,30 +378,38 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
ForceButtonUnDirty( gMsgBox.uiButton[i] );
}
}
// Create four numbered buttons
else if ( usFlags & MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS )
{
sButtonX = (usTextBoxWidth - 115)/ 2;
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 130 - MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
for ( INT8 j = 0; j < 4; ++j)
{
sButtonY += 35;
gMsgBox.uiButton[j] = CreateIconAndTextButton( gMsgBox.iButtonImages, gzUserDefinedButton[j], FONT12ARIAL,
ubFontColor, ubFontShadowColor,
ubFontColor, ubFontShadowColor,
TEXT_CJUSTIFIED,
(INT16)(gMsgBox.sX + sButtonX ), (INT16)(gMsgBox.sY + sButtonY ), BUTTON_TOGGLE ,MSYS_PRIORITY_HIGHEST,
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
MSYS_SetBtnUserData( gMsgBox.uiButton[j], 0, j+1);
SetButtonCursor(gMsgBox.uiButton[j], usCursor);
ForceButtonUnDirty( gMsgBox.uiButton[j] );
}
}
// Create eight numbered buttons
else if ( usFlags & MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS )
else if ( usFlags & MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS )
{
sBlankSpace = usTextBoxWidth - MSGBOX_SMALL_BUTTON_WIDTH * 4 - MSGBOX_SMALL_BUTTON_X_SEP * 3;
sButtonX = sBlankSpace / 2;
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10 - heightincrease;
STR16 eightstr[8] = {
L"1",
L"2",
L"3",
L"4",
L"A",
L"B",
L"C",
L"D",
};
sButtonY -= MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
for ( INT8 i = 0; i < 2; ++i)
{
// new row
sButtonY += MSGBOX_SMALL_BUTTON_WIDTH;// + MSGBOX_SMALL_BUTTON_X_SEP;
sButtonY += MSGBOX_SMALL_BUTTON_WIDTH;
// begin from the front
sButtonX = sBlankSpace / 2 - MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
@@ -394,7 +419,7 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
INT8 k = 4*i + j;
sButtonX += MSGBOX_SMALL_BUTTON_WIDTH + MSGBOX_SMALL_BUTTON_X_SEP;
gMsgBox.uiButton[k] = CreateIconAndTextButton( gMsgBox.iButtonImages, eightstr[k], FONT12ARIAL,
gMsgBox.uiButton[k] = CreateIconAndTextButton( gMsgBox.iButtonImages, gzUserDefinedButton[k], FONT12ARIAL,
ubFontColor, ubFontShadowColor,
ubFontColor, ubFontShadowColor,
TEXT_CJUSTIFIED,
@@ -402,40 +427,16 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
SetButtonCursor(gMsgBox.uiButton[k], usCursor);
ForceButtonUnDirty( gMsgBox.uiButton[k] );
}
}
for ( INT8 i = 7; i >= 0; --i)
{
ForceButtonUnDirty( gMsgBox.uiButton[i] );
}
}
// Create sixteen numbered buttons
else if ( usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
else if ( usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
{
sBlankSpace = usTextBoxWidth - MSGBOX_SMALL_BUTTON_WIDTH * 4 - MSGBOX_SMALL_BUTTON_X_SEP * 3;
sButtonX = sBlankSpace / 2;
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10 - heightincrease - 6;
STR16 sixteenstr[16] = {
L"1-A",
L"1-B",
L"1-C",
L"1-D",
L"2-A",
L"2-B",
L"2-C",
L"2-D",
L"3-A",
L"3-B",
L"3-C",
L"3-D",
L"4-A",
L"4-B",
L"4-C",
L"4-D",
};
sButtonY -= MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
for ( INT8 i = 0; i < 4; ++i)
@@ -449,9 +450,9 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
for ( INT8 j = 0; j < 4; ++j)
{
INT8 k = 4*i + j;
sButtonX += MSGBOX_SMALL_BUTTON_WIDTH + MSGBOX_SMALL_BUTTON_X_SEP;
gMsgBox.uiButton[k] = CreateIconAndTextButton( gMsgBox.iButtonImages, sixteenstr[k], FONT12ARIAL,
gMsgBox.uiButton[k] = CreateIconAndTextButton( gMsgBox.iButtonImages, gzUserDefinedButton[k], FONT12ARIAL,
ubFontColor, ubFontShadowColor,
ubFontColor, ubFontShadowColor,
TEXT_CJUSTIFIED,
@@ -459,13 +460,9 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
SetButtonCursor(gMsgBox.uiButton[k], usCursor);
ForceButtonUnDirty( gMsgBox.uiButton[k] );
}
}
for ( INT8 i = 15; i >= 0; --i)
{
ForceButtonUnDirty( gMsgBox.uiButton[i] );
}
}
else if (usFlags & MSG_BOX_FLAG_INPUTBOX)
{
@@ -703,7 +700,7 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
}
if ( usFlags & MSG_BOX_FLAG_GENERIC )
if ( usFlags & MSG_BOX_FLAG_GENERIC_TWO_BUTTONS )
{
sButtonX = ( usTextBoxWidth - ( MSGBOX_BUTTON_WIDTH + MSGBOX_BUTTON_WIDTH + MSGBOX_BUTTON_X_SEP ) ) / 2;
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10;
@@ -971,14 +968,21 @@ UINT32 ExitMsgBox( INT8 ubExitCode )
RemoveButton( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS )
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS )
{
for (UINT8 i = 0; i < 4; ++i)
{
RemoveButton( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS )
{
for (UINT8 i = 0; i < 8; ++i)
{
RemoveButton( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
{
for (UINT8 i = 0; i < 16; ++i)
{
@@ -1024,7 +1028,7 @@ UINT32 ExitMsgBox( INT8 ubExitCode )
RemoveButton( gMsgBox.uiOKButton );
}
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC )
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_TWO_BUTTONS )
{
RemoveButton( gMsgBox.uiYESButton );
RemoveButton( gMsgBox.uiNOButton );
@@ -1211,14 +1215,21 @@ UINT32 MessageBoxScreenHandle( )
MarkAButtonDirty( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS )
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS )
{
for (UINT8 i = 0; i < 4; ++i)
{
MarkAButtonDirty( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS )
{
for (UINT8 i = 0; i < 8; ++i)
{
MarkAButtonDirty( gMsgBox.uiButton[i] );
}
}
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
else if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
{
for (UINT8 i = 0; i < 16; ++i)
{
@@ -1262,7 +1273,7 @@ UINT32 MessageBoxScreenHandle( )
MarkAButtonDirty( gMsgBox.uiOKButton );
}
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC )
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_TWO_BUTTONS )
{
MarkAButtonDirty( gMsgBox.uiYESButton );
MarkAButtonDirty( gMsgBox.uiNOButton );
@@ -1309,142 +1320,143 @@ UINT32 MessageBoxScreenHandle( )
while (DequeueSpecificEvent(&InputEvent, KEY_DOWN|KEY_UP|KEY_REPEAT))
{
if( !HandleTextInput( &InputEvent ) && InputEvent.usEvent == KEY_DOWN )
{
if( ( InputEvent.usParam == ESC ) || ( InputEvent.usParam == 'n') )
{
if( ( InputEvent.usParam == ESC ) || ( InputEvent.usParam == 'n') )
if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_NO;
}
//OJW - 20090208 - Input Box
else if( gMsgBox.usFlags & MSG_BOX_FLAG_INPUTBOX )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_NO;
memset(gszMsgBoxInputString,0,sizeof(CHAR16)*255);
}
}
if( InputEvent.usParam == ENTER )
//OJW - 20090208 - Input Box
else if( gMsgBox.usFlags & MSG_BOX_FLAG_INPUTBOX )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_NO;
memset(gszMsgBoxInputString,0,sizeof(CHAR16)*255);
}
}
if( InputEvent.usParam == ENTER )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_YES;
}
else if( gMsgBox.usFlags & MSG_BOX_FLAG_OK )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
else if( gMsgBox.usFlags & MSG_BOX_FLAG_CONTINUESTOP )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
//OJW - 20090208 - Input Box
else if( gMsgBox.usFlags & MSG_BOX_FLAG_INPUTBOX )
{
// retrieve the string from the text box
Get16BitStringFromField( 0, gszMsgBoxInputString, 255 ); // these indexes are based on the order created
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
}
if( InputEvent.usParam == 'o' )
{
if( gMsgBox.usFlags & MSG_BOX_FLAG_OK )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
}
if( InputEvent.usParam == 'y' )
{
if( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_YES;
}
}
// box with four buttons
UINT32 four[8] = {
'1',
'2',
'3',
'4',
};
for ( INT8 i = 0; i < 4; ++i )
{
if( InputEvent.usParam == four[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_YES;
}
else if( gMsgBox.usFlags & MSG_BOX_FLAG_OK )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
else if( gMsgBox.usFlags & MSG_BOX_FLAG_CONTINUESTOP )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
//OJW - 20090208 - Input Box
else if( gMsgBox.usFlags & MSG_BOX_FLAG_INPUTBOX )
{
// retrieve the string from the text box
Get16BitStringFromField( 0, gszMsgBoxInputString, 255 ); // these indexes are based on the order created
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
}
if( InputEvent.usParam == 'o' )
{
if( gMsgBox.usFlags & MSG_BOX_FLAG_OK )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_OK;
}
}
if( InputEvent.usParam == 'y' )
{
if( gMsgBox.usFlags & MSG_BOX_FLAG_YESNO )
{
// Exit messagebox
gMsgBox.bHandled = MSG_BOX_RETURN_YES;
}
}
// box with four buttons
UINT32 four[8] = {
'1',
'2',
'3',
'4',
};
for ( INT8 i = 0; i < 4; ++i )
{
if( InputEvent.usParam == four[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = 1;
}
}
}
// box with eight buttons
UINT32 eighttxt[8] = {
'1',
'2',
'3',
'4',
'A',
'B',
'C',
'D',
};
for ( INT8 i = 0; i < 8; ++i )
{
if( InputEvent.usParam == eighttxt[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = 1;
}
}
}
// box with sixteen buttons
UINT32 sixteentxt[16] = {
'1-A',
'1-B',
'1-C',
'1-D',
'2-A',
'2-B',
'2-C',
'2-D',
'3-A',
'3-B',
'3-C',
'3-D',
'4-A',
'4-B',
'4-C',
'4-D',
};
for ( INT8 i = 0; i < 16; ++i )
{
if( InputEvent.usParam == sixteentxt[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = 1;
}
gMsgBox.bHandled = 1;
}
}
}
// box with eight buttons
UINT32 eighttxt[8] = {
'1',
'2',
'3',
'4',
'A',
'B',
'C',
'D',
};
for ( INT8 i = 0; i < 8; ++i )
{
if( InputEvent.usParam == eighttxt[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = 1;
}
}
}
// box with sixteen buttons
UINT32 sixteentxt[16] = {
'1-A',
'1-B',
'1-C',
'1-D',
'2-A',
'2-B',
'2-C',
'2-D',
'3-A',
'3-B',
'3-C',
'3-D',
'4-A',
'4-B',
'4-C',
'4-D',
};
for ( INT8 i = 0; i < 16; ++i )
{
if( InputEvent.usParam == sixteentxt[i] )
{
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
{
// Exit messagebox
gMsgBox.bHandled = 1;
}
}
}
}
}
if ( gMsgBox.bHandled )
+10 -5
View File
@@ -15,12 +15,13 @@
#define MSG_BOX_FLAG_CONTINUESTOP 0x0100 // continue stop box
#define MSG_BOX_FLAG_OKSKIP 0x0200 // Displays ok or skip (meanwhile) buttons
#define MSG_BOX_FLAG_GENERICCONTRACT 0x0400 // displays contract buttoin + 2 user-defined text buttons
#define MSG_BOX_FLAG_GENERIC 0x0800 // 2 user-defined text buttons
#define MSG_BOX_FLAG_GENERIC_TWO_BUTTONS 0x0800 // 2 user-defined text buttons
// OJW - Adding text chatbox
#define MSG_BOX_FLAG_INPUTBOX 0x1000 // has a text input field
// Flugente - added boxes for simultaneous defuse/detonate mechanism
#define MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS 0x2000 // Displays eight numbered buttons, 1-4, 10, 20, 30, 40. Numbers 1-4 respond to the normal detonate mechanism, rest to defusing
#define MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS 0x4000 // Displays sixteen numbered buttons, 1-16, for setting up a tripwire network and choosing both a detonation and defusing frequency
#define MSG_BOX_FLAG_INPUTBOX 0x1000 // has a text input field
// Flugente - added boxes with multiple buttons that can be renamed easily
#define MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS 0x2000 // Displays four numbered buttons with definable labels
#define MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS 0x4000 // Displays eight numbered buttons with definable labels
#define MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS 0x8000 // Displays sixteen numbered buttons with definable labels
// message box return codes
#define MSG_BOX_RETURN_OK 1 // ENTER or on OK button
@@ -39,12 +40,16 @@ enum
MSG_BOX_BASIC_SMALL_BUTTONS,
MSG_BOX_IMP_STYLE,
MSG_BOX_LAPTOP_DEFAULT,
MSG_BOX_BASIC_MEDIUM_BUTTONS,
};
typedef void (*MSGBOX_CALLBACK)( UINT8 bExitValue );
// Flugente: made an array for user-defined buttons
#define NUM_CUSTOM_BUTTONS 16
extern CHAR16 gzUserDefinedButton[ NUM_CUSTOM_BUTTONS ][ 128 ];
typedef struct
{
+2 -2
View File
@@ -1223,7 +1223,7 @@ void NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( SOLDIERTYPE *pSoldi
if( fInSector == FALSE )
{
// set up for mapscreen
DoMapMessageBox( MSG_BOX_BASIC_STYLE, sString, MAP_SCREEN, ( UINT16 )( ( fAddRehireButton ? MSG_BOX_FLAG_GENERICCONTRACT : MSG_BOX_FLAG_GENERIC ) ), MercDepartEquipmentBoxCallBack );
DoMapMessageBox( MSG_BOX_BASIC_STYLE, sString, MAP_SCREEN, ( UINT16 )( ( fAddRehireButton ? MSG_BOX_FLAG_GENERICCONTRACT : MSG_BOX_FLAG_GENERIC_TWO_BUTTONS ) ), MercDepartEquipmentBoxCallBack );
}
else
{
@@ -1236,7 +1236,7 @@ void NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( SOLDIERTYPE *pSoldi
if( fInSector == FALSE )
{
// set up for all otherscreens
DoMessageBox( MSG_BOX_BASIC_STYLE, sString, guiCurrentScreen, ( UINT16 ) ( MSG_BOX_FLAG_USE_CENTERING_RECT | ( fAddRehireButton ? MSG_BOX_FLAG_GENERICCONTRACT : MSG_BOX_FLAG_GENERIC ) ), MercDepartEquipmentBoxCallBack, &pCenteringRect );
DoMessageBox( MSG_BOX_BASIC_STYLE, sString, guiCurrentScreen, ( UINT16 ) ( MSG_BOX_FLAG_USE_CENTERING_RECT | ( fAddRehireButton ? MSG_BOX_FLAG_GENERICCONTRACT : MSG_BOX_FLAG_GENERIC_TWO_BUTTONS ) ), MercDepartEquipmentBoxCallBack, &pCenteringRect );
}
else
{
+1 -1
View File
@@ -15451,7 +15451,7 @@ void CreateBullsEyeOrChopperSelectionPopup( void )
wcscpy( gzUserDefinedButton2, pHelicopterEtaStrings[ 9 ] );
// do a BULLSEYE/CHOPPER message box
DoScreenIndependantMessageBox( pHelicopterEtaStrings[ 7 ], MSG_BOX_FLAG_GENERIC, BullsEyeOrChopperSelectionPopupCallback );
DoScreenIndependantMessageBox( pHelicopterEtaStrings[ 7 ], MSG_BOX_FLAG_GENERIC_TWO_BUTTONS, BullsEyeOrChopperSelectionPopupCallback );
}
+58 -14
View File
@@ -4543,27 +4543,33 @@ INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo )
void StartCorpseMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo, INT8 bLevel )
{
gpTempSoldier = pSoldier;
// determine what is possible with this corpse
BOOLEAN fDecapitate = TRUE;
BOOLEAN fTakeClothes = TRUE;
BOOLEAN fTakeCorpse = TRUE;
if ( fDecapitate && fTakeClothes )
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CORPSE_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS, CorpseMessageBoxCallBack, NULL );
wcscpy( gzUserDefinedButton[0], TacticalStr[ DECAPITATE_STR ] );
wcscpy( gzUserDefinedButton[1], TacticalStr[ GUT_STR ] );
wcscpy( gzUserDefinedButton[2], TacticalStr[ TAKE_CLOTHES_STR ] );
wcscpy( gzUserDefinedButton[3], TacticalStr[ TAKE_BODY_STR ] );
DoMessageBox( MSG_BOX_BASIC_MEDIUM_BUTTONS, TacticalStr[ CORPSE_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS, CorpseMessageBoxCallBack, NULL );
}
void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
{
//DBrot: More Rooms
//UINT8 ubRoom;
UINT16 usRoom;
gpTempSoldier = pSoldier;
gsTempGridNo = sGridNo;
if (Item[ pSoldier->inv[HANDPOS].usItem].remotetrigger )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_BOMB_OR_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_EIGHT_NUMBERED_BUTTONS, BombMessageBoxCallBack, NULL );
wcscpy( gzUserDefinedButton[0], L"1" );
wcscpy( gzUserDefinedButton[1], L"2" );
wcscpy( gzUserDefinedButton[2], L"3" );
wcscpy( gzUserDefinedButton[3], L"4" );
wcscpy( gzUserDefinedButton[4], L"A" );
wcscpy( gzUserDefinedButton[5], L"B" );
wcscpy( gzUserDefinedButton[6], L"C" );
wcscpy( gzUserDefinedButton[7], L"D" );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_BOMB_OR_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_EIGHT_BUTTONS, BombMessageBoxCallBack, NULL );
}
else if (pSoldier->inv[HANDPOS].usItem == REMOTETRIGGER)
{
@@ -4603,13 +4609,30 @@ void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
}
else if ( HasAttachmentOfClass( &(pSoldier->inv[HANDPOS]), AC_DEFUSE ) )
{
wcscpy( gzUserDefinedButton[0], L"1-A" );
wcscpy( gzUserDefinedButton[1], L"1-B" );
wcscpy( gzUserDefinedButton[2], L"1-C" );
wcscpy( gzUserDefinedButton[3], L"1-D" );
wcscpy( gzUserDefinedButton[4], L"2-A" );
wcscpy( gzUserDefinedButton[5], L"2-B" );
wcscpy( gzUserDefinedButton[6], L"2-C" );
wcscpy( gzUserDefinedButton[7], L"2-D" );
wcscpy( gzUserDefinedButton[8], L"3-A" );
wcscpy( gzUserDefinedButton[9], L"3-B" );
wcscpy( gzUserDefinedButton[10], L"3-C" );
wcscpy( gzUserDefinedButton[11], L"3-D" );
wcscpy( gzUserDefinedButton[12], L"4-A" );
wcscpy( gzUserDefinedButton[13], L"4-B" );
wcscpy( gzUserDefinedButton[14], L"4-C" );
wcscpy( gzUserDefinedButton[15], L"4-D" );
if ( HasAttachmentOfClass( &(pSoldier->inv[ HANDPOS ] ), (AC_DETONATOR ) ) )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS, BombMessageBoxCallBack, NULL );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS, BombMessageBoxCallBack, NULL );
}
else if ( HasAttachmentOfClass( &(pSoldier->inv[ HANDPOS ] ), (AC_REMOTEDET) ) )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_REMOTE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS, BombMessageBoxCallBack, NULL );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_REMOTE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS, BombMessageBoxCallBack, NULL );
}
else
{
@@ -4626,7 +4649,24 @@ void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
}
else if ( Item[ (&(pSoldier->inv[HANDPOS]))->usItem ].tripwire == 1 )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_TRIPWIRE_NETWORK ], GAME_SCREEN, MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS, BombMessageBoxCallBack, NULL );
wcscpy( gzUserDefinedButton[0], L"1-A" );
wcscpy( gzUserDefinedButton[1], L"1-B" );
wcscpy( gzUserDefinedButton[2], L"1-C" );
wcscpy( gzUserDefinedButton[3], L"1-D" );
wcscpy( gzUserDefinedButton[4], L"2-A" );
wcscpy( gzUserDefinedButton[5], L"2-B" );
wcscpy( gzUserDefinedButton[6], L"2-C" );
wcscpy( gzUserDefinedButton[7], L"2-D" );
wcscpy( gzUserDefinedButton[8], L"3-A" );
wcscpy( gzUserDefinedButton[9], L"3-B" );
wcscpy( gzUserDefinedButton[10], L"3-C" );
wcscpy( gzUserDefinedButton[11], L"3-D" );
wcscpy( gzUserDefinedButton[12], L"4-A" );
wcscpy( gzUserDefinedButton[13], L"4-B" );
wcscpy( gzUserDefinedButton[14], L"4-C" );
wcscpy( gzUserDefinedButton[15], L"4-D" );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_TRIPWIRE_NETWORK ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS, BombMessageBoxCallBack, NULL );
}
}
@@ -4639,7 +4679,11 @@ void StartTacticalFunctionSelectionMessageBox( SOLDIERTYPE * pSoldier, INT32 sGr
gpTempSoldier = pSoldier;
gsTempGridNo = sGridNo;
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ FUNCTION_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS, TacticalFunctionSelectionMessageBoxCallBack, NULL );
wcscpy( gzUserDefinedButton[0], TacticalStr[ FILL_CANTEEN_STR ] );
wcscpy( gzUserDefinedButton[1], TacticalStr[ CLEAN_ONE_GUN_STR ] );
wcscpy( gzUserDefinedButton[2], TacticalStr[ CLEAN_ALL_GUNS_STR ] );
wcscpy( gzUserDefinedButton[3], TacticalStr[ TAKE_OFF_CLOTHES_STR ] );
DoMessageBox( MSG_BOX_BASIC_MEDIUM_BUTTONS, TacticalStr[ FUNCTION_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS, TacticalFunctionSelectionMessageBoxCallBack, NULL );
}
void CleanWeapons( BOOLEAN fCleanAll )
+19 -2
View File
@@ -13049,13 +13049,30 @@ void TransformationMenuPopup_Arm( OBJECTTYPE* pObj )
}
else if ( HasAttachmentOfClass( gpItemDescObject, (AC_DEFUSE ) ) )
{
wcscpy( gzUserDefinedButton[0], L"1-A" );
wcscpy( gzUserDefinedButton[1], L"1-B" );
wcscpy( gzUserDefinedButton[2], L"1-C" );
wcscpy( gzUserDefinedButton[3], L"1-D" );
wcscpy( gzUserDefinedButton[4], L"2-A" );
wcscpy( gzUserDefinedButton[5], L"2-B" );
wcscpy( gzUserDefinedButton[6], L"2-C" );
wcscpy( gzUserDefinedButton[7], L"2-D" );
wcscpy( gzUserDefinedButton[8], L"3-A" );
wcscpy( gzUserDefinedButton[9], L"3-B" );
wcscpy( gzUserDefinedButton[10], L"3-C" );
wcscpy( gzUserDefinedButton[11], L"3-D" );
wcscpy( gzUserDefinedButton[12], L"4-A" );
wcscpy( gzUserDefinedButton[13], L"4-B" );
wcscpy( gzUserDefinedButton[14], L"4-C" );
wcscpy( gzUserDefinedButton[15], L"4-D" );
if ( HasAttachmentOfClass( gpItemDescObject, (AC_DETONATOR ) ) )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], screen, MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS, BombInventoryMessageBoxCallBack, NULL );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], screen, MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS, BombInventoryMessageBoxCallBack, NULL );
}
else if ( HasAttachmentOfClass( gpItemDescObject, (AC_REMOTEDET ) ) )
{
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_REMOTE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], screen, MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS, BombInventoryMessageBoxCallBack, NULL );
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CHOOSE_REMOTE_DETONATE_AND_REMOTE_DEFUSE_FREQUENCY_STR ], screen, MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS, BombInventoryMessageBoxCallBack, NULL );
}
}
else if ( HasAttachmentOfClass( gpItemDescObject, (AC_DETONATOR ) ) )
+5 -1
View File
@@ -10213,5 +10213,9 @@ void HandleSurrenderOffer( SOLDIERTYPE* pSoldier )
prisonerdialoguetargetID = pSoldier->ubID;
// open a dialogue box and see wether we really want to offer this, or just talk
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ PRISONER_OFFER_SURRENDER ], guiCurrentScreen, ( UINT8 )MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS, PrisonerSurrenderMessageBoxCallBack, NULL );
wcscpy( gzUserDefinedButton[0], TacticalStr[ PRISONER_DEMAND_SURRENDER_STR ] );
wcscpy( gzUserDefinedButton[1], TacticalStr[ PRISONER_OFFER_SURRENDER_STR ] );
wcscpy( gzUserDefinedButton[2], TacticalStr[ PRISONER_TALK_STR ] );
wcscpy( gzUserDefinedButton[3], TacticalStr[ PRISONER_TALK_STR ] );
DoMessageBox( MSG_BOX_BASIC_MEDIUM_BUTTONS, TacticalStr[ PRISONER_OFFER_SURRENDER ], guiCurrentScreen, MSG_BOX_FLAG_GENERIC_FOUR_BUTTONS, PrisonerSurrenderMessageBoxCallBack, NULL );
}
+4
View File
@@ -4229,6 +4229,10 @@ void SetOffBombsByFrequency( UINT8 ubID, INT8 bFrequency )
// set back ubWireNetworkFlag and bDefuseFrequency, but not the direction... bomb is still aimed, it is just turned off
(*pObj)[0]->data.ubWireNetworkFlag = 0;
(*pObj)[0]->data.bDefuseFrequency = 0;
(*pObj)[0]->data.misc.bDelay = 0;
(*pObj)[0]->data.misc.bFrequency = 0;
(*pObj)[0]->data.misc.ubBombOwner = NOBODY;
(*pObj)[0]->data.misc.bDetonatorType = 0;
//create a new item: copy the old item
OBJECTTYPE newbombitem( *pObj );
+11
View File
@@ -930,11 +930,22 @@ enum
MERC_VITAL_STATS_WITH_POISON_AND_FOOD_POPUPTEXT,
FUNCTION_SELECTION_STR,
FILL_CANTEEN_STR,
CLEAN_ONE_GUN_STR,
CLEAN_ALL_GUNS_STR,
TAKE_OFF_CLOTHES_STR,
CORPSE_SELECTION_STR,
DECAPITATE_STR,
GUT_STR,
TAKE_CLOTHES_STR,
TAKE_BODY_STR,
WEAPON_CLEANING_STR,
PRISONER_NO_PRISONS_STR,
PRISONER_DECIDE_STR,
PRISONER_OFFER_SURRENDER,
PRISONER_DEMAND_SURRENDER_STR,
PRISONER_OFFER_SURRENDER_STR,
PRISONER_TALK_STR,
TEXT_NUM_TACTICAL_STR
};
+18 -8
View File
@@ -2907,20 +2907,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"生命: %d/%d\n精力: %d/%d\n士气: %s\n口渴: %d%s\n饥饿: %d%s",
L"生命: %d/%d\n毒性: %d/%d\n精力: %d/%d\n士气: %s\n口渴: %d%s\n饥饿: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - 装满水壶 2 - 清理枪支污垢 3 - 清理所有枪支污垢 4 - 脱掉衣服", //L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes",
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - 砍掉头颅 2 - 取出内脏 3 - 脱掉衣服 4 - 拿起尸体", //L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body",
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning
L"%s 清理了 %s", //L"%s cleaned %s",
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners
L"你现在没有可用的监狱关押这些俘虏,你不得不放他们走。", //L"You have no prison for these prisoners, you have to let them go",
L"Yes - 将俘虏送入监狱 No - 放俘虏离开这里", //L"Yes - Send prisoners to jail No - Let them go",
L"劝说敌人投降?", //L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2904,20 +2904,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk",
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+14 -3
View File
@@ -2907,10 +2907,18 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes",
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body",
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning
L"%s cleaned %s",
@@ -2918,7 +2926,10 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk",
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2911,20 +2911,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2909,20 +2909,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Gesundheit: %d/%d\nAusdauer: %d/%d\nMoral: %s\nWasser: %d%s\nEssen: %d%s",
L"Ges.: %d/%d\nGift: %d/%d\nAusd.: %d/%d\nMoral: %s\nWasser: %d%s\nEssen: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2899,20 +2899,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2914,20 +2914,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2907,20 +2907,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
+17 -7
View File
@@ -2908,20 +2908,30 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
L"Health: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
L"Health: %d/%d\nPoison: %d/%d\nEnergy: %d/%d\nMorale: %s\nWater: %d%s\nFood: %d%s",
// added by Flugente: selection of a function to call in tactical
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // TODO.Translate
// added by Flugente: selection of a function to call in tactical // TODO.Translate
L"What do you want to do?",
L"Fill canteens",
L"Clean gun",
L"Clean all guns",
L"Take off clothes",
// added by Flugente: decide what to do with the corpses
L"1 - Decapitate 2 - Gut 3 - Take Clothes 4 - Take Body", // TODO.Translate
L"What do you want to do with the body?",
L"Decapitate",
L"Gut",
L"Take Clothes",
L"Take Body",
// Flugente: weapon cleaning // TODO.Translate
// Flugente: weapon cleaning
L"%s cleaned %s",
// added by Flugente: decide what to do with prisoners // TODO.Translate
// added by Flugente: decide what to do with prisoners
L"You have no prison for these prisoners, you have to let them go",
L"Yes - Send prisoners to jail No - Let them go",
L"Ask enemy for surrender?",
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
L"What do you want to do?",
L"Demand surrender",
L"Offer surrender",
L"Talk",
};
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.