diff options
Diffstat (limited to 'TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c')
| -rw-r--r-- | TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c index bd26a3e..a453b2f 100644 --- a/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c +++ b/TemplePushing.c4s/Misc.c4d/SetupMenu.c4d/Script.c @@ -28,12 +28,12 @@ protected func Initialize() } section = Sections[0]; - Modes = [ - [MODE_Classic, "$ModeClassic$", CLSC], - [MODE_Magic, "$ModeMagic$", MLPG], - [MODE_Knightly, "$ModeKnightly$", MKNI], - [MODE_Apocalyptic, "$ModeApocalyptic$", APCE], - [MODE_Festive, "$ModeFestive$", FSTV]]; + Modes = []; + for (var i = 0, def; def = GetDefinition(i, C4D_StaticBack); ++i) + { + if (DefinitionCall(def, "ModeName")) Modes[GetLength(Modes)] = def; + } + mode = Modes[0]; } private func ShowSetup() @@ -82,8 +82,8 @@ private func ShowModeMenu() var menuItemIndex = 0; for (var m in Modes) { - clonk->AddMenuItem(m[1], Format("SelectMode(%d)", m[0]), m[2]); - CheckPreselect(!selectRandomMode && m[0] == mode, menuItemIndex++); + clonk->AddMenuItem(m->ModeName(), Format("SelectMode(%i)", m), m); + CheckPreselect(!selectRandomMode && m == mode, menuItemIndex++); } clonk->AddMenuItem("$Random$", "SelectRandomMode()", SRND); @@ -91,7 +91,7 @@ private func ShowModeMenu() clonk->AddMenuItem("$Back$", "ShowSectionMenu()", SBCK); } -private func SelectMode(int selectedMode) +private func SelectMode(id selectedMode) { selectRandomMode = false; mode = selectedMode; @@ -196,7 +196,7 @@ private func SetupDone() { // Apply random selection if (selectRandomSection) section = Sections[Random(GetLength(Sections))]; - if (selectRandomMode) mode = Modes[Random(GetLength(Modes))][0]; + if (selectRandomMode) mode = Modes[Random(GetLength(Modes))]; selectRandomSection = selectRandomMode = false; // Show final setup message and start the game ShowMessage(); @@ -260,14 +260,7 @@ private func GetMessage() } else { - for (var m in Modes) - { - if (m[0] == mode) - { - msgMode = Format("$Mode$: {{%i}} %s", m[2], m[1]); - break; - } - } + msgMode = Format("$Mode$: {{%i}} %s", mode, mode->ModeName()); } var msgWinScore; |
