From ec2876d9c867e2b9ec268f9aadcfdde5f231eeac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 8 Nov 2026 18:09:03 +0100 Subject: [PATCH] developer mode mod: game's developer switch on (warp with a+s, river log cheat), keys for the hidden aux inputs (fly, heart and fruit, idols, coins) on both exe versions --- CHANGELOG.md | 4 + docs/manual/18-mods.md | 20 ++- notes/img/mods/devmode_keys.jpg | Bin 0 -> 92277 bytes notes/img/mods/devmode_teleport.jpg | Bin 0 -> 87780 bytes notes/mod-cheats.md | 2 +- notes/mod-devmode.md | 57 ++++++ .../com/eliasmueller/llamamod/exe/Site.java | 17 ++ .../llamamod/mods/ModRegistry.java | 1 + .../llamamod/mods/devmode/DevModeMod.java | 92 ++++++++++ .../llamamod/mods/devmode/DevModePatch.java | 162 ++++++++++++++++++ .../llamamod/exe/GameExeTest.java | 4 +- .../llamamod/mods/ExeModCombinationsTest.java | 7 +- .../llamamod/mods/ExeVersionsTest.java | 14 +- .../llamamod/mods/devmode/DevModeModTest.java | 158 +++++++++++++++++ 14 files changed, 525 insertions(+), 13 deletions(-) create mode 100644 notes/img/mods/devmode_keys.jpg create mode 100644 notes/img/mods/devmode_teleport.jpg create mode 100644 notes/mod-devmode.md create mode 100644 src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModeMod.java create mode 100644 src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModePatch.java create mode 100644 src/test/java/com/eliasmueller/llamamod/mods/devmode/DevModeModTest.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e4c2e7..a2df3f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.2.4 – unreleased +- **New mod "Developer mode"** (Cheats): turns on the game's hidden developer switch. Hold A+S to + warp to the developers' warp points, F1 to fly, F2 for a heart and 5 fruit, F3/F11 to count idols + and coins up; Space on the river log makes it invincible and fast. + - **Debug wireframe: new option "Allowance areas"** (off by default). The game counts the llama as standing on a floor even a little outside its edges; at sharp corners this margin becomes a long sliver where the llama can stand in the air. *Floating spots* marks those places in pink, *All edges* diff --git a/docs/manual/18-mods.md b/docs/manual/18-mods.md index e5a895f..e8d6449 100644 --- a/docs/manual/18-mods.md +++ b/docs/manual/18-mods.md @@ -124,12 +124,6 @@ A minigame on a TestLevel chapter: alligators come in waves into a walled pit. E | Coins per hit | 0 – 5 | 1 | Coins that pop out per hit (5 more at the end). | | TestLevel chapter | 32 – 49 | 49 | Chapter of world 9 the arena replaces (32–49; chapter 1 is the Test World's). | -#### Jungle Day Chapter 2 (play-test) - -Temporary play-test copy from the level editor – removed when the play-test ends. Changes the original level t1l4m002. - -*Id* `playtest-jungle-day-chapter-2` - #### Llama Coaster A roller coaster ride on a TestLevel chapter, with the cart from the Catacombs coaster levels: drops, climbs, boost arrows, a spin pad that turns the cart backwards and a jump over a gap. Steer left and right to stay on the track and collect coins; the ride ends at the station. Unlock TestLevel on the Save games tab. @@ -259,6 +253,20 @@ Shows what is normally invisible: the walls and floors the llama collides with ( |---|---|---|---| | Allowance areas | Off, Floating spots, All edges | Off | Pink marks where the game still counts the llama as standing on a floor although it is just beside it (the collision test accepts a small margin outside every floor edge). Off: nothing extra. Floating spots: only the places where that margin reaches noticeably far, past sharp corners, and the llama would stand in the air above the real floor. All edges: a thin pink band along every floor edge, also where it does not matter. Off by default because it adds geometry to every level. | +#### Developer mode + +Turns on the game's hidden developer switch and puts its extra buttons on the keyboard. Hold A+S to warp the llama to the developers' warp points (22 levels, they go round in a circle). Hold F1 to fly, press F2 for a heart and 5 fruit, hold F3 for idols and F11 for coins (keys can be changed below). On the river log (world 3) hold Space: no damage, through the banks, very fast. In the finale, holding Space+Z ends the level. The developers' level-skip and music menu stays unavailable (it needs a second switch that is always off). + +*Id* `devmode` · **modifies groove.exe** (see [antivirus warnings](20-troubleshooting.md)) + +| Option | Values | Default | Description | +|---|---|---|---| +| Fly key | F1, F2, F3, F4, F5, F7, F8, F9, F11, F12, Insert, Delete, Home, End | F1 | Hold to fly: the llama (also from standing), the bunny and the frog (after a jump) rise while the key is held. | +| Heart and fruit key | F1, F2, F3, F4, F5, F7, F8, F9, F11, F12, Insert, Delete, Home, End | F2 | Each press gives one heart and 5 purple fruit. | +| Idol key | F1, F2, F3, F4, F5, F7, F8, F9, F11, F12, Insert, Delete, Home, End | F3 | Hold to count the pink idols up (to 99). | +| Coin key | F1, F2, F3, F4, F5, F7, F8, F9, F11, F12, Insert, Delete, Home, End | F11 | Hold to count the coins up fast. | +| Fly key switches on and off | on / off | off | Press the fly key once to start flying and again to stop, instead of holding it. | + #### Free camera & noclip Press F7 to fly the camera freely around the level: arrow keys move, A/S turn, PgUp/PgDn look up and down, X/Z rise and sink, Shift or Space go faster. Press F9 for noclip: the llama flies through walls (arrow keys, X/Z up and down). Press the key again to switch off (the keys can be changed below). diff --git a/notes/img/mods/devmode_keys.jpg b/notes/img/mods/devmode_keys.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dbec081d6748c5421271f3f2806e3b80ae825046 GIT binary patch literal 92277 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 literal 0 HcmV?d00001 diff --git a/notes/mod-cheats.md b/notes/mod-cheats.md index 178af14..1624c4f 100644 --- a/notes/mod-cheats.md +++ b/notes/mod-cheats.md @@ -166,7 +166,7 @@ layout or low-memory mode), not a debug flag. Other constant getter cases: 0x5E/ 0x98, 0x9E, 0xC1, 0xD8, 0xED, 0xEE, 0x102 = 0; of the zero ids only 0 and 0x102 are read by any strat. No exe code writes padAux, and no other dev key handler was found beyond the table above (F4, F6, F7). -Suggested "Developer mode" option for the cheats mod (not implemented): patch byte 0x552320 to 1 +Implemented as the separate mod `devmode` (see `mod-devmode.md`); original suggestion: patch byte 0x552320 to 1 (or point jump-table entry 0x552A8C at a cave that pushes 0x1000, leaving the shared handler alone), and map keys to padAux in the pad poll: at the end of FUN_004256C0 (0x425B88, where padAux is only cleared when >1 pad) jump to a cave that builds padAux from the DIK state array 0x58226C + 4·DIK, diff --git a/notes/mod-devmode.md b/notes/mod-devmode.md new file mode 100644 index 0000000..5cc1f78 --- /dev/null +++ b/notes/mod-devmode.md @@ -0,0 +1,57 @@ +# Developer mode (`devmode`, CHEATS) + +`mods/devmode/DevModeMod` + `DevModePatch` – two groove.exe patches, no data changes. Background and +the full list of what the switch unlocks: `mod-cheats.md`, "Developer switch (property 258)". + +## Options + +| Key | Default | padAux bit | Effect | +|---|---|---|---| +| `flyKey` | F1 | 0x800 held | Llama (also from standing), LlamaChase, bunny rise while held; frog after a jump | +| `heartKey` | F2 | 0x400 (pressed edge) | +1 heart, +5 purple fruit | +| `idolKey` | F3 | 0x200 held | pink idols +1 per frame, max 99 | +| `coinKey` | F11 | 0x100 held | coins +1 per frame | +| `flyToggle` | off | – | fly key toggles bit 0x800 instead of hold | + +Keys are `Hotkeys.option` choices (cross-mod conflict check); defaults avoid practice F5/F8, freecam +F7/F9 and the game's F4/F6/F10. The developer switch itself has no option (always on with the mod). +Two equal keys → apply fails with a message. + +## Patches (German / English addresses, all via `Site`) + +1. **Property 258 = 1.0.** `PROP_GET` (0x550E60 / 0x550B80) is the strat property getter; its + `jmp [eax*4 + table]` has the table address at +21 (0x552684 / 0x552390, in .text). Entry + 0x102 (0x552A8C / 0x552798) pointed at the shared `push 0` handler (0x55231B / 0x55198F; the + patch checks its bytes) and now points at a cave: `mov eax,[esp+14h]; push 0x1000; push eax; + call ; add esp,8; add esp,10h; ret`. The other ids of the shared handler + (de: 0x75, 0x9E, 0xC1, 0xEE; en: 0xC1, 0xEE) stay 0. The table entry has a .reloc entry; the + exe always loads at its image base, so the absolute cave address is fine. +2. **padAux from keys.** `PAD_POLL_END` (0x425B88 / 0x425A08, tail of the pad poll FUN_004256c0: + `mov eax,[padCount]; pop ebx; cmp eax,1; jbe; mov [padAux],0; add esp,8; ret`, 25 bytes) → + `jmp` cave + NOPs. Cave: `pop ebx`, ecx = OR of the bits whose DIK slot in `KEY_STATE` + (0x58226C / 0x5818FC, s32[256] frames held, all 0 while Alt is held) is > 0, 0 while `DEMO`; + `mov [PAD_AUX],ecx` (0x5FCF58 / 0x5FC5E8); `mov eax,[padCount]` (keeps the old return value); + `add esp,8; ret`. The edge detection padAuxPressed (FUN_00425c00, start of each tick) is + untouched and works as before. Toggle mode: 8 data bytes (previous key state, on flag). + +Hotkey names → DirectInput scan codes in `DevModePatch.DIK` (test: covers every `Hotkeys.VK` key). + +## Verified in game (apptest `devmode-a`, :25, German exe, village 1-1, defaults) + +* A+S three times: three different warp points (`img/mods/devmode_teleport.jpg`). +* F2 twice: fruit 0 → 5 → 10, energy bar refilled. +* F1 held 2.5 s: the llama rises above the village, falls back after release. +* F3 held 1.5 s: idols 46; F11 held 1 s: coins 1 → 32 (`img/mods/devmode_keys.jpg`). +* No crash; game starts normally with the mod (one crash in a Wine DLL at 68E9306B on the very + first start of a fresh session prefix, not reproducible in 3 later starts with the mod). + +Not checked in game: English exe (unit tests only), toggle mode, river log Space, 8-6 Space+Z, +frog/bunny, LlamaChase. + +## Limits + +* Level-skip/music debug menu needs property 0 ≠ 0 as well (also hard-wired 0, used by 131 strat + reads incl. cameras) – deliberately not touched. +* Toggle state survives level changes (flying continues in the next level until pressed again). +* With the switch on, CheatTeleport stays alive in 22 levels; A+S (camera left+right together) is + the warp combo, so pressing both camera keys at once now teleports. diff --git a/src/main/java/com/eliasmueller/llamamod/exe/Site.java b/src/main/java/com/eliasmueller/llamamod/exe/Site.java index 76cc16a..082c042 100644 --- a/src/main/java/com/eliasmueller/llamamod/exe/Site.java +++ b/src/main/java/com/eliasmueller/llamamod/exe/Site.java @@ -204,6 +204,23 @@ public enum Site { 0x6D9408, "render camera target x, y, z"), SINE(operand("8B 1C 8D ?? ?? ?? ?? 8B C8 0F AF CA", 3), 0x574318, 0x574318, "s32[4096] sine table, 4096 = 1.0"), + // developer mode + PROP_GET( + code("8B 44 24 0C 83 EC 10 3D 09 01 00 00 0F 87 ?? ?? ?? ?? FF 24 85 ?? ?? ?? ??"), + 0x550E60, + 0x550B80, + "strat property getter: switch over ids 0..0x109, jump table address (in .text) at +21"), + PAD_POLL_END( + code("A1 ?? ?? ?? ?? 5B 83 F8 01 76 0A C7 05 ?? ?? ?? ?? 00 00 00 00 83 C4 08 C3"), + 0x425B88, + 0x425A08, + "end of PAD_BITS: clears PAD_AUX if more than one pad, then returns"), + PAD_AUX(operandAt(PAD_POLL_END, 13), 0x5FCF58, 0x5FC5E8, "aux pad bits (strat property 88), never set on PC"), + KEY_STATE( + operand("B9 00 01 00 00 33 C0 BF ?? ?? ?? ?? F3 AB B9 0F 00 00 00", 8), + 0x58226C, + 0x5818FC, + "s32[256] DirectInput keyboard state by DIK code (frames held, 0 = up)"), // base patch: level record relocation COINS( operand("8B 34 B5 ?? ?? ?? ?? C1 EE 0C 3B F2", 3), diff --git a/src/main/java/com/eliasmueller/llamamod/mods/ModRegistry.java b/src/main/java/com/eliasmueller/llamamod/mods/ModRegistry.java index 31d872c..c794ea1 100644 --- a/src/main/java/com/eliasmueller/llamamod/mods/ModRegistry.java +++ b/src/main/java/com/eliasmueller/llamamod/mods/ModRegistry.java @@ -25,6 +25,7 @@ public final class ModRegistry { "com.eliasmueller.llamamod.mods.freecam.FreeCamMod", "com.eliasmueller.llamamod.mods.arena.ArenaMod", "com.eliasmueller.llamamod.mods.coaster.CoasterMod", + "com.eliasmueller.llamamod.mods.devmode.DevModeMod", }; /** {@link ModSource}s loaded by class name (dynamic mods, e.g. level projects). */ diff --git a/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModeMod.java b/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModeMod.java new file mode 100644 index 0000000..6aeeca1 --- /dev/null +++ b/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModeMod.java @@ -0,0 +1,92 @@ +package com.eliasmueller.llamamod.mods.devmode; + +import com.eliasmueller.llamamod.mods.Hotkeys; +import com.eliasmueller.llamamod.mods.Mod; +import com.eliasmueller.llamamod.mods.ModContext; +import com.eliasmueller.llamamod.mods.ModOption; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** The game's hidden developer switch and its PC-less aux pad buttons (see {@link DevModePatch}). */ +public final class DevModeMod implements Mod { + record AuxKey(String option, String label, String description, String def, int bit) {} + + static final List KEYS = List.of( + new AuxKey( + "flyKey", + "Fly key", + "Hold to fly: the llama (also from standing), the bunny and the frog (after a jump) rise" + + " while the key is held.", + "F1", + DevModePatch.AUX_FLY), + new AuxKey( + "heartKey", + "Heart and fruit key", + "Each press gives one heart and 5 purple fruit.", + "F2", + DevModePatch.AUX_HEART), + new AuxKey("idolKey", "Idol key", "Hold to count the pink idols up (to 99).", "F3", DevModePatch.AUX_IDOLS), + new AuxKey("coinKey", "Coin key", "Hold to count the coins up fast.", "F11", DevModePatch.AUX_COINS)); + + @Override + public String id() { + return "devmode"; + } + + @Override + public String name() { + return "Developer mode"; + } + + @Override + public String category() { + return CHEATS; + } + + @Override + public String description() { + return "Turns on the game's hidden developer switch and puts its extra buttons on the keyboard." + + " Hold A+S to warp the llama to the developers' warp points (22 levels, they go round in a" + + " circle). Hold F1 to fly, press F2 for a heart and 5 fruit, hold F3 for idols and F11 for" + + " coins (keys can be changed below). On the river log (world 3) hold Space: no damage, through" + + " the banks, very fast. In the finale, holding Space+Z ends the level. The developers'" + + " level-skip and music menu stays unavailable (it needs a second switch that is always off)."; + } + + @Override + public boolean modifiesExecutable() { + return true; + } + + @Override + public List options() { + List o = new ArrayList<>(); + for (AuxKey k : KEYS) { + o.add(Hotkeys.option(k.option(), k.label(), k.description(), k.def())); + } + o.add(ModOption.bool( + "flyToggle", + "Fly key switches on and off", + "Press the fly key once to start flying and again to stop, instead of holding it.", + false)); + return o; + } + + @Override + public void apply(ModContext ctx) throws IOException { + List keys = new ArrayList<>(); + Set used = new HashSet<>(); + for (AuxKey k : KEYS) { + String v = ctx.option(k.option()); + if (!used.add(v)) { + throw new IllegalArgumentException("Developer mode: " + v + " is used for two keys"); + } + keys.add(new DevModePatch.Key(DevModePatch.dik(v), k.bit())); + } + DevModePatch.enableDeveloperFlag(ctx.exe()); + DevModePatch.mapAuxKeys(ctx.exe(), keys, ctx.optionBool("flyToggle")); + } +} diff --git a/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModePatch.java b/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModePatch.java new file mode 100644 index 0000000..d14568c --- /dev/null +++ b/src/main/java/com/eliasmueller/llamamod/mods/devmode/DevModePatch.java @@ -0,0 +1,162 @@ +package com.eliasmueller.llamamod.mods.devmode; + +import static com.eliasmueller.llamamod.mods.practice.Asm.EAX; +import static com.eliasmueller.llamamod.mods.practice.Asm.EBX; +import static com.eliasmueller.llamamod.mods.practice.Asm.ECX; + +import com.eliasmueller.llamamod.exe.ExeImage; +import com.eliasmueller.llamamod.exe.ExePatchException; +import com.eliasmueller.llamamod.exe.GameExe; +import com.eliasmueller.llamamod.exe.Site; +import com.eliasmueller.llamamod.exe.X86; +import com.eliasmueller.llamamod.mods.practice.Asm; +import java.util.HexFormat; +import java.util.List; +import java.util.Map; + +/** + * Developer switch and aux pad keys (German exe addresses; the code uses the {@link Site}s). + * + *

    + *
  • Strat property 258 (0x102) is a developer flag the getter FUN_00550e60 hard-wires to 0: + * jump table 0x552684[0x102] (= 0x552A8C) → shared handler 0x55231B {@code push 0} (also + * ids 0x75, 0x9E, 0xC1, 0xEE). The table entry is pointed at a cave that pushes 0x1000 (1.0 + * in 20.12); the shared handler stays untouched. + *
  • padAux (property 88, 0x5FCF58) is never set on PC. The tail of the pad poll FUN_004256c0 + * (0x425B88: {@code if (padCount > 1) padAux = 0; return}) is replaced by a cave that builds + * padAux from the DirectInput key state 0x58226C[DIK] (0 while a demo plays). The edge + * detection padAuxPressed (0x5FCF60, FUN_00425c00 at the start of every tick) runs after + * it as before. + *
+ */ +public final class DevModePatch { + /** Developer flag property id and the value the cave pushes. */ + static final int PROP_DEV = 0x102, ONE = 0x1000; + + /** padAux bits read by the strats. */ + static final int AUX_COINS = 0x100, AUX_IDOLS = 0x200, AUX_HEART = 0x400, AUX_FLY = 0x800; + + /** Original shared handler of property 258: {@code mov eax,[esp+14h]; push 0; push eax; call push; ...; ret}. */ + static final String ZERO_HANDLER = "8B 44 24 14 6A 00 50 E8 ?? ?? ?? ?? 83 C4 08 83 C4 10 C3"; + + /** DirectInput scan codes of the {@link com.eliasmueller.llamamod.mods.Hotkeys} choices. */ + static final Map DIK = Map.ofEntries( + Map.entry("F1", 0x3B), + Map.entry("F2", 0x3C), + Map.entry("F3", 0x3D), + Map.entry("F4", 0x3E), + Map.entry("F5", 0x3F), + Map.entry("F7", 0x41), + Map.entry("F8", 0x42), + Map.entry("F9", 0x43), + Map.entry("F11", 0x57), + Map.entry("F12", 0x58), + Map.entry("Insert", 0xD2), + Map.entry("Delete", 0xD3), + Map.entry("Home", 0xC7), + Map.entry("End", 0xCF)); + + /** A key that sets padAux {@code bit} while held. */ + record Key(int dik, int bit) {} + + private DevModePatch() {} + + static int dik(String hotkey) { + Integer v = DIK.get(hotkey); + if (v == null) { + throw new IllegalArgumentException("unknown hotkey " + hotkey); + } + return v; + } + + /** Sets property 258 to 1.0. */ + public static void enableDeveloperFlag(ExeImage exe) throws ExePatchException { + GameExe g = exe.game(); + long table = exe.readU32(g.va(Site.PROP_GET) + 21); + long entry = table + 4L * PROP_DEV; + long handler = exe.readU32(entry); + String got = hex(exe.readOriginal(handler, 19)); + if (!matches(got, ZERO_HANDLER)) { + throw new ExePatchException("devmode: property 258 handler at " + ExeImage.hexVa(handler) + " is " + got + + ", expected " + ZERO_HANDLER + " – unknown program version"); + } + long push = handler + 12 + (int) exe.readU32(handler + 8); + long fn = exe.emit("devmode: property 258 = 1", a -> { + a.hex("8B 44 24 14"); // mov eax,[esp+14h] + a.push(ONE); + a.u8(0x50); // push eax + a.call(push); + a.hex("83 C4 08 83 C4 10"); // add esp,8; add esp,10h + a.ret(); + }); + exe.patch(entry, le(handler), le(fn), "devmode: property 258 jump table entry"); + } + + /** + * padAux = OR of the bits whose key is held; {@code toggleFly}: the {@link #AUX_FLY} key (if in + * {@code keys}) switches the bit on and off instead. + */ + public static void mapAuxKeys(ExeImage exe, List keys, boolean toggleFly) throws ExePatchException { + GameExe g = exe.game(); + long tail = g.va(Site.PAD_POLL_END), aux = g.va(Site.PAD_AUX), state = g.va(Site.KEY_STATE); + long demo = g.va(Site.DEMO), padCount = g.va(Site.PAD_COUNT); + long d = toggleFly ? exe.allocateData(8, "devmode: fly toggle") : 0; + long prev = d, flyOn = d + 4; + long fn = exe.emit("devmode: aux pad keys", a -> { + Asm m = new Asm(a); + X86.Label store = a.label(); + m.pop(EBX); // the original tail's pop ebx + m.push(ECX); + a.hex("33 C9"); // xor ecx,ecx + m.cmpMemImm(demo, 0); + a.jcc(X86.JNE, store); + for (Key k : keys) { + X86.Label skip = a.label(); + long slot = state + 4L * k.dik(); + if (toggleFly && k.bit() == AUX_FLY) { + X86.Label same = a.label(); + a.hex("33 C0"); // xor eax,eax + m.cmpMemImm(slot, 0); + a.hex("0F 9F C0"); // setg al + m.cmpMem(EAX, prev); + m.store(prev, EAX); + a.jcc(X86.JBE, same); + m.xorMemImm(flyOn, 1); + a.bind(same); + m.cmpMemImm(flyOn, 0); + a.jcc(X86.JE, skip); + } else { + m.cmpMemImm(slot, 0); + a.jcc(X86.JLE, skip); + } + a.hex("81 C9").u32(k.bit()); // or ecx,bit + a.bind(skip); + } + a.bind(store); + m.store(aux, ECX); + m.pop(ECX); + m.load(EAX, padCount); + a.hex("83 C4 08"); // add esp,8 + a.ret(); + }); + exe.hookJmp(tail, g.original(Site.PAD_POLL_END, 25), fn, "devmode: pad poll tail"); + } + + private static boolean matches(String got, String pattern) { + String[] g = got.split(" "), p = pattern.split(" "); + for (int i = 0; i < p.length; i++) { + if (!p[i].equals("??") && !p[i].equals(g[i])) { + return false; + } + } + return true; + } + + private static String hex(byte[] b) { + return HexFormat.ofDelimiter(" ").withUpperCase().formatHex(b); + } + + private static byte[] le(long v) { + return new byte[] {(byte) v, (byte) (v >> 8), (byte) (v >> 16), (byte) (v >> 24)}; + } +} diff --git a/src/test/java/com/eliasmueller/llamamod/exe/GameExeTest.java b/src/test/java/com/eliasmueller/llamamod/exe/GameExeTest.java index 96a205e..61985ba 100644 --- a/src/test/java/com/eliasmueller/llamamod/exe/GameExeTest.java +++ b/src/test/java/com/eliasmueller/llamamod/exe/GameExeTest.java @@ -50,7 +50,9 @@ class GameExeTest { Map.entry(Site.REGIONS_CALL_FRAME, "call 0x{REGIONS}"), Map.entry(Site.REGIONS_CALL_RUNNING, "call 0x{REGIONS}"), Map.entry(Site.REGIONS_CALL_PAUSED, "call 0x{REGIONS}"), - Map.entry(Site.STRAT_RESET, "mov DWORD PTR ds:0x")); + Map.entry(Site.STRAT_RESET, "mov DWORD PTR ds:0x"), + Map.entry(Site.PROP_GET, "mov eax,DWORD PTR [esp+0xc]"), + Map.entry(Site.PAD_POLL_END, "mov eax,ds:0x{PAD_COUNT}")); static byte[] bytes(String version) throws IOException { return Files.readAllBytes(GameData.exePath(version)); diff --git a/src/test/java/com/eliasmueller/llamamod/mods/ExeModCombinationsTest.java b/src/test/java/com/eliasmueller/llamamod/mods/ExeModCombinationsTest.java index 80efbee..178831d 100644 --- a/src/test/java/com/eliasmueller/llamamod/mods/ExeModCombinationsTest.java +++ b/src/test/java/com/eliasmueller/llamamod/mods/ExeModCombinationsTest.java @@ -23,7 +23,7 @@ import org.junit.jupiter.params.provider.ValueSource; /** * Every combination of the groove.exe mods (intro skip, cheats, practice, free camera, boot to - * level), with default options and with every exe-relevant option switched on, must apply, give + * level, developer mode), with default options and with every exe-relevant option switched on, must apply, give * an executable that re-parses with a consistent section layout, replay byte-identically from the * cache and restore to the base exe (needs -Dllamamod.cd), for the German and the English exe. */ @@ -31,14 +31,15 @@ class ExeModCombinationsTest { @TempDir Path tmp; - private static final String[] IDS = {"intro-skip", "cheats", "practice", "freecam", "boot-to-level"}; + private static final String[] IDS = {"intro-skip", "cheats", "practice", "freecam", "boot-to-level", "devmode"}; /** Options that switch on every exe change of a mod (data-only options stay at their defaults). */ private static final Map> ALL_ON = Map.of( "intro-skip", Map.of("logos", "true", "demo", "true", "story", "true"), "cheats", Map.of("diagnostics", "true"), "practice", Map.of("checkpoints", "false"), - "boot-to-level", Map.of("logos", "true", "quitOnEscape", "true")); + "boot-to-level", Map.of("logos", "true", "quitOnEscape", "true"), + "devmode", Map.of("flyToggle", "true")); /** {@code version}: "de" or "en" (the English exe runs against the German CD data here). */ private AppPaths install(String version) throws IOException { diff --git a/src/test/java/com/eliasmueller/llamamod/mods/ExeVersionsTest.java b/src/test/java/com/eliasmueller/llamamod/mods/ExeVersionsTest.java index 4e06c2a..d4985c0 100644 --- a/src/test/java/com/eliasmueller/llamamod/mods/ExeVersionsTest.java +++ b/src/test/java/com/eliasmueller/llamamod/mods/ExeVersionsTest.java @@ -39,7 +39,8 @@ class ExeVersionsTest { "diagnostics", "true"), "practice", Map.of("checkpoints", "false"), "freecam", Map.of("freeze", "true"), - "boot-to-level", Map.of("logos", "true", "quitOnEscape", "true", "world", "3", "chapter", "2")); + "boot-to-level", Map.of("logos", "true", "quitOnEscape", "true", "world", "3", "chapter", "2"), + "devmode", Map.of("flyToggle", "true", "coinKey", "End")); /** SHA-256 of the German output before the version layer (2026-11-07); must never change. */ static final Map GERMAN_GOLDEN = Map.ofEntries( @@ -56,7 +57,11 @@ class ExeVersionsTest { Map.entry("boot-to-level all", "e5663a945871409e4f0b3a701bcd82372daa4ca9846c00104309d30615d9b0ca"), Map.entry("freecam no freeze", "d93106a1b764a77e2e2ed7c01b9fc24e1b1f06112570074d04e6b005d806bd31"), Map.entry("all mods defaults", "9c18d4f6ea86b5e9e42eba092d3b1020d80a61c735c0a827b0dbf5baf407d942"), - Map.entry("all mods all", "dc0637ea12677d6595a06332e42ac319cae99f9267918ee58fb2ea1d13209691")); + Map.entry("all mods all", "dc0637ea12677d6595a06332e42ac319cae99f9267918ee58fb2ea1d13209691"), + // added later (developer mode, 2026-11-08) + Map.entry("devmode defaults", "0cbd6ef8cbeeb69d9187d50d1c292d7c31d1b0ebf79376b1ddc67e27b1e66d60"), + Map.entry("devmode all", "919fed192f1120301487292a38b2f7cd60480166140193f865f49b0ec7c94c1a"), + Map.entry("all mods and devmode all", "5c9a6d4e2687fe31fe944635c088287d979a0edf5b18abdcd7d0d5b4c3bb43dd")); static final List IDS = List.of("intro-skip", "cheats", "practice", "freecam", "boot-to-level"); @@ -70,6 +75,11 @@ class ExeVersionsTest { l.add(new Config("freecam no freeze", List.of("freecam"), Map.of("freecam", Map.of("freeze", "false")))); l.add(new Config("all mods defaults", IDS, Map.of("practice", Map.of("checkpoints", "false")))); l.add(new Config("all mods all", IDS, ALL_ON)); + l.add(new Config("devmode defaults", List.of("devmode"), Map.of())); + l.add(new Config("devmode all", List.of("devmode"), ALL_ON)); + List withDev = new java.util.ArrayList<>(IDS); + withDev.add("devmode"); + l.add(new Config("all mods and devmode all", withDev, ALL_ON)); return l; } diff --git a/src/test/java/com/eliasmueller/llamamod/mods/devmode/DevModeModTest.java b/src/test/java/com/eliasmueller/llamamod/mods/devmode/DevModeModTest.java new file mode 100644 index 0000000..1697bde --- /dev/null +++ b/src/test/java/com/eliasmueller/llamamod/mods/devmode/DevModeModTest.java @@ -0,0 +1,158 @@ +package com.eliasmueller.llamamod.mods.devmode; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.eliasmueller.llamamod.exe.ExeImage; +import com.eliasmueller.llamamod.exe.GameExe; +import com.eliasmueller.llamamod.exe.Site; +import com.eliasmueller.llamamod.mods.GameData; +import com.eliasmueller.llamamod.mods.Hotkeys; +import com.eliasmueller.llamamod.mods.Mod; +import com.eliasmueller.llamamod.mods.ModRegistry; +import com.eliasmueller.llamamod.mods.TestModContext; +import com.eliasmueller.llamamod.platform.Config; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HexFormat; +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class DevModeModTest { + @TempDir + Path tmp; + + private static ExeImage exe(String version) throws Exception { + return ExeImage.parse(Files.readAllBytes(GameData.exePath(version))); + } + + private static ExeImage applied(String version, Map opts, Path tmp) throws Exception { + ExeImage img = exe(version); + img.setOwner("devmode"); + DevModeMod mod = new DevModeMod(); + mod.apply(new TestModContext(tmp, mod, opts, img)); + return img; + } + + private static long rel(ExeImage img, long callAt) { + return callAt + 5 + (int) img.readU32(callAt + 1); + } + + /** The aux key cave's code. */ + private static String auxCave(ExeImage img) throws Exception { + ExeImage.Allocation a = img.journal("devmode").stream() + .filter(o -> o instanceof ExeImage.Allocation x && x.label().equals("devmode: aux pad keys")) + .map(o -> (ExeImage.Allocation) o) + .findFirst() + .orElseThrow(); + assertEquals(rel(img, img.game().va(Site.PAD_POLL_END)), a.va()); + return hex(img.read(a.va(), a.size())); + } + + private static String hex(byte[] b) { + return HexFormat.ofDelimiter(" ").withUpperCase().formatHex(b); + } + + @ParameterizedTest + @ValueSource(strings = {"de", "en"}) + void property258PushesOneAndTheSharedHandlerStays(String version) throws Exception { + ExeImage orig = exe(version); + ExeImage img = applied(version, Map.of(), tmp); + GameExe g = img.game(); + long table = img.readU32(g.va(Site.PROP_GET) + 21); + long handler = orig.readU32(table + 4L * 0x102); + assertEquals(version.equals("de") ? 0x55231BL : 0x55198FL, handler); + long cave = img.readU32(table + 4L * 0x102); + assertTrue(cave >= img.caveStart(), ExeImage.hexVa(cave)); + assertEquals("8B 44 24 14 68 00 10 00 00 50 E8", hex(img.read(cave, 11))); + assertEquals(rel(orig, handler + 7), rel(img, cave + 10)); + assertEquals("83 C4 08 83 C4 10 C3", hex(img.read(cave + 15, 7))); + // every other table entry (the shared handler's other ids among them) is unchanged + for (int id = 0; id < 0x10A; id++) { + if (id != 0x102) { + assertEquals(orig.readU32(table + 4L * id), img.readU32(table + 4L * id), "id " + id); + } + } + assertArrayEquals(orig.read(handler, 19), img.read(handler, 19)); + ExeImage.parse(img.build()); + } + + @ParameterizedTest + @ValueSource(strings = {"de", "en"}) + void padPollTailBuildsPadAuxFromTheKeyState(String version) throws Exception { + ExeImage img = applied(version, Map.of(), tmp); + GameExe g = img.game(); + long tail = g.va(Site.PAD_POLL_END); + assertEquals(0xE9, img.readU8(tail)); + for (int i = 5; i < 25; i++) { + assertEquals(0x90, img.readU8(tail + i)); + } + String h = auxCave(img); + assertTrue(h.startsWith("5B 51 33 C9 81 3D"), h); // pop ebx; push ecx; xor ecx,ecx; cmp [demo],0 + long keys = g.va(Site.KEY_STATE); + int[][] expect = {{0x3B, 0x800}, {0x3C, 0x400}, {0x3D, 0x200}, {0x57, 0x100}}; + int at = 0; + for (int[] e : expect) { + // cmp dword [keys + 4*dik], 0; jle; or ecx, bit + String want = "81 3D " + hex(le(keys + 4L * e[0])) + " 00 00 00 00 0F 8E"; + at = h.indexOf(want, at); + assertTrue(at > 0, "key " + Integer.toHexString(e[0])); + assertTrue(h.indexOf("81 C9 " + hex(le(e[1])), at) > at); + } + String end = + "89 0D " + hex(le(g.va(Site.PAD_AUX))) + " 59 8B 05 " + hex(le(g.va(Site.PAD_COUNT))) + " 83 C4 08 C3"; + assertTrue(h.contains(end), h); + ExeImage.parse(img.build()); + } + + @Test + void customKeysAndFlyToggle() throws Exception { + ExeImage img = applied("de", Map.of("flyKey", "Home", "coinKey", "F12", "flyToggle", "true"), tmp); + String h = auxCave(img); + long keys = img.game().va(Site.KEY_STATE); + assertTrue(h.contains("33 C0 81 3D " + hex(le(keys + 4L * 0xC7)) + " 00 00 00 00 0F 9F C0"), h); + assertTrue(h.contains("81 3D " + hex(le(keys + 4L * 0x58))), h); + assertTrue(img.journal("devmode").stream() + .anyMatch(o -> o instanceof ExeImage.Allocation a && a.label().equals("devmode: fly toggle"))); + } + + @Test + void sameKeyTwiceIsRejected() { + assertThrows(IllegalArgumentException.class, () -> applied("de", Map.of("idolKey", "F1"), tmp)); + } + + @Test + void everyHotkeyHasAScanCode() { + assertEquals(Hotkeys.VK.keySet(), DevModePatch.DIK.keySet()); + } + + @Test + void defaultKeysDoNotClashWithTheOtherHotkeyMods() { + ModRegistry reg = new ModRegistry(); + List mods = List.of(reg.get("practice"), reg.get("freecam"), reg.get("devmode")); + assertTrue( + Hotkeys.conflicts(mods, new Config()).isEmpty(), + Hotkeys.conflicts(mods, new Config()).toString()); + for (DevModeMod.AuxKey k : DevModeMod.KEYS) { + assertTrue(!List.of("F4", "F6", "F7", "F10").contains(k.def()), k.def()); + } + } + + @Test + void registeredAsCheat() { + Mod m = new ModRegistry().get("devmode"); + assertEquals(Mod.CHEATS, m.category()); + assertTrue(m.modifiesExecutable()); + assertTrue(m.description().contains("A+S") && m.description().contains("level-skip")); + } + + private static byte[] le(long v) { + return new byte[] {(byte) v, (byte) (v >> 8), (byte) (v >> 16), (byte) (v >> 24)}; + } +}