resizing minimaps based on map size

This commit is contained in:
devZoGok
2026-05-12 19:55:34 +03:00
parent 57a1897a13
commit 180f00f6c4
4 changed files with 36 additions and 5 deletions
+2
View File
@@ -1,4 +1,6 @@
game = {cpuPlayers = {}}
_minimapPos = {x = 0, y = 0}
_minimapSize = {x = 0, y = 0}
GameObjectFrameStatus = {
PLACEABLE = 0,
BLOCKED_BY_FOG_OF_WAR = 1,
+11 -3
View File
@@ -43,12 +43,18 @@ noSupplyTex = 'noSupply.png'
noHackTex = 'noHack.png'
gui = {
{
guiType = GuiType.GUI_RECTANGLE,
pos = {x = minimapPos.x, y = minimapPos.y, z = .8},
size = minimapSize,
color = {x = .5, y = .5, z = .5, w = .6}
},
{
guiType = GuiType.BUTTON,
buttonType = ButtonType.MINIMAP,
name = 'minimap',
pos = minimapPos,
size = minimapSize,
pos = {x = _minimapPos.x, y = minimapPos.y + _minimapPos.y, z = minimapPos.z},
size = {x = _minimapSize.x, y = _minimapSize.y},
color = {x = .5, y = .5, z = .5, w = 1}
},
{
@@ -116,8 +122,10 @@ gui = {
},
{
guiType = GuiType.GUI_RECTANGLE,
pos = {x = minimapPos.x, y = res.y - .75 * sz, z = 0},
pos = {x = minimapSize.x, y = res.y - .75 * sz, z = 0},
size = {x = res.x - minimapPos.x, y = sz * .75},
color = {x = .6, y = .6, z = .6, w = .4}
},
--[[
]]--
}
+21
View File
@@ -123,6 +123,27 @@ namespace battleship{
vector<Button*> buttons = guiButtons;
buttons.insert(buttons.end(), unitButtons.begin(), unitButtons.end());
Vector3 mapSize = Map::getSingleton()->getMapSize();
float ratio = mapSize.x / mapSize.z;
sol::state_view SOL_LUA_VIEW = generateView();
SOL_LUA_VIEW.script_file(GameManager::getSingleton()->getPath() + "Scripts/Gui/activeGameState.lua");
sol::table sizeTbl = SOL_LUA_VIEW["minimapSize"];
float initSizeX = sizeTbl["x"], initSizeY = sizeTbl["y"];
if(ratio < 1){
float x = initSizeX * ratio;
SOL_LUA_VIEW["_minimapPos"]["x"] = .5 * (initSizeX - x) ;
SOL_LUA_VIEW["_minimapSize"]["x"] = x;
SOL_LUA_VIEW["_minimapSize"]["y"] = initSizeY;
}
else{
float y = initSizeY / ratio;
SOL_LUA_VIEW["_minimapPos"]["y"] = .5 * (initSizeY - y);
SOL_LUA_VIEW["_minimapSize"]["x"] = initSizeX;
SOL_LUA_VIEW["_minimapSize"]["y"] = y;
}
ConcreteGuiManager::getSingleton()->readLuaScreenScript(
"activeGameState.lua",
buttons,
+2 -2
View File
@@ -501,8 +501,6 @@ namespace battleship{
sol::table civPlayerTbl = SOL_LUA_VIEW[mapTable]["civilianPlayer"];
loadPlayerGameObjects(game->getCivilianPlayer(), civPlayerTbl);
Minimap::getSingleton()->load();
}
void Map::preprareScene(bool empty){
@@ -678,6 +676,8 @@ namespace battleship{
for(int i = 0; i < numWaterbodies; i++)
loadTerrainObject(i);
Minimap::getSingleton()->load();
}
void Map::create(string mapName, Vector3 mapSize){