From 10817d380e84e90f5acb7f2161258bd6188b3c5d Mon Sep 17 00:00:00 2001 From: Wanne Date: Thu, 12 Oct 2006 10:26:25 +0000 Subject: [PATCH] - updated most of the editor screens to the high resolution. Editor should now work with high resolution. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@600 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Editor/Cursor Modes.cpp | 8 +- Editor/Editor Callbacks.cpp | 1 + Editor/Editor Modes.cpp | 1 + Editor/Editor Taskbar Creation.cpp | 360 +++++++++++++++-------------- Editor/Editor Taskbar Utils.cpp | 63 ++--- Editor/Editor Undo.cpp | 1 + Editor/EditorBuildings.cpp | 43 ++-- Editor/EditorDefines.h | 5 +- Editor/EditorItems.cpp | 65 ++++-- Editor/EditorMapInfo.cpp | 59 ++--- Editor/EditorMercs.cpp | 204 ++++++++-------- Editor/EditorTerrain.cpp | 7 +- Editor/Item Statistics.cpp | 143 ++++++------ Editor/LoadScreen.cpp | 49 ++-- Editor/Road Smoothing.cpp | 1 + Editor/Sector Summary.cpp | 288 ++++++++++++----------- Editor/SmartMethod.cpp | 1 + Editor/Smoothing Utils.cpp | 1 + Editor/edit_sys.cpp | 1 + Editor/editscreen.cpp | 144 ++++++------ Editor/messagebox.cpp | 9 +- Editor/newsmooth.cpp | 1 + Editor/popupmenu.cpp | 2 + Editor/selectwin.cpp | 2 + Editor/smooth.cpp | 1 + JA2.suo | Bin 197632 -> 197632 bytes Tactical/Items.cpp | 3 - Utils/_GermanText.cpp | 6 +- 28 files changed, 773 insertions(+), 696 deletions(-) diff --git a/Editor/Cursor Modes.cpp b/Editor/Cursor Modes.cpp index d40c6f1e..458fd91f 100644 --- a/Editor/Cursor Modes.cpp +++ b/Editor/Cursor Modes.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -340,10 +341,11 @@ BOOLEAN HandleAreaSelection() void ValidateSelectionRegionBoundaries() { - gSelectRegion.iLeft = max( min( 159, gSelectRegion.iLeft ), 0 ); + // WANNE: EDITOR? + gSelectRegion.iLeft = max( min( 159, gSelectRegion.iLeft ) , 0 ); gSelectRegion.iRight = max( min( 159, gSelectRegion.iRight ), 0 ); - gSelectRegion.iTop = max( min( 159, gSelectRegion.iTop ), 0 ); - gSelectRegion.iBottom = max( min( 159, gSelectRegion.iBottom ), 0 ); + gSelectRegion.iTop = max( min( 159, gSelectRegion.iTop ) , 0 ); + gSelectRegion.iBottom = max( min( 159, gSelectRegion.iBottom ), 0 ); } void EnsureSelectionType() diff --git a/Editor/Editor Callbacks.cpp b/Editor/Editor Callbacks.cpp index 60fcef1d..2208339f 100644 --- a/Editor/Editor Callbacks.cpp +++ b/Editor/Editor Callbacks.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/Editor Modes.cpp b/Editor/Editor Modes.cpp index 95bfa4e1..9c07648d 100644 --- a/Editor/Editor Modes.cpp +++ b/Editor/Editor Modes.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/Editor Taskbar Creation.cpp b/Editor/Editor Taskbar Creation.cpp index ddc267f7..5d44fb03 100644 --- a/Editor/Editor Taskbar Creation.cpp +++ b/Editor/Editor Taskbar Creation.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -34,15 +35,15 @@ void InitEditorItemStatsButtons(); void InitEditorItemStatsButtons() { iEditorButton[ ITEMSTATS_PANEL ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 480, 361, 160, 99, BUTTON_TOGGLE, + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 361, 160, 99, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); SpecifyDisabledButtonStyle( iEditorButton[ ITEMSTATS_PANEL ], DISABLED_STYLE_NONE ); DisableButton( iEditorButton[ ITEMSTATS_PANEL ] ); iEditorButton[ ITEMSTATS_HIDDEN_BTN ] = - CreateCheckBoxButton( 485, 365, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, ItemStatsToggleHideCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 365, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, ItemStatsToggleHideCallback ); iEditorButton[ ITEMSTATS_DELETE_BTN ] = CreateTextButton( L"Delete", FONT10ARIAL, FONT_RED, FONT_BLACK, BUTTON_USE_DEFAULT, - 600, 441, 36, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL+1, DEFAULT_MOVE_CALLBACK, ItemStatsDeleteCallback ); + iScreenWidthOffset + 600, 2 * iScreenHeightOffset + 441, 36, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL+1, DEFAULT_MOVE_CALLBACK, ItemStatsDeleteCallback ); } void InitEditorMercsToolbar() @@ -52,147 +53,147 @@ void InitEditorMercsToolbar() INT32 x; iEditorButton[ MERCS_PLAYERTOGGLE ] = - CreateCheckBoxButton( 4, 362, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsTogglePlayers ); + CreateCheckBoxButton( iScreenWidthOffset + 4, 2 * iScreenHeightOffset + 362, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsTogglePlayers ); if( gfShowPlayers ) ClickEditorButton( MERCS_PLAYERTOGGLE ); SetButtonFastHelpText( iEditorButton[ MERCS_PLAYERTOGGLE ], L"Toggle viewing of players"); DisableButton( iEditorButton[ MERCS_PLAYERTOGGLE ] ); iEditorButton[ MERCS_ENEMYTOGGLE ] = - CreateCheckBoxButton( 4, 382, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleEnemies ); + CreateCheckBoxButton( iScreenWidthOffset + 4, 2 * iScreenHeightOffset + 382, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleEnemies ); if( gfShowEnemies ) ClickEditorButton( MERCS_ENEMYTOGGLE ); SetButtonFastHelpText( iEditorButton[ MERCS_ENEMYTOGGLE ], L"Toggle viewing of enemies"); iEditorButton[ MERCS_CREATURETOGGLE ] = - CreateCheckBoxButton( 4, 402, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleCreatures ); + CreateCheckBoxButton( iScreenWidthOffset + 4, 2 * iScreenHeightOffset + 402, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleCreatures ); if( gfShowCreatures ) ClickEditorButton( MERCS_CREATURETOGGLE ); SetButtonFastHelpText( iEditorButton[ MERCS_CREATURETOGGLE ], L"Toggle viewing of creatures"); iEditorButton[ MERCS_REBELTOGGLE ] = - CreateCheckBoxButton( 4, 422, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleRebels ); + CreateCheckBoxButton( iScreenWidthOffset + 4, 2 * iScreenHeightOffset + 422, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleRebels ); if( gfShowRebels ) ClickEditorButton( MERCS_REBELTOGGLE ); SetButtonFastHelpText( iEditorButton[ MERCS_REBELTOGGLE ], L"Toggle viewing of rebels"); iEditorButton[ MERCS_CIVILIANTOGGLE ] = - CreateCheckBoxButton( 4, 442, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleCivilians ); + CreateCheckBoxButton( iScreenWidthOffset + 4, 2 * iScreenHeightOffset + 442, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleCivilians ); if( gfShowCivilians ) ClickEditorButton( MERCS_CIVILIANTOGGLE ); SetButtonFastHelpText( iEditorButton[ MERCS_CIVILIANTOGGLE ], L"Toggle viewing of civilians"); iEditorButton[MERCS_PLAYER] = CreateTextButton( L"Player",(UINT16)BLOCKFONT, 165, FONT_BLACK, BUTTON_USE_DEFAULT, - 20, 362, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 20, 2 * iScreenHeightOffset + 362, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsPlayerTeamCallback ); SpecifyButtonDownTextColors( iEditorButton[MERCS_PLAYER], FONT_YELLOW, FONT_BLACK ); DisableButton( iEditorButton[MERCS_PLAYER] ); iEditorButton[MERCS_ENEMY] = CreateTextButton( L"Enemy",(UINT16)BLOCKFONT, 165, FONT_BLACK, BUTTON_USE_DEFAULT, - 20, 382, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 20, 2 * iScreenHeightOffset + 382, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsEnemyTeamCallback ); SpecifyButtonDownTextColors( iEditorButton[MERCS_ENEMY], FONT_YELLOW, FONT_BLACK ); iEditorButton[MERCS_CREATURE] = CreateTextButton( L"Creature",(UINT16)BLOCKFONT, 165, FONT_BLACK, BUTTON_USE_DEFAULT, - 20, 402, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 20, 2 * iScreenHeightOffset + 402, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsCreatureTeamCallback ); SpecifyButtonDownTextColors( iEditorButton[MERCS_CREATURE], FONT_YELLOW, FONT_BLACK ); iEditorButton[MERCS_REBEL] = CreateTextButton( L"Rebels",(UINT16)BLOCKFONT, 165, FONT_BLACK, BUTTON_USE_DEFAULT, - 20, 422, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 20, 2 * iScreenHeightOffset + 422, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsRebelTeamCallback ); SpecifyButtonDownTextColors( iEditorButton[MERCS_REBEL], FONT_YELLOW, FONT_BLACK ); iEditorButton[MERCS_CIVILIAN] = CreateTextButton( L"Civilian",(UINT16)BLOCKFONT, 165, FONT_BLACK, BUTTON_USE_DEFAULT, - 20, 442, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 20, 2 * iScreenHeightOffset + 442, 78, 19, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsCivilianTeamCallback ); SpecifyButtonDownTextColors( iEditorButton[MERCS_CIVILIAN], FONT_YELLOW, FONT_BLACK ); iEditorButton[ MERCS_1 ] = CreateTextButton( L"DETAILED PLACEMENT", SMALLCOMPFONT, FONT_ORANGE, 60, BUTTON_USE_DEFAULT, - 100, 362, 68, 20, BUTTON_TOGGLE, + iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 362, 68, 20, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); DisableButton( iEditorButton[ MERCS_1 ] ); SpecifyDisabledButtonStyle( iEditorButton[ MERCS_1 ], DISABLED_STYLE_NONE ); SpecifyButtonTextOffsets( iEditorButton[ MERCS_1 ], 20, 4, FALSE ); SpecifyButtonTextWrappedWidth( iEditorButton[ MERCS_1 ], 46 ); iEditorButton[ MERCS_DETAILEDCHECKBOX ] = - CreateCheckBoxButton( 103, 365, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsDetailedPlacementCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 103, 2 * iScreenHeightOffset + 365, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsDetailedPlacementCallback ); iEditorButton[ MERCS_GENERAL ] = - CreateEasyToggleButton( 100, 382, "EDITOR//MercGeneral.sti", MercsGeneralModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 382, "EDITOR//MercGeneral.sti", MercsGeneralModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_GENERAL ], L"General information mode"); iEditorButton[ MERCS_APPEARANCE ] = - CreateEasyToggleButton( 134, 382, "EDITOR//MercAppearance.sti", MercsAppearanceModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 134, 2 * iScreenHeightOffset + 382, "EDITOR//MercAppearance.sti", MercsAppearanceModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_APPEARANCE ], L"Physical appearance mode"); iEditorButton[ MERCS_ATTRIBUTES ] = - CreateEasyToggleButton( 100, 408, "EDITOR//MercAttributes.sti", MercsAttributesModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 408, "EDITOR//MercAttributes.sti", MercsAttributesModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_ATTRIBUTES ], L"Attributes mode"); iEditorButton[ MERCS_INVENTORY ] = - CreateEasyToggleButton( 134, 408, "EDITOR//MercInventory.sti", MercsInventoryModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 134, 2 * iScreenHeightOffset + 408, "EDITOR//MercInventory.sti", MercsInventoryModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_INVENTORY ], L"Inventory mode"); iEditorButton[ MERCS_PROFILE ] = - CreateEasyToggleButton( 100, 434, "EDITOR//MercProfile.sti", MercsProfileModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 434, "EDITOR//MercProfile.sti", MercsProfileModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_PROFILE ], L"Profile ID mode"); iEditorButton[ MERCS_SCHEDULE ] = - CreateEasyToggleButton( 134, 434, "EDITOR//MercSchedule.sti", MercsScheduleModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 134, 2 * iScreenHeightOffset + 434, "EDITOR//MercSchedule.sti", MercsScheduleModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_SCHEDULE ], L"Schedule mode"); //Workaround for identical buttons. MSYS_SetBtnUserData( iEditorButton[ MERCS_SCHEDULE ], 3, 0xffffffff ); iEditorButton[ MERCS_GLOWSCHEDULE ] = - CreateEasyToggleButton( 134, 434, "EDITOR//MercGlowSchedule.sti", MercsScheduleModeCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 134, 2 * iScreenHeightOffset + 434, "EDITOR//MercGlowSchedule.sti", MercsScheduleModeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_GLOWSCHEDULE ], L"Schedule mode"); HideEditorButton( MERCS_GLOWSCHEDULE ); iEditorButton[ MERCS_DELETE ] = CreateTextButton( L"DELETE", (UINT16)SMALLCOMPFONT, FONT_DKBLUE, FONT_BLACK, BUTTON_USE_DEFAULT, - 600, 362, 40, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 600, 2 * iScreenHeightOffset + 362, 40, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsDeleteCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_DELETE ], L"Delete currently selected merc (DEL)."); iEditorButton[ MERCS_NEXT ] = CreateTextButton( L"NEXT", (UINT16)SMALLCOMPFONT, FONT_DKBLUE, FONT_BLACK, BUTTON_USE_DEFAULT, - 600, 382, 40, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 600, 2 * iScreenHeightOffset + 382, 40, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsNextCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_NEXT ], L"Find next merc (SPACE)."); //Priority Existance iEditorButton[ MERCS_PRIORITYEXISTANCE_CHECKBOX ] = - CreateCheckBoxButton( 170, 365, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsPriorityExistanceCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 170, 2 * iScreenHeightOffset + 365, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsPriorityExistanceCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_PRIORITYEXISTANCE_CHECKBOX ], L"Toggle priority existance" ); //If merc has keys iEditorButton[ MERCS_HASKEYS_CHECKBOX ] = - CreateCheckBoxButton( 170, 390, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsHasKeysCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 170, 2 * iScreenHeightOffset + 390, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsHasKeysCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_HASKEYS_CHECKBOX ], L"Toggle whether or not placement has/naccess to all doors." ); //Orders iEditorButton[ MERCS_ORDERS_STATIONARY ] = CreateTextButton( L"STATIONARY", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 368, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 368, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_ONGUARD] = CreateTextButton( L"ON GUARD", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 380, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 380, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_ONCALL ] = CreateTextButton( L"ON CALL", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 392, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 392, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_SEEKENEMY ] = CreateTextButton( L"SEEK ENEMY", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 404, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 404, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_CLOSEPATROL ] = CreateTextButton( L"CLOSE PATROL", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 368, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 368, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_FARPATROL ] = CreateTextButton( L"FAR PATROL", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 380, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 380, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_POINTPATROL ] = CreateTextButton( L"POINT PATROL", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 392, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 392, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); iEditorButton[ MERCS_ORDERS_RNDPTPATROL ] = CreateTextButton( L"RND PT PATROL", (UINT16)SMALLCOMPFONT, FONT_GRAY2, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 404, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 404, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetOrdersCallback ); for ( x = 0; x < 8; x++ ) { @@ -202,27 +203,27 @@ void InitEditorMercsToolbar() //Attitudes iEditorButton[ MERCS_ATTITUDE_DEFENSIVE ] = CreateTextButton( L"DEFENSIVE", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 424, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 424, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); iEditorButton[ MERCS_ATTITUDE_BRAVESOLO ] = CreateTextButton( L"BRAVE SOLO", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 436, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 436, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); iEditorButton[ MERCS_ATTITUDE_BRAVEAID ] = CreateTextButton( L"BRAVE AID", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 200, 448, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 448, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); iEditorButton[ MERCS_ATTITUDE_AGGRESSIVE ] = CreateTextButton( L"AGGRESSIVE", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 424, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 424, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); iEditorButton[ MERCS_ATTITUDE_CUNNINGSOLO ] = CreateTextButton( L"CUNNING SOLO", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 436, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 436, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); iEditorButton[ MERCS_ATTITUDE_CUNNINGAID ] = CreateTextButton( L"CUNNING AID", (UINT16)SMALLCOMPFONT, FONT_GRAY4, FONT_BLACK, BUTTON_USE_DEFAULT, - 270, 448, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 270, 2 * iScreenHeightOffset + 448, 70, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetAttitudeCallback ); for ( x = 0; x < 6; x++ ) { @@ -231,28 +232,28 @@ void InitEditorMercsToolbar() iEditorButton[ MERCS_DIRECTION_W ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 7, BUTTON_USE_DEFAULT, - 360, 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 360, 2 * iScreenHeightOffset + 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_NW ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 0, BUTTON_USE_DEFAULT, - 390, 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 390, 2 * iScreenHeightOffset + 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_N ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 1, BUTTON_USE_DEFAULT, - 420, 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 420, 2 * iScreenHeightOffset + 365, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_NE] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 2, BUTTON_USE_DEFAULT, - 420, 395, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 420, 2 * iScreenHeightOffset + 395, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_E ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 3, BUTTON_USE_DEFAULT, - 420, 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 420, 2 * iScreenHeightOffset + 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_SE ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 4, BUTTON_USE_DEFAULT, - 390, 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 390, 2 * iScreenHeightOffset + 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_S ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 5, BUTTON_USE_DEFAULT, - 360, 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 360, 2 * iScreenHeightOffset + 425, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); iEditorButton[ MERCS_DIRECTION_SW ] = CreateIconButton((INT16)giEditMercDirectionIcons[0], 6, BUTTON_USE_DEFAULT, - 360, 395, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); + iScreenWidthOffset + 360, 2 * iScreenHeightOffset + 395, 30, 30, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsDirectionSetCallback ); for ( x = 0; x < 8; x++ ) { swprintf( (wchar_t *)TempString, (wchar_t *)L"Set merc to face %s", FaceDirs[x] ); @@ -262,28 +263,28 @@ void InitEditorMercsToolbar() iEditorButton[ MERCS_DIRECTION_FIND ] = CreateTextButton( L"Find", (INT16)FONT12POINT1, FONT_MCOLOR_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - 390, 395, 30, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsFindSelectedMercCallback ); + iScreenWidthOffset + 390, 2 * iScreenHeightOffset + 395, 30, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL + 1, DEFAULT_MOVE_CALLBACK, MercsFindSelectedMercCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_DIRECTION_FIND] , L"Find selected merc" ); iEditorButton[ MERCS_EQUIPMENT_BAD ] = CreateTextButton( L"BAD", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 480, 385, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); + iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 385, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_EQUIPMENT_BAD ], FONT_LTRED, FONT_BLACK ); iEditorButton[ MERCS_EQUIPMENT_POOR ] = CreateTextButton( L"POOR", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 480, 400, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); + iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 400, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_EQUIPMENT_POOR ], FONT_ORANGE, FONT_BLACK ); iEditorButton[ MERCS_EQUIPMENT_AVERAGE ] = CreateTextButton( L"AVERAGE", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 480, 415, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); + iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 415, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_EQUIPMENT_AVERAGE ], FONT_YELLOW, FONT_BLACK ); iEditorButton[ MERCS_EQUIPMENT_GOOD ] = CreateTextButton( L"GOOD", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 480, 430, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); + iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 430, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_EQUIPMENT_GOOD ], FONT_LTGREEN, FONT_BLACK ); iEditorButton[ MERCS_EQUIPMENT_GREAT ] = CreateTextButton( L"GREAT", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 480, 445, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); + iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 445, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeEquipmentCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_EQUIPMENT_GREAT ], FONT_LTBLUE, FONT_BLACK ); for ( x = 0; x < 5; x++ ) { @@ -292,59 +293,59 @@ void InitEditorMercsToolbar() iEditorButton[ MERCS_ATTRIBUTES_BAD ] = CreateTextButton( L"BAD", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 530, 385, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); + iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 385, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_ATTRIBUTES_BAD ], FONT_LTRED, FONT_BLACK ); iEditorButton[ MERCS_ATTRIBUTES_POOR ] = CreateTextButton( L"POOR", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 530, 400, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); + iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 400, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_ATTRIBUTES_POOR ], FONT_ORANGE, FONT_BLACK ); iEditorButton[ MERCS_ATTRIBUTES_AVERAGE ] = CreateTextButton( L"AVERAGE", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 530, 415, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); + iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 415, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_ATTRIBUTES_AVERAGE ], FONT_YELLOW, FONT_BLACK ); iEditorButton[ MERCS_ATTRIBUTES_GOOD ] = CreateTextButton( L"GOOD", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 530, 430, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); + iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 430, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_ATTRIBUTES_GOOD ], FONT_LTGREEN, FONT_BLACK ); iEditorButton[ MERCS_ATTRIBUTES_GREAT ] = CreateTextButton( L"GREAT", (INT16)SMALLCOMPFONT, FONT_GRAY1, FONT_BLACK, BUTTON_USE_DEFAULT, - 530, 445, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); + iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 445, 40, 15, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsSetRelativeAttributesCallback ); SpecifyButtonDownTextColors( iEditorButton[ MERCS_ATTRIBUTES_GREAT ], FONT_LTBLUE, FONT_BLACK ); for( x = 0; x < 5; x++ ) MSYS_SetBtnUserData( iEditorButton[ FIRST_MERCS_REL_ATTRIBUTE_BUTTON + x ], 0, x); iEditorButton[ MERCS_ARMY_CODE ] = - CreateCheckBoxButton( 575, 410, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 410, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ARMY_CODE ], 0, SOLDIER_CLASS_ARMY ); iEditorButton[ MERCS_ADMIN_CODE ] = - CreateCheckBoxButton( 575, 424, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 424, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ADMIN_CODE ], 0, SOLDIER_CLASS_ADMINISTRATOR ); iEditorButton[ MERCS_ELITE_CODE ] = - CreateCheckBoxButton( 575, 438, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); + CreateCheckBoxButton( 2 * iScreenWidthOffset + 575, iScreenHeightOffset + 438, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MercsSetEnemyColorCodeCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_ELITE_CODE ], 0, SOLDIER_CLASS_ELITE ); iEditorButton[ MERCS_CIVILIAN_GROUP ] = CreateTextButton( gszCivGroupNames[0], (INT16)SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 574, 410, 60, 25, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsCivilianGroupCallback ); + iScreenWidthOffset + 574, 2 * iScreenHeightOffset + 410, 60, 25, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsCivilianGroupCallback ); iEditorButton[ MERCS_TOGGLECOLOR_BUTTON ] = - CreateCheckBoxButton( 180, 364, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleColorModeCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 180, 2 * iScreenHeightOffset +364, "EDITOR//checkbox.sti", MSYS_PRIORITY_NORMAL, MercsToggleColorModeCallback ); iEditorButton[MERCS_HAIRCOLOR_DOWN] = - CreateEasyNoToggleButton( 200,364,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 200,2 * iScreenHeightOffset +364,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_HAIRCOLOR_UP] = - CreateEasyNoToggleButton( 360,364,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 360,2 * iScreenHeightOffset +364,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_SKINCOLOR_DOWN] = - CreateEasyNoToggleButton( 200,388,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 200,2 * iScreenHeightOffset +388,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_SKINCOLOR_UP] = - CreateEasyNoToggleButton( 360,388,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 360,2 * iScreenHeightOffset +388,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_VESTCOLOR_DOWN] = - CreateEasyNoToggleButton( 200,412,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 200,2 * iScreenHeightOffset +412,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_VESTCOLOR_UP] = - CreateEasyNoToggleButton( 360,412,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 360,2 * iScreenHeightOffset +412,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_PANTCOLOR_DOWN] = - CreateEasyNoToggleButton( 200,436,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 200,2 * iScreenHeightOffset +436,"EDITOR//leftarrow.sti", MercsSetColorsCallback ); iEditorButton[MERCS_PANTCOLOR_UP] = - CreateEasyNoToggleButton( 360,436,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 360,2 * iScreenHeightOffset +436,"EDITOR//rightarrow.sti", MercsSetColorsCallback ); for ( x = FIRST_MERCS_COLOR_BUTTON; x < LAST_MERCS_COLOR_BUTTON; x+=2 ) { SetButtonFastHelpText( iEditorButton[x], L"Previous color set" ); @@ -354,67 +355,68 @@ void InitEditorMercsToolbar() } iEditorButton[MERCS_BODYTYPE_DOWN] = - CreateEasyNoToggleButton( 460,364,"EDITOR//leftarrow.sti", MercsSetBodyTypeCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 460,2 * iScreenHeightOffset +364,"EDITOR//leftarrow.sti", MercsSetBodyTypeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_BODYTYPE_DOWN ], L"Previous body type"); iEditorButton[MERCS_BODYTYPE_UP] = - CreateEasyNoToggleButton( 560,364,"EDITOR//rightarrow.sti", MercsSetBodyTypeCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 560,2 * iScreenHeightOffset +364,"EDITOR//rightarrow.sti", MercsSetBodyTypeCallback ); SetButtonFastHelpText( iEditorButton[ MERCS_BODYTYPE_UP ], L"Next body type"); iEditorButton[ MERCS_SCHEDULE_VARIANCE1 ] = - CreateCheckBoxButton( 309, 375, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance1Callback ); + CreateCheckBoxButton( iScreenWidthOffset + 309, 2 * iScreenHeightOffset +375, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance1Callback ); SetButtonFastHelpText( iEditorButton[ MERCS_SCHEDULE_VARIANCE1 ], L"Toggle time variance (+ or - 15 minutes)"); iEditorButton[ MERCS_SCHEDULE_VARIANCE2 ] = - CreateCheckBoxButton( 309, 396, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance2Callback ); + CreateCheckBoxButton( iScreenWidthOffset + 309, 2 * iScreenHeightOffset +396, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance2Callback ); SetButtonFastHelpText( iEditorButton[ MERCS_SCHEDULE_VARIANCE2 ], L"Toggle time variance (+ or - 15 minutes)"); iEditorButton[ MERCS_SCHEDULE_VARIANCE3 ] = - CreateCheckBoxButton( 309, 417, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance3Callback ); + CreateCheckBoxButton( iScreenWidthOffset + 309, 2 * iScreenHeightOffset +417, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance3Callback ); SetButtonFastHelpText( iEditorButton[ MERCS_SCHEDULE_VARIANCE3 ], L"Toggle time variance (+ or - 15 minutes)"); iEditorButton[ MERCS_SCHEDULE_VARIANCE4 ] = - CreateCheckBoxButton( 309, 438, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance4Callback ); + CreateCheckBoxButton( iScreenWidthOffset + 309, 2 * iScreenHeightOffset +438, "EDITOR//SmCheckBox.sti", MSYS_PRIORITY_NORMAL, MercsScheduleToggleVariance4Callback ); SetButtonFastHelpText( iEditorButton[ MERCS_SCHEDULE_VARIANCE4 ], L"Toggle time variance (+ or - 15 minutes)"); iEditorButton[ MERCS_SCHEDULE_ACTION1 ] = CreateTextButton( L"No action", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 186, 373, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction1Callback ); + iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 373, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction1Callback ); iEditorButton[ MERCS_SCHEDULE_ACTION2 ] = CreateTextButton( L"No action", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 186, 394, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction2Callback ); + iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 394, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction2Callback ); iEditorButton[ MERCS_SCHEDULE_ACTION3 ] = CreateTextButton( L"No action", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 186, 415, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction3Callback ); + iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 415, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction3Callback ); iEditorButton[ MERCS_SCHEDULE_ACTION4 ] = CreateTextButton( L"No action", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 186, 436, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction4Callback ); + iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 436, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleAction4Callback ); iEditorButton[ MERCS_SCHEDULE_DATA1A ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 331, 373, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData1ACallback ); + iScreenWidthOffset + 331, 2 * iScreenHeightOffset + 373, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData1ACallback ); iEditorButton[ MERCS_SCHEDULE_DATA1B ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 381, 373, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData1BCallback ); + iScreenWidthOffset + 381, 2 * iScreenHeightOffset + 373, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData1BCallback ); iEditorButton[ MERCS_SCHEDULE_DATA2A ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 331, 394, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData2ACallback ); + iScreenWidthOffset + 331, 2 * iScreenHeightOffset + 394, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData2ACallback ); iEditorButton[ MERCS_SCHEDULE_DATA2B ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 381, 394, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData2BCallback ); + iScreenWidthOffset + 381, 2 * iScreenHeightOffset + 394, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData2BCallback ); iEditorButton[ MERCS_SCHEDULE_DATA3A ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 331, 415, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData3ACallback ); + iScreenWidthOffset + 331, 2 * iScreenHeightOffset + 415, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData3ACallback ); iEditorButton[ MERCS_SCHEDULE_DATA3B ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 381, 415, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData3BCallback ); + iScreenWidthOffset + 381, 2 * iScreenHeightOffset + 415, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData3BCallback ); iEditorButton[ MERCS_SCHEDULE_DATA4A ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 331, 436, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData4ACallback ); + iScreenWidthOffset + 331, 2 * iScreenHeightOffset + 436, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData4ACallback ); iEditorButton[ MERCS_SCHEDULE_DATA4B ] = CreateTextButton( L"", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 381, 436, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData4BCallback ); + iScreenWidthOffset + 381, 2 * iScreenHeightOffset + 436, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleData4BCallback ); iEditorButton[ MERCS_SCHEDULE_CLEAR ] = CreateTextButton( L"Clear Schedule", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 516, 362, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleClearCallback ); + iScreenWidthOffset + 516, 2 * iScreenHeightOffset + 362, 77, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MercsScheduleClearCallback ); HideEditorButtons( MERCS_SCHEDULE_DATA1A, MERCS_SCHEDULE_DATA4B ); + // WANNE: continue iEditorButton[ MERCS_HEAD_SLOT ] = CreateCheckBoxButton( MERCPANEL_X+61, MERCPANEL_Y+0, "EDITOR//smCheckbox.sti", MSYS_PRIORITY_NORMAL+1, MercsInventorySlotCallback ); MSYS_SetBtnUserData( iEditorButton[ MERCS_HEAD_SLOT ], 0, HELMETPOS ); @@ -448,19 +450,19 @@ void InitEditorBuildingsToolbar() { iEditorButton[BUILDING_TOGGLE_ROOF_VIEW] = CreateTextButton(L"ROOFS",(UINT16)SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 110, 400, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 110, 2 * iScreenHeightOffset + 400, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, BuildingToggleRoofViewCallback); iEditorButton[BUILDING_TOGGLE_WALL_VIEW] = CreateTextButton(L"WALLS",(UINT16)SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 110, 415, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 110, 2 * iScreenHeightOffset + 415, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, BuildingToggleWallViewCallback); iEditorButton[BUILDING_TOGGLE_INFO_VIEW] = CreateTextButton(L"ROOM INFO",(UINT16)SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 110, 430, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 110, 2 * iScreenHeightOffset + 430, 50, 15, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,BUTTON_NO_CALLBACK, BuildingToggleInfoViewCallback); //Selection method buttons iEditorButton[BUILDING_PLACE_WALLS] = - CreateEasyToggleButton( 180,370,"EDITOR//wall.sti", BuildingWallCallback); + CreateEasyToggleButton( iScreenWidthOffset + 180,2 * iScreenHeightOffset + 370,"EDITOR//wall.sti", BuildingWallCallback); //SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_WALLS],L"Place walls using selection method"); @@ -469,83 +471,83 @@ void InitEditorBuildingsToolbar() iEditorButton[BUILDING_PLACE_DOORS] = - CreateEasyToggleButton( 210,370,"EDITOR//door.sti", BuildingDoorCallback); + CreateEasyToggleButton( iScreenWidthOffset + 210,2 * iScreenHeightOffset + 370,"EDITOR//door.sti", BuildingDoorCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_DOORS],L"Place doors using selection method"); iEditorButton[BUILDING_PLACE_ROOFS] = - CreateEasyToggleButton( 240,370,"EDITOR//roof.sti", BuildingRoofCallback); + CreateEasyToggleButton( iScreenWidthOffset + 240,2 * iScreenHeightOffset + 370,"EDITOR//roof.sti", BuildingRoofCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_ROOFS],L"Place roofs using selection method"); iEditorButton[BUILDING_PLACE_WINDOWS] = - CreateEasyToggleButton( 180,400,"EDITOR//window.sti", BuildingWindowCallback); + CreateEasyToggleButton( iScreenWidthOffset + 180,2 * iScreenHeightOffset + 400,"EDITOR//window.sti", BuildingWindowCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_WINDOWS],L"Place windows using selection method"); iEditorButton[BUILDING_PLACE_BROKEN_WALLS] = - CreateEasyToggleButton( 210,400,"EDITOR//crackwall.sti", BuildingCrackWallCallback); + CreateEasyToggleButton( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 400,"EDITOR//crackwall.sti", BuildingCrackWallCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_BROKEN_WALLS],L"Place damaged walls using selection method."); iEditorButton[BUILDING_PLACE_FURNITURE] = - CreateEasyToggleButton( 240,400,"EDITOR//decor.sti", BuildingFurnitureCallback); + CreateEasyToggleButton( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 400,"EDITOR//decor.sti", BuildingFurnitureCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_FURNITURE],L"Place furniture using selection method"); iEditorButton[BUILDING_PLACE_DECALS] = - CreateEasyToggleButton( 180,430,"EDITOR//decal.sti", BuildingDecalCallback); + CreateEasyToggleButton( iScreenWidthOffset + 180, 2 * iScreenHeightOffset + 430,"EDITOR//decal.sti", BuildingDecalCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_DECALS],L"Place wall decals using selection method"); iEditorButton[BUILDING_PLACE_FLOORS] = - CreateEasyToggleButton( 210,430,"EDITOR//floor.sti", BuildingFloorCallback); + CreateEasyToggleButton( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 430,"EDITOR//floor.sti", BuildingFloorCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_FLOORS],L"Place floors using selection method"); iEditorButton[BUILDING_PLACE_TOILETS] = - CreateEasyToggleButton( 240,430,"EDITOR//toilet.sti", BuildingToiletCallback); + CreateEasyToggleButton( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 430,"EDITOR//toilet.sti", BuildingToiletCallback); SetButtonFastHelpText(iEditorButton[BUILDING_PLACE_TOILETS],L"Place generic furniture using selection method"); //Smart method buttons iEditorButton[BUILDING_SMART_WALLS] = - CreateEasyToggleButton( 290,370,"EDITOR//wall.sti", BuildingSmartWallCallback); + CreateEasyToggleButton( iScreenWidthOffset + 290, 2 * iScreenHeightOffset + 370,"EDITOR//wall.sti", BuildingSmartWallCallback); SetButtonFastHelpText(iEditorButton[BUILDING_SMART_WALLS],L"Place walls using smart method"); iEditorButton[BUILDING_SMART_DOORS] = - CreateEasyToggleButton( 320,370,"EDITOR//door.sti", BuildingSmartDoorCallback); + CreateEasyToggleButton( iScreenWidthOffset + 320, 2 * iScreenHeightOffset + 370,"EDITOR//door.sti", BuildingSmartDoorCallback); SetButtonFastHelpText(iEditorButton[BUILDING_SMART_DOORS],L"Place doors using smart method"); iEditorButton[BUILDING_SMART_WINDOWS] = - CreateEasyToggleButton( 290,400,"EDITOR//window.sti", BuildingSmartWindowCallback); + CreateEasyToggleButton( iScreenWidthOffset + 290, 2 * iScreenHeightOffset + 400,"EDITOR//window.sti", BuildingSmartWindowCallback); SetButtonFastHelpText(iEditorButton[BUILDING_SMART_WINDOWS],L"Place windows using smart method"); iEditorButton[BUILDING_SMART_BROKEN_WALLS] = - CreateEasyToggleButton( 320,400,"EDITOR//crackwall.sti", BuildingSmartCrackWallCallback); + CreateEasyToggleButton( iScreenWidthOffset + 320, 2 * iScreenHeightOffset + 400,"EDITOR//crackwall.sti", BuildingSmartCrackWallCallback); SetButtonFastHelpText(iEditorButton[BUILDING_SMART_BROKEN_WALLS],L"Place damaged walls using smart method"); iEditorButton[BUILDING_DOORKEY] = - CreateEasyToggleButton( 290, 430,"EDITOR//key.sti", BuildingDoorKeyCallback); + CreateEasyToggleButton( iScreenWidthOffset + 290, 2 * iScreenHeightOffset + 430,"EDITOR//key.sti", BuildingDoorKeyCallback); SetButtonFastHelpText(iEditorButton[BUILDING_DOORKEY], L"Lock or trap existing doors" ); iEditorButton[BUILDING_NEW_ROOM] = - CreateEasyToggleButton( 370,370,"EDITOR//newroom.sti", BuildingNewRoomCallback); + CreateEasyToggleButton( iScreenWidthOffset + 370, 2 * iScreenHeightOffset + 370,"EDITOR//newroom.sti", BuildingNewRoomCallback); SetButtonFastHelpText(iEditorButton[BUILDING_NEW_ROOM],L"Add a new room"); iEditorButton[BUILDING_CAVE_DRAWING] = - CreateEasyToggleButton( 370,370,"EDITOR//caves.sti", BuildingCaveDrawingCallback); + CreateEasyToggleButton( iScreenWidthOffset + 370, 2 * iScreenHeightOffset + 370,"EDITOR//caves.sti", BuildingCaveDrawingCallback); SetButtonFastHelpText(iEditorButton[BUILDING_CAVE_DRAWING],L"Edit cave walls."); iEditorButton[BUILDING_SAW_ROOM] = - CreateEasyToggleButton( 370,400,"EDITOR//sawroom.sti", BuildingSawRoomCallback); + CreateEasyToggleButton( iScreenWidthOffset + 370, 2 * iScreenHeightOffset + 400,"EDITOR//sawroom.sti", BuildingSawRoomCallback); SetButtonFastHelpText(iEditorButton[BUILDING_SAW_ROOM],L"Remove an area from existing building."); iEditorButton[BUILDING_KILL_BUILDING] = - CreateEasyToggleButton( 370,430,"EDITOR//delroom.sti", BuildingKillBuildingCallback); + CreateEasyToggleButton( iScreenWidthOffset + 370, 2 * iScreenHeightOffset + 430,"EDITOR//delroom.sti", BuildingKillBuildingCallback); SetButtonFastHelpText(iEditorButton[BUILDING_KILL_BUILDING],L"Remove a building"); iEditorButton[BUILDING_NEW_ROOF] = - CreateEasyToggleButton( 400,430,"EDITOR//newroof.sti", BuildingNewRoofCallback); + CreateEasyToggleButton( iScreenWidthOffset + 400, 2 * iScreenHeightOffset + 430,"EDITOR//newroof.sti", BuildingNewRoofCallback); SetButtonFastHelpText(iEditorButton[BUILDING_NEW_ROOF],L"Add/replace building's roof with new flat roof."); iEditorButton[BUILDING_COPY_BUILDING] = - CreateEasyToggleButton( 430,430,"EDITOR//copyroom.sti", BuildingCopyBuildingCallback); + CreateEasyToggleButton( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 430,"EDITOR//copyroom.sti", BuildingCopyBuildingCallback); SetButtonFastHelpText(iEditorButton[BUILDING_COPY_BUILDING],L"Copy a building"); iEditorButton[BUILDING_MOVE_BUILDING] = - CreateEasyToggleButton( 460,430,"EDITOR//moveroom.sti", BuildingMoveBuildingCallback); + CreateEasyToggleButton( iScreenWidthOffset + 460, 2 * iScreenHeightOffset + 430,"EDITOR//moveroom.sti", BuildingMoveBuildingCallback); SetButtonFastHelpText(iEditorButton[BUILDING_MOVE_BUILDING],L"Move a building"); iEditorButton[BUILDING_DRAW_ROOMNUM] = - CreateEasyToggleButton( 410,370,"EDITOR//addTileRoom.sti", BuildingDrawRoomNumCallback); + CreateEasyToggleButton( iScreenWidthOffset + 410, 2 * iScreenHeightOffset + 370,"EDITOR//addTileRoom.sti", BuildingDrawRoomNumCallback); SetButtonFastHelpText(iEditorButton[BUILDING_DRAW_ROOMNUM],L"Draw room number"); iEditorButton[BUILDING_ERASE_ROOMNUM] = - CreateEasyToggleButton( 440,370,"EDITOR//killTileRoom.sti", BuildingEraseRoomNumCallback); + CreateEasyToggleButton( iScreenWidthOffset + 440, 2 * iScreenHeightOffset + 370,"EDITOR//killTileRoom.sti", BuildingEraseRoomNumCallback); SetButtonFastHelpText(iEditorButton[BUILDING_ERASE_ROOMNUM],L"Erase room numbers"); iEditorButton[BUILDING_TOGGLE_ERASEMODE] = - CreateEasyToggleButton( 500,400,"EDITOR//eraser.sti", BtnEraseCallback); + CreateEasyToggleButton( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 400,"EDITOR//eraser.sti", BtnEraseCallback); SetButtonFastHelpText(iEditorButton[BUILDING_TOGGLE_ERASEMODE],L"Toggle erase mode"); iEditorButton[BUILDING_UNDO] = - CreateEasyNoToggleButton( 530,400,"EDITOR//undo.sti", BtnUndoCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 400,"EDITOR//undo.sti", BtnUndoCallback); SetButtonFastHelpText(iEditorButton[BUILDING_UNDO],L"Undo last change"); iEditorButton[BUILDING_CYCLE_BRUSHSIZE] = - CreateEasyNoToggleButton( 500,430,"EDITOR//paint.sti",BtnBrushCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 430,"EDITOR//paint.sti",BtnBrushCallback); SetButtonFastHelpText( iEditorButton[ BUILDING_CYCLE_BRUSHSIZE ], L"Cycle brush size"); } @@ -554,210 +556,210 @@ void InitEditorItemsToolbar() SetFontForeground( FONT_MCOLOR_LTRED ); iEditorButton[ITEMS_WEAPONS] = CreateTextButton(L"Weapons",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 100, 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsWeaponsCallback); iEditorButton[ITEMS_AMMO] = CreateTextButton(L"Ammo",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 159, 440, 40, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 159, 2 * iScreenHeightOffset + 440, 40, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsAmmoCallback); iEditorButton[ITEMS_ARMOUR] = CreateTextButton(L"Armour",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 199, 440, 52, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 199, 2 * iScreenHeightOffset + 440, 52, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsArmourCallback); iEditorButton[ITEMS_EXPLOSIVES] = CreateTextButton(L"Explosives",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 251, 440, 69, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 251, 2 * iScreenHeightOffset + 440, 69, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsExplosivesCallback); iEditorButton[ITEMS_EQUIPMENT1] = CreateTextButton(L"E1",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 320, 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 320, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsEquipment1Callback); iEditorButton[ITEMS_EQUIPMENT2] = CreateTextButton(L"E2",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 341, 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 341, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsEquipment2Callback); iEditorButton[ITEMS_EQUIPMENT3] = CreateTextButton(L"E3",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 362, 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 362, 2 * iScreenHeightOffset + 440, 21, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsEquipment3Callback); iEditorButton[ITEMS_TRIGGERS] = CreateTextButton( L"Triggers",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 383, 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 383, 2 * iScreenHeightOffset + 440, 59, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsTriggersCallback ); iEditorButton[ITEMS_KEYS] = CreateTextButton( L"Keys",(UINT16)BLOCKFONT, FONT_MCOLOR_DKWHITE, FONT_BLACK, BUTTON_USE_DEFAULT, - 442, 440, 38, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 442, 2 * iScreenHeightOffset + 440, 38, 20, BUTTON_TOGGLE,MSYS_PRIORITY_NORMAL,DEFAULT_MOVE_CALLBACK, ItemsKeysCallback ); iEditorButton[ITEMS_LEFTSCROLL] = - CreateEasyNoToggleButton( 1,361,"EDITOR//leftscroll.sti", ItemsLeftScrollCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 1,2 * iScreenHeightOffset + 361,"EDITOR//leftscroll.sti", ItemsLeftScrollCallback); iEditorButton[ITEMS_RIGHTSCROLL] = - CreateEasyNoToggleButton( 50,361,"EDITOR//rightscroll.sti", ItemsRightScrollCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 50,2 * iScreenHeightOffset + 361,"EDITOR//rightscroll.sti", ItemsRightScrollCallback); } void InitEditorMapInfoToolbar() { iEditorButton[MAPINFO_ADD_LIGHT1_SOURCE] = - CreateEasyToggleButton( 10, 362, "EDITOR//light.sti", BtnDrawLightsCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 10, SCREEN_HEIGHT - 118, "EDITOR//light.sti", BtnDrawLightsCallback ); SetButtonFastHelpText(iEditorButton[MAPINFO_ADD_LIGHT1_SOURCE],L"Add ambient light source"); iEditorButton[ MAPINFO_LIGHT_PANEL ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 45, 362, 60, 50, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 45, SCREEN_HEIGHT - 118, 60, 50, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); SpecifyDisabledButtonStyle( iEditorButton[ MAPINFO_LIGHT_PANEL ], DISABLED_STYLE_NONE ); DisableButton( iEditorButton[ MAPINFO_LIGHT_PANEL ] ); iEditorButton[ MAPINFO_PRIMETIME_LIGHT ] = - CreateCheckBoxButton( 48, 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoPrimeTimeRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 48, SCREEN_HEIGHT - 115, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoPrimeTimeRadioCallback ); iEditorButton[ MAPINFO_NIGHTTIME_LIGHT ] = - CreateCheckBoxButton( 48, 380, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoNightTimeRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 48, SCREEN_HEIGHT - 100, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoNightTimeRadioCallback ); iEditorButton[ MAPINFO_24HOUR_LIGHT ] = - CreateCheckBoxButton( 48, 395, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfo24HourTimeRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 48, SCREEN_HEIGHT - 85, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfo24HourTimeRadioCallback ); ClickEditorButton( gbDefaultLightType + MAPINFO_PRIMETIME_LIGHT ); iEditorButton[MAPINFO_TOGGLE_FAKE_LIGHTS] = - CreateEasyToggleButton( 120, 362, "EDITOR//fakelight.sti", BtnFakeLightCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 120, SCREEN_HEIGHT - 118, "EDITOR//fakelight.sti", BtnFakeLightCallback ); SetButtonFastHelpText(iEditorButton[MAPINFO_TOGGLE_FAKE_LIGHTS], L"Toggle fake ambient lights."); iEditorButton[ MAPINFO_RADIO_PANEL ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 207, 362, 70, 50, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 207, SCREEN_HEIGHT - 118, 70, 50, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); SpecifyDisabledButtonStyle( iEditorButton[ MAPINFO_RADIO_PANEL ], DISABLED_STYLE_NONE ); DisableButton( iEditorButton[ MAPINFO_RADIO_PANEL ] ); iEditorButton[ MAPINFO_RADIO_NORMAL ] = - CreateCheckBoxButton( 210, 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoNormalRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 210, SCREEN_HEIGHT - 115, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoNormalRadioCallback ); iEditorButton[ MAPINFO_RADIO_BASEMENT ] = - CreateCheckBoxButton( 210, 380, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoBasementRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 210, SCREEN_HEIGHT - 100, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoBasementRadioCallback ); iEditorButton[ MAPINFO_RADIO_CAVES ] = - CreateCheckBoxButton( 210, 395, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoCavesRadioCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 210, SCREEN_HEIGHT - 85, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, MapInfoCavesRadioCallback ); iEditorButton[MAPINFO_DRAW_EXITGRIDS] = - CreateEasyToggleButton( 305, 372, "EDITOR//exitgridbut.sti", MapInfoDrawExitGridCallback ); + CreateEasyToggleButton( iScreenWidthOffset + 305, SCREEN_HEIGHT - 108, "EDITOR//exitgridbut.sti", MapInfoDrawExitGridCallback ); SetButtonFastHelpText(iEditorButton[MAPINFO_DRAW_EXITGRIDS],L"Add exit grids (r-clk to query existing)."); iEditorButton[MAPINFO_CYCLE_BRUSHSIZE] = - CreateEasyNoToggleButton( 420, 430, "EDITOR//paint.sti", BtnBrushCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 420, SCREEN_HEIGHT - 50, "EDITOR//paint.sti", BtnBrushCallback ); SetButtonFastHelpText(iEditorButton[MAPINFO_CYCLE_BRUSHSIZE],L"Cycle brush size"); iEditorButton[MAPINFO_UNDO] = - CreateEasyNoToggleButton( 510, 430, "EDITOR//undo.sti", BtnUndoCallback ); + CreateEasyNoToggleButton( iScreenWidthOffset + 510, SCREEN_HEIGHT - 50, "EDITOR//undo.sti", BtnUndoCallback ); SetButtonFastHelpText(iEditorButton[MAPINFO_UNDO],L"Undo last change"); iEditorButton[MAPINFO_TOGGLE_ERASEMODE] = - CreateEasyToggleButton( 540, 430, "EDITOR//eraser.sti", BtnEraseCallback); + CreateEasyToggleButton( iScreenWidthOffset + 540, SCREEN_HEIGHT - 50, "EDITOR//eraser.sti", BtnEraseCallback); SetButtonFastHelpText(iEditorButton[MAPINFO_TOGGLE_ERASEMODE],L"Toggle erase mode"); iEditorButton[ MAPINFO_NORTH_POINT ] = - CreateEasyToggleButton( 540, 365, "EDITOR//north.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 540, SCREEN_HEIGHT - 115, "EDITOR//north.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_NORTH_POINT ], L"Specify north point for validation purposes."); iEditorButton[ MAPINFO_WEST_POINT ] = - CreateEasyToggleButton( 525, 386, "EDITOR//west.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 525, SCREEN_HEIGHT - 94, "EDITOR//west.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_WEST_POINT ], L"Specify west point for validation purposes."); iEditorButton[ MAPINFO_EAST_POINT ] = - CreateEasyToggleButton( 555, 386, "EDITOR//east.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 555, SCREEN_HEIGHT - 94, "EDITOR//east.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_EAST_POINT ], L"Specify east point for validation purposes."); iEditorButton[ MAPINFO_SOUTH_POINT ] = - CreateEasyToggleButton( 540, 407, "EDITOR//south.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 540, SCREEN_HEIGHT - 73, "EDITOR//south.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_SOUTH_POINT ], L"Specify south point for validation purposes."); iEditorButton[ MAPINFO_CENTER_POINT ] = - CreateEasyToggleButton( 590, 375, "EDITOR//center.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 590, SCREEN_HEIGHT - 105, "EDITOR//center.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_CENTER_POINT ], L"Specify center point for validation purposes."); iEditorButton[ MAPINFO_ISOLATED_POINT ] = - CreateEasyToggleButton( 590, 396, "EDITOR//isolated.sti", MapInfoEntryPointsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 590, SCREEN_HEIGHT - 84, "EDITOR//isolated.sti", MapInfoEntryPointsCallback); SetButtonFastHelpText( iEditorButton[ MAPINFO_ISOLATED_POINT ], L"Specify isolated point for validation purposes."); } void InitEditorOptionsToolbar() { iEditorButton[OPTIONS_NEW_MAP] = - CreateEasyNoToggleButton( 71,401,"EDITOR//new.sti", BtnNewMapCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 71,SCREEN_HEIGHT - 79,"EDITOR//new.sti", BtnNewMapCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_NEW_MAP],L"New map"); iEditorButton[OPTIONS_NEW_BASEMENT] = - CreateEasyNoToggleButton( 101,401,"EDITOR//new.sti", BtnNewBasementCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 101,SCREEN_HEIGHT - 79,"EDITOR//new.sti", BtnNewBasementCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_NEW_BASEMENT],L"New basement"); iEditorButton[OPTIONS_NEW_CAVES] = - CreateEasyNoToggleButton( 131,401,"EDITOR//new.sti", BtnNewCavesCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 131,SCREEN_HEIGHT - 79,"EDITOR//new.sti", BtnNewCavesCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_NEW_CAVES],L"New cave level"); iEditorButton[OPTIONS_SAVE_MAP] = - CreateEasyNoToggleButton( 161,401,"EDITOR//save.sti", BtnSaveCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 161,SCREEN_HEIGHT - 79,"EDITOR//save.sti", BtnSaveCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_SAVE_MAP],L"Save map"); iEditorButton[OPTIONS_LOAD_MAP] = - CreateEasyNoToggleButton( 191,401,"EDITOR//load.sti", BtnLoadCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 191,SCREEN_HEIGHT - 79,"EDITOR//load.sti", BtnLoadCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_LOAD_MAP],L"Load map"); iEditorButton[OPTIONS_CHANGE_TILESET] = - CreateEasyNoToggleButton( 221,401,"EDITOR//tileset.sti", BtnChangeTilesetCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 221,SCREEN_HEIGHT - 79,"EDITOR//tileset.sti", BtnChangeTilesetCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_CHANGE_TILESET],L"Select tileset"); iEditorButton[OPTIONS_LEAVE_EDITOR] = - CreateEasyNoToggleButton( 251,401,"EDITOR//cancel.sti", BtnCancelCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 251,SCREEN_HEIGHT - 79,"EDITOR//cancel.sti", BtnCancelCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_LEAVE_EDITOR],L"Leave Editor mode"); iEditorButton[OPTIONS_QUIT_GAME] = - CreateEasyNoToggleButton( 281,401,"EDITOR//cancel.sti", BtnQuitCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 281,SCREEN_HEIGHT - 79,"EDITOR//cancel.sti", BtnQuitCallback); SetButtonFastHelpText(iEditorButton[OPTIONS_QUIT_GAME],L"Exit game."); } void InitEditorTerrainToolbar() { iEditorButton[TERRAIN_FGROUND_TEXTURES] = - CreateEasyToggleButton( 100,400,"EDITOR//downgrid.sti", BtnFgGrndCallback); + CreateEasyToggleButton( iScreenWidthOffset + 100,SCREEN_HEIGHT - 80,"EDITOR//downgrid.sti", BtnFgGrndCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_FGROUND_TEXTURES],L"Draw ground textures"); iEditorButton[TERRAIN_BGROUND_TEXTURES] = - CreateEasyToggleButton( 130,400,"EDITOR//upgrid.sti", BtnBkGrndCallback); + CreateEasyToggleButton( iScreenWidthOffset + 130,SCREEN_HEIGHT - 80,"EDITOR//upgrid.sti", BtnBkGrndCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_BGROUND_TEXTURES],L"Set map ground textures"); iEditorButton[TERRAIN_PLACE_CLIFFS] = - CreateEasyToggleButton( 160,400,"EDITOR//banks.sti", BtnBanksCallback); + CreateEasyToggleButton( iScreenWidthOffset + 160,SCREEN_HEIGHT - 80,"EDITOR//banks.sti", BtnBanksCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_CLIFFS],L"Place banks and cliffs"); iEditorButton[TERRAIN_PLACE_ROADS] = - CreateEasyToggleButton( 190,400,"EDITOR//road.sti", BtnRoadsCallback); + CreateEasyToggleButton( iScreenWidthOffset + 190,SCREEN_HEIGHT - 80,"EDITOR//road.sti", BtnRoadsCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_ROADS],L"Draw roads"); iEditorButton[TERRAIN_PLACE_DEBRIS] = - CreateEasyToggleButton( 220,400,"EDITOR//debris.sti", BtnDebrisCallback); + CreateEasyToggleButton( iScreenWidthOffset + 220,SCREEN_HEIGHT - 80,"EDITOR//debris.sti", BtnDebrisCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_DEBRIS],L"Draw debris"); iEditorButton[TERRAIN_PLACE_TREES] = - CreateEasyToggleButton( 250,400,"EDITOR//tree.sti", BtnObjectCallback); + CreateEasyToggleButton( iScreenWidthOffset + 250,SCREEN_HEIGHT - 80,"EDITOR//tree.sti", BtnObjectCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_TREES],L"Place trees & bushes"); iEditorButton[TERRAIN_PLACE_ROCKS] = - CreateEasyToggleButton( 280,400,"EDITOR//num1.sti", BtnObject1Callback); + CreateEasyToggleButton( iScreenWidthOffset + 280,SCREEN_HEIGHT - 80,"EDITOR//num1.sti", BtnObject1Callback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_ROCKS],L"Place rocks"); iEditorButton[TERRAIN_PLACE_MISC] = - CreateEasyToggleButton( 310,400,"EDITOR//num2.sti", BtnObject2Callback); + CreateEasyToggleButton( iScreenWidthOffset + 310,SCREEN_HEIGHT - 80,"EDITOR//num2.sti", BtnObject2Callback); SetButtonFastHelpText(iEditorButton[TERRAIN_PLACE_MISC],L"Place barrels & other junk"); iEditorButton[TERRAIN_FILL_AREA] = - CreateEasyToggleButton( 100,430,"EDITOR//fill.sti", BtnFillCallback); + CreateEasyToggleButton( iScreenWidthOffset + 100,SCREEN_HEIGHT - 50,"EDITOR//fill.sti", BtnFillCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_FILL_AREA],L"Fill area"); iEditorButton[TERRAIN_UNDO] = - CreateEasyNoToggleButton( 130,430,"EDITOR//undo.sti", BtnUndoCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 130,SCREEN_HEIGHT - 50,"EDITOR//undo.sti", BtnUndoCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_UNDO],L"Undo last change"); iEditorButton[TERRAIN_TOGGLE_ERASEMODE] = - CreateEasyToggleButton( 160,430,"EDITOR//eraser.sti", BtnEraseCallback); + CreateEasyToggleButton( iScreenWidthOffset + 160,SCREEN_HEIGHT - 50,"EDITOR//eraser.sti", BtnEraseCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_TOGGLE_ERASEMODE],L"Toggle erase mode"); iEditorButton[TERRAIN_CYCLE_BRUSHSIZE] = - CreateEasyNoToggleButton( 190,430,"EDITOR//paint.sti", BtnBrushCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 190,SCREEN_HEIGHT - 50,"EDITOR//paint.sti", BtnBrushCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_CYCLE_BRUSHSIZE],L"Cycle brush size"); iEditorButton[TERRAIN_RAISE_DENSITY] = - CreateEasyNoToggleButton( 280,430,"EDITOR//uparrow.sti", BtnIncBrushDensityCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 280,SCREEN_HEIGHT - 50,"EDITOR//uparrow.sti", BtnIncBrushDensityCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_RAISE_DENSITY],L"Raise brush density"); iEditorButton[TERRAIN_LOWER_DENSITY] = - CreateEasyNoToggleButton( 350,430,"EDITOR//downarrow.sti", BtnDecBrushDensityCallback); + CreateEasyNoToggleButton( iScreenWidthOffset + 350,SCREEN_HEIGHT - 50,"EDITOR//downarrow.sti", BtnDecBrushDensityCallback); SetButtonFastHelpText(iEditorButton[TERRAIN_LOWER_DENSITY],L"Lower brush density"); } @@ -766,32 +768,32 @@ void CreateEditorTaskbarInternal() //Create the tabs for the editor taskbar iEditorButton[ TAB_TERRAIN ] = CreateTextButton(L"Terrain", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 100, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 100, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskTerrainCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_TERRAIN], FONT_YELLOW, FONT_ORANGE ); iEditorButton[ TAB_BUILDINGS ] = CreateTextButton(L"Buildings", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 190, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 190, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskBuildingCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_BUILDINGS], FONT_YELLOW, FONT_ORANGE ); iEditorButton[ TAB_ITEMS ] = CreateTextButton(L"Items", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 280, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 280, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskItemsCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_ITEMS], FONT_YELLOW, FONT_ORANGE ); iEditorButton[ TAB_MERCS ] = CreateTextButton(L"Mercs", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 370, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 370, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskMercsCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_MERCS], FONT_YELLOW, FONT_ORANGE ); iEditorButton[ TAB_MAPINFO ] = CreateTextButton(L"Map Info", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 460, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 460, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskMapInfoCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_MAPINFO], FONT_YELLOW, FONT_ORANGE ); iEditorButton[ TAB_OPTIONS ] = CreateTextButton(L"Options", (UINT16)SMALLFONT1, FONT_LTKHAKI, FONT_DKKHAKI, BUTTON_USE_DEFAULT, - 550, 460, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, + iScreenWidthOffset + 550, SCREEN_HEIGHT - 20, 90, 20, BUTTON_TOGGLE,MSYS_PRIORITY_HIGH,BUTTON_NO_CALLBACK, TaskOptionsCallback); SpecifyButtonDownTextColors( iEditorButton[TAB_OPTIONS], FONT_YELLOW, FONT_ORANGE ); diff --git a/Editor/Editor Taskbar Utils.cpp b/Editor/Editor Taskbar Utils.cpp index 62178506..669aab57 100644 --- a/Editor/Editor Taskbar Utils.cpp +++ b/Editor/Editor Taskbar Utils.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR? #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -120,12 +121,12 @@ void InitEditorRegions() //By doing this, all of the buttons underneath are blanketed and can't be used anymore. //Any new buttons will cover this up as well. Think of it as a barrier between the editor buttons, //and the game's interface panel buttons and regions. - MSYS_DefineRegion( &EditorRegion, 0, 360, 640, 480, MSYS_PRIORITY_NORMAL, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); + MSYS_DefineRegion( &EditorRegion, 0, SCREEN_HEIGHT - 120, SCREEN_WIDTH, SCREEN_HEIGHT, MSYS_PRIORITY_NORMAL, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); //Create the regions for the terrain tile selections for( x = 0; x < NUM_TERRAIN_TILE_REGIONS; x++ ) { - MSYS_DefineRegion(&TerrainTileButtonRegion[x],(INT16)(261+x*42),369,(INT16)(303+x*42),391, + MSYS_DefineRegion(&TerrainTileButtonRegion[x],(INT16)(iScreenWidthOffset + 261+x*42), 2 * iScreenHeightOffset + 369,(INT16)(iScreenWidthOffset + 303+x*42),2 * iScreenHeightOffset + 391, MSYS_PRIORITY_NORMAL, 0, MSYS_NO_CALLBACK,(MOUSE_CALLBACK)TerrainTileButtonRegionCallback); MSYS_SetRegionUserData( &TerrainTileButtonRegion[x], 0, x ); MSYS_DisableRegion( &TerrainTileButtonRegion[x] ); @@ -133,12 +134,12 @@ void InitEditorRegions() gfShowTerrainTileButtons=FALSE; //Create the region for the items selection window. - MSYS_DefineRegion( &ItemsRegion, 100, 360, 540, 440, MSYS_PRIORITY_NORMAL, 0, + MSYS_DefineRegion( &ItemsRegion, iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 360, iScreenWidthOffset + 540, 2 * iScreenHeightOffset + 440, MSYS_PRIORITY_NORMAL, 0, (MOUSE_CALLBACK)MouseMovedInItemsRegion, (MOUSE_CALLBACK)MouseClickedInItemsRegion ); MSYS_DisableRegion( &ItemsRegion ); //Create the region for the merc inventory panel. - MSYS_DefineRegion( &MercRegion, 175, 361, 450, 460, MSYS_PRIORITY_NORMAL, 0, + MSYS_DefineRegion( &MercRegion, iScreenWidthOffset + 175, 2 * iScreenHeightOffset + 361, iScreenWidthOffset + 450, 2 * iScreenHeightOffset + 460, MSYS_PRIORITY_NORMAL, 0, MouseMovedInMercRegion, MouseClickedInMercRegion ); MSYS_DisableRegion( &MercRegion ); } @@ -446,6 +447,7 @@ void mprintfEditor(INT16 x, INT16 y, UINT16 *pFontString, ...) mprintf( x, y, string ); } +// WANNE: EDITOR continue void ClearTaskbarRegion( INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom ) { ColorFillVideoSurfaceArea( ButtonDestBuffer, sLeft, sTop, sRight, sBottom, gusEditorTaskbarColor ); @@ -455,15 +457,15 @@ void ClearTaskbarRegion( INT16 sLeft, INT16 sTop, INT16 sRight, INT16 sBottom ) ColorFillVideoSurfaceArea( ButtonDestBuffer, 0, sTop, 1, sBottom, gusEditorTaskbarHiColor ); sLeft++; } - if( sTop == 360 ) + if( sTop == (SCREEN_HEIGHT - 120) ) { - ColorFillVideoSurfaceArea( ButtonDestBuffer, sLeft, 360, sRight, 361, gusEditorTaskbarHiColor ); + ColorFillVideoSurfaceArea( ButtonDestBuffer, sLeft, 2 * iScreenHeightOffset + 360, sRight, 2 * iScreenHeightOffset + 361, gusEditorTaskbarHiColor ); sTop++; } - if( sBottom == 480 ) - ColorFillVideoSurfaceArea( ButtonDestBuffer, sLeft, 479, sRight, 480, gusEditorTaskbarLoColor ); - if( sRight == 640 ) - ColorFillVideoSurfaceArea( ButtonDestBuffer, 639, sTop, 640, sBottom, gusEditorTaskbarLoColor ); + if( sBottom == SCREEN_HEIGHT ) + ColorFillVideoSurfaceArea( ButtonDestBuffer, sLeft, 2 * iScreenHeightOffset + 479, sRight, 2 * iScreenHeightOffset + 480, gusEditorTaskbarLoColor ); + if( sRight == SCREEN_WIDTH ) + ColorFillVideoSurfaceArea( ButtonDestBuffer, iScreenWidthOffset + 639, sTop, iScreenWidthOffset + 640, sBottom, gusEditorTaskbarLoColor ); InvalidateRegion( sLeft, sTop, sRight, sBottom ); } @@ -607,6 +609,7 @@ void EnableEditorButtons( INT32 iFirstEditorButtonID, INT32 iLastEditorButtonID EnableButton( iEditorButton[ i ] ); } +// WANNE: EDITOR? void RenderMapEntryPointsAndLights() { INT16 sGridNo; @@ -621,7 +624,7 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"North Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } @@ -630,7 +633,7 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"West Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } @@ -639,7 +642,7 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"East Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } @@ -648,7 +651,7 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= ( - 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"South Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } @@ -657,7 +660,7 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"Center Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } @@ -666,11 +669,12 @@ void RenderMapEntryPointsAndLights() if( sGridNo != -1 ) { GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -20 && sScreenY < 340 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 20) && sScreenY < (2 * iScreenHeightOffset + 340) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 40, 2, FONT10ARIAL, FONT_YELLOW, L"Isolated Entry Point", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); } } + //Do the lights now. for( i = 0; i < MAX_LIGHT_SPRITES; i++ ) { @@ -678,7 +682,7 @@ void RenderMapEntryPointsAndLights() { sGridNo = LightSprites[ i ].iY * WORLD_COLS + LightSprites[ i ].iX; GetGridNoScreenPos( sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY >= -50 && sScreenY < 300 && sScreenX >= -40 && sScreenX < 640 ) + if( sScreenY >= (- 50) && sScreenY < (2 * iScreenHeightOffset + 300) && sScreenX >= (- 40) && sScreenX < SCREEN_WIDTH ) { if( LightSprites[ i ].uiFlags & LIGHT_PRIMETIME ) DisplayWrappedString( sScreenX, (INT16)(sScreenY-5), 50, 2, FONT10ARIAL, FONT_ORANGE, L"Prime", FONT_BLACK, TRUE, CENTER_JUSTIFIED ); @@ -719,6 +723,7 @@ void BuildTriggerName( OBJECTTYPE *pItem, UINT16 *szItemName ) } } +// WANNE: EDITOR? void RenderDoorLockInfo() { INT16 i, xp, yp; @@ -727,7 +732,7 @@ void RenderDoorLockInfo() for( i = 0; i < gubNumDoors; i++ ) { GetGridNoScreenPos( DoorTable[ i ].sGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY > 390 ) + if( sScreenY > (2 * iScreenHeightOffset + 390) ) continue; if( DoorTable[ i ].ubLockID != 255 ) swprintf( str, L"%S", LockTable[ DoorTable[ i ].ubLockID ].ubEditorName ); @@ -770,6 +775,7 @@ void RenderDoorLockInfo() } } + // WANNE: EDITOR? void RenderSelectedItemBlownUp() { UINT32 uiVideoObjectIndex; @@ -782,7 +788,7 @@ void RenderSelectedItemBlownUp() GetGridNoScreenPos( gsItemGridNo, 0, &sScreenX, &sScreenY ); - if( sScreenY > 340 ) + if( sScreenY > (2 * iScreenHeightOffset + 340) ) return; //Display the enlarged item graphic @@ -873,23 +879,23 @@ void RenderEditorInfo( ) swprintf( FPSText, L" (%d) ", iMapIndex ); else swprintf( FPSText, L" " ); - mprintfEditor( (UINT16)(50-StringPixLength( FPSText, FONT12POINT1 )/2), 463, FPSText ); + mprintfEditor( (UINT16)(iScreenWidthOffset + 50-StringPixLength( FPSText, FONT12POINT1 )/2), 2 * iScreenHeightOffset + 463, FPSText ); switch( iCurrentTaskbar ) { case TASK_OPTIONS: if( !gfWorldLoaded || giCurrentTilesetID < 0 ) - mprintf( 260, 445, L"No map currently loaded." ); + mprintf( iScreenWidthOffset + 260, 2 * iScreenHeightOffset + 445, L"No map currently loaded." ); else - mprintf( 260, 445, L"File: %S, Current Tileset: %s", + mprintf( iScreenWidthOffset + 260, 2 * iScreenHeightOffset + 445, L"File: %S, Current Tileset: %s", gubFilename, gTilesets[ giCurrentTilesetID ].zName ); break; case TASK_TERRAIN: if( gusSelectionType == LINESELECTION ) swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); - DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, 220, 430, 60, 30 ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 220, 2 * iScreenHeightOffset + 430, 60, 30 ); swprintf( FPSText, L"%d%%", gusSelectionDensity ); - DrawEditorInfoBox( FPSText, FONT12POINT1, 310, 430, 40, 30 ); + DrawEditorInfoBox( FPSText, FONT12POINT1, iScreenWidthOffset + 310, 2 * iScreenHeightOffset + 430, 40, 30 ); break; case TASK_ITEMS: RenderEditorItemsInfo(); @@ -899,7 +905,7 @@ void RenderEditorInfo( ) UpdateBuildingsInfo(); if( gusSelectionType == LINESELECTION ) swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); - DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, 530, 430, 60, 30 ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 430, 60, 30 ); break; case TASK_MERCS: UpdateMercsInfo(); @@ -908,7 +914,7 @@ void RenderEditorInfo( ) UpdateMapInfo(); if( gusSelectionType == LINESELECTION ) swprintf( wszSelType[LINESELECTION], L"Width: %d", gusSelectionWidth ); - DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, 440, 430, 60, 30 ); + DrawEditorInfoBox( wszSelType[gusSelectionType], FONT12POINT1, iScreenWidthOffset + 440, 2 * iScreenHeightOffset + 430, 60, 30 ); break; } } @@ -923,7 +929,7 @@ void ProcessEditorRendering() BOOLEAN fSaveBuffer = FALSE; if( gfRenderTaskbar ) //do a full taskbar render. { - ClearTaskbarRegion( 0, 360, 640, 480 ); + ClearTaskbarRegion( 0, SCREEN_HEIGHT - 120, SCREEN_WIDTH, SCREEN_HEIGHT ); RenderTerrainTileButtons(); MarkButtonsDirty(); gfRenderTaskbar = FALSE; @@ -969,7 +975,8 @@ void ProcessEditorRendering() if( fSaveBuffer ) - BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 0, 360, 640, 120 ); + // WANNE: EDITOR? + BlitBufferToBuffer( FRAME_BUFFER, guiSAVEBUFFER, 0, 2 * iScreenHeightOffset + 360, SCREEN_WIDTH, 120 ); //Make sure this is TRUE at all times. //It is set to false when before we save the buffer, so the buttons don't get diff --git a/Editor/Editor Undo.cpp b/Editor/Editor Undo.cpp index bc128b58..1ee763f8 100644 --- a/Editor/Editor Undo.cpp +++ b/Editor/Editor Undo.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/EditorBuildings.cpp b/Editor/EditorBuildings.cpp index 79e78838..f2c10172 100644 --- a/Editor/EditorBuildings.cpp +++ b/Editor/EditorBuildings.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -82,16 +83,16 @@ void UpdateBuildingsInfo() //print the headers on top of the columns SetFont( SMALLCOMPFONT ); SetFontForeground( FONT_RED ); - mprintfEditor( 112, 362, L"TOGGLE"); - mprintfEditor( 114, 372, L"VIEWS"); + mprintfEditor( iScreenWidthOffset + 112, 2 * iScreenHeightOffset + 362, L"TOGGLE"); + mprintfEditor( iScreenWidthOffset + 114, 2 * iScreenHeightOffset + 372, L"VIEWS"); SetFontForeground( FONT_YELLOW ); - mprintfEditor( 185, 362, L"SELECTION METHOD"); + mprintfEditor( iScreenWidthOffset + 185, 2 * iScreenHeightOffset + 362, L"SELECTION METHOD"); SetFontForeground( FONT_LTGREEN ); - mprintfEditor( 290, 362, L"SMART METHOD"); + mprintfEditor( iScreenWidthOffset + 290, 2 * iScreenHeightOffset + 362, L"SMART METHOD"); SetFontForeground( FONT_LTBLUE ); - mprintfEditor( 390, 362, L"BUILDING METHOD"); + mprintfEditor( iScreenWidthOffset + 390, 2 * iScreenHeightOffset + 362, L"BUILDING METHOD"); SetFontForeground( FONT_GRAY2 ); - mprintfEditor( 437, 404, L"Room#" ); + mprintfEditor( iScreenWidthOffset + 437, 2 * iScreenHeightOffset + 404, L"Room#" ); } //Uses a recursive method to elimate adjacent tiles of structure information. @@ -510,26 +511,26 @@ void InitDoorEditing( INT32 iMapIndex ) gfEditingDoor = TRUE; iDoorMapIndex = iMapIndex; DisableEditorTaskbar(); - MSYS_DefineRegion( &DoorRegion, 0, 0, 640, 480, MSYS_PRIORITY_HIGH-2, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); + MSYS_DefineRegion( &DoorRegion, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, MSYS_PRIORITY_HIGH-2, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); iDoorButton[ DOOR_BACKGROUND ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 200, 130, 240, 100, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 130, 240, 100, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); DisableButton( iDoorButton[ DOOR_BACKGROUND ] ); SpecifyDisabledButtonStyle( iDoorButton[ DOOR_BACKGROUND ], DISABLED_STYLE_NONE ); iDoorButton[ DOOR_OKAY ] = CreateTextButton(L"Okay", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - 330, 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 330, 2 * iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, DoorOkayCallback ); iDoorButton[ DOOR_CANCEL ] = CreateTextButton(L"Cancel", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - 385, 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 385, 2 * iScreenHeightOffset + 195, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, DoorCancelCallback ); InitTextInputModeWithScheme( DEFAULT_SCHEME ); - AddTextInputField( 210, 155, 25, 16, MSYS_PRIORITY_HIGH, L"0", 3, INPUTTYPE_NUMERICSTRICT ); - AddTextInputField( 210, 175, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); - AddTextInputField( 210, 195, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 155, 25, 16, MSYS_PRIORITY_HIGH, L"0", 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 175, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 195, 25, 16, MSYS_PRIORITY_HIGH, L"0", 2, INPUTTYPE_NUMERICSTRICT ); iDoorButton[ DOOR_LOCKED ] = - CreateCheckBoxButton( 210, 215, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_HIGH, DoorToggleLockedCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 215, "EDITOR//SmCheckbox.sti", MSYS_PRIORITY_HIGH, DoorToggleLockedCallback ); pDoor = FindDoorInfoAtGridNo( iDoorMapIndex ); if( pDoor ) @@ -644,18 +645,18 @@ void FindNextLockedDoor() void RenderDoorEditingWindow() { - InvalidateRegion( 200, 130, 440, 230 ); + InvalidateRegion( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 130, iScreenWidthOffset + 440, 2 * iScreenHeightOffset + 230 ); SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); SetFontShadow( FONT_NEARBLACK ); SetFontBackground( 0 ); - mprintf( 210, 140, L"Editing lock attributes at map index %d.", iDoorMapIndex ); + mprintf( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 140, L"Editing lock attributes at map index %d.", iDoorMapIndex ); SetFontForeground( FONT_GRAY2 ); - mprintf( 238, 160, L"Lock ID" ); - mprintf( 238, 180, L"Trap Type" ); - mprintf( 238, 200, L"Trap Level" ); - mprintf( 238, 218, L"Locked" ); + mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 160, L"Lock ID" ); + mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 180, L"Trap Type" ); + mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 200, L"Trap Level" ); + mprintf( iScreenWidthOffset + 238, 2 * iScreenHeightOffset + 218, L"Locked" ); } void KillDoorEditing() @@ -732,7 +733,7 @@ void SetupTextInputForBuildings() InitTextInputModeWithScheme( DEFAULT_SCHEME ); AddUserInputField( NULL ); //just so we can use short cut keys while not typing. swprintf( str, L"%d", gubMaxRoomNumber ); - AddTextInputField( 410, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 410, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } void ExtractAndUpdateBuildingInfo() diff --git a/Editor/EditorDefines.h b/Editor/EditorDefines.h index 3dc36ce6..63e9b4ca 100644 --- a/Editor/EditorDefines.h +++ b/Editor/EditorDefines.h @@ -1,3 +1,4 @@ +// WANNE: EDITOR done #include "BuildDefines.h" #ifdef JA2EDITOR @@ -251,8 +252,8 @@ extern BOOLEAN gfMercGetItem; //When actually editing item statistics, this value will be set, for the purposes of rendering, input, etc. extern BOOLEAN gfShowItemStatsPanel; -#define MERCPANEL_X 177 -#define MERCPANEL_Y 361 +#define MERCPANEL_X (iScreenWidthOffset + 177) +#define MERCPANEL_Y (2 * iScreenHeightOffset + 361) #endif #endif diff --git a/Editor/EditorItems.cpp b/Editor/EditorItems.cpp index 9b35892c..c906c0aa 100644 --- a/Editor/EditorItems.cpp +++ b/Editor/EditorItems.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: todo #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -206,6 +207,7 @@ void EntryInitEditorItemsInfo() } } +// WANNE: EDITOR? void InitEditorItemsInfo(UINT32 uiItemType) { VSURFACE_DESC vs_desc; @@ -235,13 +237,13 @@ void InitEditorItemsInfo(UINT32 uiItemType) else { //User selected a different item classification -- delete it first. ClearEditorItemsInfo(); - ClearTaskbarRegion( 100, 360, 480, 440 ); + ClearTaskbarRegion( iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 360, iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 440 ); } } else { //Clear the menu area, so that the buffer doesn't get corrupted. - ClearTaskbarRegion( 100, 360, 480, 440 ); + ClearTaskbarRegion( iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 360, iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 440 ); } EnableEditorRegion( ITEM_REGION_ID ); @@ -308,7 +310,9 @@ void InitEditorItemsInfo(UINT32 uiItemType) //calculate the width of the buffer based on the number of items. //every pair of items (odd rounded up) requires 60 pixels for width. //the minimum buffer size is 420. Height is always 80 pixels. - eInfo.sWidth = (eInfo.sNumItems > 12) ? ((eInfo.sNumItems+1)/2)*60 : 360; + + // WANNE: EDITOR? + eInfo.sWidth = (eInfo.sNumItems > 12) ? ((eInfo.sNumItems+1)/2)*60 : SCREEN_HEIGHT - 120; eInfo.sHeight = 80; // Create item buffer GetCurrentVideoSettings( &usUselessWidth, &usUselessHeight, &ubBitDepth ); @@ -331,13 +335,15 @@ void InitEditorItemsInfo(UINT32 uiItemType) //copy a blank chunk of the editor interface to the new buffer. for( i=0; iubGraphicNum, sStart, y+2, 0, FALSE ); //cycle through the various slot positions (0,0), (0,40), (60,0), (60,40), (120,0)... + + // WANNE: EDITOR? if( y == 0 ) { y = 40; @@ -505,6 +513,8 @@ void InitEditorItemsInfo(UINT32 uiItemType) swprintf( (wchar_t *)pStr, (wchar_t *)L"Action%d", (i-4)/2 ); } } + + // WANNE: EDITOR? DisplayWrappedString(x, (UINT16)(y+25), 60, 2, SMALLCOMPFONT, FONT_WHITE, (STR16)pStr, FONT_BLACK, TRUE, CENTER_JUSTIFIED ); //Calculate the center position of the graphic in a 60 pixel wide area. @@ -516,6 +526,8 @@ void InitEditorItemsInfo(UINT32 uiItemType) { BltVideoObjectOutlineFromIndex( eInfo.uiBuffer, uiVideoObjectIndex, item->ubGraphicNum, sStart, y+2, 0, FALSE ); } + + // WANNE: EDITOR? //cycle through the various slot positions (0,0), (0,40), (60,0), (60,40), (120,0)... if( y == 0 ) { @@ -567,16 +579,22 @@ void RenderEditorItemsInfo() { return; } - if( gusMouseXPos < 110 || gusMouseXPos > 480 || gusMouseYPos < 360 || gusMouseYPos > 440 ) + + // WANNE: EDITOR? + if( gusMouseXPos < (iScreenWidthOffset + 110) || gusMouseXPos > (iScreenWidthOffset + 480) || gusMouseYPos < (2 * iScreenHeightOffset + 360) || gusMouseYPos > (2 * iScreenHeightOffset + 440) ) { //Mouse has moved out of the items display region -- so nothing can be highlighted. eInfo.sHilitedItemIndex = -1; } pDestBuf = LockVideoSurface(FRAME_BUFFER, &uiDestPitchBYTES); pSrcBuf = LockVideoSurface(eInfo.uiBuffer, &uiSrcPitchBYTES); + // WANNE: EDITOR? //copy the items buffer to the editor bar + //Blt16BPPTo16BPP((UINT16 *)pDestBuf, uiDestPitchBYTES, + // (UINT16 *)pSrcBuf, uiSrcPitchBYTES, iScreenWidthOffset + 110, 2 * iScreenHeightOffset + 360, 60*eInfo.sScrollIndex, 0, 360, 80 ); + Blt16BPPTo16BPP((UINT16 *)pDestBuf, uiDestPitchBYTES, - (UINT16 *)pSrcBuf, uiSrcPitchBYTES, 110, 360, 60*eInfo.sScrollIndex, 0, 360, 80 ); + (UINT16 *)pSrcBuf, uiSrcPitchBYTES, iScreenWidthOffset + 110, 2 * iScreenHeightOffset + 360, 60*eInfo.sScrollIndex, 0, 360, 80 ); UnLockVideoSurface(eInfo.uiBuffer); UnLockVideoSurface(FRAME_BUFFER); @@ -594,8 +612,10 @@ void RenderEditorItemsInfo() item = &Item[eInfo.pusItemIndex[eInfo.sHilitedItemIndex]]; uiVideoObjectIndex = GetInterfaceGraphicForItem( item ); GetVideoObject( &hVObject, uiVideoObjectIndex ); - x = (eInfo.sHilitedItemIndex/2 - eInfo.sScrollIndex)*60 + 110; - y = 360 + (eInfo.sHilitedItemIndex % 2) * 40; + + // WANNE: EDITOR? + x = iScreenWidthOffset + (eInfo.sHilitedItemIndex/2 - eInfo.sScrollIndex)*60 + 110; + y = 2 * iScreenHeightOffset + 360 + (eInfo.sHilitedItemIndex % 2) * 40; sWidth = hVObject->pETRLEObject[item->ubGraphicNum].usWidth; sOffset = hVObject->pETRLEObject[item->ubGraphicNum].sOffsetX; sStart = x + (60 - sWidth - sOffset*2) / 2; @@ -613,8 +633,10 @@ void RenderEditorItemsInfo() item = &Item[eInfo.pusItemIndex[eInfo.sSelItemIndex]]; uiVideoObjectIndex = GetInterfaceGraphicForItem( item ); GetVideoObject( &hVObject, uiVideoObjectIndex ); - x = (eInfo.sSelItemIndex/2 - eInfo.sScrollIndex)*60 + 110; - y = 360 + (eInfo.sSelItemIndex % 2) * 40; + + // WANNE: EDITOR? + x = iScreenWidthOffset + (eInfo.sSelItemIndex/2 - eInfo.sScrollIndex)*60 + 110; + y = 2 * iScreenHeightOffset + 360 + (eInfo.sSelItemIndex % 2) * 40; sWidth = hVObject->pETRLEObject[item->ubGraphicNum].usWidth; sOffset = hVObject->pETRLEObject[item->ubGraphicNum].sOffsetX; sStart = x + (60 - sWidth - sOffset*2) / 2; @@ -631,8 +653,9 @@ void RenderEditorItemsInfo() usNumItems = CountNumberOfEditorPlacementsInWorld( i, &usQuantity ); if( usNumItems ) { - x = (i/2 - eInfo.sScrollIndex)*60 + 110; - y = 360 + (i % 2) * 40; + // WANNE: EDITOR? + x = iScreenWidthOffset + (i/2 - eInfo.sScrollIndex)*60 + 110; + y = 2 * iScreenHeightOffset + 360 + (i % 2) * 40; SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); SetFontShadow( FONT_NEARBLACK ); @@ -711,11 +734,13 @@ void HandleItemsPanel( UINT16 usScreenX, UINT16 usScreenY, INT8 bEvent ) //Calc base index from scrolling index sIndex = eInfo.sScrollIndex * 2; //Determine if the index is in the first row or second row from mouse YPos. - if( usScreenY >= 400 ) + if( usScreenY >= (2 * iScreenHeightOffset + 400) ) sIndex++; //Add the converted mouse's XPos into a relative index; //Calc: starting from 110, for every 60 pixels, add 2 to the index - sIndex += ((usScreenX-110)/60) * 2; + + // WANNE: EDITOR???? + sIndex += ((usScreenX-110-iScreenWidthOffset)/60) * 2; switch( bEvent ) { case GUI_MOVE_EVENT: @@ -1622,12 +1647,12 @@ void DisplayItemStatistics() pItem = &Item[ usItemIndex ]; LoadItemInfo( usItemIndex, pItemName, NULL ); - mprintf( 50 - StringPixLength( pItemName , SMALLCOMPFONT )/2, 403, pItemName ); - mprintf( 2, 410, L"Status Info Line 1"); - mprintf( 2, 420, L"Status Info Line 2"); - mprintf( 2, 430, L"Status Info Line 3"); - mprintf( 2, 440, L"Status Info Line 4"); - mprintf( 2, 450, L"Status Info Line 5"); + mprintf( iScreenWidthOffset + 50 - StringPixLength( pItemName , SMALLCOMPFONT )/2, 2 * iScreenHeightOffset + 403, pItemName ); + mprintf( iScreenWidthOffset + 2, 2 * iScreenHeightOffset + 410, L"Status Info Line 1"); + mprintf( iScreenWidthOffset + 2, 2 * iScreenHeightOffset + 420, L"Status Info Line 2"); + mprintf( iScreenWidthOffset + 2, 2 * iScreenHeightOffset + 430, L"Status Info Line 3"); + mprintf( iScreenWidthOffset + 2, 2 * iScreenHeightOffset + 440, L"Status Info Line 4"); + mprintf( iScreenWidthOffset + 2, 2 * iScreenHeightOffset + 450, L"Status Info Line 5"); } diff --git a/Editor/EditorMapInfo.cpp b/Editor/EditorMapInfo.cpp index 668f1297..264c9c0d 100644 --- a/Editor/EditorMapInfo.cpp +++ b/Editor/EditorMapInfo.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -75,31 +76,31 @@ void SetupTextInputForMapInfo() //light rgb fields swprintf( str, L"%d", gEditorLightColor.peRed ); - AddTextInputField( 10, 394, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 10, 2 * iScreenHeightOffset + 394, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gEditorLightColor.peGreen ); - AddTextInputField( 10, 414, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 10, 2 * iScreenHeightOffset + 414, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gEditorLightColor.peBlue ); - AddTextInputField( 10, 434, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 10, 2 * iScreenHeightOffset + 434, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gsLightRadius ); - AddTextInputField( 120, 394, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 120, 2 * iScreenHeightOffset + 394, 25, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gusLightLevel ); - AddTextInputField( 120, 414, 25, 18, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 120, 2 * iScreenHeightOffset + 414, 25, 18, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); //Scroll restriction ID if( !gMapInformation.ubRestrictedScrollID ) swprintf( str, L"" ); else swprintf( str, L"%d", gMapInformation.ubRestrictedScrollID ); - AddTextInputField( 210, 420, 30, 20, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 210, 2 * iScreenHeightOffset + 420, 30, 20, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); //exit grid input fields swprintf( str, L"%c%d", gExitGrid.ubGotoSectorY + 'A' - 1, gExitGrid.ubGotoSectorX ); - AddTextInputField( 338, 363, 30, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_EXCLUSIVE_COORDINATE ); + AddTextInputField( iScreenWidthOffset + 338, 2 * iScreenHeightOffset + 363, 30, 18, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_EXCLUSIVE_COORDINATE ); swprintf( str, L"%d", gExitGrid.ubGotoSectorZ ); - AddTextInputField( 338, 383, 30, 18, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 338, 2 * iScreenHeightOffset + 383, 30, 18, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gExitGrid.usGridNo ); - AddTextInputField( 338, 403, 40, 18, MSYS_PRIORITY_NORMAL, str, 5, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 338, 2 * iScreenHeightOffset + 403, 40, 18, MSYS_PRIORITY_NORMAL, str, 5, INPUTTYPE_NUMERICSTRICT ); } void UpdateMapInfo() @@ -108,41 +109,41 @@ void UpdateMapInfo() SetFontShadow( FONT_NEARBLACK ); SetFontForeground( FONT_RED ); - mprintf( 38, 399, L"R"); + mprintf( iScreenWidthOffset + 38, 2 * iScreenHeightOffset + 399, L"R"); SetFontForeground( FONT_GREEN ); - mprintf( 38, 419, L"G"); + mprintf( iScreenWidthOffset + 38, 2 * iScreenHeightOffset + 419, L"G"); SetFontForeground( FONT_DKBLUE ); - mprintf( 38, 439, L"B"); + mprintf( iScreenWidthOffset + 38, 2 * iScreenHeightOffset + 439, L"B"); SetFontForeground( FONT_YELLOW ); - mprintf( 65, 369, L"Prime" ); - mprintf( 65, 382, L"Night" ); - mprintf( 65, 397, L"24Hrs" ); + mprintf( iScreenWidthOffset + 65, 2 * iScreenHeightOffset + 369, L"Prime" ); + mprintf( iScreenWidthOffset + 65, 2 * iScreenHeightOffset + 382, L"Night" ); + mprintf( iScreenWidthOffset + 65, 2 * iScreenHeightOffset + 397, L"24Hrs" ); SetFontForeground( FONT_YELLOW ); - mprintf( 148, 399, L"Radius"); + mprintf( iScreenWidthOffset + 148, 2 * iScreenHeightOffset + 399, L"Radius"); if( !gfBasement && !gfCaves ) SetFontForeground( FONT_DKYELLOW ); - mprintf( 148, 414, L"Underground" ); - mprintf( 148, 423, L"Light Level" ); + mprintf( iScreenWidthOffset + 148, 2 * iScreenHeightOffset + 414, L"Underground" ); + mprintf( iScreenWidthOffset + 148, 2 * iScreenHeightOffset + 423, L"Light Level" ); SetFontForeground( FONT_YELLOW ); - mprintf( 230, 369, L"Outdoors" ); - mprintf( 230, 384, L"Basement" ); - mprintf( 230, 399, L"Caves" ); + mprintf( iScreenWidthOffset + 230, 2 * iScreenHeightOffset + 369, L"Outdoors" ); + mprintf( iScreenWidthOffset + 230, 2 * iScreenHeightOffset + 384, L"Basement" ); + mprintf( iScreenWidthOffset + 230, 2 * iScreenHeightOffset + 399, L"Caves" ); SetFontForeground( FONT_ORANGE ); - mprintf( 250, 420, L"Restricted" ); - mprintf( 250, 430, L"Scroll ID" ); + mprintf( iScreenWidthOffset + 250, 2 * iScreenHeightOffset + 420, L"Restricted" ); + mprintf( iScreenWidthOffset + 250, 2 * iScreenHeightOffset + 430, L"Scroll ID" ); SetFontForeground( FONT_YELLOW ); - mprintf( 368, 363, L"Destination"); - mprintf( 368, 372, L"Sector" ); - mprintf( 368, 383, L"Destination"); - mprintf( 368, 392, L"Bsmt. Level" ); - mprintf( 378, 403, L"Dest." ); - mprintf( 378, 412, L"GridNo" ); + mprintf( iScreenWidthOffset + 368, 2 * iScreenHeightOffset + 363, L"Destination"); + mprintf( iScreenWidthOffset + 368, 2 * iScreenHeightOffset + 372, L"Sector" ); + mprintf( iScreenWidthOffset + 368, 2 * iScreenHeightOffset + 383, L"Destination"); + mprintf( iScreenWidthOffset + 368, 2 * iScreenHeightOffset + 392, L"Bsmt. Level" ); + mprintf( iScreenWidthOffset + 378, 2 * iScreenHeightOffset + 403, L"Dest." ); + mprintf( iScreenWidthOffset + 378, 2 * iScreenHeightOffset + 412, L"GridNo" ); SetFontForeground( FONT_RED ); } diff --git a/Editor/EditorMercs.cpp b/Editor/EditorMercs.cpp index 1183359e..bc140704 100644 --- a/Editor/EditorMercs.cpp +++ b/Editor/EditorMercs.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -792,10 +793,11 @@ void DisplayEditMercWindow( void ) usFillColorLight = Get16BPPColor(FROMRGB(136, 138, 135)); usFillColorTextBk = Get16BPPColor(FROMRGB(250, 240, 188)); + // WANNE: EDITOR? iWidth = 266; iHeight = 360; - iYPos = 0; - iXPos = 0; + iYPos = iScreenHeightOffset + 0; + iXPos = iScreenWidthOffset + 0; // Main window @@ -1244,10 +1246,11 @@ void ShowEditMercColorSet( UINT8 ubPaletteRep, INT16 sSet ) sUnitSize = 128 / (INT16)(ubSize); - sTop = 364 + (sSet * 24); + // WANNE: EDITOR? + sTop = 2 * iScreenHeightOffset + 364 + (sSet * 24); sBottom = sTop + 20; - sLeft = 230; - sRight = 359; + sLeft = iScreenWidthOffset + 230; + sRight = iScreenWidthOffset + 359; usFillColorDark = Get16BPPColor(FROMRGB(24, 61, 81)); usFillColorLight = Get16BPPColor(FROMRGB(136, 138, 135)); @@ -1266,7 +1269,7 @@ void ShowEditMercColorSet( UINT8 ubPaletteRep, INT16 sSet ) for ( cnt1 = 0; cnt1 < ubSize; cnt1++ ) { if (cnt1 == (ubSize - 1) ) - sRight = 358; + sRight = iScreenWidthOffset + 358; if( ubPaletteRep == 0xff ) us16BPPColor = Get16BPPColor( FROMRGB( (16 - cnt1)*10, (16 - cnt1)*10, (16 - cnt1)*10 ) ); else @@ -1331,7 +1334,8 @@ void DisplayWayPoints(void) // Bring it down a touch sScreenY += 5; - if( sScreenY <= 355 ) + // WANNE: EDITOR? + if( sScreenY <= (2 * iScreenHeightOffset + 355 )) { // Shown it on screen! SetFont(TINYFONT1); @@ -1356,10 +1360,11 @@ void CreateEditMercWindow( void ) INT32 x; SOLDIERTYPE *pSoldier; + // WANNE: EDITOR? iWidth = 266; iHeight = 360; - iYPos = 0; - iXPos = 0; + iYPos = iScreenHeightOffset + 0; + iXPos = iScreenWidthOffset + 0; GetSoldier( &pSoldier, (INT16)gsSelectedMercID ); @@ -1725,7 +1730,7 @@ void SetupTextInputForMercProfile() str[0] = '\0'; else CalcStringForValue( str, gpSelected->pDetailedPlacement->ubProfile, NUM_PROFILES ); - AddTextInputField( 200, 430, 30, 20, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 430, 30, 20, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } @@ -1736,31 +1741,31 @@ void SetupTextInputForMercAttributes() InitTextInputModeWithScheme( DEFAULT_SCHEME ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bExpLevel, 100 ); - AddTextInputField( 200, 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bLife, 100 ); - AddTextInputField( 200, 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bLifeMax, 100 ); - AddTextInputField( 200, 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bMarksmanship, 100 ); - AddTextInputField( 200, 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 200, 2 * iScreenHeightOffset + 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bStrength, 100 ); - AddTextInputField( 300, 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 300, 2 * iScreenHeightOffset + 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bAgility, 100 ); - AddTextInputField( 300, 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 300, 2 * iScreenHeightOffset + 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bDexterity, 100 ); - AddTextInputField( 300, 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 300, 2 * iScreenHeightOffset + 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bWisdom, 100 ); - AddTextInputField( 300, 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 300, 2 * iScreenHeightOffset + 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bLeadership, 100 ); - AddTextInputField( 400, 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 400, 2 * iScreenHeightOffset + 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bExplosive, 100 ); - AddTextInputField( 400, 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 400, 2 * iScreenHeightOffset + 390, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bMedical, 100 ); - AddTextInputField( 400, 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 400, 2 * iScreenHeightOffset + 415, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bMechanical, 100 ); - AddTextInputField( 400, 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 400, 2 * iScreenHeightOffset + 440, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); CalcStringForValue( str, gpSelected->pDetailedPlacement->bMorale, 100 ); - AddTextInputField( 500, 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 365, 20, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); if( !gfCanEditMercs ) DisableAllTextFields(); @@ -1862,13 +1867,13 @@ void SetupTextInputForMercSchedule() { InitTextInputModeWithScheme( DEFAULT_SCHEME ); AddUserInputField( NULL ); - AddTextInputField( 268, 373, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); + AddTextInputField( iScreenWidthOffset + 268, 2 * iScreenHeightOffset + 373, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); SetExclusive24HourTimeValue( 1, gCurrSchedule.usTime[0] ); - AddTextInputField( 268, 394, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); + AddTextInputField( iScreenWidthOffset + 268, 2 * iScreenHeightOffset + 394, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); SetExclusive24HourTimeValue( 2, gCurrSchedule.usTime[1] ); - AddTextInputField( 268, 415, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); + AddTextInputField( iScreenWidthOffset + 268, 2 * iScreenHeightOffset + 415, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); SetExclusive24HourTimeValue( 3, gCurrSchedule.usTime[2] ); - AddTextInputField( 268, 436, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); + AddTextInputField( iScreenWidthOffset + 268, 2 * iScreenHeightOffset + 436, 36, 16, MSYS_PRIORITY_NORMAL, L"", 6, INPUTTYPE_EXCLUSIVE_24HOURCLOCK ); SetExclusive24HourTimeValue( 4, gCurrSchedule.usTime[3] ); } @@ -2416,7 +2421,7 @@ void DisplayBodyTypeInfo() case QUEENMONSTER: swprintf( str, L"Queen Monster" ); break; case BLOODCAT: swprintf( str, L"Bloodcat" ); break; } - DrawEditorInfoBox( str, FONT10ARIAL, 490, 364, 70, 20 ); + DrawEditorInfoBox( str, FONT10ARIAL, iScreenWidthOffset + 490, 2 * iScreenHeightOffset + 364, 70, 20 ); } void UpdateMercsInfo() @@ -2441,56 +2446,56 @@ void UpdateMercsInfo() break; case MERC_BASICMODE: case MERC_GENERALMODE: - BltVideoObjectFromIndex( FRAME_BUFFER, guiExclamation, 0, 188, 362, VO_BLT_SRCTRANSPARENCY, NULL ); - BltVideoObjectFromIndex( FRAME_BUFFER, guiKeyImage, 0, 186, 387, VO_BLT_SRCTRANSPARENCY, NULL ); + BltVideoObjectFromIndex( FRAME_BUFFER, guiExclamation, 0, iScreenWidthOffset + 188, 2 * iScreenHeightOffset + 362, VO_BLT_SRCTRANSPARENCY, NULL ); + BltVideoObjectFromIndex( FRAME_BUFFER, guiKeyImage, 0, iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 387, VO_BLT_SRCTRANSPARENCY, NULL ); SetFont( SMALLCOMPFONT ); SetFontForeground( FONT_YELLOW ); SetFontShadow( FONT_NEARBLACK ); - mprintf( 240, 363, L" --=ORDERS=-- "); - mprintf( 240, 419, L"--=ATTITUDE=--"); + mprintf( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 363, L" --=ORDERS=-- "); + mprintf( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 419, L"--=ATTITUDE=--"); if( iDrawMode == DRAW_MODE_CREATURE ) { DisplayBodyTypeInfo(); SetFont( SMALLCOMPFONT ); SetFontForeground( FONT_LTBLUE ); - mprintf( 493, 416, L"RELATIVE"); - mprintf( 480, 422, L"ATTRIBUTES"); + mprintf( iScreenWidthOffset + 493, 2 * iScreenHeightOffset + 416, L"RELATIVE"); + mprintf( iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 422, L"ATTRIBUTES"); } else { SetFontForeground( FONT_LTGREEN ); - mprintf( 480, 363, L"RELATIVE"); - mprintf( 480, 371, L"EQUIPMENT"); + mprintf( iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 363, L"RELATIVE"); + mprintf( iScreenWidthOffset + 480, 2 * iScreenHeightOffset + 371, L"EQUIPMENT"); SetFontForeground( FONT_LTBLUE ); - mprintf( 530, 363, L"RELATIVE"); - mprintf( 530, 371, L"ATTRIBUTES"); + mprintf( iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 363, L"RELATIVE"); + mprintf( iScreenWidthOffset + 530, 2 * iScreenHeightOffset + 371, L"ATTRIBUTES"); } if( iDrawMode == DRAW_MODE_ENEMY ) { SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); - mprintf( 590, 411, L"Army" ); - mprintf( 590, 425, L"Admin" ); - mprintf( 590, 439, L"Elite" ); + mprintf( iScreenWidthOffset + 590, 2 * iScreenHeightOffset + 411, L"Army" ); + mprintf( iScreenWidthOffset + 590, 2 * iScreenHeightOffset + 425, L"Admin" ); + mprintf( iScreenWidthOffset + 590, 2 * iScreenHeightOffset + 439, L"Elite" ); } break; case MERC_ATTRIBUTEMODE: SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); SetFontShadow( FONT_NEARBLACK ); - mprintf( 225, 370, L"Exp. Level"); - mprintf( 225, 395, L"Life"); - mprintf( 225, 420, L"LifeMax"); - mprintf( 225, 445, L"Marksmanship"); - mprintf( 325, 370, L"Strength"); - mprintf( 325, 395, L"Agility"); - mprintf( 325, 420, L"Dexterity"); - mprintf( 325, 445, L"Wisdom"); - mprintf( 425, 370, L"Leadership"); - mprintf( 425, 395, L"Explosives"); - mprintf( 425, 420, L"Medical"); - mprintf( 425, 445, L"Mechanical"); - mprintf( 525, 370, L"Morale"); + mprintf( iScreenWidthOffset + 225, 2 * iScreenHeightOffset + 370, L"Exp. Level"); + mprintf( iScreenWidthOffset + 225, 2 * iScreenHeightOffset + 395, L"Life"); + mprintf( iScreenWidthOffset + 225, 2 * iScreenHeightOffset + 420, L"LifeMax"); + mprintf( iScreenWidthOffset + 225, 2 * iScreenHeightOffset + 445, L"Marksmanship"); + mprintf( iScreenWidthOffset + 325, 2 * iScreenHeightOffset + 370, L"Strength"); + mprintf( iScreenWidthOffset + 325, 2 * iScreenHeightOffset + 395, L"Agility"); + mprintf( iScreenWidthOffset + 325, 2 * iScreenHeightOffset + 420, L"Dexterity"); + mprintf( iScreenWidthOffset + 325, 2 * iScreenHeightOffset + 445, L"Wisdom"); + mprintf( iScreenWidthOffset + 425, 2 * iScreenHeightOffset + 370, L"Leadership"); + mprintf( iScreenWidthOffset + 425, 2 * iScreenHeightOffset + 395, L"Explosives"); + mprintf( iScreenWidthOffset + 425, 2 * iScreenHeightOffset + 420, L"Medical"); + mprintf( iScreenWidthOffset + 425, 2 * iScreenHeightOffset + 445, L"Mechanical"); + mprintf( iScreenWidthOffset + 525, 2 * iScreenHeightOffset + 370, L"Morale"); break; case MERC_APPEARANCEMODE: SetFont( FONT10ARIAL ); @@ -2500,27 +2505,27 @@ void UpdateMercsInfo() SetFontForeground( FONT_DKYELLOW ); SetFontShadow( FONT_NEARBLACK ); - mprintf( 396, 364, L"Hair color:"); - mprintf( 396, 388, L"Skin color:"); - mprintf( 396, 412, L"Vest color:"); - mprintf( 396, 436, L"Pant color:"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 364, L"Hair color:"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 388, L"Skin color:"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 412, L"Vest color:"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 436, L"Pant color:"); SetFont( SMALLCOMPFONT ); SetFontForeground( FONT_BLACK ); if( gpSelected->pDetailedPlacement->fVisible || gpSelected->pDetailedPlacement->ubProfile != NO_PROFILE ) { - mprintfEditor( 396, 374, L"%S ", gpSelected->pSoldier->HeadPal ); - mprintfEditor( 396, 398, L"%S ", gpSelected->pSoldier->SkinPal ); - mprintfEditor( 396, 422, L"%S ", gpSelected->pSoldier->VestPal ); - mprintfEditor( 396, 446, L"%S ", gpSelected->pSoldier->PantsPal ); + mprintfEditor( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 374, L"%S ", gpSelected->pSoldier->HeadPal ); + mprintfEditor( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 398, L"%S ", gpSelected->pSoldier->SkinPal ); + mprintfEditor( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 422, L"%S ", gpSelected->pSoldier->VestPal ); + mprintfEditor( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 446, L"%S ", gpSelected->pSoldier->PantsPal ); ShowEditMercPalettes( gpSelected->pSoldier ); } else { - mprintf( 396, 374, L"RANDOM"); - mprintf( 396, 398, L"RANDOM"); - mprintf( 396, 422, L"RANDOM"); - mprintf( 396, 446, L"RANDOM"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 374, L"RANDOM"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 398, L"RANDOM"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 422, L"RANDOM"); + mprintf( iScreenWidthOffset + 396, 2 * iScreenHeightOffset + 446, L"RANDOM"); ShowEditMercPalettes( NULL ); //will display grey scale to signify random } DisplayBodyTypeInfo(); @@ -2537,18 +2542,18 @@ void UpdateMercsInfo() L"though, you will still be able to view stats, etc. Pressing ENTER will automatically ", L"extract the number you have typed. A blank field will clear the profile. The current ", L"number of profiles range from 0 to ", NUM_PROFILES ); - DisplayWrappedString(180, 370, 400, 2, FONT10ARIAL, 146, tempStr, FONT_BLACK, FALSE, LEFT_JUSTIFIED ); + DisplayWrappedString(iScreenWidthOffset + 180, 2 * iScreenHeightOffset + 370, 400, 2, FONT10ARIAL, 146, tempStr, FONT_BLACK, FALSE, LEFT_JUSTIFIED ); SetFont( FONT12POINT1 ); if( gpSelected->pDetailedPlacement->ubProfile == NO_PROFILE ) { SetFontForeground( FONT_GRAY3 ); - mprintfEditor( 240, 435, L"Current Profile: n/a "); + mprintfEditor( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 435, L"Current Profile: n/a "); } else { SetFontForeground( FONT_WHITE ); - ClearTaskbarRegion( 240, 435, 580, 445 ); - mprintf( 240, 435, L"Current Profile: %s", gMercProfiles[ gpSelected->pDetailedPlacement->ubProfile ].zName ); + ClearTaskbarRegion( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 435, iScreenWidthOffset + 580, 2 * iScreenHeightOffset + 445 ); + mprintf( iScreenWidthOffset + 240, 2 * iScreenHeightOffset + 435, L"Current Profile: %s", gMercProfiles[ gpSelected->pDetailedPlacement->ubProfile ].zName ); } } break; @@ -2558,30 +2563,30 @@ void UpdateMercsInfo() SetFontShadow( FONT_NEARBLACK ); switch( gpSelected->pSoldier->bOrders ) { - case STATIONARY: mprintf( 430, 363, L"STATIONARY" ); break; - case ONCALL: mprintf( 430, 363, L"ON CALL" ); break; - case ONGUARD: mprintf( 430, 363, L"ON GUARD" ); break; - case SEEKENEMY: mprintf( 430, 363, L"SEEK ENEMY" ); break; - case CLOSEPATROL: mprintf( 430, 363, L"CLOSE PATROL" ); break; - case FARPATROL: mprintf( 430, 363, L"FAR PATROL" ); break; - case POINTPATROL: mprintf( 430, 363, L"POINT PATROL" ); break; - case RNDPTPATROL: mprintf( 430, 363, L"RND PT PATROL" ); break; + case STATIONARY: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"STATIONARY" ); break; + case ONCALL: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"ON CALL" ); break; + case ONGUARD: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"ON GUARD" ); break; + case SEEKENEMY: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"SEEK ENEMY" ); break; + case CLOSEPATROL: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"CLOSE PATROL" ); break; + case FARPATROL: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"FAR PATROL" ); break; + case POINTPATROL: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"POINT PATROL" ); break; + case RNDPTPATROL: mprintf( iScreenWidthOffset + 430, 2 * iScreenHeightOffset + 363, L"RND PT PATROL" ); break; } SetFontForeground( FONT_YELLOW ); - mprintf( 186, 363, L"Action" ); - mprintf( 268, 363, L"Time" ); - mprintf( 309, 363, L"V" ); - mprintf( 331, 363, L"GridNo 1" ); - mprintf( 381, 363, L"GridNo 2" ); - mprintf( 172, 376, L"1)" ); - mprintf( 172, 397, L"2)" ); - mprintf( 172, 418, L"3)" ); - mprintf( 172, 439, L"4)" ); + mprintf( iScreenWidthOffset + 186, 2 * iScreenHeightOffset + 363, L"Action" ); + mprintf( iScreenWidthOffset + 268, 2 * iScreenHeightOffset + 363, L"Time" ); + mprintf( iScreenWidthOffset + 309, 2 * iScreenHeightOffset + 363, L"V" ); + mprintf( iScreenWidthOffset + 331, 2 * iScreenHeightOffset + 363, L"GridNo 1" ); + mprintf( iScreenWidthOffset + 381, 2 * iScreenHeightOffset + 363, L"GridNo 2" ); + mprintf( iScreenWidthOffset + 172, 2 * iScreenHeightOffset + 376, L"1)" ); + mprintf( iScreenWidthOffset + 172, 2 * iScreenHeightOffset + 397, L"2)" ); + mprintf( iScreenWidthOffset + 172, 2 * iScreenHeightOffset + 418, L"3)" ); + mprintf( iScreenWidthOffset + 172, 2 * iScreenHeightOffset + 439, L"4)" ); if( gubScheduleInstructions ) { UINT16 str[255]; UINT16 keyword[10] = L""; - ColorFillVideoSurfaceArea( FRAME_BUFFER, 431, 388, 590, 450, Get16BPPColor( FROMRGB( 32, 45, 72 ) ) ); + ColorFillVideoSurfaceArea( FRAME_BUFFER, iScreenWidthOffset + 431, 2 * iScreenHeightOffset + 388, iScreenWidthOffset + 590, 2 * iScreenHeightOffset + 450, Get16BPPColor( FROMRGB( 32, 45, 72 ) ) ); switch( gCurrSchedule.ubAction[ gubCurrentScheduleActionIndex ] ) { case SCHEDULE_ACTION_LOCKDOOR: swprintf( keyword, L"lock" ); break; @@ -2606,7 +2611,7 @@ void UpdateMercsInfo() return; } wcscat( str, L" Hit ESC to abort entering this line in the schedule." ); - DisplayWrappedString( 436, 392, 149, 2, FONT10ARIAL, FONT_YELLOW, str, FONT_BLACK, FALSE, LEFT_JUSTIFIED ); + DisplayWrappedString( iScreenWidthOffset + 436, 2 * iScreenHeightOffset + 392, 149, 2, FONT10ARIAL, FONT_YELLOW, str, FONT_BLACK, FALSE, LEFT_JUSTIFIED ); } break; } @@ -2641,7 +2646,7 @@ void DrawRect( SGPRect *pRect, INT16 color ) UINT32 uiDestPitchBYTES; UINT8 *pDestBuf; pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); - SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 ); + SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); RectangleDraw( TRUE, pRect->iLeft+MERCPANEL_X, pRect->iTop+MERCPANEL_Y, pRect->iRight+MERCPANEL_X, pRect->iBottom+MERCPANEL_Y, color, pDestBuf ); UnLockVideoSurface( FRAME_BUFFER ); //InvalidateRegion( pRect->iLeft+175, pRect->iTop+361, pRect->iRight+176, pRect->iBottom+362 ); @@ -2790,6 +2795,7 @@ void AddNewItemToSelectedMercsInventory( BOOLEAN fCreate ) uiSrcID = guiMercTempBuffer; uiDstID = guiMercInvPanelBuffers[ gbCurrSelect ]; + // WANNE: EDITOR? //build the rects iDstWidth = gbCurrSelect < 3 ? MERCINV_SMSLOT_WIDTH : MERCINV_LGSLOT_WIDTH; iDstHeight = MERCINV_SLOT_HEIGHT; @@ -2890,7 +2896,7 @@ void RenderMercInventoryPanel() if( gbCurrSelect != -1 ) DrawRect( &mercRects[ gbCurrSelect ], Get16BPPColor( FROMRGB( 200, 0, 0 ) ) ); RenderSelectedMercsInventory(); - InvalidateRegion( MERCPANEL_X, MERCPANEL_Y, 475, 460 ); + InvalidateRegion( MERCPANEL_X, MERCPANEL_Y, iScreenWidthOffset + 475, 2 * iScreenHeightOffset + 460 ); UpdateItemStatsPanel(); } @@ -3123,7 +3129,7 @@ void RenderMercStrings() if ( pSoldier->ubProfile != NO_PROFILE ) { FindFontCenterCoordinates( sXPos, sYPos, (INT16)(80 ), 1, pSoldier->name, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352 )) { gprintfdirty( sX, sY, pSoldier->name ); mprintf( sX, sY, pSoldier->name ); @@ -3137,7 +3143,7 @@ void RenderMercStrings() SetFontForeground( FONT_RED ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, pStr, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352 )) { gprintfdirty( sX, sY, pStr ); mprintf( sX, sY, pStr ); @@ -3147,7 +3153,7 @@ void RenderMercStrings() SetFontForeground( FONT_GRAY2 ); swprintf( str, L"Slot #%d", pSoldier->ubID ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, str, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352 )) { gprintfdirty( sX, sY, str ); mprintf( sX, sY, str ); @@ -3163,7 +3169,7 @@ void RenderMercStrings() SetFontForeground( FONT_RED ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, pStr, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352 )) { gprintfdirty( sX, sY, pStr ); mprintf( sX, sY, pStr ); @@ -3173,7 +3179,7 @@ void RenderMercStrings() SetFontForeground( FONT_GRAY2 ); swprintf( str, L"Slot #%d", pSoldier->ubID ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, str, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352) ) { gprintfdirty( sX, sY, str ); mprintf( sX, sY, str ); @@ -3190,7 +3196,7 @@ void RenderMercStrings() SetFontForeground( FONT_RED ); swprintf( str, L"Patrol orders with no waypoints" ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, str, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352) ) { gprintfdirty( sX, sY, str ); mprintf( sX, sY, str ); @@ -3206,7 +3212,7 @@ void RenderMercStrings() SetFontForeground( FONT_RED ); swprintf( str, L"Waypoints with no patrol orders" ); FindFontCenterCoordinates( sXPos, sYPos, 80, 1, str, TINYFONT1, &sX, &sY ); - if( sY < 352 ) + if( sY < (2 * iScreenHeightOffset + 352) ) { gprintfdirty( sX, sY, str ); mprintf( sX, sY, str ); @@ -3520,7 +3526,7 @@ void RenderCurrentSchedule() // Bring it down a touch sScreenY += 5; - if( sScreenY <= 355 ) + if( sScreenY <= (2 * iScreenHeightOffset + 355) ) { // Shown it on screen! SetFont(TINYFONT1); diff --git a/Editor/EditorTerrain.cpp b/Editor/EditorTerrain.cpp index 8b71f681..d85b98cb 100644 --- a/Editor/EditorTerrain.cpp +++ b/Editor/EditorTerrain.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -101,15 +102,15 @@ void RenderTerrainTileButtons() usFillColorLight = Get16BPPColor(FROMRGB(136, 138, 135)); usFillColorRed = Get16BPPColor(FROMRGB(255, 0, 0)); - usY = 369; - usY2 = 391; + usY = 2 * iScreenHeightOffset + 369; + usY2 = 2 * iScreenHeightOffset + 391; SetFont( SMALLCOMPFONT ); SetFontForeground( FONT_YELLOW ); for( x = 0; x < NUM_TERRAIN_TILE_REGIONS; x++ ) { - usX = 261 + (x * 42); + usX = iScreenWidthOffset + 261 + (x * 42); usX2 = usX + 42; if ( x == CurrentPaste && !fUseTerrainWeights ) diff --git a/Editor/Item Statistics.cpp b/Editor/Item Statistics.cpp index 0bab0d90..0aaac0fe 100644 --- a/Editor/Item Statistics.cpp +++ b/Editor/Item Statistics.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -476,67 +477,67 @@ void UpdateItemStatsPanel() if( gpItem && iCurrentTaskbar == TASK_ITEMS && gbEditingMode != EDITING_TRIGGERS && gbEditingMode != EDITING_ACTIONITEMS ) { - mprintf( 500, 366, L"Toggle hide flag" ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 366, L"Toggle hide flag" ); } SetFontForeground( FONT_YELLOW ); switch( gbEditingMode ) { case EDITING_NOTHING: if( iCurrentTaskbar == TASK_ITEMS ) - mprintf( 520, 400, L"No item selected." ); + mprintf( iScreenWidthOffset + 520, 2 * iScreenHeightOffset + 400, L"No item selected." ); else { - mprintf( 500, 390, L"Slot available for" ); - mprintf( 500, 400, L"random generation." ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 390, L"Slot available for" ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 400, L"random generation." ); } return; case EDITING_KEYS: if( !gpEditingItemPool ) { - mprintf( 500, 400, L"Keys not editable." ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 400, L"Keys not editable." ); return; } break; case EDITING_OWNERSHIP: - mprintf( 512, 384, L"ProfileID of owner" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, L"ProfileID of owner" ); return; case EDITING_NOT_YET_IMPLEMENTED: - mprintf( 500, 400, L"Item class not implemented." ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 400, L"Item class not implemented." ); return; case EDITING_DROPPABLE: - mprintf( 500, 400, L"Slot locked as empty."); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 400, L"Slot locked as empty."); return; case EDITING_GUNS: - mprintf( 512, 384, L"Status" ); - mprintf( 512, 404, L"Rounds" ); - mprintf( 512, 424, L"Trap Level" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, L"Status" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 404, L"Rounds" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 424, L"Trap Level" ); break; case EDITING_AMMO: - mprintf( 512, 384, L"Quantity" ); - mprintf( 512, 404, L"Trap Level" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, L"Quantity" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 404, L"Trap Level" ); break; case EDITING_ARMOUR: case EDITING_EQUIPMENT: - mprintf( 512, 384, L"Status" ); - mprintf( 512, 404, L"Trap Level" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 384, L"Status" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 404, L"Trap Level" ); break; case EDITING_EXPLOSIVES: - mprintf( 512, 380, L"Status" ); - mprintf( 512, 404, L"Quantity" ); - mprintf( 512, 424, L"Trap Level" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 380, L"Status" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 404, L"Quantity" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 424, L"Trap Level" ); break; case EDITING_MONEY: - mprintf( 532, 384, L"Dollars" ); + mprintf( iScreenWidthOffset + 532, 2 * iScreenHeightOffset + 384, L"Dollars" ); break; case EDITING_ACTIONITEMS: - mprintf( 512, 369, L"Status" ); - mprintf( 512, 389, L"Trap Level" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 369, L"Status" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 389, L"Trap Level" ); break; case EDITING_TRIGGERS: - mprintf( 512, 369, L"Trap Level"); - mprintf( 512, 389, L"Tolerance" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 369, L"Trap Level"); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 389, L"Tolerance" ); if( gpEditingItemPool && gpItem->bFrequency >= PANIC_FREQUENCY_3 && gpItem->bFrequency <= PANIC_FREQUENCY ) - mprintf( 500, 407, L"Alarm Trigger" ); + mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 407, L"Alarm Trigger" ); break; } if( gpEditingItemPool ) @@ -548,12 +549,12 @@ void UpdateItemStatsPanel() SetFontForeground( FONT_ORANGE ); else SetFontForeground( FONT_RED ); - mprintf( 512, 444, L"Exist Chance" ); - mprintf( 587, 366, L"B" ); - mprintf( 609, 366, L"R" ); - mprintf( 630, 366, L"S" ); + mprintf( iScreenWidthOffset + 512, 2 * iScreenHeightOffset + 444, L"Exist Chance" ); + mprintf( iScreenWidthOffset + 587, 2 * iScreenHeightOffset + 366, L"B" ); + mprintf( iScreenWidthOffset + 609, 2 * iScreenHeightOffset + 366, L"R" ); + mprintf( iScreenWidthOffset + 630, 2 * iScreenHeightOffset + 366, L"S" ); } - InvalidateRegion( 477, 362, 161, 97 ); + InvalidateRegion( iScreenWidthOffset + 477, 2 * iScreenHeightOffset + 362, 161, 97 ); } void RealisticOnlyCheckboxCallback( GUI_BUTTON *btn, INT32 reason ) @@ -602,13 +603,13 @@ void SetupGameTypeFlags() if( gpEditingItemPool ) { giBothCheckboxButton = - CreateCheckBoxButton( 573, 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, BothModesCheckboxCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 573, 2 * iScreenHeightOffset + 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, BothModesCheckboxCallback ); SetButtonFastHelpText( giBothCheckboxButton, L"Item appears in both Sci-Fi and Realistic modes. (|B)" ); giRealisticCheckboxButton = - CreateCheckBoxButton( 595, 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, RealisticOnlyCheckboxCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 595, 2 * iScreenHeightOffset + 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, RealisticOnlyCheckboxCallback ); SetButtonFastHelpText( giRealisticCheckboxButton, L"Item appears in |Realistic mode only." ); giSciFiCheckboxButton = - CreateCheckBoxButton( 616, 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, SciFiOnlyCheckboxCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 616, 2 * iScreenHeightOffset + 365, "EDITOR//radiobutton.sti", MSYS_PRIORITY_NORMAL, SciFiOnlyCheckboxCallback ); SetButtonFastHelpText( giSciFiCheckboxButton, L"Item appears in |Sci-Fi mode only." ); if( gWorldItems[ gpEditingItemPool->iItemIndex ].usFlags & WORLD_ITEM_REALISTIC_ONLY ) @@ -645,25 +646,25 @@ void SetupGunGUI() INT16 yp; memset( gfAttachment, 0, NUM_ATTACHMENT_BUTTONS ); swprintf( str, L"%d", gpItem->bGunStatus ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->ubGunShotsLeft ); - AddTextInputField( 485, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 420, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 420, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } //Attachments are a dynamic part of guns. None, some, or all attachments could be available //for a particular weapon. Show only the ones that we can apply to this gun. - yp = 383; + yp = 2 * iScreenHeightOffset + 383; guiAttachmentButton[ SILENCER_ATTACHMENT_BUTTON ] = -1; if( ValidAttachment( SILENCER, gpItem->usItem ) ) { guiAttachmentButton[ SILENCER_ATTACHMENT_BUTTON ] = CreateTextButton( L"SILENCER", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, SILENCER ) != -1 ) { @@ -676,7 +677,7 @@ void SetupGunGUI() { guiAttachmentButton[ SNIPERSCOPE_ATTACHMENT_BUTTON ] = CreateTextButton( L"SNIPERSCOPE", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, SNIPERSCOPE ) != -1 ) { @@ -689,7 +690,7 @@ void SetupGunGUI() { guiAttachmentButton[ LASERSCOPE_ATTACHMENT_BUTTON ] = CreateTextButton( L"LASERSCOPE", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, LASERSCOPE ) != -1 ) { @@ -702,7 +703,7 @@ void SetupGunGUI() { guiAttachmentButton[ BIPOD_ATTACHMENT_BUTTON ] = CreateTextButton( L"BIPOD", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, BIPOD ) != -1 ) { @@ -715,7 +716,7 @@ void SetupGunGUI() { guiAttachmentButton[ DUCKBILL_ATTACHMENT_BUTTON ] = CreateTextButton( L"DUCKBILL", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, DUCKBILL ) != -1 ) { @@ -728,7 +729,7 @@ void SetupGunGUI() { guiAttachmentButton[ GLAUNCHER_ATTACHMENT_BUTTON ] = CreateTextButton( L"G-LAUNCHER", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleAttachment ); yp += 14; if( FindAttachment( gpItem, UNDER_GLAUNCHER ) != -1 ) { @@ -789,13 +790,13 @@ void SetupAmmoGUI() { UINT16 str[20]; swprintf( str, L"%d", gpItem->ubNumberOfObjects ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } } @@ -834,13 +835,13 @@ void SetupArmourGUI() { UINT16 str[20]; swprintf( str, L"%d", gpItem->bStatus[0] ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } guiCeramicPlatesButton = -1; @@ -848,7 +849,7 @@ void SetupArmourGUI() { guiCeramicPlatesButton = CreateTextButton( L"CERAMIC PLATES", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 558, 375, 72, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleCeramicPlates ); + iScreenWidthOffset + 558, 2 * iScreenHeightOffset + 375, 72, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleCeramicPlates ); if( FindAttachment( gpItem, CERAMIC_PLATES ) != -1 ) { ButtonList[ guiCeramicPlatesButton ]->uiFlags |= BUTTON_CLICKED_ON; @@ -895,13 +896,13 @@ void SetupEquipGUI() { UINT16 str[20]; swprintf( str, L"%d", gpItem->bStatus[0] ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } } @@ -940,19 +941,19 @@ void SetupExplosivesGUI() UINT16 str[20]; INT16 yp; swprintf( str, L"%d", gpItem->bStatus[0] ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->ubNumberOfObjects ); - AddTextInputField( 485, 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 400, 25, 15, MSYS_PRIORITY_NORMAL, str, 1, INPUTTYPE_NUMERICSTRICT ); if( Item[ gpItem->usItem ].ubPerPocket == 1 ) { DisableTextField( 2 ); } swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 420, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 420, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } yp = 375; gfDetonator = FALSE; @@ -961,7 +962,7 @@ void SetupExplosivesGUI() { guiDetonatorButton = CreateTextButton( L"DETONATOR", SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleDetonator ); + iScreenWidthOffset + 570, yp, 60, 12, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ToggleDetonator ); yp += 14; if( FindAttachment( gpItem, DETONATOR ) != -1 ) { @@ -1021,11 +1022,11 @@ void SetupMoneyGUI() { UINT16 str[20]; swprintf( str, L"%d", gpItem->uiMoneyAmount ); - AddTextInputField( 485, 380, 45, 15, MSYS_PRIORITY_NORMAL, str, 5, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 45, 15, MSYS_PRIORITY_NORMAL, str, 5, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } } @@ -1059,10 +1060,10 @@ void SetupOwnershipGUI() { UINT16 str[20]; swprintf( str, L"%d", gpItem->ubOwnerProfile ); - AddTextInputField( 485, 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 380, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); giOwnershipGroupButton = CreateTextButton( gszCivGroupNames[ gpItem->ubOwnerCivGroup ], SMALLCOMPFONT, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 485, 415, 80, 25, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, OwnershipGroupButtonCallback ); + iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 415, 80, 25, BUTTON_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, OwnershipGroupButtonCallback ); } void OwnershipGroupButtonCallback( GUI_BUTTON *btn, INT32 reason ) @@ -1107,7 +1108,7 @@ void SetupKeysGUI() if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } } @@ -1132,18 +1133,18 @@ void SetupActionItemsGUI() UINT16 str[4]; UINT16 *pStr; swprintf( str, L"%d", gpItem->bStatus[0] ); - AddTextInputField( 485, 365, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 365, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 385, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 385, 25, 15, MSYS_PRIORITY_NORMAL, str, 2, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); } pStr = GetActionItemName( gpItem ); guiActionItemButton = CreateTextButton( pStr, FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 510, 410, 100, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ActionItemCallback ); + iScreenWidthOffset + 510, 2 * iScreenHeightOffset + 410, 100, 20, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, ActionItemCallback ); } void ExtractAndUpdateActionItemsGUI() @@ -1198,17 +1199,17 @@ void SetupTriggersGUI() { UINT16 str[4]; swprintf( str, L"%d", gpItem->bTrap ); - AddTextInputField( 485, 365, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 365, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); swprintf( str, L"%d", gpItem->ubTolerance ); - AddTextInputField( 485, 385, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 385, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); if( gpEditingItemPool ) { swprintf( str, L"%d", 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance ); - AddTextInputField( 485, 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 440, 25, 15, MSYS_PRIORITY_NORMAL, str, 3, INPUTTYPE_NUMERICSTRICT ); if( gpItem->bFrequency <= PANIC_FREQUENCY && gpItem->bFrequency >= PANIC_FREQUENCY_3 ) { giAlarmTriggerButton = - CreateCheckBoxButton( 485, 405, "EDITOR//smCheckBox.sti", MSYS_PRIORITY_NORMAL, AlarmTriggerCheckboxCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 485, 2 * iScreenHeightOffset + 405, "EDITOR//smCheckBox.sti", MSYS_PRIORITY_NORMAL, AlarmTriggerCheckboxCallback ); SetButtonFastHelpText( giAlarmTriggerButton, L"If the panic trigger is an alarm trigger,\nenemies won't attempt to use it if they\nare already aware of your presence."); if( gpItem->fFlags & OBJECT_ALARM_TRIGGER ) ButtonList[ giAlarmTriggerButton ]->uiFlags |= BUTTON_CLICKED_ON; diff --git a/Editor/LoadScreen.cpp b/Editor/LoadScreen.cpp index 5fc24076..59823c83 100644 --- a/Editor/LoadScreen.cpp +++ b/Editor/LoadScreen.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -335,7 +336,7 @@ UINT32 LoadSaveScreenHandle(void) { SetFontForeground( FONT_LTRED ); SetFontBackground( 142 ); - mprintf( 226, 126, L"NO FILES IN \\MAPS DIRECTORY" ); + mprintf( iScreenWidthOffset + 226, iScreenHeightOffset + 126, L"NO FILES IN \\MAPS DIRECTORY" ); } else for(x=iTopFileShown;x<(iTopFileShown+8) && xFileInfo.zFileName); + mprintf( iScreenWidthOffset + 186,(iScreenHeightOffset + 73+ (x-iTopFileShown)*15 ), L"%S", FListNode->FileInfo.zFileName); FListNode = FListNode->pNext; } @@ -419,8 +420,8 @@ UINT32 LoadSaveScreenHandle(void) return LOADSAVE_SCREEN; } RemoveFileDialog(); - CreateProgressBar( 0, 118, 183, 522, 202 ); - DefineProgressBarPanel( 0, 65, 79, 94, 100, 155, 540, 235 ); + CreateProgressBar( 0, iScreenWidthOffset + 118, iScreenHeightOffset + 183, iScreenWidthOffset + 522, iScreenHeightOffset + 202 ); + DefineProgressBarPanel( 0, 65, 79, 94, iScreenWidthOffset + 100, iScreenHeightOffset + 155, iScreenWidthOffset + 540, iScreenHeightOffset + 235 ); swprintf( zOrigName, L"Loading map: %s", gzFilename ); SetProgressBarTitle( 0, zOrigName, BLOCKFONT2, FONT_RED, FONT_NEARBLACK ); gbCurrentFileIOStatus = INITIATE_MAP_LOAD; @@ -444,21 +445,23 @@ void CreateFileDialog( UINT16 *zTitle ) //Okay and cancel buttons iFileDlgButtons[0] = CreateTextButton( L"Okay", FONT12POINT1, FONT_BLACK, FONT_BLACK, - BUTTON_USE_DEFAULT, 354, 225, 50, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, FDlgOkCallback ); + BUTTON_USE_DEFAULT, iScreenWidthOffset + 354, iScreenHeightOffset + 225, 50, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, FDlgOkCallback ); iFileDlgButtons[1] = CreateTextButton( L"Cancel", FONT12POINT1, FONT_BLACK, FONT_BLACK, - BUTTON_USE_DEFAULT, 406, 225, 50, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, FDlgCancelCallback ); + BUTTON_USE_DEFAULT, iScreenWidthOffset + 406, iScreenHeightOffset + 225, 50, 30, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, FDlgCancelCallback ); //Scroll buttons - iFileDlgButtons[2] = CreateSimpleButton( 426,92,"EDITOR//uparrow.sti", BUTTON_NO_TOGGLE, + iFileDlgButtons[2] = CreateSimpleButton( iScreenWidthOffset + 426, iScreenHeightOffset + 92,"EDITOR//uparrow.sti", BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, FDlgUpCallback ); - iFileDlgButtons[3] = CreateSimpleButton( 426,182,"EDITOR//downarrow.sti", BUTTON_NO_TOGGLE, + iFileDlgButtons[3] = CreateSimpleButton( iScreenWidthOffset + 426, iScreenHeightOffset + 182,"EDITOR//downarrow.sti", BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, FDlgDwnCallback ); //File list window - iFileDlgButtons[4] = CreateHotSpot( (179+4), (69+3), (179+4+240), (69+120+3), MSYS_PRIORITY_HIGH-1, BUTTON_NO_CALLBACK, FDlgNamesCallback); + + // WANNE: EDITOR? + iFileDlgButtons[4] = CreateHotSpot( (iScreenWidthOffset + 179+4), (iScreenHeightOffset + 69+3), (179+4+240), (69+120+3), MSYS_PRIORITY_HIGH-1, BUTTON_NO_CALLBACK, FDlgNamesCallback); //Title button iFileDlgButtons[5] = CreateTextButton(zTitle, HUGEFONT, FONT_LTKHAKI, FONT_DKKHAKI, - BUTTON_USE_DEFAULT,179,39,281,30,BUTTON_NO_TOGGLE, + BUTTON_USE_DEFAULT,iScreenWidthOffset + 179, iScreenHeightOffset + 39,281,30,BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH-2,BUTTON_NO_CALLBACK,BUTTON_NO_CALLBACK); DisableButton(iFileDlgButtons[5]); SpecifyDisabledButtonStyle( iFileDlgButtons[5], DISABLED_STYLE_NONE ); @@ -467,7 +470,7 @@ void CreateFileDialog( UINT16 *zTitle ) if( iCurrentAction == ACTION_SAVE_MAP ) { //checkboxes //The update world info checkbox - iFileDlgButtons[6] = CreateCheckBoxButton( 183, 229, "EDITOR//smcheckbox.sti", MSYS_PRIORITY_HIGH, UpdateWorldInfoCallback ); + iFileDlgButtons[6] = CreateCheckBoxButton( iScreenWidthOffset + 183, iScreenHeightOffset + 229, "EDITOR//smcheckbox.sti", MSYS_PRIORITY_HIGH, UpdateWorldInfoCallback ); if( gfUpdateSummaryInfo ) ButtonList[ iFileDlgButtons[6] ]->uiFlags |= BUTTON_CLICKED_ON; } @@ -475,7 +478,7 @@ void CreateFileDialog( UINT16 *zTitle ) //Add the text input fields InitTextInputModeWithScheme( DEFAULT_SCHEME ); //field 1 (filename) - AddTextInputField( /*233*/183, 195, 190, 20, MSYS_PRIORITY_HIGH, gzFilename, 30, INPUTTYPE_EXCLUSIVE_DOSFILENAME ); + AddTextInputField( /*233*/iScreenWidthOffset + 183, iScreenHeightOffset + 195, 190, 20, MSYS_PRIORITY_HIGH, gzFilename, 30, INPUTTYPE_EXCLUSIVE_DOSFILENAME ); //field 2 -- user field that allows mouse/key interaction with the filename list AddUserInputField( FileDialogModeCallback ); @@ -546,13 +549,13 @@ void RemoveFileDialog(void) void DrawFileDialog(void) { - ColorFillVideoSurfaceArea(FRAME_BUFFER, 179, 69, (179+281), 261, Get16BPPColor(FROMRGB(136, 138, 135)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, 180, 70, (179+281), 261, Get16BPPColor(FROMRGB(24, 61, 81)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, 180, 70, (179+280), 260, Get16BPPColor(FROMRGB(65, 79, 94)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 179, iScreenHeightOffset + 69, (iScreenWidthOffset + 179+281), iScreenHeightOffset + 261, Get16BPPColor(FROMRGB(136, 138, 135)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 180, 70, (iScreenWidthOffset + 179+281), iScreenHeightOffset + 261, Get16BPPColor(FROMRGB(24, 61, 81)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 180, 70, (iScreenWidthOffset + 179+280), iScreenHeightOffset + 260, Get16BPPColor(FROMRGB(65, 79, 94)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+4), (69+3), (179+4+240), (69+123), Get16BPPColor(FROMRGB(24, 61, 81)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+5), (69+4), (179+4+240), (69+123), Get16BPPColor(FROMRGB(136, 138, 135)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, (179+5), (69+4), (179+3+240), (69+122), Get16BPPColor(FROMRGB(250, 240, 188)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, (iScreenWidthOffset + 179+4), (iScreenHeightOffset + 69+3), (iScreenWidthOffset + 179+4+240), (iScreenHeightOffset + 69+123), Get16BPPColor(FROMRGB(24, 61, 81)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, (iScreenWidthOffset + 179+5), (iScreenHeightOffset + 69+4), (iScreenWidthOffset + 179+4+240), (iScreenHeightOffset + 69+123), Get16BPPColor(FROMRGB(136, 138, 135)) ); + ColorFillVideoSurfaceArea(FRAME_BUFFER, (iScreenWidthOffset + 179+5), (iScreenHeightOffset + 69+4), (iScreenWidthOffset + 179+3+240), (iScreenHeightOffset + 69+122), Get16BPPColor(FROMRGB(250, 240, 188)) ); MarkButtonsDirty(); RenderButtons(); @@ -562,11 +565,11 @@ void DrawFileDialog(void) SetFontForeground( FONT_LTKHAKI ); SetFontShadow( FONT_DKKHAKI ); SetFontBackground( FONT_BLACK ); - mprintf( 183, 217, L"Filename" ); + mprintf( iScreenWidthOffset + 183, iScreenHeightOffset + 217, L"Filename" ); if( iFileDlgButtons[6] != -1 ) { - mprintf( 200, 231, L"Update world info" ); + mprintf( iScreenWidthOffset + 200, iScreenHeightOffset + 231, L"Update world info" ); } } @@ -851,7 +854,7 @@ void SetGlobalSectorValues( UINT16 *szFilename ) void InitErrorCatchDialog() { - SGPRect CenteringRect= {0, 0, 639, 479 }; + SGPRect CenteringRect= {0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 }; // do message box and return giErrorCatchMessageBox = DoMessageBox( MSG_BOX_BASIC_STYLE, gzErrorCatchString, @@ -877,8 +880,8 @@ UINT32 ProcessFileIO() SetFontShadow( FONT_DKKHAKI ); SetFontBackground( 0 ); swprintf( zOrigName, L"Saving map: %s", gzFilename ); - usStartX = 320 - StringPixLength( zOrigName, LARGEFONT1 ) / 2; - usStartY = 180 - GetFontHeight( LARGEFONT1 ) / 2; + usStartX = iScreenWidthOffset + 320 - StringPixLength( zOrigName, LARGEFONT1 ) / 2; + usStartY = iScreenHeightOffset + 180 - GetFontHeight( LARGEFONT1 ) / 2; mprintf( usStartX, usStartY, zOrigName ); InvalidateScreen( ); diff --git a/Editor/Road Smoothing.cpp b/Editor/Road Smoothing.cpp index bde53202..6bcfb348 100644 --- a/Editor/Road Smoothing.cpp +++ b/Editor/Road Smoothing.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/Sector Summary.cpp b/Editor/Sector Summary.cpp index 25d95ef1..183dfeaa 100644 --- a/Editor/Sector Summary.cpp +++ b/Editor/Sector Summary.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -41,10 +42,10 @@ extern BOOLEAN gfOverheadMapDirty; #define MAP_SIZE 208 -#define MAP_LEFT 417 -#define MAP_TOP 15 +#define MAP_LEFT (iScreenWidthOffset + 417) +#define MAP_TOP (iScreenHeightOffset + 15) #define MAP_RIGHT (MAP_LEFT+MAP_SIZE) -#define MAP_BOTTOM (MAP_TOP+MAP_SIZE) +#define MAP_BOTTOM (MAP_TOP+MAP_SIZE) enum{ PRE_ALPHA, @@ -274,14 +275,14 @@ void CreateSummaryWindow() gfMapFileDirty = TRUE; //Create all of the buttons here iSummaryButton[ SUMMARY_BACKGROUND ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 0, 0, 640, 360, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - 120, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); SpecifyDisabledButtonStyle( iSummaryButton[ SUMMARY_BACKGROUND ], DISABLED_STYLE_NONE ); DisableButton( iSummaryButton[ SUMMARY_BACKGROUND ] ); iSummaryButton[ SUMMARY_OKAY ] = CreateTextButton(L"Okay", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - 585, 325, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 585, iScreenHeightOffset + 325, 50, 30, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, SummaryOkayCallback ); //GiveButtonDefaultStatus( iSummaryButton[ SUMMARY_OKAY ], DEFAULT_STATUS_WINDOWS95 ); @@ -358,15 +359,15 @@ void CreateSummaryWindow() iSummaryButton[ SUMMARY_UPDATE ] = CreateTextButton( L"Update", FONT12POINT1, FONT_BLACK, FONT_BLACK, BUTTON_USE_DEFAULT, - 255, 15, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, + iScreenWidthOffset + 255, iScreenHeightOffset + 15, 40, 16, BUTTON_NO_TOGGLE, MSYS_PRIORITY_HIGH, DEFAULT_MOVE_CALLBACK, SummaryUpdateCallback ); iSummaryButton[ SUMMARY_REAL ] = - CreateCheckBoxButton( 350, 47, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummaryRealCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 350, iScreenHeightOffset + 47, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummaryRealCallback ); iSummaryButton[ SUMMARY_SCIFI ] = - CreateCheckBoxButton( 376, 47, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummarySciFiCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 376, iScreenHeightOffset + 47, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummarySciFiCallback ); iSummaryButton[ SUMMARY_ENEMY ] = - CreateCheckBoxButton( 350, 60, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummaryEnemyCallback ); + CreateCheckBoxButton( iScreenWidthOffset + 350, iScreenHeightOffset + 60, "EDITOR\\radiobutton.sti", MSYS_PRIORITY_HIGH, SummaryEnemyCallback ); //SetButtonFastHelpText( iSummaryButton[ SUMMARY_SCIFI ], L"Display items that appear in SciFi mode." ); //SetButtonFastHelpText( iSummaryButton[ SUMMARY_REAL ], L"Display items that appear in Realistic mode." ); @@ -525,67 +526,67 @@ void RenderSectorInformation() ePoints++; //start at 10,35 SetFontForeground( FONT_ORANGE ); - mprintf( 10, 32, L"Tileset: %s", gTilesets[ s->ubTilesetID ].zName ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 32, L"Tileset: %s", gTilesets[ s->ubTilesetID ].zName ); if( m->ubMapVersion < 10 ) SetFontForeground( FONT_RED ); - mprintf( 10, 42, L"Version Info: Summary: 1.%02d, Map: %d.%02d", s->ubSummaryVersion, (INT32)s->dMajorMapVersion, m->ubMapVersion ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 42, L"Version Info: Summary: 1.%02d, Map: %d.%02d", s->ubSummaryVersion, (INT32)s->dMajorMapVersion, m->ubMapVersion ); SetFontForeground( FONT_GRAY2 ); - mprintf( 10, 55, L"Number of items: %d", s->usNumItems ); - mprintf( 10, 65, L"Number of lights: %d", s->usNumLights ); - mprintf( 10, 75, L"Number of entry points: %d", ePoints ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 55, L"Number of items: %d", s->usNumItems ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 65, L"Number of lights: %d", s->usNumLights ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 75, L"Number of entry points: %d", ePoints ); if( ePoints ) { INT32 x; - x = 140; - mprintf( x, 75, L"(" ); + x = iScreenWidthOffset + 140; + mprintf( x, iScreenHeightOffset + 75, L"(" ); x += StringPixLength( L"(", FONT10ARIAL ) + 2; - if( m->sNorthGridNo != -1 ) { mprintf( x, 75, L"N" ); x += StringPixLength( L"N", FONT10ARIAL ) + 2; } - if( m->sEastGridNo != -1 ) { mprintf( x, 75, L"E" ); x += StringPixLength( L"E", FONT10ARIAL ) + 2; } - if( m->sSouthGridNo != -1 ) { mprintf( x, 75, L"S" ); x += StringPixLength( L"S", FONT10ARIAL ) + 2; } - if( m->sWestGridNo != -1 ) { mprintf( x, 75, L"W" ); x += StringPixLength( L"W", FONT10ARIAL ) + 2; } - if( m->sCenterGridNo != -1 ) { mprintf( x, 75, L"C" ); x += StringPixLength( L"C", FONT10ARIAL ) + 2; } - if( m->sIsolatedGridNo != -1 ) { mprintf( x, 75, L"I" ); x += StringPixLength( L"I", FONT10ARIAL ) + 2; } - mprintf( x, 75, L")" ); + if( m->sNorthGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"N" ); x += StringPixLength( L"N", FONT10ARIAL ) + 2; } + if( m->sEastGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"E" ); x += StringPixLength( L"E", FONT10ARIAL ) + 2; } + if( m->sSouthGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"S" ); x += StringPixLength( L"S", FONT10ARIAL ) + 2; } + if( m->sWestGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"W" ); x += StringPixLength( L"W", FONT10ARIAL ) + 2; } + if( m->sCenterGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"C" ); x += StringPixLength( L"C", FONT10ARIAL ) + 2; } + if( m->sIsolatedGridNo != -1 ) { mprintf( x, iScreenHeightOffset + 75, L"I" ); x += StringPixLength( L"I", FONT10ARIAL ) + 2; } + mprintf( x, iScreenHeightOffset + 75, L")" ); } - mprintf( 10, 85, L"Number of rooms: %d", s->ubNumRooms ); - mprintf( 10, 95, L"Total map population: %d", m->ubNumIndividuals ); - mprintf( 20, 105, L"Enemies: %d", s->EnemyTeam.ubTotal ); - mprintf( 30, 115, L"Admins: %d", s->ubNumAdmins ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 85, L"Number of rooms: %d", s->ubNumRooms ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 95, L"Total map population: %d", m->ubNumIndividuals ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 105, L"Enemies: %d", s->EnemyTeam.ubTotal ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 115, L"Admins: %d", s->ubNumAdmins ); if( s->ubNumAdmins ) - mprintf( 100, 115, L"(%d detailed, %d profile -- %d have priority existance)", s->ubAdminDetailed, s->ubAdminProfile, s->ubAdminExistance ); - mprintf( 30, 125, L"Troops: %d", s->ubNumTroops ); + mprintf( iScreenWidthOffset + 100, iScreenHeightOffset + 115, L"(%d detailed, %d profile -- %d have priority existance)", s->ubAdminDetailed, s->ubAdminProfile, s->ubAdminExistance ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 125, L"Troops: %d", s->ubNumTroops ); if( s->ubNumTroops ) - mprintf( 100, 125, L"(%d detailed, %d profile -- %d have priority existance)", s->ubTroopDetailed, s->ubTroopProfile, s->ubTroopExistance ); - mprintf( 30, 135, L"Elites: %d", s->ubNumElites ); + mprintf( iScreenWidthOffset + 100, iScreenHeightOffset + 125, L"(%d detailed, %d profile -- %d have priority existance)", s->ubTroopDetailed, s->ubTroopProfile, s->ubTroopExistance ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 135, L"Elites: %d", s->ubNumElites ); if( s->ubNumElites ) - mprintf( 100, 135, L"(%d detailed, %d profile -- %d have priority existance)", s->ubEliteDetailed, s->ubEliteProfile, s->ubEliteExistance ); - mprintf( 20, 145, L"Civilians: %d", s->CivTeam.ubTotal ); + mprintf( iScreenWidthOffset + 100, iScreenHeightOffset + 135, L"(%d detailed, %d profile -- %d have priority existance)", s->ubEliteDetailed, s->ubEliteProfile, s->ubEliteExistance ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 145, L"Civilians: %d", s->CivTeam.ubTotal ); if( s->CivTeam.ubTotal ) - mprintf( 100, 145, L"(%d detailed, %d profile -- %d have priority existance)", s->CivTeam.ubDetailed, s->CivTeam.ubProfile, s->CivTeam.ubExistance ); + mprintf( iScreenWidthOffset + 100, iScreenHeightOffset + 145, L"(%d detailed, %d profile -- %d have priority existance)", s->CivTeam.ubDetailed, s->CivTeam.ubProfile, s->CivTeam.ubExistance ); if( s->ubSummaryVersion >= 9 ) { - mprintf( 30, 155, L"Humans: %d", s->CivTeam.ubTotal - s->ubCivCows - s->ubCivBloodcats ); - mprintf( 30, 165, L"Cows: %d", s->ubCivCows ); - mprintf( 30, 175, L"Bloodcats: %d", s->ubCivBloodcats ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 155, L"Humans: %d", s->CivTeam.ubTotal - s->ubCivCows - s->ubCivBloodcats ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 165, L"Cows: %d", s->ubCivCows ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 175, L"Bloodcats: %d", s->ubCivBloodcats ); } - mprintf( 20, 185, L"Creatures: %d", s->CreatureTeam.ubTotal ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 185, L"Creatures: %d", s->CreatureTeam.ubTotal ); if( s->ubSummaryVersion >= 9 ) { - mprintf( 30, 195, L"Monsters: %d", s->CreatureTeam.ubTotal - s->CreatureTeam.ubNumAnimals ); - mprintf( 30, 205, L"Bloodcats: %d", s->CreatureTeam.ubNumAnimals ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 195, L"Monsters: %d", s->CreatureTeam.ubTotal - s->CreatureTeam.ubNumAnimals ); + mprintf( iScreenWidthOffset + 30, iScreenHeightOffset + 205, L"Bloodcats: %d", s->CreatureTeam.ubNumAnimals ); } - mprintf( 10, 215, L"Number of locked and/or trapped doors: %d", s->ubNumDoors ); - mprintf( 20, 225, L"Locked: %d", s->ubNumDoorsLocked ); - mprintf( 20, 235, L"Trapped: %d", s->ubNumDoorsTrapped ); - mprintf( 20, 245, L"Locked & Trapped: %d", s->ubNumDoorsLockedAndTrapped ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 215, L"Number of locked and/or trapped doors: %d", s->ubNumDoors ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 225, L"Locked: %d", s->ubNumDoorsLocked ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 235, L"Trapped: %d", s->ubNumDoorsTrapped ); + mprintf( iScreenWidthOffset + 20, iScreenHeightOffset + 245, L"Locked & Trapped: %d", s->ubNumDoorsLockedAndTrapped ); if( s->ubSummaryVersion >= 8 ) - mprintf( 10, 255, L"Civilians with schedules: %d", s->ubCivSchedules ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 255, L"Civilians with schedules: %d", s->ubCivSchedules ); if( s->ubSummaryVersion >= 10 ) { if( s->fTooManyExitGridDests ) { SetFontForeground( FONT_RED ); - mprintf( 10, 265, L"Too many exit grid destinations (more than 4)..."); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"Too many exit grid destinations (more than 4)..."); } else { @@ -599,33 +600,33 @@ void RenderSectorInformation() if( ubNumInvalid ) { SetFontForeground( FONT_RED ); - mprintf( 10, 265, L"ExitGrids: %d (%d with a long distance destination)", s->ubNumExitGridDests, ubNumInvalid ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: %d (%d with a long distance destination)", s->ubNumExitGridDests, ubNumInvalid ); } else switch( s->ubNumExitGridDests ) { case 0: - mprintf( 10, 265, L"ExitGrids: none" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: none" ); break; case 1: - mprintf( 10, 265, L"ExitGrids: 1 destination using %d exitgrids", s->usExitGridSize[0] ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: 1 destination using %d exitgrids", s->usExitGridSize[0] ); break; case 2: - mprintf( 10, 265, L"ExitGrids: 2 -- 1) Qty: %d, 2) Qty: %d", s->usExitGridSize[0], s->usExitGridSize[1] ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: 2 -- 1) Qty: %d, 2) Qty: %d", s->usExitGridSize[0], s->usExitGridSize[1] ); break; case 3: - mprintf( 10, 265, L"ExitGrids: 3 -- 1) Qty: %d, 2) Qty: %d, 3) Qty: %d", + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: 3 -- 1) Qty: %d, 2) Qty: %d, 3) Qty: %d", s->usExitGridSize[0], s->usExitGridSize[1], s->usExitGridSize[2] ); break; case 4: - mprintf( 10, 265, L"ExitGrids: 3 -- 1) Qty: %d, 2) Qty: %d, 3) Qty: %d, 4) Qty: %d", + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 265, L"ExitGrids: 3 -- 1) Qty: %d, 2) Qty: %d, 3) Qty: %d, 4) Qty: %d", s->usExitGridSize[0], s->usExitGridSize[1], s->usExitGridSize[2], s->usExitGridSize[3] ); break; } } } iOverall = - ( 2 * s->EnemyTeam.ubBadA ) - s->EnemyTeam.ubPoorA + s->EnemyTeam.ubGoodA + ( 2 * s->EnemyTeam.ubGreatA ); - usLine = 275; - mprintf( 10, usLine, L"Enemy Relative Attributes: %d bad, %d poor, %d norm, %d good, %d great (%+d Overall)", + usLine = iScreenHeightOffset + 275; + mprintf( iScreenWidthOffset + 10, usLine, L"Enemy Relative Attributes: %d bad, %d poor, %d norm, %d good, %d great (%+d Overall)", s->EnemyTeam.ubBadA, s->EnemyTeam.ubPoorA, s->EnemyTeam.ubAvgA, @@ -634,7 +635,7 @@ void RenderSectorInformation() iOverall ); iOverall = - ( 2 * s->EnemyTeam.ubBadE ) - s->EnemyTeam.ubPoorE + s->EnemyTeam.ubGoodE + ( 2 * s->EnemyTeam.ubGreatE ); usLine += 10; - mprintf( 10, usLine, L"Enemy Relative Equipment: %d bad, %d poor, %d norm, %d good, %d great (%+d Overall)", + mprintf( iScreenWidthOffset + 10, usLine, L"Enemy Relative Equipment: %d bad, %d poor, %d norm, %d good, %d great (%+d Overall)", s->EnemyTeam.ubBadE, s->EnemyTeam.ubPoorE, s->EnemyTeam.ubAvgE, @@ -647,7 +648,7 @@ void RenderSectorInformation() if( s->ubEnemiesReqWaypoints ) { SetFontForeground( FONT_RED ); - mprintf( 10, usLine, L"%d placements have patrol orders without any waypoints defined.", s->ubEnemiesReqWaypoints ); + mprintf( iScreenWidthOffset + 10, usLine, L"%d placements have patrol orders without any waypoints defined.", s->ubEnemiesReqWaypoints ); usLine += 10; } } @@ -656,7 +657,7 @@ void RenderSectorInformation() if( s->ubEnemiesHaveWaypoints ) { SetFontForeground( FONT_RED ); - mprintf( 10, usLine, L"%d placements have waypoints, but without any patrol orders.", s->ubEnemiesHaveWaypoints ); + mprintf( iScreenWidthOffset + 10, usLine, L"%d placements have waypoints, but without any patrol orders.", s->ubEnemiesHaveWaypoints ); usLine += 10; } } @@ -665,7 +666,7 @@ void RenderSectorInformation() if( s->usWarningRoomNums ) { SetFontForeground( FONT_RED ); - mprintf( 10, usLine, L"%d gridnos have questionable room numbers. Please validate.", s->usWarningRoomNums ); + mprintf( iScreenWidthOffset + 10, usLine, L"%d gridnos have questionable room numbers. Please validate.", s->usWarningRoomNums ); } } } @@ -684,11 +685,13 @@ void RenderItemDetails() SetFont( FONT10ARIAL ); SetFontForeground( FONT_GRAY2 ); SetFontShadow( FONT_NEARBLACK ); - mprintf( 364, 49, L"R" ); - mprintf( 390, 49, L"S" ); - mprintf( 364, 62, L"Enemy" ); - yp = 20; - xp = 5; + mprintf( iScreenWidthOffset + 364, iScreenHeightOffset + 49, L"R" ); + mprintf( iScreenWidthOffset + 390, iScreenHeightOffset + 49, L"S" ); + mprintf( iScreenWidthOffset + 364, iScreenHeightOffset + 62, L"Enemy" ); + + xp = iScreenWidthOffset + 5; + yp = iScreenHeightOffset + 20; + if( gubSummaryItemMode != ITEMMODE_ENEMY && gpWorldItemsSummaryArray ) { memset( uiTriggerQuantity, 0, 32 ); @@ -771,14 +774,14 @@ void RenderItemDetails() mprintf( xp + 85, yp, L"%3.02f", dAvgExistChance ); mprintf( xp + 110, yp, L"@ %3.02f%%", dAvgStatus ); yp += 10; - if( yp >= 355 ) + if( yp >= (UINT32)(iScreenHeightOffset + 355 )) { xp += 170; - yp = 20; - if( xp >= 300 ) + yp = iScreenHeightOffset + 20; + if( xp >= (UINT32)(iScreenWidthOffset + 300 )) { SetFontForeground( FONT_RED ); - mprintf( 350, 350, L"TOO MANY ITEMS TO DISPLAY!"); + mprintf( iScreenWidthOffset + 350, iScreenHeightOffset + 350, L"TOO MANY ITEMS TO DISPLAY!"); return; } } @@ -818,14 +821,14 @@ void RenderItemDetails() mprintf( xp, yp, L"%s: %3.02f", str, dAvgExistChance ); } yp += 10; - if( yp >= 355 ) + if( yp >= (UINT32)(iScreenHeightOffset + 355 )) { xp += 170; - yp = 20; - if( xp >= 300 ) + yp = iScreenHeightOffset + 20; + if( xp >= (UINT32)(iScreenWidthOffset + 300 )) { SetFontForeground( FONT_RED ); - mprintf( 350, 350, L"TOO MANY ITEMS TO DISPLAY!"); + mprintf( iScreenWidthOffset + 350, iScreenHeightOffset + 350, L"TOO MANY ITEMS TO DISPLAY!"); return; } } @@ -878,14 +881,17 @@ void RenderItemDetails() mprintf( xp + 85, yp, L"%3.02f", dAvgExistChance ); mprintf( xp + 110, yp, L"@ %3.02f%%", dAvgStatus ); yp += 10; - if( yp >= 355 ) + if( yp >= (UINT32)(iScreenHeightOffset + 355 )) { xp += 170; - yp = 20; - if( xp >= 300 ) + + // WANNE: EDITOR? + yp = (iScreenHeightOffset + 20); + + if( xp >= (UINT32)(iScreenWidthOffset + 300 )) { SetFontForeground( FONT_RED ); - mprintf( 350, 350, L"TOO MANY ITEMS TO DISPLAY!"); + mprintf( iScreenWidthOffset + 350, iScreenHeightOffset + 350, L"TOO MANY ITEMS TO DISPLAY!"); return; } } @@ -897,14 +903,14 @@ void RenderItemDetails() SetFontForeground( FONT_YELLOW ); mprintf( xp, yp, L"NORMAL ENEMY DROPPED ITEMS" ); yp += 10; - if( yp >= 355 ) + if( yp >= (UINT32)(iScreenHeightOffset + 355 )) { xp += 170; - yp = 20; - if( xp >= 300 ) + yp = (iScreenHeightOffset + 20); + if( xp >= (UINT32)(iScreenWidthOffset + 300 )) { SetFontForeground( FONT_RED ); - mprintf( 350, 350, L"TOO MANY ITEMS TO DISPLAY!"); + mprintf( iScreenWidthOffset + 350, iScreenHeightOffset + 350, L"TOO MANY ITEMS TO DISPLAY!"); return; } } @@ -948,14 +954,14 @@ void RenderItemDetails() mprintf( xp + 85, yp, L"%3.02f", dAvgExistChance ); mprintf( xp + 110, yp, L"@ %3.02f%%", dAvgStatus ); yp += 10; - if( yp >= 355 ) + if( yp >= (UINT32)(iScreenHeightOffset + 355 )) { xp += 170; - yp = 20; - if( xp >= 300 ) + yp = iScreenHeightOffset + 20; + if( xp >= (UINT32)(iScreenWidthOffset + 300 )) { SetFontForeground( FONT_RED ); - mprintf( 350, 350, L"TOO MANY ITEMS TO DISPLAY!"); + mprintf( iScreenWidthOffset + 350, iScreenHeightOffset + 350, L"TOO MANY ITEMS TO DISPLAY!"); return; } } @@ -968,7 +974,7 @@ void RenderItemDetails() else { SetFontForeground( FONT_RED ); - mprintf( 5, 50, L"ERROR: Can't load the items for this map. Reason unknown." ); + mprintf( iScreenWidthOffset + 5, iScreenHeightOffset + 50, L"ERROR: Can't load the items for this map. Reason unknown." ); } } @@ -996,7 +1002,7 @@ void RenderSummaryWindow() } DrawButton( iSummaryButton[ SUMMARY_BACKGROUND ] ); - InvalidateRegion( 0, 0, 640, 360 ); + InvalidateRegion( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - 120 ); SetFont( BLOCKFONT2 ); SetFontForeground( FONT_LTKHAKI ); @@ -1004,7 +1010,7 @@ void RenderSummaryWindow() SetFontBackground( 0 ); if( !gfItemDetailsMode ) { - mprintf( 10, 5, L"CAMPAIGN EDITOR -- %s Version 1.%02d", + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 5, L"CAMPAIGN EDITOR -- %s Version 1.%02d", gszVersionType[ GLOBAL_SUMMARY_STATE ], GLOBAL_SUMMARY_VERSION ); } @@ -1013,7 +1019,7 @@ void RenderSummaryWindow() { SetFontForeground( FONT_RED ); SetFontShadow( FONT_NEARBLACK ); - mprintf( 270, 5, L"(NO MAP LOADED)."); + mprintf( iScreenWidthOffset + 270, iScreenHeightOffset + 5, L"(NO MAP LOADED)."); } SetFont( FONT10ARIAL ); SetFontShadow( FONT_NEARBLACK ); @@ -1025,29 +1031,29 @@ void RenderSummaryWindow() { DisableButton( iSummaryButton[ SUMMARY_LOAD ] ); SetFontForeground( FONT_YELLOW ); - mprintf( 10, 20, L"You currently have %d outdated maps.", gusNumEntriesWithOutdatedOrNoSummaryInfo); - mprintf( 10, 30, L"The more maps that need to be updated, the longer it takes. It'll take "); - mprintf( 10, 40, L"approximately 4 minutes on a P200MMX to analyse 100 maps, so"); - mprintf( 10, 50, L"depending on your computer, it may vary."); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"You currently have %d outdated maps.", gusNumEntriesWithOutdatedOrNoSummaryInfo); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 30, L"The more maps that need to be updated, the longer it takes. It'll take "); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 40, L"approximately 4 minutes on a P200MMX to analyse 100 maps, so"); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 50, L"depending on your computer, it may vary."); SetFontForeground( FONT_LTRED ); - mprintf( 10, 65, L"Do you wish to regenerate info for ALL these maps at this time (y/n)?" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 65, L"Do you wish to regenerate info for ALL these maps at this time (y/n)?" ); } else if( !gsSelSectorX && !gsSectorX || gfTempFile ) { DisableButton( iSummaryButton[ SUMMARY_LOAD ] ); SetFontForeground( FONT_LTRED ); - mprintf( 10, 20, L"There is no sector currently selected." ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"There is no sector currently selected." ); if( gfTempFile ) { SetFontForeground( FONT_YELLOW ); - mprintf( 10, 30, L"Entering a temp file name that doesn't follow campaign editor conventions..." ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 30, L"Entering a temp file name that doesn't follow campaign editor conventions..." ); goto SPECIALCASE_LABEL; //OUCH!!! } else if( !gfWorldLoaded ) { SetFontForeground( FONT_YELLOW ); - mprintf( 10, 30, L"You need to either load an existing map or create a new map before being" ); - mprintf( 10, 40, L"able to enter the editor, or you can quit (ESC or Alt+x)."); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 30, L"You need to either load an existing map or create a new map before being" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 40, L"able to enter the editor, or you can quit (ESC or Alt+x)."); } } else @@ -1205,12 +1211,12 @@ void RenderSummaryWindow() SetupItemDetailsMode( TRUE ); gfSetupItemDetailsMode = FALSE; } - mprintf( 10, 5, L"ITEM DETAILS -- sector %s", str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 5, L"ITEM DETAILS -- sector %s", str ); RenderItemDetails(); } else { - mprintf( 10, 20, L"Summary Information for sector %s:", str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"Summary Information for sector %s:", str ); HideButton( iSummaryButton[ SUMMARY_REAL ] ); HideButton( iSummaryButton[ SUMMARY_SCIFI ] ); HideButton( iSummaryButton[ SUMMARY_ENEMY ] ); @@ -1222,13 +1228,13 @@ void RenderSummaryWindow() SetFontForeground( FONT_RED ); if( gfItemDetailsMode ) { - mprintf( 10, 5, L"Summary Information for sector %s" , str ); - mprintf( 10, 15, L"does not exist." ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 5, L"Summary Information for sector %s" , str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 15, L"does not exist." ); } else { - mprintf( 10, 20, L"Summary Information for sector %s" , str ); - mprintf( 10, 30, L"does not exist." ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"Summary Information for sector %s" , str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 30, L"does not exist." ); } ShowButton( iSummaryButton[ SUMMARY_UPDATE ] ); } @@ -1243,9 +1249,9 @@ void RenderSummaryWindow() SetFontShadow( 0 ); } if( gfItemDetailsMode ) - mprintf( 10, 5, L"No information exists for sector %s.", str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 5, L"No information exists for sector %s.", str ); else - mprintf( 10, 20, L"No information exists for sector %s.", str ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"No information exists for sector %s.", str ); SetFontShadow( FONT_NEARBLACK ); switch( giCurrentViewLevel ) @@ -1298,19 +1304,19 @@ void RenderSummaryWindow() else if( !gfDeniedSummaryCreation ) { SetFontForeground( FONT_GRAY1 ); - mprintf( 10, 20, L"You currently have no summary data. By creating one, you will be able to keep track" ); - mprintf( 10, 30, L"of information pertaining to all of the sectors you edit and save. The creation process" ); - mprintf( 10, 40, L"will analyse all maps in your \\MAPS directory, and generate a new one. This could" ); - mprintf( 10, 50, L"take a few minutes depending on how many valid maps you have. Valid maps are" ); - mprintf( 10, 60, L"maps following the proper naming convention from a1.dat - p16.dat. Underground maps" ); - mprintf( 10, 70, L"are signified by appending _b1 to _b3 before the .dat (ex: a9_b1.dat). "); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"You currently have no summary data. By creating one, you will be able to keep track" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 30, L"of information pertaining to all of the sectors you edit and save. The creation process" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 40, L"will analyse all maps in your \\MAPS directory, and generate a new one. This could" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 50, L"take a few minutes depending on how many valid maps you have. Valid maps are" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 60, L"maps following the proper naming convention from a1.dat - p16.dat. Underground maps" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 70, L"are signified by appending _b1 to _b3 before the .dat (ex: a9_b1.dat). "); SetFontForeground( FONT_LTRED ); - mprintf( 10, 85, L"Do you wish to do this now (y/n)?" ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 85, L"Do you wish to do this now (y/n)?" ); } else { SetFontForeground( FONT_LTRED ); - mprintf( 10, 20, L"No summary info. Creation denied." ); + mprintf( iScreenWidthOffset + 10, iScreenHeightOffset + 20, L"No summary info. Creation denied." ); } SetFont( FONT10ARIAL ); @@ -1320,12 +1326,12 @@ void RenderSummaryWindow() mprintf( MAP_LEFT + 15, MAP_BOTTOM + 27, L"Use Alternate Maps" ); //Draw the mode tabs SetFontForeground( FONT_YELLOW ); - mprintf( 354, 18, L"Summary" ); + mprintf( iScreenWidthOffset + 354, iScreenHeightOffset + 18, L"Summary" ); pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); - SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 ); - RectangleDraw( TRUE, 350, 15, 405, 28, 0, pDestBuf ); + SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); + RectangleDraw( TRUE, iScreenWidthOffset + 350, iScreenHeightOffset + 15, iScreenWidthOffset + 405, iScreenHeightOffset + 28, 0, pDestBuf ); UnLockVideoSurface( FRAME_BUFFER ); - ShadowVideoSurfaceRectUsingLowPercentTable( FRAME_BUFFER, 351, 16, 404, 27 ); + ShadowVideoSurfaceRectUsingLowPercentTable( FRAME_BUFFER, iScreenWidthOffset + 351, iScreenHeightOffset + 16, iScreenWidthOffset + 404, iScreenHeightOffset + 27 ); if( gpCurrentSectorSummary ) /*&& gpCurrentSectorSummary->usNumItems || gpPEnemyItemsSummaryArray && gusPEnemyItemsSummaryArraySize || @@ -1337,10 +1343,10 @@ void RenderSummaryWindow() { SetFontForeground( FONT_RED ); } - mprintf( 354, 33, L"Items" ); + mprintf( iScreenWidthOffset + 354, iScreenHeightOffset + 33, L"Items" ); pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); - SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 ); - RectangleDraw( TRUE, 350, 30, 405, 43, 0, pDestBuf ); + SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); + RectangleDraw( TRUE, iScreenWidthOffset + 350, iScreenHeightOffset + 30, iScreenWidthOffset + 405, iScreenHeightOffset + 43, 0, pDestBuf ); UnLockVideoSurface( FRAME_BUFFER ); if( gpCurrentSectorSummary ) /*&& gpCurrentSectorSummary->usNumItems || @@ -1348,11 +1354,11 @@ void RenderSummaryWindow() gpNEnemyItemsSummaryArray && gusNEnemyItemsSummaryArraySize ) */ { - ShadowVideoSurfaceRectUsingLowPercentTable( FRAME_BUFFER, 351, 31, 404, 42 ); + ShadowVideoSurfaceRectUsingLowPercentTable( FRAME_BUFFER, iScreenWidthOffset + 351, iScreenHeightOffset + 31, iScreenWidthOffset + 404, iScreenHeightOffset + 42 ); } else { - ShadowVideoSurfaceRect( FRAME_BUFFER, 351, 31, 404, 42 ); + ShadowVideoSurfaceRect( FRAME_BUFFER, iScreenWidthOffset + 351, iScreenHeightOffset + 31, iScreenWidthOffset + 404, iScreenHeightOffset + 42 ); } SetFontForeground( FONT_GRAY2 ); } @@ -1381,7 +1387,7 @@ void RenderSummaryWindow() { UINT16 pos; pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); - SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 ); + SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); for( i = 1; i <= 15; i++ ) { //draw vertical lines @@ -1468,7 +1474,7 @@ void RenderSummaryWindow() if( gfGlobalSummaryExists ) { pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); - SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, 640, 480 ); + SetClippingRegionAndImageWidth( uiDestPitchBYTES, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); //Render the grid for the map currently residing in memory (blue). if( gfWorldLoaded && !gfTempFile && gsSectorX ) { @@ -1504,7 +1510,7 @@ void RenderSummaryWindow() gpPEnemyItemsSummaryArray && gusPEnemyItemsSummaryArraySize || gpNEnemyItemsSummaryArray && gusNEnemyItemsSummaryArraySize )*/ { - if( gusMouseXPos >= 350 && gusMouseYPos >= 30 && gusMouseXPos <= 404 && gusMouseYPos <= 42 ) + if( gusMouseXPos >= (iScreenWidthOffset + 350) && gusMouseYPos >= (iScreenHeightOffset + 30) && gusMouseXPos <= (iScreenWidthOffset + 404) && gusMouseYPos <= (iScreenHeightOffset + 42) ) { gfItemDetailsMode = TRUE; gfSetupItemDetailsMode = TRUE; @@ -1512,7 +1518,7 @@ void RenderSummaryWindow() } } } - else if( gfItemDetailsMode && gusMouseXPos >= 350 && gusMouseYPos >= 15 && gusMouseXPos <= 404 && gusMouseYPos <= 27 ) + else if( gfItemDetailsMode && gusMouseXPos >= (iScreenWidthOffset + 350) && gusMouseYPos >= (iScreenHeightOffset + 15) && gusMouseXPos <= (iScreenWidthOffset + 404) && gusMouseYPos <= (iScreenHeightOffset + 27) ) { gfItemDetailsMode = FALSE; gfRenderSummary = TRUE; @@ -1626,9 +1632,9 @@ void UpdateSectorSummary( UINT16 *gszFilename, BOOLEAN fUpdate ) } else { - mprintf( 320 - StringPixLength( str, FONT10ARIAL )/2, 190, str ); - InvalidateRegion( 200, 190, 400, 200 ); - CreateProgressBar( 0, 250, 200, 390, 210 ); + mprintf( (iScreenWidthOffset + 320) - StringPixLength( str, FONT10ARIAL )/2, iScreenHeightOffset + 190, str ); + InvalidateRegion( iScreenWidthOffset + 200, iScreenHeightOffset + 190, iScreenWidthOffset + 400, iScreenHeightOffset + 200 ); + CreateProgressBar( 0, iScreenWidthOffset + 250, iScreenHeightOffset + 200, iScreenWidthOffset + 390, iScreenHeightOffset + 210 ); } sprintf( (char *)szCoord, "%S", gszFilename ); @@ -2096,7 +2102,7 @@ void SummaryLoadMapCallback( GUI_BUTTON *btn, INT32 reason ) CreateProgressBar( 0, MAP_LEFT+5, MAP_BOTTOM+110, 573, MAP_BOTTOM+120 ); - DefineProgressBarPanel( 0, 65, 79, 94, MAP_LEFT, 318, 578, 356 ); + DefineProgressBarPanel( 0, 65, 79, 94, MAP_LEFT, iScreenHeightOffset + 318, iScreenWidthOffset + 578, iScreenHeightOffset + 356 ); swprintf( str, L"Loading map: %s", gszDisplayName ); SetProgressBarTitle( 0, str, BLOCKFONT2, FONT_RED, FONT_NEARBLACK ); SetProgressBarMsgAttributes( 0, SMALLCOMPFONT, FONT_BLACK, FONT_BLACK ); @@ -2615,7 +2621,7 @@ void UpdateMasterProgress() void ReportError( UINT8 *pSector, UINT8 ubLevel ) { - static INT32 yp = 180; + static INT32 yp = iScreenHeightOffset + 180; UINT16 str[40]; UINT16 temp[10]; @@ -2626,7 +2632,7 @@ void ReportError( UINT8 *pSector, UINT8 ubLevel ) swprintf( temp, L"_b%d.dat", ubLevel % 4 ); wcscat( str, temp ); } - mprintf( 10, yp, L"Skipping update for %s. Probably due to tileset conflicts...", str ); + mprintf( iScreenWidthOffset + 10, yp, L"Skipping update for %s. Probably due to tileset conflicts...", str ); InvalidateScreen(); yp++; } @@ -2640,8 +2646,8 @@ void RegenerateSummaryInfoForAllOutdatedMaps() //CreateProgressBar( 0, 20, 120, 300, 132 ); //slave (individual) //CreateProgressBar( 1, 20, 100, 300, 112 ); //master (total) //DefineProgressBarPanel( 0, 65, 79, 94, 10, 80, 310, 152 ); - CreateProgressBar( 0, 20, 100, 300, 112 ); //master (total) - DefineProgressBarPanel( 0, 65, 79, 94, 10, 80, 310, 132 ); + CreateProgressBar( 0, iScreenWidthOffset + 20, iScreenHeightOffset + 100, iScreenWidthOffset + 300, iScreenHeightOffset + 112 ); //master (total) + DefineProgressBarPanel( 0, 65, 79, 94, iScreenWidthOffset + 10, iScreenHeightOffset + 80, iScreenWidthOffset + 310, iScreenHeightOffset + 132 ); SetProgressBarTitle( 0, L"Generating map information", BLOCKFONT2, FONT_RED, FONT_NEARBLACK ); SetProgressBarMsgAttributes( 0, SMALLCOMPFONT, FONT_BLACK, FONT_BLACK ); gfUpdatingNow = TRUE; @@ -2720,8 +2726,8 @@ void SummaryUpdateCallback( GUI_BUTTON *btn, INT32 reason ) if( reason & MSYS_CALLBACK_REASON_LBUTTON_UP ) { UINT8 str[40]; - CreateProgressBar( 0, 20, 100, 300, 112 ); //slave (individual) - DefineProgressBarPanel( 0, 65, 79, 94, 10, 80, 310, 132 ); + CreateProgressBar( 0, iScreenWidthOffset + 20, iScreenHeightOffset + 100, iScreenWidthOffset + 300, iScreenHeightOffset + 112 ); //slave (individual) + DefineProgressBarPanel( 0, 65, 79, 94, iScreenWidthOffset + 10, iScreenHeightOffset + 80, iScreenWidthOffset + 310, iScreenHeightOffset + 132 ); SetProgressBarTitle( 0, L"Generating map summary", BLOCKFONT2, FONT_RED, FONT_NEARBLACK ); SetProgressBarMsgAttributes( 0, SMALLCOMPFONT, FONT_BLACK, FONT_BLACK ); @@ -2765,25 +2771,25 @@ void ApologizeOverrideAndForceUpdateEverything() //Create one huge assed button gfMajorUpdate = TRUE; iSummaryButton[ SUMMARY_BACKGROUND ] = - CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 0, 0, 640, 480, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, + CreateTextButton( 0, 0, 0, 0, BUTTON_USE_DEFAULT, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, BUTTON_TOGGLE, MSYS_PRIORITY_HIGH - 1, BUTTON_NO_CALLBACK, BUTTON_NO_CALLBACK ); SpecifyDisabledButtonStyle( iSummaryButton[ SUMMARY_BACKGROUND ], DISABLED_STYLE_NONE ); DisableButton( iSummaryButton[ SUMMARY_BACKGROUND ] ); //Draw it DrawButton( iSummaryButton[ SUMMARY_BACKGROUND ] ); - InvalidateRegion( 0, 0, 640, 480 ); + InvalidateRegion( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); SetFont( HUGEFONT ); SetFontForeground( FONT_RED ); SetFontShadow( FONT_NEARBLACK ); swprintf( str, L"MAJOR VERSION UPDATE" ); - mprintf( 320 - StringPixLength( str, HUGEFONT )/2, 105, str ); + mprintf( (iScreenWidthOffset + 320) - StringPixLength( str, HUGEFONT )/2, iScreenHeightOffset + 105, str ); SetFont( FONT10ARIAL ); SetFontForeground( FONT_YELLOW ); swprintf( str, L"There are %d maps requiring a major version update.", gusNumberOfMapsToBeForceUpdated ); - mprintf( 320 - StringPixLength( str, FONT10ARIAL )/2, 130, str ); + mprintf( (iScreenWidthOffset + 320) - StringPixLength( str, FONT10ARIAL )/2, iScreenHeightOffset + 130, str ); - CreateProgressBar( 2, 120, 170, 520, 202 ); - DefineProgressBarPanel( 2, 65, 79, 94, 100, 150, 540, 222 ); + CreateProgressBar( 2, iScreenWidthOffset + 120, iScreenHeightOffset + 170, iScreenWidthOffset + 520, iScreenHeightOffset + 202 ); + DefineProgressBarPanel( 2, 65, 79, 94, iScreenWidthOffset + 100, iScreenHeightOffset + 150, iScreenWidthOffset + 540, iScreenHeightOffset + 222 ); SetProgressBarTitle( 2, L"Updating all outdated maps", BLOCKFONT2, FONT_RED, 0 ); SetProgressBarMsgAttributes( 2, SMALLCOMPFONT, FONT_BLACK, FONT_BLACK ); diff --git a/Editor/SmartMethod.cpp b/Editor/SmartMethod.cpp index b02d47d0..2faabb5f 100644 --- a/Editor/SmartMethod.cpp +++ b/Editor/SmartMethod.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/Smoothing Utils.cpp b/Editor/Smoothing Utils.cpp index 6e3278df..40b9e1e5 100644 --- a/Editor/Smoothing Utils.cpp +++ b/Editor/Smoothing Utils.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/edit_sys.cpp b/Editor/edit_sys.cpp index f150beec..bebaa10c 100644 --- a/Editor/edit_sys.cpp +++ b/Editor/edit_sys.cpp @@ -1,3 +1,4 @@ +// WANNE: EDTIOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/editscreen.cpp b/Editor/editscreen.cpp index 7349b01b..8ce4e293 100644 --- a/Editor/editscreen.cpp +++ b/Editor/editscreen.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -777,6 +778,7 @@ BOOLEAN DrawTempMouseCursorObject(void) } +// WANNE: EDITOR? //Displays the current drawing object in the small, lower left window of the editor's toolbar. void ShowCurrentDrawingMode( void ) { @@ -784,8 +786,8 @@ void ShowCurrentDrawingMode( void ) INT32 iShowMode; UINT16 usUseIndex; UINT16 usObjIndex; - INT32 iStartX = 50; - INT32 iStartY = 440; + INT32 iStartX = iScreenWidthOffset + 50; + INT32 iStartY = 2 * iScreenHeightOffset + 440; INT32 iPicHeight, iPicWidth; INT16 sTempOffsetX; INT16 sTempOffsetY; @@ -795,17 +797,18 @@ void ShowCurrentDrawingMode( void ) UINT16 usFillColor; INT32 iIndexToUse; + // WANNE: EDITOR? // Set up a clipping rectangle for the display window. - NewRect.iLeft = 0; - NewRect.iTop = 400; - NewRect.iRight = 100; - NewRect.iBottom = 458; + NewRect.iLeft = iScreenWidthOffset + 0; + NewRect.iTop = 2 * iScreenHeightOffset + 400; + NewRect.iRight = iScreenWidthOffset + 100; + NewRect.iBottom = 2 * iScreenWidthOffset + 458; GetClippingRect(&ClipRect); SetClippingRect(&NewRect); // Clear it out - ColorFillVideoSurfaceArea( FRAME_BUFFER, 0, 400, 100, 458, 0 ); + ColorFillVideoSurfaceArea( FRAME_BUFFER, iScreenWidthOffset, 2 * iScreenHeightOffset + 400, iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 458, 0 ); iShowMode = iDrawMode; if ( iDrawMode >= DRAW_MODE_ERASE ) @@ -1003,6 +1006,7 @@ void ShowCurrentDrawingMode( void ) iPicWidth = (INT32)pETRLEObject->usWidth; iPicHeight = (INT32)pETRLEObject->usHeight; + // WANNE: EDITOR? // Center the picture in the display window. iStartX = ( 100 - iPicWidth ) / 2; iStartY = ( 60 - iPicHeight ) / 2; @@ -1015,26 +1019,28 @@ void ShowCurrentDrawingMode( void ) pETRLEObject->sOffsetX = 0; pETRLEObject->sOffsetY = 0; + // WANNE: EDITOR? SetObjectShade( gTileDatabase[gTileTypeStartIndex[usObjIndex]].hTileSurface, DEFAULT_SHADE_LEVEL ); BltVideoObject( FRAME_BUFFER, gTileDatabase[gTileTypeStartIndex[usObjIndex]].hTileSurface, - usUseIndex, (0 + iStartX), (400 + iStartY), + usUseIndex, (iScreenWidthOffset + 0 + iStartX), (2 * iScreenHeightOffset + 400 + iStartY), VO_BLT_SRCTRANSPARENCY, NULL); pETRLEObject->sOffsetX = sTempOffsetX; pETRLEObject->sOffsetY = sTempOffsetY; } + // WANNE: EDITOR? // Set the color for the window's border. Blueish color = Normal, Red = Fake lighting is turned on usFillColor = GenericButtonFillColors[0]; pDestBuf = LockVideoSurface( FRAME_BUFFER, &uiDestPitchBYTES ); if(gbPixelDepth==16) - RectangleDraw( FALSE, 0, 400, 99, 458, usFillColor, pDestBuf ); + RectangleDraw( FALSE, iScreenWidthOffset + 0, 2 * iScreenHeightOffset + 400, iScreenWidthOffset + 99, 2 * iScreenHeightOffset + 458, usFillColor, pDestBuf ); else if(gbPixelDepth==8) - RectangleDraw8( FALSE, 0, 400, 99, 458, usFillColor, pDestBuf ); + RectangleDraw8( FALSE, iScreenWidthOffset + 0, 2 * iScreenHeightOffset + 400, iScreenWidthOffset + 99, 2 * iScreenHeightOffset + 458, usFillColor, pDestBuf ); UnLockVideoSurface( FRAME_BUFFER ); - InvalidateRegion( 0, 400, 100, 458 ); + InvalidateRegion( iScreenWidthOffset + 0, 2 * iScreenHeightOffset + 400, iScreenWidthOffset + 100, 2 * iScreenHeightOffset + 458 ); SetClippingRect(&ClipRect); } @@ -2394,77 +2400,78 @@ UINT32 WaitForHelpScreenResponse( void ) InputAtom DummyEvent; BOOLEAN fLeaveScreen; - ColorFillVideoSurfaceArea(FRAME_BUFFER, 50, 50, 590, 310, + // WANNE: EDITOR? + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 50, iScreenHeightOffset + 50, iScreenWidthOffset + 590, iScreenHeightOffset + 310, Get16BPPColor(FROMRGB(136, 138, 135)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, 51, 51, 590, 310, + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 51, iScreenHeightOffset + 51, iScreenWidthOffset + 590, iScreenHeightOffset + 310, Get16BPPColor(FROMRGB(24, 61, 81)) ); - ColorFillVideoSurfaceArea(FRAME_BUFFER, 51, 51, 589, 309, + ColorFillVideoSurfaceArea(FRAME_BUFFER, iScreenWidthOffset + 51, iScreenHeightOffset + 51, iScreenWidthOffset + 589, iScreenHeightOffset + 309, GenericButtonFillColors[0]); SetFont( gp12PointFont1 ); - gprintf( 55, 55, L"HOME" ); - gprintf( 205, 55, L"Toggle fake editor lighting ON/OFF" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 55, L"HOME" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 55, L"Toggle fake editor lighting ON/OFF" ); - gprintf( 55, 67, L"INSERT" ); - gprintf( 205, 67, L"Toggle fill mode ON/OFF" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 67, L"INSERT" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 67, L"Toggle fill mode ON/OFF" ); - gprintf( 55, 79, L"BKSPC" ); - gprintf( 205, 79, L"Undo last change" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 79, L"BKSPC" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 79, L"Undo last change" ); - gprintf( 55, 91, L"DEL" ); - gprintf( 205, 91, L"Quick erase object under mouse cursor" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 91, L"DEL" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 91, L"Quick erase object under mouse cursor" ); - gprintf( 55, 103, L"ESC" ); - gprintf( 205, 103, L"Exit editor" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 103, L"ESC" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 103, L"Exit editor" ); - gprintf( 55, 115, L"PGUP/PGDN" ); - gprintf( 205, 115, L"Change object to be pasted" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 115, L"PGUP/PGDN" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 115, L"Change object to be pasted" ); - gprintf( 55, 127, L"F1" ); - gprintf( 205, 127, L"This help screen" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 127, L"F1" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 127, L"This help screen" ); - gprintf( 55, 139, L"F10" ); - gprintf( 205, 139, L"Save current map" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 139, L"F10" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 139, L"Save current map" ); - gprintf( 55, 151, L"F11" ); - gprintf( 205, 151, L"Load map as current" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 151, L"F11" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 151, L"Load map as current" ); - gprintf( 55, 163, L"+/-" ); - gprintf( 205, 163, L"Change shadow darkness by .01" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 163, L"+/-" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 163, L"Change shadow darkness by .01" ); - gprintf( 55, 175, L"SHFT +/-" ); - gprintf( 205, 175, L"Change shadow darkness by .05" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 175, L"SHFT +/-" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 175, L"Change shadow darkness by .05" ); - gprintf( 55, 187, L"0 - 9" ); - gprintf( 205, 187, L"Change map/tileset filename" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 187, L"0 - 9" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 187, L"Change map/tileset filename" ); - gprintf( 55, 199, L"b" ); - gprintf( 205, 199, L"Change brush size" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 199, L"b" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 199, L"Change brush size" ); - gprintf( 55, 211, L"d" ); - gprintf( 205, 211, L"Draw debris" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 211, L"d" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 211, L"Draw debris" ); - gprintf( 55, 223, L"o" ); - gprintf( 205, 223, L"Draw obstacle" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 223, L"o" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 223, L"Draw obstacle" ); - gprintf( 55, 235, L"r" ); - gprintf( 205, 235, L"Draw rocks" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 235, L"r" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 235, L"Draw rocks" ); - gprintf( 55, 247, L"t" ); - gprintf( 205, 247, L"Toggle trees display ON/OFF" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 247, L"t" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 247, L"Toggle trees display ON/OFF" ); - gprintf( 55, 259, L"g" ); - gprintf( 205, 259, L"Draw ground textures" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 259, L"g" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 259, L"Draw ground textures" ); - gprintf( 55, 271, L"w" ); - gprintf( 205, 271, L"Draw building walls" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 271, L"w" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 271, L"Draw building walls" ); - gprintf( 55, 283, L"e" ); - gprintf( 205, 283, L"Toggle erase mode ON/OFF" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 283, L"e" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 283, L"Toggle erase mode ON/OFF" ); - gprintf( 55, 295, L"h" ); - gprintf( 205, 295, L"Toggle roofs ON/OFF" ); + gprintf( iScreenWidthOffset + 55, iScreenHeightOffset + 295, L"h" ); + gprintf( iScreenWidthOffset + 205, iScreenHeightOffset + 295, L"Toggle roofs ON/OFF" ); fLeaveScreen = FALSE; @@ -2609,10 +2616,11 @@ void ShowCurrentSlotSurface( UINT32 vSurface, INT32 iWindow ) INT32 iWinWidth, iWinHeight; blt_vs_fx vSfx; - WinRect.iLeft = (iWindow == 0) ? (336) : (488); - WinRect.iTop = 211; - WinRect.iRight = (iWindow == 0) ? (485) : (637); - WinRect.iBottom = 399; + // WANNE: EDITOR + WinRect.iLeft = (iWindow == 0) ? (iScreenWidthOffset + 336) : (iScreenWidthOffset + 488); + WinRect.iTop = 2 * iScreenHeightOffset + 211; + WinRect.iRight = (iWindow == 0) ? (iScreenWidthOffset + 485) : (iScreenWidthOffset + 637); + WinRect.iBottom = 2 * iScreenHeightOffset + 399; ColorFillVideoSurfaceArea(FRAME_BUFFER, WinRect.iLeft - 1, WinRect.iTop - 1, WinRect.iRight + 1, WinRect.iBottom + 1, @@ -2676,10 +2684,11 @@ void ShowCurrentSlotImage( HVOBJECT hVObj, INT32 iWindow ) ETRLEObject *pETRLEObject; INT32 iWinWidth, iWinHeight; - NewRect.iLeft = (iWindow == 0) ? (336) : (488); - NewRect.iTop = 211; - NewRect.iRight = (iWindow == 0) ? (485) : (637); - NewRect.iBottom = 399; + // WANNE: EDITOR? + NewRect.iLeft = (iWindow == 0) ? (iScreenWidthOffset + 336) : (iScreenWidthOffset + 488); + NewRect.iTop = 2 * iScreenHeightOffset + 211; + NewRect.iRight = (iWindow == 0) ? (iScreenWidthOffset + 485) : (iScreenWidthOffset + 637); + NewRect.iBottom = 2 * iScreenHeightOffset + 399; iWinWidth = NewRect.iRight - NewRect.iLeft; iWinHeight = NewRect.iBottom - NewRect.iTop; @@ -3760,21 +3769,22 @@ UINT32 EditScreenHandle( void ) void CreateGotoGridNoUI() { + // WANNE: EDITOR gfGotoGridNoUI = TRUE; //Disable the rest of the editor DisableEditorTaskbar(); //Create the background panel. guiGotoGridNoUIButtonID = CreateTextButton( L"Enter gridno:", FONT10ARIAL, FONT_YELLOW, FONT_BLACK, BUTTON_USE_DEFAULT, - 290, 155, 60, 50, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MSYS_NO_CALLBACK ); + iScreenWidthOffset + 290, iScreenHeightOffset + 155, 60, 50, BUTTON_NO_TOGGLE, MSYS_PRIORITY_NORMAL, DEFAULT_MOVE_CALLBACK, MSYS_NO_CALLBACK ); SpecifyDisabledButtonStyle( guiGotoGridNoUIButtonID, DISABLED_STYLE_NONE ); SpecifyButtonTextOffsets( guiGotoGridNoUIButtonID, 5, 5, FALSE ); DisableButton( guiGotoGridNoUIButtonID ); //Create a blanket region so nobody can use - MSYS_DefineRegion( &GotoGridNoUIRegion, 0, 0, 640, 480, MSYS_PRIORITY_NORMAL+1, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); + MSYS_DefineRegion( &GotoGridNoUIRegion, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, MSYS_PRIORITY_NORMAL+1, 0, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK ); //Init a text input field. InitTextInputModeWithScheme( DEFAULT_SCHEME ); - AddTextInputField( 300, 180, 40, 18, MSYS_PRIORITY_HIGH, L"", 6, INPUTTYPE_NUMERICSTRICT ); + AddTextInputField( iScreenWidthOffset + 300, iScreenHeightOffset + 180, 40, 18, MSYS_PRIORITY_HIGH, L"", 6, INPUTTYPE_NUMERICSTRICT ); } void RemoveGotoGridNoUI() diff --git a/Editor/messagebox.cpp b/Editor/messagebox.cpp index 5b98f334..10cfaf00 100644 --- a/Editor/messagebox.cpp +++ b/Editor/messagebox.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: done #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else @@ -34,11 +35,11 @@ void CreateMessageBox( UINT16 *wzString ) INT16 sStartX, sStartY; sPixLen = StringPixLength ( wzString, (UINT16)gpLargeFontType1 ) + 10; - if ( sPixLen > 600 ) - sPixLen = 600; + if ( sPixLen > iScreenWidthOffset + 600 ) + sPixLen = iScreenWidthOffset + 600; - sStartX = (640 - sPixLen) / 2; - sStartY = (480 - 96) / 2; + sStartX = (SCREEN_WIDTH - sPixLen) / 2; + sStartY = ((SCREEN_HEIGHT - 96) / 2); gfMessageBoxResult = FALSE; diff --git a/Editor/newsmooth.cpp b/Editor/newsmooth.cpp index 1369b3a4..2133ca67 100644 --- a/Editor/newsmooth.cpp +++ b/Editor/newsmooth.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: todo #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/popupmenu.cpp b/Editor/popupmenu.cpp index 4e95b447..ac84d70a 100644 --- a/Editor/popupmenu.cpp +++ b/Editor/popupmenu.cpp @@ -1,3 +1,5 @@ +// WANNE: EDITOR: todo + //FUNCTIONALITY: //This popup menu functions IDENTICALLY to Windows95's methodology. You can use the arrow keys, or the //mouse in two methods. The first method is where you release the mouse button before diff --git a/Editor/selectwin.cpp b/Editor/selectwin.cpp index 91c5784c..71c2b636 100644 --- a/Editor/selectwin.cpp +++ b/Editor/selectwin.cpp @@ -1,3 +1,5 @@ +// WANNE: EDITOR: todo + #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/Editor/smooth.cpp b/Editor/smooth.cpp index bd6b87db..8debdb95 100644 --- a/Editor/smooth.cpp +++ b/Editor/smooth.cpp @@ -1,3 +1,4 @@ +// WANNE: EDITOR: no changes #ifdef PRECOMPILEDHEADERS #include "Editor All.h" #else diff --git a/JA2.suo b/JA2.suo index 840fcce2ec600bbd4fe2b8b7c1b93492fd5f4eb6..06418cd4ddb913f36c41dd1f999e8ed4699de472 100644 GIT binary patch delta 4178 zcmb_feNa@_6~E{0vh2d{!U79~kFY^eg!oaT4v9>Qfp*aPK?zu+<4^mO@J+v4+dx1PYuiBWXerirDyS39g_eevj^;-5pn1_?O_hl@6ZYj_rO5*CWJT6w zxu$ffJk=f-Bj&~lN9I(@b9+(b9uGy)EIN+d7`pk5I{}H6^e9b|*%gVvor5?hu9a4Mo z9#r-C?NS}86DPJ!?ZexTkzi!jK^s$?>ENG}DiUB{ZSV3+7K;<{#Rg0d4!hn2`A}1 zaoxZ!xG!LMTEFU6d*Ek>R3OeFWB5;62tsue;n^}%I@eyyCHwiMQu2GQxU9`U?=o3G z++ngV>oXkxFho9J*ynJZ3SH(h*bC49u&%;VU8pT_UD-nWEwR=uVV{qf??}eaEg6N@ zEo_E1%M3!#EX?|fTx>i-^A=`ZFA)uo(47mj4qB{2{|jp<)kGCqxG?Ig4wF@=!77ec zz$p`y1xL%1z==obIsr=cdW9KQ9u@N_9FT5gv`x8{HV*}Kdy$5bD zk+I!y_kHLeT^@rQ+E z=Z*n7$}I!rf4Slf;;~}-wp^0={`#)#{|InB9mgxdJPFlBK455e^1C{rj;n1XnF5oiLc4(5xRXg9llOcj)G zD1Uo9-gTO?`Qzt+`?Vjx`08JZO)hnrd>TDGbne{u@CZu>boD8e&mX%RBY)|gxw^Omw>m^zG2xbqy9 zL^=kknaIndC+Y4uV}^VW!L54n1`&qgLaIYn4#1)p#$%F&()(j<+;E(Rx$->y+AoVG zECvyF5xD_@;4AaHxp$a6Tt5hdJP?&Kl;};_{BVd)YBkaM5l<6f4&iMz+!;VETzneB zoH+>{zJ8isCC)ho%&O>`kWZ3E51P~iM-tbO-&8nGgw)NDu@zFjvk0>fABR!zJxwJ= zRrHv;4{t4eWtFN@Yt;tSD67?RTok_eJlz}TT_dh&o{1eMSG_b&j?0RXmz5M zW6n|sX{#T}U4oMoW0C6uCLX(ng7Oa52=t?FjY{XStk63CN)J*yRUj@|7J?H7^Y^mq^@wTGc-HXK0tBy)& zXsh_Wt;amAd*Yq-M%qO6jWm(LOw>xn$Gd}oI0CR}+!m;oRcqIY8$|(2?;J3x4m1Eu z=K(HC2IO6X^j=}38BmoJCsCOs4kMR{l0{LO7AHeQ0I`E&b|_0`xt$%74)B&@FG&XE z5(Mc5a@UFkLnefgah7Bnu=97w@JwR`O4c=Pd@o$ZA7Qs+x6ss zt-}9m) z^h-E4Y6q=TLzRimCZW?#6O&4ssZEM@rqfAkCeEZCI*n7OnyHgapucmM-35)-k~52 zUF`7ev=m#&@C=0Q4zf`s#xO@8=8=+=5Fx5j=1%Kw<6oORpIgJot`reQaYV??jEGB$Z;kMYXDC+%aS(+v9R> zS@F6agPT=@+9t!3aa#w0}O^eH0$4VIzICBqsHmf$*<%LHHVRmHK!sQlP(SOlGdBg=}G>;=g zCg6_p4Q!%IzNsp`ze0iJni# z{#Gmf#YUC=tK;eAMR~zqMsEF>sy+&Oj{u;Nk=ceC#gjU?_;6TH&fzfm4i#3)P)^#V zT!2r0_j#&`u7%XCi1$%gZ!(R+hB5&*?r#UzfBCdJpUXwFlUq{0Ud?AjC zwUMr6stNXNRXa2g>wqVxTCTBIr{>{L3r?jZ;Bv?_oA-o~$#LJJCuVQZ$aAX=;2=;A z%s4b^l05gwjLlp_RQMHct~pOLXpGzO9nUp=G{a{`$`nZjx2hbI7V>^HHLrUw)$+#) zWMR)fYD-gUj9XJDa;sADeBm`Z=XeZyHzKM};M$7VZdT14b(yMT3)FV)29fJ0>W-%} zZ#gJ!%fOyiOZ9?M0+d$#3a>ZrMU9 zJZ%Wxc=H%V^GnB}#u+kOoTdECN%}NeST$j4wH5|O95qB0e615YC!Pdx8JW)IrTo_+ zdXBrU`Iz+$Py`=;j>7rQk0}Z0m@snuj~B?s?jEo^7LXmh4aT*2<@x#16z%Q)#V6_4 zgg}bx$*I}fSB`4AQX9RUugs)aZaf7gItFPbe|U^0TMU);U?+!;x{{-wr+RHG8Qvgg zKX|gOT&=`1QKio4&F|_vFc^p>h3M(bL-fJad_YRT z;#38g*90h4BNBC9YJmxb2B>*(6Ges=f?Uw$2Q-Cw_4zLx7F(rZD!Pg^zwd{T8;>8R zaKul00NK&Edk5E!S z{^wA{G|NG6Ik$QRq(3;g_PfgGUFhWf&jZ8rCgKyqZ=Iku0oie0*^koEgi`M9rH<$^ zdc!f>Rg?B=lq*ZBj$h|#{YPG-Z1Q3xp0AvxJACsQisHtzR7(kWbLEJBBT-Pb&RcKV zo`s_6exc!Y+WV;5cU$ynCkS5*WM$}bxD^#)j7!T8gQO=wVp{{K)oYM#^AY+IICUK1 z23=Lgar6;}bKGgLExu3C2^mnDgTfN1UHg9m`tRJAepZ4LiP;SFi>*=?eWg;A)WCgt z0I-#+g>_g%&V7GwJi`SlfBv!ir;v`?GFl7|1?zP7mRnsd2hW0F;Y85zE)sqRpQ^yx zp#=ndlG95`Y2|1y^3h%_M>DxVW#OKIcBVkTyYQBQvk>i08mN|;&BMtF?J5VhZ`O^F zuT|Kla#g#kHCKl>{y-Lo26$x?+J{OVlUjUl*NaFcvT_p^mRkI8Lc1V~P6KAPt6gd# zq`Gj=9KF(1Hr~^5`Lqzt7UEo>^-0HF&gFV!K1LTo)68k=`{+_KGF@5ov&Sv1v%F!L zFrmC&vyEF?`Q{<23gp;q%?ACUtU{qu0{zAB#ue1gRIiwVK=kZI@QC0sI~9{QD``rv^~w4e?mbl`;hu3{hz^L(fwdBt}ndT?OzKX z-{yzwjRn&si(EQe1bEn8;>ri^-Lh)xm?ZmSg4k5+lyGBhuR}uUj!LC+V~a7JHB48=@*VG;%bNVpH~K!}jk}DL?kZL;@lK@LhjkJe#-g~-BoZX!Nes2y3bEelr4CDx~L?i^IoSFci+ zY%|(<#T;_Z+zCxq=oQ%wS#_!e@*4D;TdhWIXol>!{*1nA)d`=?gGUT28m3dTjU}#3 zl!8K}_foJC$9_$AeCZSFwoA1Ou&d|mR%4$){0;ua4dYqcJF-*8AhF%ss6R2X-7P6>Cm2yysT3H*FK)i>FIL%s>G0p@i2%bMYLlO)}LsZYsa|2_3hO zpVSu6uG>k)-B=SdmLg(}K!^0}^(Z7xAImWtz2gEb9P)H%cl{63w+tIolSkE7tALa5 zA>`wAfc@P62P#_Z!cyhZi_<+8-+!vtbw2yYvTy|K=Z;>Zl6(G0nLh-K`(M3klxF+~ DK11lK diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 8b0fe68f..4bbe48ba 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -5028,9 +5028,6 @@ BOOLEAN CreateItems( UINT16 usItem, INT8 bStatus, UINT8 ubNumber, OBJECTTYPE * p BOOLEAN fOk; UINT8 ubLoop; - // can't create any more than this, the loop for setting the bStatus[] of others will overwrite memory! - Assert( ubNumber <= MAX_OBJECTS_PER_SLOT ); - // ARM: to avoid whacking memory once Assertions are removed... Items will be lost in this situation! if ( ubNumber > MAX_OBJECTS_PER_SLOT ) { diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 27ba0f34..d1bb8cde 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -606,8 +606,8 @@ STR16 pMilitiaControlMenuStrings[] = L"Alle: Position halten", L"Alle: Rückzug", L"Alle: An meine Position", - L"All: Auf den Boden", - L"All: In Deckung gehen", + L"Alle: Auf den Boden", + L"Alle: In Deckung gehen", //L"All: Find items", L"Abbrechen", // cancel this menu }; @@ -2668,7 +2668,7 @@ STR16 BobbyROrderFormText[] = STR16 BobbyRFilter[] = { // Guns - L"Schwere W.", + L"Schw. W.", L"Pistole", L"MP", L"SMG",