mirror of
https://github.com/1dot13/source.git
synced 2026-09-16 14:47:17 +02:00
- 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:
+194
-182
@@ -78,6 +78,9 @@ extern STR16 pUpdatePanelButtons[];
|
|||||||
CHAR16 gzUserDefinedButton1[ 128 ];
|
CHAR16 gzUserDefinedButton1[ 128 ];
|
||||||
CHAR16 gzUserDefinedButton2[ 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 )
|
INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UINT16 usFlags, MSGBOX_CALLBACK ReturnCallback, SGPRect *pCenteringRect )
|
||||||
{
|
{
|
||||||
VSURFACE_DESC vs_desc;
|
VSURFACE_DESC vs_desc;
|
||||||
@@ -179,6 +182,18 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
|
|||||||
usCursor = CURSOR_LAPTOP_SCREEN;
|
usCursor = CURSOR_LAPTOP_SCREEN;
|
||||||
break;
|
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:
|
default:
|
||||||
ubMercBoxBackground = BASIC_MERC_POPUP_BACKGROUND;
|
ubMercBoxBackground = BASIC_MERC_POPUP_BACKGROUND;
|
||||||
ubMercBoxBorder = BASIC_MERC_POPUP_BORDER;
|
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
|
// Flugente: increase the height of the display box under certain conditions
|
||||||
UINT16 heightincrease = 0;
|
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;
|
heightincrease = 50;
|
||||||
if ( usFlags & MSG_BOX_FLAG_SIXTEEN_NUMBERED_BUTTONS )
|
if ( usFlags & MSG_BOX_FLAG_GENERIC_SIXTEEN_BUTTONS )
|
||||||
heightincrease = 90;
|
heightincrease = 90;
|
||||||
|
|
||||||
// Init message box
|
// Init message box
|
||||||
@@ -361,30 +378,38 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
|
|||||||
ForceButtonUnDirty( gMsgBox.uiButton[i] );
|
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
|
// 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;
|
sBlankSpace = usTextBoxWidth - MSGBOX_SMALL_BUTTON_WIDTH * 4 - MSGBOX_SMALL_BUTTON_X_SEP * 3;
|
||||||
sButtonX = sBlankSpace / 2;
|
sButtonX = sBlankSpace / 2;
|
||||||
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10 - heightincrease;
|
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;
|
sButtonY -= MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
|
||||||
|
|
||||||
for ( INT8 i = 0; i < 2; ++i)
|
for ( INT8 i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
// new row
|
// new row
|
||||||
sButtonY += MSGBOX_SMALL_BUTTON_WIDTH;// + MSGBOX_SMALL_BUTTON_X_SEP;
|
sButtonY += MSGBOX_SMALL_BUTTON_WIDTH;
|
||||||
|
|
||||||
// begin from the front
|
// begin from the front
|
||||||
sButtonX = sBlankSpace / 2 - MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
|
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;
|
INT8 k = 4*i + j;
|
||||||
|
|
||||||
sButtonX += MSGBOX_SMALL_BUTTON_WIDTH + MSGBOX_SMALL_BUTTON_X_SEP;
|
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,
|
||||||
ubFontColor, ubFontShadowColor,
|
ubFontColor, ubFontShadowColor,
|
||||||
TEXT_CJUSTIFIED,
|
TEXT_CJUSTIFIED,
|
||||||
@@ -402,40 +427,16 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
|
|||||||
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
|
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
|
||||||
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
|
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
|
||||||
SetButtonCursor(gMsgBox.uiButton[k], usCursor);
|
SetButtonCursor(gMsgBox.uiButton[k], usCursor);
|
||||||
|
ForceButtonUnDirty( gMsgBox.uiButton[k] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( INT8 i = 7; i >= 0; --i)
|
|
||||||
{
|
|
||||||
ForceButtonUnDirty( gMsgBox.uiButton[i] );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Create sixteen numbered buttons
|
// 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;
|
sBlankSpace = usTextBoxWidth - MSGBOX_SMALL_BUTTON_WIDTH * 4 - MSGBOX_SMALL_BUTTON_X_SEP * 3;
|
||||||
sButtonX = sBlankSpace / 2;
|
sButtonX = sBlankSpace / 2;
|
||||||
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10 - heightincrease - 6;
|
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;
|
sButtonY -= MSGBOX_SMALL_BUTTON_WIDTH - MSGBOX_SMALL_BUTTON_X_SEP;
|
||||||
|
|
||||||
for ( INT8 i = 0; i < 4; ++i)
|
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)
|
for ( INT8 j = 0; j < 4; ++j)
|
||||||
{
|
{
|
||||||
INT8 k = 4*i + j;
|
INT8 k = 4*i + j;
|
||||||
|
|
||||||
sButtonX += MSGBOX_SMALL_BUTTON_WIDTH + MSGBOX_SMALL_BUTTON_X_SEP;
|
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,
|
||||||
ubFontColor, ubFontShadowColor,
|
ubFontColor, ubFontShadowColor,
|
||||||
TEXT_CJUSTIFIED,
|
TEXT_CJUSTIFIED,
|
||||||
@@ -459,13 +460,9 @@ INT32 DoMessageBox( UINT8 ubStyle, const STR16 zString, UINT32 uiExitScreen, UIN
|
|||||||
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
|
DEFAULT_MOVE_CALLBACK, (GUI_CALLBACK)NumberedMsgBoxCallback );
|
||||||
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
|
MSYS_SetBtnUserData( gMsgBox.uiButton[k], 0, k+1);
|
||||||
SetButtonCursor(gMsgBox.uiButton[k], usCursor);
|
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)
|
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;
|
sButtonX = ( usTextBoxWidth - ( MSGBOX_BUTTON_WIDTH + MSGBOX_BUTTON_WIDTH + MSGBOX_BUTTON_X_SEP ) ) / 2;
|
||||||
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10;
|
sButtonY = usTextBoxHeight - MSGBOX_BUTTON_HEIGHT - 10;
|
||||||
@@ -971,14 +968,21 @@ UINT32 ExitMsgBox( INT8 ubExitCode )
|
|||||||
RemoveButton( gMsgBox.uiButton[i] );
|
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)
|
for (UINT8 i = 0; i < 8; ++i)
|
||||||
{
|
{
|
||||||
RemoveButton( gMsgBox.uiButton[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)
|
for (UINT8 i = 0; i < 16; ++i)
|
||||||
{
|
{
|
||||||
@@ -1024,7 +1028,7 @@ UINT32 ExitMsgBox( INT8 ubExitCode )
|
|||||||
RemoveButton( gMsgBox.uiOKButton );
|
RemoveButton( gMsgBox.uiOKButton );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC )
|
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_TWO_BUTTONS )
|
||||||
{
|
{
|
||||||
RemoveButton( gMsgBox.uiYESButton );
|
RemoveButton( gMsgBox.uiYESButton );
|
||||||
RemoveButton( gMsgBox.uiNOButton );
|
RemoveButton( gMsgBox.uiNOButton );
|
||||||
@@ -1211,14 +1215,21 @@ UINT32 MessageBoxScreenHandle( )
|
|||||||
MarkAButtonDirty( gMsgBox.uiButton[i] );
|
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)
|
for (UINT8 i = 0; i < 8; ++i)
|
||||||
{
|
{
|
||||||
MarkAButtonDirty( gMsgBox.uiButton[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)
|
for (UINT8 i = 0; i < 16; ++i)
|
||||||
{
|
{
|
||||||
@@ -1262,7 +1273,7 @@ UINT32 MessageBoxScreenHandle( )
|
|||||||
MarkAButtonDirty( gMsgBox.uiOKButton );
|
MarkAButtonDirty( gMsgBox.uiOKButton );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC )
|
if ( gMsgBox.usFlags & MSG_BOX_FLAG_GENERIC_TWO_BUTTONS )
|
||||||
{
|
{
|
||||||
MarkAButtonDirty( gMsgBox.uiYESButton );
|
MarkAButtonDirty( gMsgBox.uiYESButton );
|
||||||
MarkAButtonDirty( gMsgBox.uiNOButton );
|
MarkAButtonDirty( gMsgBox.uiNOButton );
|
||||||
@@ -1309,142 +1320,143 @@ UINT32 MessageBoxScreenHandle( )
|
|||||||
while (DequeueSpecificEvent(&InputEvent, KEY_DOWN|KEY_UP|KEY_REPEAT))
|
while (DequeueSpecificEvent(&InputEvent, KEY_DOWN|KEY_UP|KEY_REPEAT))
|
||||||
{
|
{
|
||||||
if( !HandleTextInput( &InputEvent ) && InputEvent.usEvent == KEY_DOWN )
|
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
|
// Exit messagebox
|
||||||
gMsgBox.bHandled = MSG_BOX_RETURN_NO;
|
gMsgBox.bHandled = MSG_BOX_RETURN_NO;
|
||||||
memset(gszMsgBoxInputString,0,sizeof(CHAR16)*255);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
//OJW - 20090208 - Input Box
|
||||||
if( InputEvent.usParam == ENTER )
|
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
|
// Exit messagebox
|
||||||
gMsgBox.bHandled = MSG_BOX_RETURN_YES;
|
gMsgBox.bHandled = 1;
|
||||||
}
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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 )
|
if ( gMsgBox.bHandled )
|
||||||
|
|||||||
+10
-5
@@ -15,12 +15,13 @@
|
|||||||
#define MSG_BOX_FLAG_CONTINUESTOP 0x0100 // continue stop box
|
#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_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_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
|
// OJW - Adding text chatbox
|
||||||
#define MSG_BOX_FLAG_INPUTBOX 0x1000 // has a text input field
|
#define MSG_BOX_FLAG_INPUTBOX 0x1000 // has a text input field
|
||||||
// Flugente - added boxes for simultaneous defuse/detonate mechanism
|
// Flugente - added boxes with multiple buttons that can be renamed easily
|
||||||
#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_GENERIC_FOUR_BUTTONS 0x2000 // Displays four numbered buttons with definable labels
|
||||||
#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_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
|
// message box return codes
|
||||||
#define MSG_BOX_RETURN_OK 1 // ENTER or on OK button
|
#define MSG_BOX_RETURN_OK 1 // ENTER or on OK button
|
||||||
@@ -39,12 +40,16 @@ enum
|
|||||||
MSG_BOX_BASIC_SMALL_BUTTONS,
|
MSG_BOX_BASIC_SMALL_BUTTONS,
|
||||||
MSG_BOX_IMP_STYLE,
|
MSG_BOX_IMP_STYLE,
|
||||||
MSG_BOX_LAPTOP_DEFAULT,
|
MSG_BOX_LAPTOP_DEFAULT,
|
||||||
|
MSG_BOX_BASIC_MEDIUM_BUTTONS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef void (*MSGBOX_CALLBACK)( UINT8 bExitValue );
|
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
|
typedef struct
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1223,7 +1223,7 @@ void NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( SOLDIERTYPE *pSoldi
|
|||||||
if( fInSector == FALSE )
|
if( fInSector == FALSE )
|
||||||
{
|
{
|
||||||
// set up for mapscreen
|
// 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
|
else
|
||||||
{
|
{
|
||||||
@@ -1236,7 +1236,7 @@ void NotifyPlayerOfMercDepartureAndPromptEquipmentPlacement( SOLDIERTYPE *pSoldi
|
|||||||
if( fInSector == FALSE )
|
if( fInSector == FALSE )
|
||||||
{
|
{
|
||||||
// set up for all otherscreens
|
// 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
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15451,7 +15451,7 @@ void CreateBullsEyeOrChopperSelectionPopup( void )
|
|||||||
wcscpy( gzUserDefinedButton2, pHelicopterEtaStrings[ 9 ] );
|
wcscpy( gzUserDefinedButton2, pHelicopterEtaStrings[ 9 ] );
|
||||||
|
|
||||||
// do a BULLSEYE/CHOPPER message box
|
// 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
@@ -4543,27 +4543,33 @@ INT32 AdjustGridNoForItemPlacement( SOLDIERTYPE *pSoldier, INT32 sGridNo )
|
|||||||
void StartCorpseMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo, INT8 bLevel )
|
void StartCorpseMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo, INT8 bLevel )
|
||||||
{
|
{
|
||||||
gpTempSoldier = pSoldier;
|
gpTempSoldier = pSoldier;
|
||||||
|
|
||||||
// determine what is possible with this corpse
|
wcscpy( gzUserDefinedButton[0], TacticalStr[ DECAPITATE_STR ] );
|
||||||
BOOLEAN fDecapitate = TRUE;
|
wcscpy( gzUserDefinedButton[1], TacticalStr[ GUT_STR ] );
|
||||||
BOOLEAN fTakeClothes = TRUE;
|
wcscpy( gzUserDefinedButton[2], TacticalStr[ TAKE_CLOTHES_STR ] );
|
||||||
BOOLEAN fTakeCorpse = TRUE;
|
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 );
|
||||||
if ( fDecapitate && fTakeClothes )
|
|
||||||
DoMessageBox( MSG_BOX_BASIC_SMALL_BUTTONS, TacticalStr[ CORPSE_SELECTION_STR ], GAME_SCREEN, MSG_BOX_FLAG_FOUR_NUMBERED_BUTTONS, CorpseMessageBoxCallBack, NULL );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
|
void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
|
||||||
{
|
{
|
||||||
//DBrot: More Rooms
|
//DBrot: More Rooms
|
||||||
//UINT8 ubRoom;
|
|
||||||
UINT16 usRoom;
|
UINT16 usRoom;
|
||||||
|
|
||||||
gpTempSoldier = pSoldier;
|
gpTempSoldier = pSoldier;
|
||||||
gsTempGridNo = sGridNo;
|
gsTempGridNo = sGridNo;
|
||||||
if (Item[ pSoldier->inv[HANDPOS].usItem].remotetrigger )
|
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)
|
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 ) )
|
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 ) ) )
|
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) ) )
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -4626,7 +4649,24 @@ void StartBombMessageBox( SOLDIERTYPE * pSoldier, INT32 sGridNo )
|
|||||||
}
|
}
|
||||||
else if ( Item[ (&(pSoldier->inv[HANDPOS]))->usItem ].tripwire == 1 )
|
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;
|
gpTempSoldier = pSoldier;
|
||||||
gsTempGridNo = sGridNo;
|
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 )
|
void CleanWeapons( BOOLEAN fCleanAll )
|
||||||
|
|||||||
@@ -13049,13 +13049,30 @@ void TransformationMenuPopup_Arm( OBJECTTYPE* pObj )
|
|||||||
}
|
}
|
||||||
else if ( HasAttachmentOfClass( gpItemDescObject, (AC_DEFUSE ) ) )
|
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 ) ) )
|
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 ) ) )
|
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 ) ) )
|
else if ( HasAttachmentOfClass( gpItemDescObject, (AC_DETONATOR ) ) )
|
||||||
|
|||||||
@@ -10213,5 +10213,9 @@ void HandleSurrenderOffer( SOLDIERTYPE* pSoldier )
|
|||||||
prisonerdialoguetargetID = pSoldier->ubID;
|
prisonerdialoguetargetID = pSoldier->ubID;
|
||||||
|
|
||||||
// open a dialogue box and see wether we really want to offer this, or just talk
|
// 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 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
// 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.ubWireNetworkFlag = 0;
|
||||||
(*pObj)[0]->data.bDefuseFrequency = 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
|
//create a new item: copy the old item
|
||||||
OBJECTTYPE newbombitem( *pObj );
|
OBJECTTYPE newbombitem( *pObj );
|
||||||
|
|||||||
@@ -930,11 +930,22 @@ enum
|
|||||||
MERC_VITAL_STATS_WITH_POISON_AND_FOOD_POPUPTEXT,
|
MERC_VITAL_STATS_WITH_POISON_AND_FOOD_POPUPTEXT,
|
||||||
|
|
||||||
FUNCTION_SELECTION_STR,
|
FUNCTION_SELECTION_STR,
|
||||||
|
FILL_CANTEEN_STR,
|
||||||
|
CLEAN_ONE_GUN_STR,
|
||||||
|
CLEAN_ALL_GUNS_STR,
|
||||||
|
TAKE_OFF_CLOTHES_STR,
|
||||||
CORPSE_SELECTION_STR,
|
CORPSE_SELECTION_STR,
|
||||||
|
DECAPITATE_STR,
|
||||||
|
GUT_STR,
|
||||||
|
TAKE_CLOTHES_STR,
|
||||||
|
TAKE_BODY_STR,
|
||||||
WEAPON_CLEANING_STR,
|
WEAPON_CLEANING_STR,
|
||||||
PRISONER_NO_PRISONS_STR,
|
PRISONER_NO_PRISONS_STR,
|
||||||
PRISONER_DECIDE_STR,
|
PRISONER_DECIDE_STR,
|
||||||
PRISONER_OFFER_SURRENDER,
|
PRISONER_OFFER_SURRENDER,
|
||||||
|
PRISONER_DEMAND_SURRENDER_STR,
|
||||||
|
PRISONER_OFFER_SURRENDER_STR,
|
||||||
|
PRISONER_TALK_STR,
|
||||||
|
|
||||||
TEXT_NUM_TACTICAL_STR
|
TEXT_NUM_TACTICAL_STR
|
||||||
};
|
};
|
||||||
|
|||||||
+18
-8
@@ -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士气: %s\n口渴: %d%s\n饥饿: %d%s",
|
||||||
L"生命: %d/%d\n毒性: %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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - 装满水壶 2 - 清理枪支污垢 3 - 清理所有枪支污垢 4 - 脱掉衣服", //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
|
// 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
|
// Flugente: weapon cleaning
|
||||||
L"%s 清理了 %s", //L"%s cleaned %s",
|
L"%s cleaned %s",
|
||||||
|
|
||||||
// added by Flugente: decide what to do with prisoners
|
// 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"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"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"劝说敌人投降?", //L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk",
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+14
-3
@@ -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",
|
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
|
// 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
|
// 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
|
// Flugente: weapon cleaning
|
||||||
L"%s cleaned %s",
|
L"%s cleaned %s",
|
||||||
@@ -2918,7 +2926,10 @@ CHAR16 TacticalStr[][ MED_STRING_LENGTH ] =
|
|||||||
// added by Flugente: decide what to do with prisoners
|
// added by Flugente: decide what to do with prisoners
|
||||||
L"You have no prison for these prisoners, you have to let them go",
|
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"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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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"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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
+17
-7
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
@@ -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\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",
|
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
|
// added by Flugente: selection of a function to call in tactical // TODO.Translate
|
||||||
L"1 - Fill Canteens 2 - Clean one gun 3 - Clean all guns 4 - Take off clothes", // 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
|
// 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",
|
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"You have no prison for these prisoners, you have to let them go",
|
||||||
L"Yes - Send prisoners to jail No - Let them go",
|
L"Yes - Send prisoners to jail No - Let them go",
|
||||||
L"Ask enemy for surrender?",
|
L"What do you want to do?",
|
||||||
L"1 - Ask enemy for surrender 2 - Surrender to enemy 3,4 - Talk", // TODO.Translate
|
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.
|
//Varying helptext explains (for the "Go to Sector/Map" checkbox) what will happen given different circumstances in the "exiting sector" interface.
|
||||||
|
|||||||
Reference in New Issue
Block a user