mirror of
https://github.com/DramaticShape/DramaticShapeVoxelMod.git
synced 2026-08-12 07:00:51 +02:00
new menus
This commit is contained in:
+5
-2
@@ -92,8 +92,11 @@
|
||||
rows it has quietly taken away. It opens VOXEL and T-SHIFT, which came off
|
||||
the engine's list with it, and four categories: **3D WORLD** (V-GRID,
|
||||
V-CURVE, RENDER DIST, WATER, DAYTIME), **BATTLES** (3D-BTL, BACK SPRITES,
|
||||
LET'S GO, STADIUM ROM), **PERFORMANCE** (FOREST FX, SHADOWS, AA) and
|
||||
**VR** (VR, SMOOTH TURN).
|
||||
LET'S GO), **PERFORMANCE** (FOREST FX, SHADOWS, AA) and **VR** (VR,
|
||||
SMOOTH TURN). STADIUM ROM stays on that top-level menu, last: it is
|
||||
one-time setup rather than a setting, and somebody who has been told to
|
||||
import a cartridge should find the row where the mod begins, not two
|
||||
levels down a category they have no reason to open until it has worked.
|
||||
|
||||
The split is not a new opinion: it is the `full` flag each row already
|
||||
carried. `full` marks a row the FULL preset does not take away, and the
|
||||
|
||||
+16
-11
@@ -166,6 +166,22 @@ function SettingsMenu.rows(catId, game)
|
||||
}
|
||||
end
|
||||
end
|
||||
-- ------- and the ROM import, last, on the top-level menu
|
||||
--
|
||||
-- An ACTION and not a setting: there is no rung to store, nothing for the
|
||||
-- mod manager's page to persist and nothing to restore on the next boot,
|
||||
-- so it is appended rather than living in SETTINGS.
|
||||
--
|
||||
-- On the ROOT menu rather than under the battles whose STADIUM rungs it
|
||||
-- unlocks. It is a piece of one-time SETUP -- point the mod at a cartridge
|
||||
-- and wait while it builds -- and a player who has been told to import a
|
||||
-- ROM should find the row where the mod begins, not two levels down a
|
||||
-- category they have no reason to open until it has worked. Last, because
|
||||
-- the categories are what the menu is FOR.
|
||||
local ok, importRow = pcall(function()
|
||||
return V.require("StadiumRomPick").row()
|
||||
end)
|
||||
if ok and importRow then out[#out + 1] = importRow end
|
||||
return out
|
||||
end
|
||||
for _, entry in ipairs(settings) do
|
||||
@@ -173,17 +189,6 @@ function SettingsMenu.rows(catId, game)
|
||||
out[#out + 1] = entry[1]:row()
|
||||
end
|
||||
end
|
||||
-- and the ROM import, which is an ACTION and not a setting: there is no
|
||||
-- rung to store, nothing for the mod manager's page to persist and nothing
|
||||
-- to restore on the next boot, so it is appended here rather than living in
|
||||
-- SETTINGS. It sits under the battles because the STADIUM rungs of 3D-BTL
|
||||
-- are what it unlocks.
|
||||
if catId == "battles" then
|
||||
local ok, importRow = pcall(function()
|
||||
return V.require("StadiumRomPick").row()
|
||||
end)
|
||||
if ok and importRow then out[#out + 1] = importRow end
|
||||
end
|
||||
return out
|
||||
end
|
||||
|
||||
|
||||
@@ -434,10 +434,18 @@ for key, cat in pairs(WHERE) do
|
||||
("%s is on the %s menu"):format(key, cat))
|
||||
end
|
||||
end
|
||||
-- the ROM import is an action, not a setting, and it sits with the rungs of
|
||||
-- 3D-BTL it unlocks
|
||||
T.check(Menus.rows("battles")["DRAMATIC_SHAPE:stadiumRom"],
|
||||
"and STADIUM ROM is under the battles, which is what it unlocks")
|
||||
-- the ROM import is an action, not a setting, and it is one-time SETUP, so it
|
||||
-- sits on the top-level menu where the mod begins rather than two levels down
|
||||
-- the category it unlocks
|
||||
T.check(Menus.rows(Menus.lib.ROOT)["DRAMATIC_SHAPE:stadiumRom"],
|
||||
"and STADIUM ROM is on the top-level menu, not inside a category")
|
||||
T.check(not Menus.rows("battles")["DRAMATIC_SHAPE:stadiumRom"],
|
||||
"and only there")
|
||||
do
|
||||
local rootRows = Menus.lib.rows(Menus.lib.ROOT, { data = Data })
|
||||
T.eq(rootRows[#rootRows].id, "DRAMATIC_SHAPE:stadiumRom",
|
||||
"last on it, because the categories are what the menu is for")
|
||||
end
|
||||
end
|
||||
|
||||
-- ------- the open menu notices when FULL is stepped onto or off
|
||||
|
||||
Reference in New Issue
Block a user