From 3d733de42079681d69764df3b3b763e54145ef26 Mon Sep 17 00:00:00 2001 From: UNDERdecoded <32251519+UNDERdecoded@users.noreply.github.com> Date: Fri, 25 Sep 2026 20:49:13 -0400 Subject: [PATCH 1/4] Platinum Pre Alpha --- data/scripts/init.lua | 23 +- docs/gen3-window-contact-sheets.zip | Bin 0 -> 601907 bytes docs/gen3-window-metatiles.md | 293 + docs/gen4-platinum-1.md | 906 ++ docs/gen4-platinum-2.md | 10376 ++++++++++++++++++ docs/gen4-platinum.md | 13505 ++++++++++++++++++++++++ docs/images/gen4-chunk235-ground.png | Bin 0 -> 24830 bytes docs/images/gen4-sinnoh-mesh.png | Bin 0 -> 107188 bytes docs/images/gen4-town-mesh.png | Bin 0 -> 126531 bytes src/battle/BattleState.lua | 222 +- src/battle/Damage.lua | 24 +- src/battle/Gen4Battle.lua | 1883 ++++ src/battle/RulesetDefaults.lua | 84 + src/battle/rulesets/gen3_emerald.lua | 12 + src/battle/rulesets/gen4_platinum.lua | 141 + src/core/Data.lua | 489 +- src/core/Game.lua | 5 + src/core/SaveData.lua | 81 + src/import/Gen4Archives.lua | 38 +- src/import/Gen4Dex.lua | 113 + src/import/Gen4DistWorld.lua | 678 ++ src/import/Gen4Elevators.lua | 238 + src/import/Gen4Events.lua | 19 +- src/import/Gen4Facings.lua | 273 + src/import/Gen4Graphics.lua | 72 +- src/import/Gen4HealthboxParts.lua | 173 + src/import/Gen4Icons.lua | 164 + src/import/Gen4InitScripts.lua | 140 + src/import/Gen4IntroScene.lua | 52 + src/import/Gen4Maps.lua | 118 +- src/import/Gen4Mart.lua | 115 + src/import/Gen4Menus.lua | 132 +- src/import/Gen4ModelPack.lua | 6 + src/import/Gen4Models.lua | 117 +- src/import/Gen4Movement.lua | 231 + src/import/Gen4Moves.lua | 7 + src/import/Gen4Naming.lua | 117 + src/import/Gen4Nsbmd.lua | 22 + src/import/Gen4PlatformLifts.lua | 164 + src/import/Gen4ScriptBands.lua | 61 + src/import/Gen4ScriptOps.lua | 60 +- src/import/Gen4Sdat.lua | 214 + src/import/Gen4Shadow.lua | 161 + src/import/Gen4SpecialChars.lua | 147 + src/import/Gen4Species.lua | 13 +- src/import/Gen4Subscreen.lua | 171 + src/import/Gen4Terrain.lua | 280 + src/import/Gen4Text.lua | 17 +- src/import/Gen4Tileset.lua | 20 +- src/import/Gen4Trades.lua | 143 + src/import/Gen4Trgra.lua | 172 + src/import/Gen4TypeChart.lua | 92 +- src/import/RomExtractorGen4.lua | 2201 +++- src/import/RomImporter.lua | 69 +- src/inventory/ItemEffects.lua | 9 +- src/mods/Builtins.lua | 3 +- src/pokemon/Pokemon.lua | 44 +- src/render/Camera.lua | 20 +- src/render/Font.lua | 46 +- src/render/Gen4Camera.lua | 289 + src/render/Gen4Ground.lua | 1023 ++ src/render/Gen4Model.lua | 275 +- src/render/Gen4Shadows.lua | 178 + src/render/Gen4TexAnim.lua | 147 + src/render/SpriteRenderer.lua | 32 + src/render/TextBox.lua | 12 +- src/render/TileRenderer.lua | 84 +- src/script/Commands.lua | 125 +- src/script/Gen2ScriptVM.lua | 21 +- src/script/Gen4Commands-1.lua | 2944 ++++++ src/script/Gen4Commands.lua | 3448 ++++++ src/script/Gen4ScriptVM.lua | 1877 +++- src/ui/Gen4MainMenu.lua | 110 +- src/ui/Gen4NamingScreen.lua | 448 + src/ui/Gen4PartyMenu.lua | 148 +- src/ui/Gen4Pokedex.lua | 313 + src/ui/Gen4Poketch.lua | 382 + src/ui/Gen4RowanIntro.lua | 555 +- src/ui/Gen4StartMenu.lua | 334 + src/ui/Gen4StarterSelect.lua | 159 +- src/ui/Gen4SummaryMenu.lua | 113 +- src/ui/Gen4Title.lua | 372 +- src/ui/OptionsMenu.lua | 104 +- src/ui/Screens.lua | 73 +- src/ui/SecondScreen.lua | 201 + src/ui/Theme.lua | 23 +- src/world/Collision.lua | 28 +- src/world/Gen4Follower.lua | 402 + src/world/Gen4Roamers.lua | 572 + src/world/Map.lua | 45 +- src/world/MapLoader.lua | 46 + src/world/NPC-1.lua | 988 ++ src/world/NPC.lua | 28 +- src/world/OverworldController.lua | 541 +- src/world/Warp.lua | 67 + tools/gen4_battlescene_check.lua | 1387 +++ tools/gen4_branch_check.lua | 210 + tools/gen4_command_audit.lua | 259 + tools/gen4_coverage_check.lua | 203 + tools/gen4_distworld_check.lua | 297 + tools/gen4_icon_check.lua | 97 + tools/gen4_lift_check.lua | 574 + tools/gen4_map_reach.lua | 191 + tools/gen4_opcode_widths.py | 130 + tools/gen4_operand_names.py | 180 + tools/gen4_operand_roles.py | 163 + tools/gen4_party_check.lua | 369 + tools/gen4_roamer_check.lua | 507 + tools/gen4_seam_check.lua | 255 + tools/gen4_summary_check.lua | 176 + tools/lua_use_before_local.py | 119 + 111 files changed, 56204 insertions(+), 396 deletions(-) create mode 100644 docs/gen3-window-contact-sheets.zip create mode 100644 docs/gen3-window-metatiles.md create mode 100644 docs/gen4-platinum-1.md create mode 100644 docs/gen4-platinum-2.md create mode 100644 docs/gen4-platinum.md create mode 100644 docs/images/gen4-chunk235-ground.png create mode 100644 docs/images/gen4-sinnoh-mesh.png create mode 100644 docs/images/gen4-town-mesh.png create mode 100644 src/battle/Gen4Battle.lua create mode 100644 src/battle/RulesetDefaults.lua create mode 100644 src/battle/rulesets/gen4_platinum.lua create mode 100644 src/import/Gen4Dex.lua create mode 100644 src/import/Gen4DistWorld.lua create mode 100644 src/import/Gen4Elevators.lua create mode 100644 src/import/Gen4Facings.lua create mode 100644 src/import/Gen4HealthboxParts.lua create mode 100644 src/import/Gen4Icons.lua create mode 100644 src/import/Gen4InitScripts.lua create mode 100644 src/import/Gen4Mart.lua create mode 100644 src/import/Gen4Movement.lua create mode 100644 src/import/Gen4Naming.lua create mode 100644 src/import/Gen4PlatformLifts.lua create mode 100644 src/import/Gen4Sdat.lua create mode 100644 src/import/Gen4Shadow.lua create mode 100644 src/import/Gen4SpecialChars.lua create mode 100644 src/import/Gen4Subscreen.lua create mode 100644 src/import/Gen4Terrain.lua create mode 100644 src/import/Gen4Trades.lua create mode 100644 src/import/Gen4Trgra.lua create mode 100644 src/render/Gen4Camera.lua create mode 100644 src/render/Gen4Ground.lua create mode 100644 src/render/Gen4Shadows.lua create mode 100644 src/render/Gen4TexAnim.lua create mode 100644 src/script/Gen4Commands-1.lua create mode 100644 src/script/Gen4Commands.lua create mode 100644 src/ui/Gen4NamingScreen.lua create mode 100644 src/ui/Gen4Pokedex.lua create mode 100644 src/ui/Gen4Poketch.lua create mode 100644 src/ui/Gen4StartMenu.lua create mode 100644 src/ui/SecondScreen.lua create mode 100644 src/world/Gen4Follower.lua create mode 100644 src/world/Gen4Roamers.lua create mode 100644 src/world/NPC-1.lua create mode 100644 tools/gen4_battlescene_check.lua create mode 100644 tools/gen4_branch_check.lua create mode 100644 tools/gen4_command_audit.lua create mode 100644 tools/gen4_coverage_check.lua create mode 100644 tools/gen4_distworld_check.lua create mode 100644 tools/gen4_icon_check.lua create mode 100644 tools/gen4_lift_check.lua create mode 100644 tools/gen4_map_reach.lua create mode 100644 tools/gen4_opcode_widths.py create mode 100644 tools/gen4_operand_names.py create mode 100644 tools/gen4_operand_roles.py create mode 100644 tools/gen4_party_check.lua create mode 100644 tools/gen4_roamer_check.lua create mode 100644 tools/gen4_seam_check.lua create mode 100644 tools/gen4_summary_check.lua create mode 100644 tools/lua_use_before_local.py diff --git a/data/scripts/init.lua b/data/scripts/init.lua index 9007ac4d3..cdc029a4e 100644 --- a/data/scripts/init.lua +++ b/data/scripts/init.lua @@ -35,6 +35,20 @@ local gen3VM = gen2Data.map_scripts and require("src.script.Gen3ScriptVM") or ni if gen3VM and not gen3VM.store(gen2Data) then gen3VM = nil end if gen3VM then gen3VM.register(gen2Data, "talk") end +-- Gen4 lands in the same module and is gated the same way, and it was the +-- arm that was missing: nothing here ever asked Gen4ScriptVM for anything, so +-- Platinum's 4,079 decoded scripts sat in the cache unlowered and unattached. +-- Pressing A on an NPC in Sinnoh found no talk entry, fell through to the +-- text tables, and warned "no text for Twinleaf Town/nil" -- reported as +-- "talking to npcs does nothing", which is exactly what it was. +-- +-- `register` stamps each object's script label onto its map record first, +-- because a Gen 4 object carries a script id rather than a TEXT constant and +-- the engine looks for the constant. +local gen4VM = gen2Data.map_scripts and require("src.script.Gen4ScriptVM") or nil +if gen4VM and not gen4VM.store(gen2Data) then gen4VM = nil end +if gen4VM then gen4VM.register(gen2Data, "talk") end + -- Maps that Gen2 map_scripts already owns. Gen1 story hand-ports for the -- same map ids (CERULEAN_CITY, ROUTE24→ROUTE_24, etc.) must not attach: -- they override Gen2 talk with pokered rival/Nugget Bridge scripts and @@ -43,7 +57,7 @@ if gen3VM then gen3VM.register(gen2Data, "talk") end -- A Gen 3 cache owns its maps for the same reason a Gen 2 one does: the -- pokered hand-ports are Kanto stories and must not attach over Hoenn. local gen2OwnedMaps = {} -if (gen2VM or gen3VM) and gen2Data.map_scripts and gen2Data.map_scripts.maps then +if (gen2VM or gen3VM or gen4VM) and gen2Data.map_scripts and gen2Data.map_scripts.maps then for mapId in pairs(gen2Data.map_scripts.maps) do gen2OwnedMaps[mapId] = true -- MapScripts.normalizeMapId inserts _ before trailing digits (ROUTE24 @@ -66,7 +80,7 @@ end -- OaksLab is a full Yellow rewrite (one Eevee ball + forced Pikachu); -- Red/Blue keep the three-starter choose flow. Skip on Gen2. -if not (gen2VM or gen3VM) then +if not (gen2VM or gen3VM or gen4VM) then local oaksLab = GameVersion.isYellow() and "data.scripts.oaks_lab_yellow" or "data.scripts.oaks_lab" @@ -86,7 +100,7 @@ end -- end, and mixing the two left the player stuck -- the hand-written Elm -- dialogue never advanced the scene the ROM's "you can't leave yet" script -- checks. They only load when the disassembly is unavailable. -if not (gen2VM or gen3VM) then +if not (gen2VM or gen3VM or gen4VM) then for _, mapEntry in ipairs({ { "PLAYERS_HOUSE1_F", "data.scripts.players_house1f" }, { "MAP_G18_N06", "data.scripts.players_house1f" }, @@ -118,7 +132,7 @@ end -- Yellow-only content on top of the shared tables (talk keys merge per -- TEXT constant): the Kanto-starter gift quests and Jessie & James. -if GameVersion.isYellow() and not (gen2VM or gen3VM) then +if GameVersion.isYellow() and not (gen2VM or gen3VM or gen4VM) then for _, file in ipairs({ "data.scripts.yellow_gifts", "data.scripts.yellow_jessie_james", "data.scripts.yellow_beach_house", @@ -131,6 +145,7 @@ end if gen2VM then gen2VM.register(gen2Data, "scenes") end if gen3VM then gen3VM.register(gen2Data, "scenes") end +if gen4VM then gen4VM.register(gen2Data, "scenes") end local M = {} diff --git a/docs/gen3-window-contact-sheets.zip b/docs/gen3-window-contact-sheets.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f4b660bd3e14af8746fd084f0bcb4b93f1a5836 GIT binary patch literal 601907 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

ECaQ5Gu9jKki0gq(%KlRJ5NX)!LsWJ$W;8hIa& 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 z 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

-`0OQc_a1lnVsN&Q{gt`R6Y+H7p1Fs^^LKfuzaNvlgJAE3~rC zj|kamKy+3_MB8)?((sIbn6z$Z^YRiOoet#Ly%>MRjd%hl~rW;D>xRHZ~$5ki6DU*ELvUR;fKQ zvbtP<0B$ibFk-f~N`U>cH8g+&%O#~nFp_Z;!_IDcNYMlV_S->xLf&hI$@vI*{{4eq zUEElB=q@FTh+LuQ)kt_B!+g^(la9Eu`GvG^=t97>X zt9fkTIE@WU2+plUk(94&KehWx``zuR*?a(n!6mOKwVVb$@qDeF{Z8gnbTn@S@pW}0 z;}M_Dy$l|Gh$Zcm;sc4Ht|HrN0Mg3Q+eNKZ{`cr$R+gAzVQx`dvb;tF-3j6gWJPH+Cg(M&lJRgZ0)A`km~)lk9JS)D-FMpdw0U z_MtxP5tH)wQyT3TLh?}onRv#vULgX^`}DZR&TUc_Acf@O;!<)-!NqE4V^x1lj)Sv> z4ZY{={*SAHl<_V&5Vlgsd~=t!9d=X0db4#d2R|#sh7AqPIMH`9RA`IzE}olu-GsOdv`yG z;n%zViGh_9U<}**UU=M3oeKXOur{qi+N}@$H&O*13?7@2Rxdi{&*IJ%RI@f)gLXIa zGY;^I|HNY)Oko7m5pS`+(UekPOuypwkF1YHFx@3)X%k|HQ^&Akv4+d&fw_KUK>m38 zO!xwGvtQ|6SF7m3Q($JGV4%+V4{69Z8Oa1Vs@1120$lAp5u2ZU$wyH(CDA8*biubo zv7c$~yO_x*Rm(A-wvS94fx%A)A0hjp2dr|q;nGL=nKV&yKsCThDcxmu>lDk(El$n? z=gh|}Mko3Jdycd)B0rMz51x`b59bz4|TC(5WV|hY^WyVx0lDA->G+oX6udTo!7mT)UP-% zo`dp};zOYV=Sf4v*+7FsP^>j3LUdwbg!)G_DW(c>`MNK3VL4pm?);ga|7roy^W2OGs`^-#?C|RZfHHxC}&^q3`2X z6N7;oDxr{5B}R@csMXN`3<(Rgb0NpRiH3VZGPf2z);Sc2W4-a5R;`GaVNdX`xA&V} zz-gnm*tVjC)Q_f>0CbzQ1V{4FwST(MR;Qt8mzMGlA`iHJpW=_7CMI!i@v?D}OW;Xe z=#s-MI{pZ+#qaIy@sq^y?pIz$7Qx;1aC51JF-dwBvziMh6`xJ_Hrb@3x;vszGJcmv z#JX_~JWY(j>b0wws?QVSDy~#iP_?!??Dk;VC)$Y-WN4w%?3I{ZC4xV#dCm_8`MeP^ z)Cv)r9o`H02{sJOwYeZOYZGqWaWWS?`nWCiP6&h3)#T7ima=HkLk-8w~I&TCZ~_C zdxvj~cGa5)r6X@(a@UxYJ1YfVnf}_q1?$rjKLh+PbT^9d#Bh0unKI_ndqwfJB@W>{RBbn)B`onj)%pR zf?A4r(!ZST<|1t)zEe~E?h_CEZjAmV^+M%^<&q|xCSW>GUJe?=LbJXH`9!BFH^ZY{ z*JD>q*p!6k%Q`k^Z9r)5PpbO`Cc%aMydC#C2gIA3+)tLZ2i;7xylxA~$EUHv?7^t{ z5-5xPu(@O}1jc#~Aaf|0MO81c{=lPW(EJ6=M+k*io|4{o4t$U!^sdhl3Y6>3HJCZ5 ziB*U(N8v{eYk$|L|1Qg(?9KU^`(8`Qtu&RAUiCo_|I!)$nsMXN$KzsQ$@xu1u&=*7 za#Wurlcf4@bRXC2F~Yu=`)q~y~xP{%|@r!S3wR>5YYBHuP2Za7l{v2zd$VTrM^V{!)gLu@vgByyV2 zn3NP32e+z0Ma|=?_Z7F-G)X=|ZSf(^R+A6f=SV1?LyPHnlL>xIsw#S|Vn=)Xy`61k zcR52_-y-6^&p$SrjSN}7Gma?X1+K2Sioj3-M_{Vi6)qPB^l*F28NT+wk%>P#n8=mJ z4(9XfWY60C+q%z#fs1fn2kq}Z<)CMAL(>Hi*ETd{JD zd)aV99q3R$wgis!qB=eY34a9v=@GDyh@6)~gP)Y7{}Bmd2F^)U;(v5Z#8ecXwCAc( z33T_y5^FfuC@pDwa%WU?Kyk9m>^UKFEH&AC1GY;RKx4HgCNE)0J62(36+VF*h$#XL zSsk*+==WX&?&-y*kP!cyIBGli3Lcjjmo8{e20<42m-$Fy*KKXhXYtlxVG$1I?oR44 z@V#q8o-gqcmX?d@&$TPo$KkTNx=Pl{{=0}qRxw&?_0PF@J8I%I04HO=@>ws4YgalX z?r68@^aQ(Za?)u7N~cD*j;4Ax+y1=m)`eWXk7hhmdXYjJr<i$l3*QT-`RRBK zEb4zFHatmq?I@PAx8BzJ{6_)OOd&x>KUQ0nUgFI#KF>;jNt+yv!~htyd)%M+ErB5R z1mgT*Ura~NMrM>kxDd~@bDHac>9kE5#qQJ!rQ zP^5OPUW4)ai(G?iKooLIabV%%{I}CHmaXo1|0<=QL3Vk0;gNCt+nSN4F*h2Y)kb-k3S$2DZc?3V|L*d&u78vE*N!+2mxRI(k^OxBF4c9zU041y|AAwJrg)N{RE>N;G{gA(hG z2=Xmw<5&swvYPplh0l=ZJ5zj!gb*;qs`B4s5gqDT<#1mCr!#5+C8ws9<(In2i(Kv# zMS5~^TVq04>*?zQ1+qdWom?I=GJF;1b#D(3dtUC*t#fl>3C=iIy7DJR%T7l{U>(M) z94{QRmVn>$zC!&O zA)p`0OwiCU%^U7WbX55IqT1P9Sx-4bsoI;$l)X2elMgs0(pW}hDkh?52J|hwfQ0qU z--S;i``xe$(-^hzX2umCgo}SKi0RgL0vbE7Gc_IOl0ylrtAl`ZqgDg-kQEGnbFGdI zI#qihU|Fi*fEUHgqyV->8ncsy-G?2&fdXT_zCH>LHsIrU+T0f+DMfZbvSR`sT}L~yT{H*Ee2oLT*r0ltE1MetmO2x zL6%io>dTGgK-1~aZ?( zZt)elm=wtv;vDllBXdrnK5n#oQu7V>pMJ(In6ac5J^+9i;eYot7zBmc82`7Q;RddV zWU)exi!2K##p?T4SCCvhjzBaDWXK;r4%1z(-0_S^&Wzv>wj8^l>>n;<0SMw;Q3L^A zcZlE98~iaGuATRluAlakiShK#gfzF4Ef1cVhL`LxH(lF|uf$z)5)zW<4i{@~Lw$Bw z=(Nn$Z-C|kHJKbbx-h$~t}-j^#5R7&X8P=+hU$j%@Ew0w1`CFVZ>OXmzz3@SFk!p3 z6n77r;LQ@S9_4PKpv`)sS_vd-a_e0J&4p@J(V@)-;Gyk~j&xNu5AHj22ev5hEXFae zl;ZQua&(C`e(XkYP^XIg&&=a$d+WXi9MY4JpYJBUMNm~1nD@j$moJ-;kJlFOH&hPCc%Nl z7gU_pa|nk7lPv{Lyf-g7EwYEp&0T>A1KthE8i7AYbExiqsfAasc)jH1^K|ssk;`uo zAUIeerAE`Q%%tr7Xk|r#M`Sqol6v4DtVyy+`EWT`wWyesbr+Q>t0qy2=z#aClySN8 zuNVMhxZxvQ_+qk=!CzZbBeXiRtf<(V-Vf{DeA?OdvTE)LT<&yR*Up}1VeYPuAO@E( z5PEp@>*}oy4vmCVF3U~MHD+hh{FXm9qoXLl1CFl;Jgf)6_*qi{YNbr0FR zq7xEKweV)yI?mR?`&JoI-zq4cigg@Tyu8R7TYjb`QzAvyuRTR2FUcACE6U1_PLBFk zG)gxhcstXHL4i{(`BCpzgA%RIJp)SAXG*qCI9#qfcoOE{vrF5`&UB9qxQGNc!k4Uz z1IVwudxHZsczJza-lZ~Sg6qMjeavd>zMWq$TE@n(O;F5P*5AE9Q+Z`2{BF0p-2%-6 zX~tA3RM;jbr<6S68mzE0vw+dO4~xjzRlIR=aiY*Voz;|?vrTXDSACkC^wP)Nu*$Y27q;H_TT<8?8 zbxfQPXcw@qUQGeQW$m?}bEpDM$ip=Petzva^Y^X?a&L?!kcyalVFP9Wv;c+RTs1YB zZV0zwIdy1g@a9IK?-;ZA3>D_}?V0X?FXZkrzF`397Egv4NrL^6sJUzDm z(%EC8qxoNyy<~Ti#Je=nl9T1>8FomBrE045KI6*E%R_hYbaU~OGczyQl)LKbwqSw$ zJTK_M3y%%~7O(H`?uG_^RYVs#Dc91^&#ejUO7)(t<6oCW^}J4Fr40U9HAqv2bmi2(d$RZ6}`BPy!0 zaM96Szdzqxf9q{%hE^Gsl~q+zlGb&gH9wx$BneWFcoYq&+%D0nMb>84xQ(2af6h{G zzGO)u8*0e{l$2N)vE^27O&L5ezL%3xXOAXAb`}VpUxcP;nZ1^9lVhV1RZ-|P9Bg_c z!#USqxx<}K_V}Wg-^6Y=Tm$*FQPDbp=^r!Kp3zvy1tE5D*3ZkE#uN4i1#OJT%K|9$ zn||#3{^5y{mg8F%7p%n0dugb+&|MZYVy;iGGQZP>Yn==8G4(&|g0Uu7y#N?lwhA{_UD(cro@nI?G7`zF%q=La; zkTrag)Alqb#$|26cwg@A0siGlmKi1~CAR0)6aoeI)lpVf92L;j_{ z`HM(tby+wkw7X!2#yz|!3K$%uwe`i#rs?W{% z5sa&TdBTRX(03Z1fQN@{Yle5(zis%3xvltp=#GtI_tF3RH(ACp2^>oa@SD`=I@lyE zC@?xkp=m8X4!P>-P7lHZ3jzc0XopAhRps=21=jt;Hi`gfTE8`;=*vzjeF|QsJ0mSA z=}6pxo9@xpvC;vfS=}&yuj9$Vbd*~na*$b3S{)suWaGYg);p5}RAImG2Y{DAQ%4d> z%ZhD$2E+>%D<)By!2@5v@EICLVR9W8)3ZJ0Kn@D~ZGP%QeT@^Cj7T5?M;{)N#8$3?lIEpRaY&j3FL6+!T*V5@){b0$i<`zq%DI1Rq$V=ePqO_0fBf=6-i3j>yQg=+E`q0+fyUEJ zwq-HPNO*X9^7J~Zs$hDv8%`UDiyh2mrd&paO$BA(aCjkfF?zNBf_KT3nHx~t3Rmqc zECkejyuW3E1U1yMyiIQh^a*cUgyewWV1ty{gqef50jooxudK|fl-U9;zFQ$AOlT}u zCJ?TvY=fsF4j_387RYs%L;;3+xPWGQYkf!O`0g=P(fFHe?waQm*N-`XESgD6hlL(g z&gS>`i?IwkAt51YyiWJNFnU;7;Y!O@eWccXvCmZez2 ze?rH@r3OnMgUs|*s0X@;w?Z&k%IZjQQ3?Do3aRccP5A$ta_mf^AMeRYwxG*I%4S?I zjzwk3Evn8&aL-}D)X>f@KfN?FF%j9)qU+w62ufCT-zBSaJA;{z;>#%=3R0IclXM+LaWJ2b9NPfaFC zS}e=MAH5qWROJy!Q^Z?e4^~ah)=tZw7MD?Z_;v$ciBpKn&W4@W^E1BHN(O`cg|G(% z1i(NiMy$Q)!Zf=EVgzSrqH<=W=sV#1r=+YH^|M@>0=AM2p#pBu_pa{4oO*1AX(}*$ ztp^P|FfdRfRr?mRv9hMZ`G613{gt2^hTrmVIG=X`0u&87K-6|p&eqlz6@L-eIOtLu zf~pDgez$bF+4)Hz^vLE%Kt%40T~wn4Wf@&IH9HInVcIq8IN^&C=6QO2!2%xb{z~*? z1#<_XtrY#yRC#^ z5A7R(mlDUJZg=8POLzN%Sye%<+`*GNJy%rQu+)70omtr^qo|Vx zYx79WqjxI|S-REg@QObW8f$ZL=coSQMj|qUfH5q$H`n4js#(1xsv-^~UUG$@%W zO~0VE3T31L(la=o{ZmzU$H`=kUTUFX%qZHyre zd24EnAi&||+-(%FG%p9ho>1j&frXo(V`z!+6_Ve!JO?~uOcz*1uk<;Yeu}+{eiEx| z22pGXW4QA5KNoMKvbZzj9*7{+fcn0o(2V(-hdIwal}WbYj3qfYCkv#4$5E5rl@YxG z5f>-h(DL%Spg}}{KlHGi8%P1G3iX ztc5$q9(e&41x?`)#Hff(sKyp~zk;Md1GUSaTY=tV-6jtmCvYs^xtzb}S6B?Zy)QYB zDj6ml+Q(AV!ylSbwR{?jq7OcnzKN5R`_Otz&VSx=rHa5DQGoF&M2=WB$E1UuBb!`| zt9f3H%xS8%2iAImjs`oZK2IsKoO|#W0lP(#3M44(^HUn{`J&BwXGvXFaQvCh5~3(C+msyk8I zANb%VWVwzzxDss6LV~%Ut8q>zl7s-|8n-Ht${oQfTOiwKHQ?A)JgV@29;)O10Un)S zUxA>K8f@S!qceGP#+L66ktaTy`Ge*8ncg%ai6-W-tx$=CD_G z+$Qw?k*5vpP9}vy9mu#T40mPn;jpnRjnb$z{hY0o$4OZD*3EN8dBYWVsHV=rd1AL- z!Jlzd6%?96CRm)(PYLe+?m$utOq;n0rpq?I`z36r;u+sl7TOOp#jrG(bTKvsIS(_3 z*^uST+>PL%UU5B#9;21jdEQuW*IQqY@SdBEpQ6dX;iwEaa>`|fh*UXWMI4psZA+>Nei1mliMA#=es1r;b`(C(2 z9QBh}1IxO>5c^>nVIB2<`@~pzXV~q@`j+X3!A6|oIz+sfq#|6Az!qTU=SK)CYBFVK zDPH#D*MRBxp{_bhWXGB^tqxpin_8$wP{*2>&8bVSVfI1C+@WnjTqVkws}rSVeef0D zU8=wIE^UOD3WmhXrl?h+ICaNu;1_JQU4(FMqUd0)r>$JPszs>CS@H6vg%%08e>qny zLzSI2^>}YvF{+yUw1`OI2uDl8On{=IEv7wODeF_xPv{F!t3dqu9eL$i@9ZW^Lg#lz z-&*!6sy(G{pC3IxroTt7Z-i$vA}W5-8*|=+FeDepwG*&W?jU&mB42G_j4CL!O9(2||Ul*fej&WSCG(C5PDcHP<5nTx7EZEFU+UETuL z)pbw~^EKASLthC*+}Y-UL-SI$R-y5h+sphUzJr>VD0Wh)h>y+|M)spaB}bA_6$BrbDI zo%zPn%cvpyRdpXodU#Bh@WRXDUS@t!7VH5N!W+OYNX9n{a17KB11mWXMX%v__1Uyu zrxL#sTS&w>$$NS{Bj&($$_)_Zp>ts~UogeTCvuDW{D{0u5xA*Fg6DWU$A@)jxZF`( zZ|HE>Gf#`uMGWqnaFyweT|~<}wrC}K{eA_~&oton*C8&% z;zH@63Zd%*`9M~g!ft~Vtjm0*54ft zNm29`d{&R;i39AIgo)-Uf`bEDMQuVP;p%b*pj-(V>E#sZCC+ToTe_n_;OUi~VOl zP$VYp3Mn60_$pzzi2f`H#x^zVcpKW&wS?x1OSTo}Y)CVzED9~zHIDZ}*aROs%;;23 z#C@H@ir}hqiv+411UupmxDEbQk53HPsh?`q*_DxP;LVqTz(9(OC5uU}(o?V?h)8lR z?8mbr&KG2lbF;XE7b^yEr23Q3YEnh_?o@;Pl#yRTpG9e*jfoQZh)uouZCywel-R)5 zdd)XJ)TG7PLb*lNXLGMO)toNq_p1W`wGU!kk!<6a%DOUa6fb1Mrki{pegm%d@ z5DG5G;{u{|I(?=0H(E+xn&!RVzc*AgFwrGIjm!zIsY%9d27h;AN0(<%Cg9D#m; z_}3}bV4oph)`2)D7ZI}*W=%9qnWd2Y$P*Z5L2DhVaY2xkf%^Vncwx%oh z?!x!eSvYh^D;Tka{KXW;{XvlB1*0r}1b1^60Ns>-?ZSf|G2Sec)b~c^8fwixhSB_&veZ_jD zj+Xmm+Trm-qjq|WPBZ2dsjK?af-pc(^JRFB_haOCl9~}w-g$jyVG73lwA&9hfG&3+ zg<@Ic_D=`VOYF6n?L0OuMBUE$*|)kdT~-7KR|Q)#0eRY((OVQf z>#AwTj`6ed3I5-GWa;?C=Z(3_-k0N=(c8=phx5r#7w=mR6y)7z89H=Z4?NMzt%JkP z2=`?vZDvw~kFGD4{T@GkNUnS!2V9Q5!5jO__AQw;>P+t0K7u`ov9Ve?r>jfD2QF?= zLMDrK+g~s*oVEoyV5DON2aB!+9j%Ykh6<#2w)m&+hKwyW16~7+6icK)U&qCFQv*!o za<1WWKW&_o^%43lWIIpisuH8TaP(OP$+QgCsWAIZyl!ZGf{<}h>8&(MhXA*?HwPv| zP+G#uS4&hx`;d97E5XTP0C0N;8eiVfCWs3*pY@?oR=_u@+z*tP*yh!2$|glOui^V; zV8LB&HJch)EkkYG#!1wf5rv|%`V_6ZG?RFLA{Mu#M0M0O{qXR46x^Ov$A89zyLc|3 ztO~RHCo=UWT#QUk?`)oJhoV({)Uf;hw(uhdQyqUALb6b^(UwPFiw%yJvdd*AGajCT z{<5D&q)-b9Vc34VMT;gVLe2TiCSanygbj6ZXe5XVS1YX04k%3vd|+`RzN{r`Ezd!P zkzKYL4sOcM1RgG2K#w>F>jnA{qu7lOLM8h2;;xel{7V zeek-jB5d&q6B|Kri8xN_lo&+W^p$7gf?v8HazSSYlKC2U--ooPA$5CwfVmdYG1itN z=DC~@7uU)PUYSvuD)>e19--2e_-Ek)Ac)lEGrE_Sb$567{50)E{Y`mZE5XtIn5i-( zlAH38<3hZD+3^9FY{H2r_H>#y9{L(9F^RiI?n@J;dJix0PDcZGxniGGFV_EaQwb!a1n zUi^*iEF1RZlqDLicA`pLSv76%rH2}YIoZItR>W>u)#$vqgoTi9pIq4Vx9nycExg_R zJ!1G~h|M~y{4qQ*ER26jcva7%qy8K;F#Hwe%OKP~@IHD2Yg<&6WoxhJNq-JTYw8QE zeJEfmQS0kjbye|NNl@vcA6~F1kY>YDyjJpl*rw9)Ew#hfdP#Z7^>~hH%(ZZ|Xr-#*#H-L5pSU zzE3UA@11R(exTx~C1_l+k!Z>@O(XYXsF_iq*1 z_*qy}&7$l85Y|Zzy9HEi5BJ%4Jf5VO<9IH2O9!@%RLIAdLoc3~8i{Fk0%F_6B*#Zb zMq8|Y9hTKdFitZxtxZ7PeAl$j!QH^kB&4JRZ~=kTxrsWfw9z;M-T+ge!1hx$|0bITmUS?p zpvcqHuUump5Z1?;y(HyK_ejdfu<)~xZ_ko#mAJwr&FLRGFTsmYudn~HvU+p)?8#RM1aCVF-%Ov{>OgrJLYabjZKTULnmp>$NF)IB>Y!;w z(;a<|E+spdz~(cBzUW@5qE|lpE`9{jsRHrGcpPtH8Z8-I-VPx z$o&%)KFv-S135F57V%O?3|_c7-YMxfScLZpxWR%=!yx)LE5ud6LWz)6WR%C@vmI-b zS-b1b;oSB(x|_cLH{1O_qsW6yvrTid0Z&|X8_;qRpO$fqauC}B{X65^6W zK49SN68OG`QWK;0iqalBPOJOl{z``upB!?&)bVO>-`?{3Vam-;4QunzRb|c1OmS}a zIZ7dlIufCPWD9+}r?mIO{8!9nhqRvTtH+G7X8_*RVohXOit1(K;aOG_EhRNYyUWeC z{ZBsx8FE4a($-TbKxubsO&#}N!>ZGKgm~Y&b)*2gcIhe_k`xymVyGPo3 zAYkz-x`IhIRxR3073-?eA*E+mZs_Rx`jC5@AOdzOc)wiWAa;Q~pzU;S`(z zCl$t=2>;f1$9xDo3|8G_^MXc|8F?BW(coVjmAIjT(!qhZeSFLfLP!goc75 zBzVbi>NmHE`~e8R+I77OXT*C~`|Vzwhu1of(LtFE01<>drVO(=4 zkiRbw=3iu?aR1y~p!v8Y?PSzgR1igEzaj}3RQN&Pd47?ydBkvd_gHO2ekoD@ey_Xj zj}dR4n-rdDHnuSilkGH#thU%0WThYR zIvPj%=?HuBifknsiJF>m=dN5ogpFtSd_`C|$p~3hr0>N_G@ks1S>`Xpnz~%>RNxXe zC|<>(UV&l{L!s8wrBtQ8R+jZ}*Br|%QBx;NZTQY#R#jF# z7>fu$ntvs~vt0TKVQ`_2vP87^cH2Pkm|E{>wR9ZT5rcw?u(5&a-lmj>KK7tDUX_uf z&edkEl#2c#+H8CPf7@;<5y=@DiX$)dP*!&0hQk8^UApCb#k8XplULwMm0Vp9=M)qK zlXhtwzI6ya!ZIQ?HXav*NfCQyWYHOrs`@gecDQuI!1)rN8+#aziUu;UOWoNgWywra zX6%t_4ByeeSs5i}V{5~_FH?meE=sPWTU`seaob*8EHyVLSU;%sfJOug8E~STuD645 za&b21?F#3DdE%fOtxdn{tag8703<%qUVq-Eb^~w_jd*-7%*8CcI8EIl_4a;NMr191V&}MBpRrz4R?2EAf48Vx!F~01rasn= zJKNpe)vGJn%*TXn_fA|2L!>N+%8Fdtd@Hz}_9*bI{7IrDlJ1)T4Va(?eq%F_5$|bd zI$2J6q2azGJ494QLPbq(DeJH@J8L%nwc)9%)k|E3<>Tuab%oW^tfTypg0C``{>IYu zFyW=TPm<_s%MeaCvOt;#8=ajPY1XcU50Wx5g=MCsykJ&5(&8PH2Yy!P>n52HRK}-f zCxbQFKpHlNg@)3mO}^&_^n9eHrfWOnUE>7k@u}(o3h%}#AB=|G*1cexp3yXME^SRhwkIwy@Q#SNLtEwsm;X5vjo0ru@3yW_&Uw-`o?aozQqXYet zcf^zw3(w<6g-5(+=5u(^t}D(0NK|l0-Mu)tw3*}&w8tzsc0yLr-Zt4Gp_3|H*pkxTt1oa`5v8~f|d&CRZ2_( z>M!&QG3i7{dt1{8#Dt*O*y!NkFp!4#_xDD^Q=g100i4~l$Lm4`<(%oD@r-SR$si2auBkS`Kr8i!conC|@I z3KcKLemjj@5%fuVp$9?L+Fjz+s7oIjfQ1Nab4^R;z zrdn}0n>;5m`Yrbs?P2Hfs}m(cLc)0(4Y`up4=Hsy}M9l zMAB!8)6voWF?bys*5D1#;EGNzE)f@Y7$CLVf(CS{>0BgU&{s_?2(#Tmz@Lq)y7wG} z+jn~doi{8IXaoe%qlWhvD>Z!IIQ#+_3Oa;N)i|F(&OnffpI@*yn`J_;ro`ouCsN(j ztdJ*_g+tekvS+{oD9D}u?o~k1CPqe52@TbbrYAnXIR`;~HX`{=ttIaJuZ;?HXkp6t z0dN)c$?dVR%k3`Cg#J1Eloso*8=E~edwl@Py$P-OZslc0i%+H}Vs`d)84?r-sNP1# zO#2ZLheb%kidXT{Qdzz^s6T%=4^UCsZbg)6jh2RnKmiN^BL=-U%Id73Elf>W-NGUw zpkPA+^m8Yjit@HZa0g+5VU<-(E-PnD>(G+5-{mCCL&KtBGo@Tnc?;iWn;}urvbGul zMLmiY5O%aEggH2#emlT=w5j?9k5K_SnX$OQk?FeOX@g|)OFsfyTh*JcR z5;ZL`GWx-6a!*OFu3fjQHPny%zyKsqQWhYjW^682Xq792*iTl(#{3rjo^^oLyF4NfxC_11OZl2RKP z`IDr|r_DaOK;>m>%%L~`gyl-d1%@*kvF zzI45^isyuQF)oE>y;|il%#BgB7nTHmDyvadm75l*;}c6%vWF`(g2?CKVB0(4eJq2x zs1+3&E!Ox1qLyoJU;48H~z8VG7(!$!Vc2HQ(5Wvp`y+3>+xl(5^WPW({6e}_3k*{ zuf_g}zcH{)F{+n43WINnaX+10*SvZECrB1eQV}dje5UQ^$s7!USHf38ZM0Q2 z(|_stgnc#riN_uflq4&MtTel_Di=vPi;V>TpxCkh>qA9PyRo^71Wn=neSZ|0qt_u$ z1wY#`RLTse_HjG~+PlNW#U*$vD_S{HT~&4EyvCer4k50ked2!%<3A7$2hRtBPK?BJ z_ixqIFgi|9W?51{mt>c?0*>pV3z(IE5`~@&s>8){#_jEc3sYof3D;=-_;>(2b#r@5 zf7;9TRQ;Ln0a0$Lak29R*25`QbM5{COF?#u56zQV@fV$&wTDOT=)%GRbYil-1jLg6p(Q zrQr&7*k&OH6KTdIL_7o%&y_*4Imd)HNJ)wYyVJ1U16p$t5hJ7v8ngU@XPJ0B_~@;3 z#MI`>C%h0zhPFd~BO%2Z-7IX-TC6hcaOVlF2w$Th&c>$b7vD8XD^bk)_>h=;8{-@z zpoxl+QXH-lEah z_rU3^Im!fOkHa9P_l(X@6M^>uxl@?K`ErGNOp$EipyQ17%sF63LFWI*l;G4AzD9HJ>3vTkP-@1<4P-Sx)s&({G4S$pp*2oF4f#WfEHq*XM1@E zL)$qX+z1GZ)q*w$y1kW^d9&$U?Hy!;j{eQ2kXNM8WC&VMzpEAMWeFh92SX-h+ z6-Xc<_a}C6xBrSRo4@S6nQ2yDWC5Laoyj5->|ah? z&jqdF9XrZtLV*Z03+C$X{R<2CIab-+%dnR$e&?y!KEKf5-rOBj7v>$}sijw5N`*bs zHOzCOC9be?9*C?=+PmO%Y~xBvWgKiOze=!KV6r#PB8wY@h^8G6=zeaW1Q>C73Gv$l z)8I^1l)Ykng0~xQb*!;!giAT$WL-B54d@K-8Xg!I@P1id@X1rfZ8a;wK-CICQ)*m% zU~bgtY3t}HhP{f8nnlV;h8^d2_87aVhPveyCec+mN=Fagw{Xdld3XOIBy!E_c@773 zq`6Dlb3bkqWqZhSe&}9#l)r&S_6F80W4SM=Su?d31{cS7lk;DblancV&-+;UbSKx3 zrS9@Bsw(YbC7*!b--jlWCla5oiV<@=)Jn%a5(2(m^bdBX1jJ1b$~Uw!fc&!}cM#*L0()f#_`qmtQ{w*Cq4k(daMJ^pR=7k%HC`y;hI z{JZ8>1^NsY3TZAPB7R-PtRL^jTksBQ{mSWiQ+b^`(LtdYuX*Y$B%CfURpf=dKX<(|_ zc5CsXW@}yK7Sz8<31rNt8;8ols9nw|+<_q>!-)_vOq=oc47x-2MHY{Kd)BpQ^39qn z@*2d*&c&tVw;25rKdpF?IK<`C?d+v+67Y^wGuJtD?EE~&LdQPT%E-2{nU_ywf=x_G zT;MRuaA`u+m8sRms$t;qdbSn`dO{_Lox2~v3lx(6syaC6bau><78845nYxRf`9ATw zEj-44rDGnYp`q@Bb_|z3l~GBa$vQ--E;dDwVF*-^&#ZrgM)-y={dgKA=CfhbiN~g< zIp5pe2okZa`?p`-Y%;*hi7h&uQro9# z9U6wc#NB|6yP8PIN{J%uoxrHyUlK`s64E9;p$q9~jg9m2b{Y7B<7GkOPZtyG+S}Xt z&zF-QEV^;}Hqm@OIUD)d8(`${4pKA4KEBcyw{(q^sL1Fxm#~lbnUv2$l4Ffd#Hq@z zaH5(Hv2PEgkUTF1%*q<8E)-tbkvYS_p~f;=2JSR>052SU}S2*hIzl31iicF z>hW}}I_Q0#`yaL>LeYo8w?rz&QT!eQUx3%%K_Gdu{<+ZxiIjQp>3AWW9s4-fiR$Vv z;18y;&^*&?P}0%1-7~bnlBPSV?LlULRw!%oTRGV|9p%L$SYT6BQeU5+yR#_UnOvcq z7Bn+$!_$pm5QZl}K0v_<^@#cDZd6b)x(^=N=%{pv#l~V;iK`Ov>3{fM)~o()82vMD zayAqO!be^-jfRb$>}o|@0Sbu#1k8U}Nk$@UhzV+ZASgnGfBLCdf1-?EUK}b*1{9`y z+fAU=kKY=|Y-5+Yvr3}!Mo$j1)>ujGcC90UDf4)Elu}*58`2vb^#3C*l;5*lgM%+vAaEp} zcJcb`8Ct-SWpSR}3iD!;IbC9}Tt zIF3GldP>c%%J-X?!A zmMfF?d6cPi{XKNP#n;@M5=mGppo{v_vop&y&#+t{^@{nQ*{g6d=@kk-~KHEBK={`yFd*&6+F)f_hX8=?7Ya?@?Kj=m$(D?!<>mHpyRzEd09X7sv-^XiB53eWd$WWp_KZ@zN*tG@S zXsWqA58`ahi-i)I3REmCX2$lS0tbN}#X&mLgRid%tiZ)@#qA|#chL(g)6S#H>#Y> z3P=3OZj51VXWFqunVK4{7Js^sYO^a5YwO~#e+P`^5T_ZeY9v2h#d46&fi&3E>0Vud zSQipD2(9eAuB=v_LKJ7+FD|JzHlZZLQKpPHnx^o^On|D4cpk{GEN^)k0>26 z8s-5s!YOu!Iw?dgD=qzWB-JFA(Y~$4*>FCoY>&wysh8X}?ZkE#qBfd?wS|BDkty%* zUyQ-+jZKZmNRc@#`q+m|*6VlibXURuPgjm9I~;8( zqcOCXBWQyEvVj@(h(%ooXaCu2VO=>4=fVBwGE`z3BsG{IT3F@S*4nDq<>{gW?VzWG zazgYkdp6vN$p>5$6M`1c^y(@Ce7F=gAp!hv$M-jGhmP;?y7Q1eP4h^@)Bj`S#&qvu79|TU1n#<@)g)8HcoZ5U zGL_~F+lrJNz4plg=1D&PcSVsu)rS>1HMlr|x;i?Qm6b?P!)Re$w(KgZLp^r67)yilfEbe29%J^37LgRGNa@aufGj!i|$?z7Lt zOAQ&|0um&mmkK{p!XYr#6co;lb<%qMCZ?ty>*f$scPebIwWrLm+>_7cx3RN3L2r8n z*q#J8tdM^&uuQY zG8KNocB>~i7@BIs!Xm6l;8;iy2H}H+gHNx;{0(W~2o=DO$@$mS^9)Bn`yki%zVO>) zwIs~92c)8Cph>^ey>8UIB71voZf`vo8yUCah5Qo8%8N&{?~CL;0Y>!UnX`MeGg3$m zr?d+)Y#^Uwb2D-c``}>QK`VG|O<9%mfrdk3a$4L4m-+#pp(!FlafOD4jtWB*0s;f; zF!7dLi~_QSn_T)he30JE6i-`D)JBNZvi5~xSbOMNo5Nx)vph*zw~DL0pN4A22nn8EUTVo3Hwb%EVFLy?9^nIvvIoY&Ih{;(=RINO*4VFTrqw= zryl}Tg|&|Z=UK5O5D@7}4XVLOXsNxuRfGb*8e!IEfYIemkwQStkqwmKN;W{zoaE{l zEtW`JS|IIilWk%|HQpO7-=ZOc$Ck@X3~IQZI`0ycmzToSsWP;ef}bEqx`tUEi>k>4 z7J(Q&yZ$eXFu0cX3=tB2SJ%+e(tyDi(a?^7J1S!eD~&G={Sy}8gU4$p8J1LrhV%N? zS#Ng$!0(r4+@AOScT9kM9Ua?4ORF>KRsx3F{i3)txzN&Lj{Ql>fqns zh@)lx1)ova`ns;b%W+5QDr>!?+C}3y_dk+aUJ`%M)6rR=Iz{^Hc;v}Iti{&x0(w&O zSe;Fn?ajxE^DS_LnqMIvhg?XbK1-#dqXP zGrk_=A7m~}&)%i8`6D7jRdU=iD2j$QIiH&g5`^8|Tm7{bp_4BGvhqk6P&qx-rT2M* zfTE%zK6ZKr;s8mathzxjxCQje;9{Bb8$UJUKSg1S=k~|^Pj^PP;xIw?_ay8X8y!w% zo-=MO09D#j-K2|yX5rV#UOlU;IvkbB#6Ygzj3!e@x68{p*#y2yCaD~B5H7OcLda7K zQ+YiIi%)>jU1Be!rnNvxf7~+?2#uL2bv3365avXp{2nq8D^q_)i_J2s8^xaVt;-*5a{lz^X(1r6 z%49f$K`+jqPj-@zPE2$Z=81a8-knt8W#ndR-0>2eT^37WeEC2%8kpLa)8*()R=va zcdKC3_pRm*PNp-E&c1=BMTQtukeFk`UIp71jUKW4qHBGtV&RZCvl5uzEILr}m%(E( zaF7ouw+Ad$C;nqj0_Is>k$>L^5gVM_yP!HQ0D~o`B^BxTRuO5mv!8Wq>_;XuDq?E2 z)vEb|G4v%+sr3%}EG?z7GqTGO;-~s%VQJ=6{4793LK7<~fvDz!#-tDUtZQ{TG4*^$ zGx&Iicxd=1AJjfCM}Sp9n#6Zm{y=Vui%#{%V0wNMVqIg|X^exj`|?gB=j}U;kB0{b z<8L_|8Wt+9eT!kt2(@C+Z3vupQb<7NQhhMB8wa-($PtmM$A+$S(qnnCy9-nb~Ec{y2BhEP172xl#^>;NFaB$ z*QApMcTLoY+p_e$F9;2pjTHx;HIQ4UgLqKwHVWF+183_MoNks zmHVI*YSR#_W$b+@IXP}AJ+sek&YEE~wIx%J-5@8`M(bPW@9~sEr0*RG4TV{K|J=r$ z19B3qHqXJJp#(?Eb~jvfEFop~?NFIGI8FG`;GYrTXbdf3ev))~9o6yQ)}Hly>Cp9NSvOJq6&1#f375sc^Zu$+2!l(C&{ZVXEX?EZmHgD6l_Kk*YBIa^ ztO*iIt*!Q2{;{f2F4@FK3$)o49KK_W;q!S2&Bf%#mP`lQbW73+)aLbI#?5qJ%bfjl z8f@4cTteFl_oI5Gxd7|w2N^~?K3eJW`y+z-Jt@>XN}%EitM{o6A0lRN0CUX`@7XgLoR_X8o^kR47W3`k#2M5P-lYKzCtdS>vLe7mexY_XM z1f!Lc1X1SW)w^ksPYWGx5J-xw*_N!Jd8`j#+t1VUR>zZheGCisTCXGZ z2Os*lpHtTO?jA0YlGkH{uTM)Lh?>!^5sTSv&1;wXs6!%z?s^Z*uy`_VWs5zE(Vv=3 z-~>9dZd6)&(qh?+nSzAj@pY991ac+$%gzwOcb~!vts;K)6{O=Dtb|*ek^Ke(!C*X~ zJCgFRbF%25C}{|2y? zek9a2v%h`?`q3tpY8qM5G|2z`8$z+qt20ZN*2}W84|kM-Gqt4#QU{Ijl8it_IyWGBIv@nB?4r|U zSycz^agcvE;la0?Qa~wVhnmP=PQ5(*E(*PTgv9-E;kU>7${hhq{Y`^3URAt;2mb|T zDzAOVXth%S?^9>}%wevR@>ix?8Q+k)%A5?s)yPL%p!+46RTD?P@pqeL+t#FGb~R|L z2i(oSAmEJHpBJHlA20Tux>j}v+m2tZ_X9a#t}Pp?3$j_m?@lA>nV6+tJ^DiV*Q5 zW(xd%4rS1yXKL$RnIagWtm&xPH;}Ta%Iq7M7o29SI{wzfcr1<7`nm5p*ec-Cxyzfv_^1x;=A?Gjbhp9AH$el%|;K{i21t&_T;FoRKZC?`{ zTzF`veS0g@r2X7!%hYkMGS3M7@Dt#$N#>qTUQS^Kga%YZ6~c^`y?e+vzhebBh|`34 z8I60Q@z)dGz*q%VfoD6GWL-~q=-Hy?{pfXs7w;m4$S)25QxoKpH<7jULg>Vft!9<) ze$MLvL**iXGPK%%>l+RGiM0_@fcIl_Rw{_nbNy%@j{`A)yZe>K_>VB6vTlb|Rj1IN zhJ7OSAS79VAF;sK+=jC3a&HH6z)A|^J_^Fj+&WdIy{9ugqKz!10CyR-3)_DMPb8

QDnR`2ML-i$FiYr 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 e^8fDy#{b{`2 462 entries +overlays 122 on the ARM9, 0 on the ARM7 +filesystem 340 files in 89 directories +``` + +462 FAT entries = 122 overlays + 340 files, and the last byte any file +occupies is 104,607,804 — the used-size the header itself reports. The +filesystem walk accounts for the cartridge exactly. + +Rev 0 (`ce81046eda7d232513069519cb2085349896dec7`) is registered as an +alternate hash. pokeplatinum builds both and the filesystem layout is the same +in each, which is what the extractor reads. + +### Files that will matter + +| Path | Bytes | What | +|---|---|---| +| `/fielddata/land_data/land_data.narc` | 16,125,840 | map terrain | +| `/poketool/pokegra/pl_pokegra.narc` | 11,778,676 | species sprites | +| `/msgdata/pl_msg.narc` | 4,351,320 | all text — 724 banks, 46,053 strings | +| `/data/mmodel/mmodel.narc` | 1,465,988 | overworld models | +| `/itemtool/itemdata/pl_item_data.narc` | 440,460 | items | +| `/fielddata/script/scr_seq.narc` | 304,476 | 1,124 script files | +| `/fielddata/encountdata/` | 237,324 | wild encounters | +| `/poketool/personal/pl_personal.narc` | 105,920 | 508 species records, 44 B each | + +Message banks located by looking rather than assumed: **412** is species names +(entry 1 BULBASAUR, entry 25 PIKACHU), **706** is Pokedex entries. + +Platinum keeps Diamond/Pearl's un-prefixed files beside its own `pl_`-prefixed +ones. The `pl_` file is the one to read; the other is the older game's. + +--- + +## Staying legal + +Identical to every other version here, and the reason the two new readers came +first. + +* **No cartridge data is committed.** Not a table, not a tile, not a string. +* The ROM stays where the player keeps it. The importer reads it, writes a + cache under `platinum/` (`cachePrefix`), and that cache is what the game + loads through `CacheFs.mountVersion`. +* What lives in this repository is **scaffolding**: readers, tables of + *offsets and shapes*, and code that knows how to ask the cartridge a + question. Gen 4 does not change the rule; it only changes the question from + "what is at address X" to "what is inside file Y". +* `Gen4ScriptOps.lua` is opcode numbers, command names and operand widths + derived from pret/pokeplatinum — a description of the format, the same thing + `Gen3ScriptOps.lua` is for Emerald. No script bytes from the cartridge. + +--- + +## What is built + +### `src/core/GameVersion.lua` + +`platinum` registered: generation 4, both revision hashes, `cachePrefix +"platinum/"`, `saveSuffix "_platinum"`, `importable = false`, `experimental`, +and a new `dualScreen = true`. Two new predicates, `GameVersion.isGen4(id)` +and `GameVersion.isDualScreen(id)` — the second asked of the *version* rather +than computed from the generation, because "is Gen 4" and "has two screens" +are not the same claim and field code should say which one it means. + +`GameVersion.ORDER` puts platinum after emerald and before the hacks: +cartridges in generation order, then romhacks. + +### `src/import/RomImporter.lua` + +Platinum has a chip in the tab row. **This is the only navigation into a +version's panel** — Prism was once registered without one and was hashed, +counted and completely unreachable, and the code comment saying so is still +there. Also: + +* 128 MiB added to the accepted ROM sizes, `.nds` to the accepted extensions, + and to all five native file pickers (macOS, Windows, zenity, kdialog, and + the multi-select variants) plus the drag-and-drop hint. +* A `pokemon_platinum.nds` name for the panel, via a generation-4 branch. +* Chip colour `#a6b0d8 → #4a5286`: the metal with the cool cast the box art + has, kept clear of Silver's near-white, Crystal's cyan and Polished + Crystal's purple, because all four sit in one row. +* **A bug fixed on the way.** The "recognised, not playable yet" panel had one + hardcoded sentence — *"Prism imports its data, but its scripts still + misbehave"* — shown for **every** withheld game, under a comment reading + "ONE SENTENCE PER GAME". Prism is importable now, so Platinum was about to + become the only withheld game and its panel would have explained Prism. + Replaced with `RomImporter.WITHHELD_REASON`, keyed by version. + +### `src/import/NdsRom.lua` + +The DS filesystem. `open` / `header` / `list` / `stat` / `read(path)` / +`readId` / `arm9` / `overlay(n)`. + +A DS cartridge is a **filesystem, not an address space**, which is the single +biggest structural break from every generation above. `rom:u16(0x3DF884)` has +no meaning here; `rom:read("/poketool/personal/pl_personal.narc")` does. + +It never loads the cartridge into memory. 128 MiB as one Lua string is a +number this engine has to run alongside on a phone, and nearly every stage +wants one file. The handle stays open and ranges are read on demand. + +Two traps it avoids on purpose: the FNT is walked **by directory id**, not +linearly, because the subtables are not stored in tree order and a forward +walk builds a plausible tree with the wrong parents; and an overlay's bytes +come from the **file id at +0x18** of its table entry, not from the overlay +index, which are different numbers that look interchangeable. + +### `src/import/NarcArchive.lua` + +`parse(data)` / `count` / `range(i)` / `get(i)` / `all()`. Chunks are located +by walking, not by fixed offset — the header size is a field precisely because +it varies. Verified on two archives of very different shape: `scr_seq.narc` +(1,124 members) and `pl_personal.narc` (508 members of 44 bytes, which is +Platinum's species count and its personal-record size). + +### `src/import/Gen4ScriptOps.lua` + +All 840 opcodes, `$000`–`$347`, with names and operand specs. + +Gen 4 reads its opcode as a **halfword**, not a byte — 840 commands do not fit +in one — so the smallest instruction is two bytes and a Gen 3 decoder fed Gen +4 bytes desyncs on the first command. + +**Where the widths come from, and why that is the whole story.** +`Gen3ScriptOps.lua`'s header records what guessing cost: Emerald's `$E0` was +reasoned out from handler call shapes, came out two bytes short, and produced +not garbage but the Sootopolis cutscene playing twice with no warp home — +because a two-byte slip lands on a plausible opcode and the walk sails on. So: + +* opcode numbers are the **order of the `ScriptCommand()` lines** in + pokeplatinum's `include/data/scripts/scrcmd.h`. Position *is* the opcode, + so all 840 are listed including dummies. Two of those lines are spelled in + mixed case (`SCRCMD_GetExchangeServiceCornerItemAndCost` at `$2A2`, + `ScrCmd_GETRANDOMBATTLEGROUNDTRAINERS` at `$2FB`); a reader matching only + `[A-Z_]` silently drops them and shifts **every opcode after `$2A2` down by + one** — the same class of failure, one level up. This was hit and fixed. +* operand widths are the stream reads in each handler body, in source order. + The five primitives consume fixed widths (`ReadByte` 1, `ReadHalfWord` 2, + `ReadWord` 4, and the inlines `GetVar`/`GetVarPointer` 2 each, both + `ReadHalfWord` underneath). + +**The two ways that could still be wrong, both measured:** + +1. A handler reading inside an `if` has no fixed width. Nine do. They are + marked `*` and listed in `VARIABLE_LENGTH` — **not guessed**. +2. A handler delegating its read to a helper would hide operands. Every + function in pokeplatinum taking a `ScriptContext *` and transitively + reaching a stream read was collected, and every handler body checked + against that set: **zero** handlers delegate. + +**Corroboration, which is not proof.** Walking all 1,124 members of +`scr_seq.narc` from all 4,079 entry points decodes 50,835 instructions across +381 distinct opcodes and reaches a clean `end` **4,070 times with no unknown +opcode**; 8 stop at a variable-length command and 1 runs past its member's end +(one member's header parse, listed under open questions). Gen3ScriptOps +explains precisely why this is corroboration and not proof. The proof is the +handler source; the corpus only shows nothing contradicts it. + +### `src/import/Gen4Text.lua` + +All of Platinum's text: 724 message banks, 46,053 strings. Each bank is +encrypted **twice** — once on its table of offsets and lengths, again with a +different key on the characters: + +``` +entry table: k = (seed * 765 * (i+1)) & 0xFFFF; k |= k << 16 + offset ^= k; length ^= k (length counts CHARACTERS) +characters: key = ((i+1) * 596947) & 0xFFFF + each u16 ^= key; key = (key + 18749) & 0xFFFF +``` + +Both keys stay in 16 bits. In pokeplatinum's C the character key is a **u16 +parameter** immediately overwritten by a 32-bit product, so the truncation is +the declaration doing it — and a 32-bit key decodes the first character +correctly and then drifts, which reads as a charmap problem rather than a +cipher one. + +**Why this one is known to be right, unlike a script table.** All 46,053 +strings decrypt and all 46,053 end in the `0xFFFF` terminator. A wrong key +does not land on a terminator by accident forty-six thousand times, and text +either reads or it does not — there is no plausible-but-wrong here. A second, +independent Python implementation was run over the whole cartridge and +compared line for line against the Lua: **zero differences**. + +Escapes: `0xFFFE` introduces `command, argc, args...`; if the command's high +byte is a STRVAR base its low byte is the variable index. 68 distinct escape +commands occur in the cartridge and **every one is covered** — no unknown +control codes anywhere. `0xF100` starts a bit-packed trainer name terminating +on `0x01FF` (885 strings); not decoded yet, marked and stopped rather than +printed as characters. + +### `src/import/Gen4Graphics.lua` + +Nitro containers and the LZ77 the cartridge wraps most of them in. Magics are +stored reversed, like NARC's chunk tags: `RLCN` = NCLR (palette, section +`TTLP`), `RGCN` = NCGR (tiles, `RAHC`), `RCSN` = NSCR (tilemap, `NRCS`), +`RECN` = NCER (cells). Sections are found by walking from `headerSize` for +`sectionCount` chunks — both fields exist because they vary. + +Two things believed from arithmetic rather than from a field: + +* **Bit depth**, because `tilesX * tilesY * 32 == dataSize` settles 4bpp + outright and cannot be misread. +* **Colour count**, as `dataSize / 2`. The palette depth field is the one + field here whose meaning did not survive inspection — a 16-colour Platinum + palette carries `4` where the published tables say `3` — and since the byte + count is unambiguous, nothing needs the enum to be right. + +`tilesX`/`tilesY` are `0xFFFF` on an **unsized** sheet (every party icon is +one); the tile count always comes from the byte count instead. + +**Validated by looking, not counting.** All 540 party icons in +`pl_poke_icon.narc` render as recognisable Pokémon in the right colours. The +LZ was run over every compressed member of four graphics archives: **125 of +125** decompress to exactly their declared size and each one turns out to be a +valid Nitro container (48 NCGR, 27 NSCR, 23 NCER, 23 NANR). And a second, +independent Python implementation was compared pixel for pixel across all 540 +icons — 1,105,920 pixels, **zero differences**. + +That cross-check earned its keep immediately: it caught a real bug in the Lua, +where the tile `dataOffset` (which is relative to the start of the section's +*fields*) had the 8-byte tag/size header added a second time. That does not +crash — it produces recognisable shapes displaced by a quarter tile, which is +exactly the kind of wrong that survives a glance. + +### `src/import/Gen4Species.lua` + +508 records of 44 bytes from `pl_personal.narc`, with names from bank 412. +The 44 summing exactly is the check that the layout is read right, and the +values agree with the published tables (Pikachu 35/55/30/90/50/40 with +Static; Giratina 150/100/120/90/100/120; Arceus 120 across). + +**One trap worth naming:** the stat order is hp, attack, defense, **speed**, +spAttack, spDefense. Speed is fourth, not last. Reading it in the display +order every stat screen uses swaps Speed with Special Attack and produces a +table that looks entirely plausible and is wrong for every species. + +This stage also proves the floor: cartridge → `NdsRom` → `NarcArchive` → +record + `Gen4Text`, four modules and no special cases. + +### `src/import/Gen4Moves.lua` and `src/import/Gen4Items.lua` + +471 moves of 16 bytes from `pl_waza_tbl.narc`; 446 items of 34 bytes from +`pl_item_data.narc`. Names come from message banks 647 and 392, both found by +looking rather than assumed. + +**Priority is signed.** Quick Attack is +1 and Roar is −6, and reading that +byte unsigned turns every negative-priority move into one that goes first — +no crash, no visual glitch, nothing a battle looks obviously wrong for. It +just quietly plays a different game. Verified: Quick Attack +1, Roar −6. + +Item record checks against the published tables: Master Ball 0, Ultra Ball +1200, Poké Ball 200, Potion 300, HP Up 9800. Moves: Pound 40/100/35 normal +physical, Thunderbolt 95/100/15 electric special, Hyper Beam 150/90/5, +Struggle 50 power with 0 accuracy and 1 PP. + +### Learnsets and evolutions (in `Gen4Species`) + +`wotbl.narc` holds one **variable-length** learnset per species — 24 to 36 +bytes, terminated by `0xFFFF`. Each entry is a u16 packing the move in the low +**9** bits and the level in the high **7**. That split is forced: 467 moves +need 9 bits and level 100 needs 7. Reading it the other way round gives move +ids under 128 at levels in the hundreds — a table that still looks plausible. + +The structural check is what confirms it: across all 493 species, **6,598 +learnset entries, zero move ids out of range and zero levels outside 1–100**. + +`evo.narc` holds seven `{method, param, target}` slots per species in 44 bytes. +**Every method number was derived from the cartridge and checked against a +species that can be named**, because the enum lives in a generated header +pokeplatinum builds and does not ship — there was nothing to copy. Grouping +all 246 evolutions by method identified each one: 1 friendship (Golbat, +Chansey, Pichu), 4 level (162 of them), 8/9/10 Tyrogue's three branches, +11/12 Wurmple's personality split, 15 Feebas at beauty 170, 18 Happiny by day +and 19 Gligar by night, 20 knows-move (Aipom/Double Hit), 21 species-in-party +(Mantyke/Remoraid), 24 magnetic field, 25/26 the mossy and icy rocks. + +`param` means a different thing per method — a level, an item, a move, a +species, or nothing — so `paramKind` says which. A caller that treats it as +one thing gets Pikachu evolving at level 83. + +### `src/import/Gen4Encounters.lua` + +183 areas of exactly 424 bytes — and that 424 is the check, because +pokeplatinum's `WildEncounters` struct sums to 424 to the byte. + +Two things that look like mistakes and are not. **Species ids are four bytes +here**, not the two they are everywhere else in the cartridge, with three +bytes of padding after each one-byte grass level; reading them as u16 halves +the stride and walks the table into itself. And **a water slot stores maximum +level first, then minimum** — the cartridge really does put the larger number +first, and reversing it prints "Lv55-30", which reads as a display bug rather +than a parse one. + +Twelve of the 183 areas have a grass rate of 0 with the whole grass table +zeroed: water-only routes, where level-0 slots are correct data. Validated on +that basis — 2,196 grass slots, zero species out of range, and **zero +out-of-range levels in any area whose rate is non-zero**. The first land area +comes out Geodude, Zubat and Onix at levels 4–8, which is Oreburgh Gate. + +### `src/import/Gen4Trainers.lua` + +`trdata.narc` (928 × 20-byte headers) and `trpoke.narc` (928, variable) share +an index and are meaningless apart. + +**The header's `monDataType` sets the party stride, and it must be read rather +than inferred by dividing the party file by the party size.** Dividing works +for 887 of the 928 and then quietly does not: 39 party files carry trailing +padding, so the division lands on 12 or 20 where the real stride is 10 or 18, +and every mon after the first comes out shifted. Reading `partySize` entries +at the type's own stride and ignoring the remainder is correct for all 928. + +`species` also carries the form in its high bits, so the id is the low 10 — +which matters for Wormadam cloaks and Rotom appliances. + +Validated across the whole archive: **1,878 party members, zero species, +level, move or item values out of range.** Roark comes out Geodude 12 / Onix +12 / Cranidos 14 with Stealth Rock; Cynthia's six are right down to Garchomp +at 62 holding a Sitrus Berry. + +### Packed trainer names (closing the last text gap) + +Bank 618 has exactly 928 entries — which is how it was identified as the +trainer-name bank — and 885 of them use the `0xF100` sub-format that was +deferred earlier. + +A packed name is **nine bits per character inside fifteen usable bits** of +each halfword, not sixteen, so characters straddle halfword boundaries and one +bit per halfword is skipped. It terminates on `0x01FF`, not `0xFFFF`. Both +oddities matter: packing into 16 bits decodes the first character correctly +and then drifts (which reads as a charmap problem), and watching for `0xFFFF` +means never stopping, so the name runs on into whatever follows. + +All 885 decode with no unmapped character, every gym leader resolves, and the +full 46,053-string corpus was re-diffed against the independent Python +implementation afterwards — still zero differences. + +### `src/import/Gen4Maps.lua` + +**This is where Gen 4 stops resembling every generation above it.** Gen 1–3 +give you a map: a grid of metatile ids plus a tileset, and the renderer draws +it. Gen 4 gives you a *matrix* of fixed 32×32 chunks, and each chunk carries a +movement-permission grid, a list of placed building models, a **3D mesh**, and +a separate height structure. The picture is a mesh, not a tilemap — but the +permission grid is a plain 32×32 array of u16, and that alone is enough to +know where the player may walk. + +**The matrix** (`map_matrix.narc`, 289 members): + +``` +u8 width, u8 height, u8 hasHeaders, u8 hasAltitude, u8 nameLength, char name[] +u16 headers[w*h] -- only when hasHeaders +u8 altitudes[w*h] -- only when hasAltitude +u16 mapIds[w*h] -- always; indexes land_data.narc +``` + +The two optional blocks are why this has to be parsed rather than indexed: a +reader that assumes they are present takes the map ids out of the header table +and builds the world from the wrong chunks. **All 289 members account for +their length exactly** under this layout — that is the check. Matrix 0 is +30×30 and named `map`: the Sinnoh overworld. + +**The chunks** (`land_data.narc`, 666 members): four u32 sizes, then +permissions, objects, an `BMD0` NSBMD mesh, and a `BDHC` height block. All 666 +satisfy `16 + the four sizes == file length`, all 666 have a 2048-byte +permission block, all 666 carry a BMD0 model. + +**Permissions**: one u16 per tile. Bit 15 marks a tile that is not part of the +map — the void around the land — and the low byte is the terrain behaviour. +Across the whole overworld only 54 distinct values occur and only **two** +distinct high bytes, which is what says bit 15 is a flag and not part of a +number. + +**Validated by looking.** The 30×30 matrix assembled into a 960×960 permission +image is recognisably Sinnoh: Mt. Coronet running north–south through the +middle, the three lakes as enclosed pockets, the Great Marsh's grid at +Pastoria, Route 223's water column up the east coast to the Battle Zone. A +layout error anywhere in the matrix or the chunk header would have scrambled +that beyond recognition. The Lua render was then compared pixel-for-pixel with +an independent Python one: the only differences are the 432 empty matrix cells +where one drew black and the other drew the void colour — **every real +permission value agrees**. + +**Objects** are 48 bytes each, and the offsets were not read off one sample: +every field of all 3,476 placed objects was tabulated. That is what pins the +scale at +28/+32/+36 rather than the +24/+28/+32 a hand-read hex dump +suggested — an error that silently produced `scale 0.0`. Fields +16/+20/+24 +are **always 0** and are left unnamed on purpose: they are almost certainly a +rotation, but with every object in the game at zero there is nothing to tell a +rotation from a reserved field, and naming one would be a guess dressed as a +fact. All 360 distinct model ids fall inside `build_model.narc`. + +### `src/import/Gen4Events.lua` + +`zone_event.narc`, 534 members — who stands on a map, where its exits go, and +what watches the player. + +**The counts are interleaved**, not four counts up front: each block is a u32 +count immediately followed by its own records. + +``` +u32 n; Sign[n] 20 bytes u32 n; Warp[n] 12 bytes +u32 n; Npc[n] 32 bytes u32 n; Trigger[n] 16 bytes +``` + +Reading four counts first looks right on member 0 — sixteen zero bytes, which +is an empty map either way — and then falls apart on every populated map. The +interleaved layout accounts for **all 534 members exactly**, and it is the +only combination in a search over every stride from 8 to 40 that does; the +next best fits fewer than 15. + +**Which block is which was settled by measurement, not by position:** + +* **NPCs** — all 3,555 records have a model id below 470, exactly the member + count of `mmodel.narc`, the overworld model archive. +* **Warps** — 1,207 of 1,213 have a destination below 593, the number of names + in `mapname.bin`; the other six are 4095, a "nowhere" sentinel. The fields + at +0/+2 reach 909, so they cannot be map ids and are coordinates. +* **Triggers** — **all 186** carry a value at +14 of `0x4000` or above, which + is Gen 4's variable space. A trigger is a variable, a value to match, an + area and a script. +* **Signs** — the remaining block, and the one identification here that is + inference rather than proof. Its records carry a script id, a position (+4 + and +8 are u32: the halves at +6 and +10 are zero in all 682) and a small + type field, which is the shape of an interactable. Labelled as such, with + that caveat kept in the source. + +Validated across every zone: 534 parsed exactly, zero failures, zero NPC +models outside `mmodel`, zero warp destinations outside the name table, zero +triggers below the variable base. Spot-checking one city's warps resolves them +to its two routes and its Pokémon Center by name. + +`Gen4Maps.mapNames` reads `mapname.bin` — 593 sixteen-byte zero-padded ASCII +names, which is the count every warp destination stays below. + +### `src/import/Gen4MapHeaders.lua` + +Every other Gen 4 table lives in the filesystem and opens by name. This one +does not — it is compiled into the **ARM9 binary**, and it is the record that +ties a map to its matrix, area data, script file, text bank, wild encounters, +events and music. Without it the other modules each read correctly and none of +them knows which map it belongs to. + +593 records of 24 bytes, matching pokeplatinum's `MapHeader`. + +**Found by searching, not by a hardcoded offset.** In this cartridge it sits +at ARM9 offset `0x0E601C` (RAM `0x020E601C`), but that is a fact about one +build — Rev 0 is a different binary, and a fixed offset there would read +whatever happens to live at that address and hand back 593 confident, wrong +records. `find` scans for a run of 24-byte records whose every field indexes +*inside* the archive it names: matrix < 289, events < 534, scripts < 1124, +messages < 724, encounters < 183 or the 0xFFFF sentinel, area < 75. + +**Why 593 and not 594.** A loose filter finds 594 consecutive plausible +records; the 594th is not a map. Tightened against the area-data archive it +fails immediately, while all of 0..592 pass **every** cross-check against six +separate archives. 593 is also exactly the number of entries in +`mapname.bin`. Taking the loose answer would have added one phantom map — the +kind of off-by-one that only surfaces when something walks the whole table. + +The strongest confirmation is coverage rather than shape: the 593 headers +between them reference **all 534** members of `zone_event.narc`, highest index +533, none left over and none out of range. + +#### A join that succeeded and was wrong + +`mapLabelTextID` indexes **message bank 433** — 126 display names, "Jubilife +City", "Old Chateau", "Rock Peak Ruins". It does *not* index `mapname.bin`, +which is a separate table of 593 **internal** identifiers keyed by the header +id itself: `C01`, `C05GYM0113`, `D25R0106`. + +Both tables have an entry for every map, so joining `labelText` to +`mapname.bin` never errors and never looks broken — it just quietly reports +that Jubilife City is called "C01PC0101". The bound that made it look correct, +`labelText < 593`, holds trivially: `labelText` never exceeds 125. This was +caught by checking a name against the game rather than against a range. + +With both joins right the chain reads: header 3 is **Jubilife City** (`C01`) +on the 30×30 overworld matrix with 33 NPCs and 14 warps, bike, run and fly all +allowed; header 100 is **Hearthome City**'s gym (`C05GYM0113`), 1×1, none of +the three allowed; header 300 is the **Old Chateau** (`D25R0106`) with +encounter table 130. + +#### And the event structs corrected an axis mistake + +pokeplatinum's `MapHeaderData` names its four event arrays `bgEvents`, +`objectEvents`, `warpEvents`, `coordEvents` — in exactly the order the file +stores them, which confirmed the block identification including the one that +had only been inferred. The structs also showed that measuring alone had +produced the right fields with the **wrong axes**: Gen 4 is 3D, so the two +horizontal axes are X and **Z**, and **Y is height**. The byte census found +the height fields sitting at zero on most events and filed them as padding; +they are not, and an object event's height is a 20.12 fixed-point value at +28 +rather than the u16 at +30 a census suggested. A census tells you which bytes +vary. It cannot tell you what they mean. + +### `src/import/Gen4Script.lua` + +`Gen4ScriptOps` says how wide every command is; this walks a real script file +with it and produces instructions — opcode, name, operands, and for a jump the +absolute target rather than the relative offset the cartridge stores. Lowering +sits on top of this; nothing here decides what a command *means*. + +**A member is not a script.** Each of `scr_seq.narc`'s 1,124 members holds +several scripts behind a header of u32 offsets that are relative *to the +position after the offset word*. The header ends either at the halfword +`0xFD13` or, more often, simply where the first script begins — there is no +count. So the walk stops when the cursor reaches the lowest target seen, the +only rule that works for both shapes. Reading a count that isn't there takes +the first script's opcodes as more offsets. + +**Jumps are signed and relative to the end of the instruction.** `goto` and +`call` measure from the byte *after* the operand, and the offset is negative +for every backward jump, which is most loops. Reading it unsigned sends a loop +several gigabytes forward and the decode just stops — which looks like a short +script, not a misread operand. + +**How the jump formula was checked**, since a decoder that reads its own output +will agree with itself all day: starting at every entry point and following +every jump **transitively** reaches 8,567 basic blocks and 78,093 instructions +— twice what a linear walk sees — and of the **15,002 jump operands in them, +zero point outside their own member**. 8,549 of those blocks then decode to a +clean `end`. + +That tests two things at once. A wrong sign or base would scatter targets to +negative numbers and gigabyte offsets; a wrong operand width anywhere earlier +in an instruction would shift the jump operand itself and produce the same +mess. Neither happens. Four blocks of 8,567 stop unexpectedly — two run off the +end, two reach an opcode not in the table — which is 0.05%, recorded rather +than smoothed over. + +**Coverage, which is what makes lowering plannable:** 4,079 scripts from the +entry points, 50,835 instructions, 381 distinct opcodes. + +| commonest N opcodes | share of instructions | scripts fully covered | +|---|---|---| +| 20 | 87.3% | 58.3% | +| 40 | 95.9% | 78.4% | +| 80 | 98.3% | 88.7% | +| 150 | 99.3% | 94.5% | + +The top of that list is the shape of a conversation — `lockall`, `faceplayer`, +`message`, `closemessage`, `releaseall` — so a lowering that starts there gets +NPCs talking before anything else works. Decoding a real one gives a Poké Mart +clerk: `playse / lockall / faceplayer / callcommonscript / closemessage / +pokemartcommon / releaseall / end`. + +### `src/script/Gen4ScriptVM.lua` + +A sibling of `Gen3ScriptVM` by design: `ScriptRunner` and `Commands.resolve` +are generation-agnostic, so a fourth generation needs a lowering and a verb +set, not a fourth script subsystem. Shared verbs (`jump`, `label`, +`show_text`, `ask`, `set_flag`, `play_sound`) are emitted as-is; anything Gen 4 +does that no earlier generation has gets a `g4_` verb, exactly as Gen 3 uses +`g3_`. + +**Measured against the whole cartridge** — 4,079 scripts, 50,843 instructions — +it lowers **97.8% of instructions** and leaves **85.7% of scripts** with +nothing unimplemented in them at all. + +It got there in three passes, and their shape is the useful part: + +| pass | instructions | whole scripts | +|---|---|---| +| the conversation set | 87.8% | 52.7% | +| + 8 (trainer preamble, signposts) | 97.3% | 82.4% | +| + 10 load-bearing | 97.8% | 85.7% | + +The conversation set alone reached 87.8% of instructions but only 52.7% of +whole scripts, because **a script is only as lowered as its worst command**. +The eight added next were the four generated trainer-battle commands — each +occurring exactly 928 times, once per trainer in `trdata.narc` — and the four +that drive a signpost, which have to lower together or a sign opens and never +closes. + +The last ten occur twenty-odd times each and are load bearing anyway: `warp`, +without which the player cannot leave a map; `starttrainerbattle`, without +which the trainer preamble runs and nothing happens; `pokemartcommon`, without +which the clerk says hello and sells nothing. **Frequency is a good guide to +what to lower first and a poor guide to what to stop at.** + +What remains is a flat tail of side systems — TV interviews, the journal, the +Battle Tower, Turnback Cave, the Poketch — at a few dozen occurrences each, +left as explicit `g4_unimplemented` rows rather than dropped. A silently +dropped command is a script that runs and quietly does the wrong thing, which +is much harder to find than one that reports what it could not do. + +The Poké Mart clerk now lowers completely: + +``` +{ play_sound, 1500 } { g4_lock_all } { g4_face_player } { g4_common, 2019 } +{ g4_close_message } { g4_pokemart, 1 } { g4_release_all } { jump, end } +``` + +**What is not here:** this is the lowering half. The extractor half — writing +a script pool into `data/generated` and registering a contribution per map +through `MapScripts` — is not built, so nothing calls this in a running game +yet. + +### `src/import/RomExtractorGen4.lua` + +Eleven modules read Platinum correctly and none of them wrote anything. This +is the stage runner that puts them in order and lands their output in +`data/generated`, which is what `CacheFs.mountVersion` serves to a running +game. + +**It takes a path, not the ROM's bytes** — the one place it deliberately does +not look like `RomExtractorGen2` and `RomExtractorGen3`. Those are handed the +whole cartridge as a Lua string, which is fine at 32 MiB. Platinum is 128 MiB, +the engine has to run alongside it on a phone, and almost every stage wants +*one file* out of a filesystem. `NdsRom` reads ranges on demand; handing it a +128 MiB string would undo that before the first stage ran. + +**Measured end to end against the cartridge: 4.2 seconds, 12 tables.** + +| table | entries | | table | entries | +|---|---|---|---|---| +| `gen4_text` | 724 banks | | `gen4_map_headers` | 593 | +| `gen4_species` | 508 | | `gen4_map_matrices` | 289 | +| `gen4_moves` | 471 | | `gen4_map_permissions` | 666 | +| `gen4_items` | 446 | | `gen4_map_objects` | 387 | +| `gen4_encounters` | 183 | | `gen4_events` | 534 | +| `gen4_trainers` | 928 | | `gen4_scripts` | 873 / 8,567 blocks | + +Every count matches what the individual modules measured independently, and +the spot checks land: Pikachu with 90 base speed, 13 learnset moves and one +evolution; Thunderbolt at 95; Potion at 300; Roark with three Pokémon; +map header 3 as Jubilife City (`C01`) on matrix 0. + +Two shape decisions worth naming. Permissions are stored as **one binary +string per chunk** rather than 1,024 numbers — the same choice Gen 3's map +grids make, because a 666-entry table of thousand-element arrays is slow to +load and enormous on disk while a string is neither. And **lowering does not +happen here**: the pool holds decoded instructions and `Gen4ScriptVM` lowers +at load time, so a lowering fix does not require re-importing the cartridge. + +The script pool follows jumps as well as entry points — a block reached only +by a `goto` is still a block the runner needs — which is why it holds 8,567 +blocks rather than the 4,079 a linear walk finds. + +### Wiring it into `RomImporter` + +The extractor dispatch already anticipated this. Its comment reads *"Adding a +fourth generation should be a line here, not a bug"* — and it very nearly was +one line: + +```lua +[4] = { module = "src.import.RomExtractorGen4", takesVersion = true, + takesPath = true }, +``` + +`takesPath` is the part that made it more than a line. `startData` now takes an +optional `sourcePath`, and `startPath` passes the whole path rather than +reducing it to a basename. Verification is unchanged — hashing a cartridge +means hashing its bytes and there is no way around that — but the moment the +SHA-1 matches, a Gen 4 import releases the 128 MiB string and hands the +extractor a path instead. Dropping the bytes *there* rather than after the run +is the entire point; keeping them live through extraction would have gained +nothing. + +**A dropped file may have no path.** `love.filedropped` gives a File whose +`getFilename` is a real path on desktop and need not be anywhere else, and the +Android save-directory scan reads through `love.filesystem` rather than the +disk. A Gen 4 import that gets that far without a path now fails with a +sentence telling the player to use the Import button, instead of passing `nil` +into `new` and failing inside `NdsRom` with something about a missing ROM +path. + +--- + +## What remains, in dependency order + +1. **NCER cell banks** — how an unsized sheet is assembled into a sprite. + Needed for overworld and battle sprites; the container already parses. +2. **Map meshes** — the NSBMD (`BMD0`) in each chunk and the `BDHC` height + block. The 3D half of the map problem; the permission grid means a walkable + world does not wait on it. +3. **Registering scripts per map** through `MapScripts`, which is what makes + `Gen4ScriptVM`'s lowering reachable from a running game. This is the last + piece before a Platinum import produces something playable. +4. **Overworld models** — `mmodel.narc`, NSBMD. Deferred: a 2D stand-in gets + the game walkable long before the model pipeline is worth building. + +### What has to be true before `importable = true` + +Text decodes, graphics decode, species/items/moves load, at least one map +builds and is walkable, and the common scripts lower well enough to talk to an +NPC. Anything less produces a cache the engine mounts and then fails inside, +which is the outcome the withheld flag exists to prevent. + +--- + +## Dual screen and the Poketch + +Design; not built. The requirement is that the second screen is **never a +second window** — the game runs in one window like every other version here, +and the player chooses how the bottom screen reaches them. + +### Second-screen modes (switchable at runtime, and in Options) + +**1. Swap (default).** One screen is drawn at full size; a key toggles which. +Simple, works at any window size, works on a phone. The DS's own split is +approximated by the fact that the bottom screen is almost never needed +*during* an action — the Poketch and the bag are things you stop to look at. + +**2. Inset.** The bottom screen is drawn as a panel in the **top-right +corner** over the main screen, shown and hidden with a hotkey. It is +**interactive in place** — clicks and taps inside the panel go to the bottom +screen's own coordinate space, so the Poketch's buttons, the bag and the touch +controls work without swapping away. Its **size is adjustable** (a scale +setting, and a drag handle on its corner), and it remembers where and how big +it was per version. + +**3. Both.** Stacked as the hardware had them, for players who want the +authentic layout and have the window height for it. Offered but not the +default, because at typical window sizes it makes both screens small. + +Notes for implementation: the inset panel needs its own input routing (a hit +test before the field's, and pointer coordinates transformed into +bottom-screen space) and its own render target, so field rendering does not +have to know it exists. `GameVersion.isDualScreen(id)` is the gate; nothing +about this should be reachable for Gen 1–3, and no Gen 1–3 draw path should +gain a branch. + +### The Poketch + +The Poketch is one of the things the bottom screen *shows*, not a third +screen. It gets a slot in the second-screen surface alongside the bag, the +map and the touch controls, and the same hotkey that raises the bottom screen +raises whatever that surface is currently showing. A separate direct hotkey to +raise the Poketch specifically is worth having, since it is the thing players +check most often. + +### Start menu + +Two styles, player's choice, default to the first: + +**1. Main-screen menu (default).** The start menu appears on the main screen +exactly as it does in Red through Emerald — same position, same behaviour, +same keys. This makes Platinum feel continuous with the rest of the launcher's +library and means muscle memory carries over. + +**2. Bottom-screen menu.** The authentic DS arrangement, for players who want +it. Uses whichever second-screen mode is active, so on Inset the menu appears +in the corner panel and is clickable there. + +The setting belongs with the other per-version options and should be +switchable mid-game, not only at boot. + +--- + +## Mod compatibility + +Gen 4 must not disturb the four generations already working. Where things +stand: + +* Everything added so far is **new files plus additive registration**. The + only edits to shared code are in `RomImporter` (one chip, the accepted + sizes and extensions, one bug fix) and `GameVersion` (one entry, two new + predicates). No Gen 1–3 branch changed behaviour. +* Mods reach content through the same registries regardless of version, so a + mod that adds text or sprites should work once Gen 4 populates those + registries. Mods that hard-code Gen 3 asset ids will not, and should not — + they are version-specific by construction. +* **A known, pre-existing hazard to keep in mind:** `DRAMATIC_SHAPE` asks for + `TILESET_03DF704` (Emerald's primary) during FireRed sessions — a mod + carrying state across a version switch. Gen 4 will make that class of bug + more visible, not less. Worth fixing before Platinum is playable. + +--- + +## The battle sprites (solved) + +`pokegra` and `otherpoke` needed **two** things, and each one disguises the +other. + +**1. They are encrypted.** The keystream is the series' usual LCG: + +``` +key = the FIRST halfword of the tile data +each halfword: plain = cipher ~ key; key = (key * 0x41C64E6D + 0x6073) mod 2^16 +``` + +Only the low 16 bits of the state ever matter, so no 32-bit arithmetic is +needed. The first halfword being the key is the same statement as "the picture +starts with transparent pixels", since anything XORed with itself is zero — +the stream is self-seeding and there is no key table anywhere. + +**2. They are linear bitmaps, not tiles.** The NCGR layout flag (low byte of +the field at section+20) is `1`, meaning rows of pixels rather than 8×8 tiles. +Measured across every NCGR in the cartridge: 3,872 tiled against 4,160 linear, +and the split is not arbitrary — every sprite archive (pokegra, otherpoke and +the trainer sheets `trfgra`/`trbgra`) is linear; fonts, icons and backgrounds +are tiled. The trainer sheets are linear but **not** encrypted (raw entropy +4.8–5.3), which is how the two properties were separated. + +Decrypt without un-tiling and you get real Pokémon colours smeared into +horizontal bands, which reads as "the cipher is nearly right". Un-tile without +decrypting and you get noise, which reads as "the layout is fine, the cipher is +wrong". Neither is a clue about the other. + +**How it was found, because the wrong way round wasted real time.** The +published constants were tried and appeared to fail; then all eight +combinations of seed source, direction and key half; then a brute force over +all 65,536 seeds. Every one of those was scored against **member 0 of +pl_pokegra — a placeholder that decrypts to noise no matter what you do to +it.** The algorithm had been right from the first attempt and the test subject +was the problem. + +What settled it was not another guess. Assume the leading plaintext is zero, +read the leading ciphertext *as* the keystream, and solve +`k[i+1] = (k[i]*A + C) mod 2^16` for `A` and `C` from the values themselves. +34 of 38 sprites gave `A = 0x4E6D`, `C = 0x6073` — exactly the published LCG — +and the four that disagreed are the ones whose first tile is not blank, so the +"keystream" read from them included picture. **Solving beats searching when +the unknown is small, and a failing test needs its subject checked before its +hypothesis.** + +Result: 194 of 194 front sprites decode, none blank, mean transparency 77.3%, +and the rendered sheet is correct Kanto through the legendary birds. The icon +path was re-diffed after the change — zero pixel differences, so the tiled +path did not regress. + +## Open questions and known gaps + +* **Nine variable-length script commands** (`DOSTRENGTHFUNC`, `DOFLASHFUNC`, + `DODEFOGFUNC`, `DOGROUPCONNECTIONACTION`, `CALLTVBROADCAST`, + `CALLTVINTERVIEW`, `MYSTERYGIFTGIVE`, `$27C`, `GIVEPOFFIN`). Each needs its + handler read individually. The decoder should **refuse** a command it cannot + size rather than walk past it — a guessed width here is the Sootopolis bug + again. +* **One script entry point of 4,079** runs past the end of its member. Almost + certainly one member whose header is parsed slightly wrong rather than a + table error, since no opcode desynced. Needs a look. +* **`RomImporter:startData` takes the whole ROM as a Lua string** and hashes + it. At 128 MiB that is tolerable while the import is refused anyway, but the + real Gen 4 extractor must not go through it — it needs a path-based route + into `NdsRom`, which already reads on demand. **Design this before writing + the extractor, not after.** +* **Rev 0 is registered but untested** — no dump on hand. The layout should be + identical; it has not been confirmed. +* Gen 4's save format is untouched. `saveSuffix "_platinum"` reserves the + slot and nothing else. diff --git a/docs/gen4-platinum-2.md b/docs/gen4-platinum-2.md new file mode 100644 index 000000000..b67dea27c --- /dev/null +++ b/docs/gen4-platinum-2.md @@ -0,0 +1,10376 @@ +# Pokemon Platinum / Gen 4 — what is built, what is not + +Tracking document for Gen 4 support. Updated as work lands; the "Status" table +is the short answer and everything below it is the reasoning. + +--- + +## Status + +| Stage | State | +|---|---| +| Cartridge recognised and hashed | **Done** | +| Registered in the launcher (tab, panel, accent) | **Done** | +| NDS filesystem reader (`NdsRom`) | **Done** | +| NARC archive reader (`NarcArchive`) | **Done** | +| Script command table, 840 opcodes (`Gen4ScriptOps`) | **Done** | +| Nine variable-length script commands | **Deliberately unresolved** | +| Text decode (`pl_msg.narc`, `Gen4Text`) | **Done** — 46,053/46,053 strings | +| Species records (`Gen4Species`) | **Done** — 508 records | +| Graphics: containers, LZ77, palettes, tiles, tilemaps (`Gen4Graphics`) | **Done** | +| Battle sprites — cipher **solved**, sprites decode | **Done** | +| Moves (`Gen4Moves`) — 471 records | **Done** | +| Items (`Gen4Items`) — 446 records | **Done** | +| Learnsets and evolutions (`Gen4Species`) | **Done** | +| Wild encounters (`Gen4Encounters`) — 183 areas | **Done** | +| Trainers and parties (`Gen4Trainers`) — 928 | **Done** | +| Packed trainer names (`Gen4Text`) | **Done** | +| Map matrix + land chunks + permissions (`Gen4Maps`) | **Done** | +| Map events: NPCs, warps, signs, triggers (`Gen4Events`) | **Done** | +| Map names (`Gen4Maps.mapNames`) — 593 | **Done** | +| Map 3D meshes (NSBMD) and BDHC height | Not started | +| Map header table (`Gen4MapHeaders`) — 593 in the ARM9 | **Done** | +| Script decoding (`Gen4Script`) — bytes to instructions | **Done** | +| Script lowering (`Gen4ScriptVM`) — 97.8% of instructions | **Done** | +| Archive member names, 68 archives (`Gen4Archives`) | **Done** — 9,511 names | +| Screen composition: NSCR+NCGR+NCLR (`Gen4Graphics.compose`) | **Done** | +| Battle presentation tables (`Gen4Battle`) | **Done** — 23 backgrounds, 24 terrains | +| UI screen recipes (`Gen4Screens`) | **Done** — 16 archives | +| NCER cell banks (`Gen4Cells`) | **Done** — 135 banks, 1,184 cells | +| NFGR fonts (`Gen4Font`) | **Done** — 4 fonts, 509 glyphs each | +| Extractor: cartridge to cache (`RomExtractorGen4`) | **Done** — 13 tables | +| Wiring the extractor into `RomImporter` | **Done** | +| Registering scripts per map (`Gen4ScriptVM.register`) | **Done** — 374 maps | +| Script lowering to engine commands | Not started | +| Graphics extraction stage (`extractGraphics`) | **Done** — 1,405 PNGs | +| Font extraction stage (`extractFonts`) | **Done** — sheets + width tables | +| Fonts published as `data.font` (engine shape) | **Done** — 1 page, 3 faces, 484 charmap entries | +| Per-map regions cut from shared grids (`Gen4Maps.extents`/`crop`) | **Done** — 72 regions | +| Map defs with events attached (`extractRegions`) | **Done** — 593 defs, 5,636 events | +| Tile behaviours, named (`Gen4Behaviors`) | **Done** — 256 values, all 75 in use named | +| Stand-in tileset (`Gen4Tileset`) | **Done** — 15 terrain classes, no renderer changes | +| Type chart from the battle overlay (`Gen4TypeChart`) | **Done** — 110 rows, 2 sections | +| `constants`, `type_chart`, flat `text` | **Done** — all 11 SHARED modules present | +| Gen 4 branch in `Data.lua` module lists | **Done** — Gen 1/2/3 proven unchanged | +| A Gen 4 cache satisfies every required module | **Done** — 15 of 15, 0 missing | +| Overworld NPC sprites (`Gen4Models`) | **Done** — 421 sets, 3,567 frames | +| NPC sprites published as `data.sprites` | **Done** — 421 entries, keyed by member | +| `graphicsId` → sprite, through the overlay-5 table | **Done** — 3,128 resolve, 427 have no billboard by design, 0 broken | +| Script ids classified into their bands | **Done** — 30 bands from the cartridge's own dispatcher | +| Every pickup resolved to its item (`Gen4Pickups`) | **Done** — 329 balls + 262 hidden = 591 of 591, across 140 maps | +| Every map trainer resolved to its trainer record | **Done** — 417 of 417, class names from the ROM's own bank | +| Map height field (`Gen4Bdhc`) | **Done** — 666 of 666 chunks, 8,974 plates, 0 failures | +| Map meshes (NSBMD) | **Read and seen** — 666 terrain + 590 building meshes exact, rendered as recognisable Sinnoh; per-map texture sets unfinished; the ENGINE draws none of it | +| Species battle pictures (`Gen4Pokegra`) | **Done** — 493/493, front/back/shiny/shiny-back + 2-frame strips | +| Species pictures stamped onto `data.pokemon` | **Done** — the Gen 3 field names, no Gen 4 branch | +| Form sprites (`Gen4Otherpoke`) | **Done** — 78 forms, 463 images, Substitute + shadows | +| Form *switching* (weather, plate, appliance, letter) | Not started — engine logic, not extraction | +| Battle *engine* running on Gen 4 data | Not started | +| Summary/party screens running on Gen 4 data | Not started | +| Title sequence running | Not started | +| Dual-screen + Poketch presentation | Designed, not built | +| Start-menu style switch | Designed, not built | +| `importable` flipped to `true` | **Yes** — the launcher imports Platinum; the pill still says WIP | + +The cartridge is **recognised but withheld**. A player who owns it can reach +Platinum's panel in the launcher and read exactly what is and is not ready, +rather than meeting "Not supported yet", which reads as "your dump is wrong" +and sends people hunting for another one. + +--- + +## The cartridge, measured + +Every figure here was read from the project's own dump, not copied from a +format note. + +``` +title POKEMON PL game code CPUE maker 01 +unit 0 version 1 (Rev 1) size 134,217,728 bytes (128 MiB) +used 104,607,804 bytes +sha1 0862ec35b24de5c7e2dcb88c9eea0873110d755c +md5 ab828b0d13f09469a71460a34d0de51b + +ARM9 rom 0x00004000 size 1,057,784 ram 0x02000000 entry 0x02000800 +ARM7 rom 0x00409800 size 161,788 +FNT 0x00431000 (7,092) FAT 0x00432C00 (3,696) -> 462 entries +overlays 122 on the ARM9, 0 on the ARM7 +filesystem 340 files in 89 directories +``` + +462 FAT entries = 122 overlays + 340 files, and the last byte any file +occupies is 104,607,804 — the used-size the header itself reports. The +filesystem walk accounts for the cartridge exactly. + +Rev 0 (`ce81046eda7d232513069519cb2085349896dec7`) is registered as an +alternate hash. pokeplatinum builds both and the filesystem layout is the same +in each, which is what the extractor reads. + +### Files that will matter + +| Path | Bytes | What | +|---|---|---| +| `/fielddata/land_data/land_data.narc` | 16,125,840 | map terrain | +| `/poketool/pokegra/pl_pokegra.narc` | 11,778,676 | species sprites | +| `/msgdata/pl_msg.narc` | 4,351,320 | all text — 724 banks, 46,053 strings | +| `/data/mmodel/mmodel.narc` | 1,465,988 | overworld models | +| `/itemtool/itemdata/pl_item_data.narc` | 440,460 | items | +| `/fielddata/script/scr_seq.narc` | 304,476 | 1,124 script files | +| `/fielddata/encountdata/` | 237,324 | wild encounters | +| `/poketool/personal/pl_personal.narc` | 105,920 | 508 species records, 44 B each | + +Message banks located by looking rather than assumed: **412** is species names +(entry 1 BULBASAUR, entry 25 PIKACHU), **706** is Pokedex entries. + +Platinum keeps Diamond/Pearl's un-prefixed files beside its own `pl_`-prefixed +ones. The `pl_` file is the one to read; the other is the older game's. + +--- + +## Staying legal + +Identical to every other version here, and the reason the two new readers came +first. + +* **No cartridge data is committed.** Not a table, not a tile, not a string. +* The ROM stays where the player keeps it. The importer reads it, writes a + cache under `platinum/` (`cachePrefix`), and that cache is what the game + loads through `CacheFs.mountVersion`. +* What lives in this repository is **scaffolding**: readers, tables of + *offsets and shapes*, and code that knows how to ask the cartridge a + question. Gen 4 does not change the rule; it only changes the question from + "what is at address X" to "what is inside file Y". +* `Gen4ScriptOps.lua` is opcode numbers, command names and operand widths + derived from pret/pokeplatinum — a description of the format, the same thing + `Gen3ScriptOps.lua` is for Emerald. No script bytes from the cartridge. + +--- + +## What is built + +### `src/core/GameVersion.lua` + +`platinum` registered: generation 4, both revision hashes, `cachePrefix +"platinum/"`, `saveSuffix "_platinum"`, `importable = true` (see *Turning it +on*), `experimental`, +and a new `dualScreen = true`. Two new predicates, `GameVersion.isGen4(id)` +and `GameVersion.isDualScreen(id)` — the second asked of the *version* rather +than computed from the generation, because "is Gen 4" and "has two screens" +are not the same claim and field code should say which one it means. + +`GameVersion.ORDER` puts platinum after emerald and before the hacks: +cartridges in generation order, then romhacks. + +### `src/import/RomImporter.lua` + +Platinum has a chip in the tab row. **This is the only navigation into a +version's panel** — Prism was once registered without one and was hashed, +counted and completely unreachable, and the code comment saying so is still +there. Also: + +* 128 MiB added to the accepted ROM sizes, `.nds` to the accepted extensions, + and to all five native file pickers (macOS, Windows, zenity, kdialog, and + the multi-select variants) plus the drag-and-drop hint. +* A `pokemon_platinum.nds` name for the panel, via a generation-4 branch. +* Chip colour `#a6b0d8 → #4a5286`: the metal with the cool cast the box art + has, kept clear of Silver's near-white, Crystal's cyan and Polished + Crystal's purple, because all four sit in one row. +* **A bug fixed on the way.** The "recognised, not playable yet" panel had one + hardcoded sentence — *"Prism imports its data, but its scripts still + misbehave"* — shown for **every** withheld game, under a comment reading + "ONE SENTENCE PER GAME". Prism is importable now, so Platinum was about to + become the only withheld game and its panel would have explained Prism. + Replaced with `RomImporter.WITHHELD_REASON`, keyed by version. + +### `src/import/NdsRom.lua` + +The DS filesystem. `open` / `header` / `list` / `stat` / `read(path)` / +`readId` / `arm9` / `overlay(n)`. + +A DS cartridge is a **filesystem, not an address space**, which is the single +biggest structural break from every generation above. `rom:u16(0x3DF884)` has +no meaning here; `rom:read("/poketool/personal/pl_personal.narc")` does. + +It never loads the cartridge into memory. 128 MiB as one Lua string is a +number this engine has to run alongside on a phone, and nearly every stage +wants one file. The handle stays open and ranges are read on demand. + +Two traps it avoids on purpose: the FNT is walked **by directory id**, not +linearly, because the subtables are not stored in tree order and a forward +walk builds a plausible tree with the wrong parents; and an overlay's bytes +come from the **file id at +0x18** of its table entry, not from the overlay +index, which are different numbers that look interchangeable. + +### `src/import/NarcArchive.lua` + +`parse(data)` / `count` / `range(i)` / `get(i)` / `all()`. Chunks are located +by walking, not by fixed offset — the header size is a field precisely because +it varies. Verified on two archives of very different shape: `scr_seq.narc` +(1,124 members) and `pl_personal.narc` (508 members of 44 bytes, which is +Platinum's species count and its personal-record size). + +### `src/import/Gen4ScriptOps.lua` + +All 840 opcodes, `$000`–`$347`, with names and operand specs. + +Gen 4 reads its opcode as a **halfword**, not a byte — 840 commands do not fit +in one — so the smallest instruction is two bytes and a Gen 3 decoder fed Gen +4 bytes desyncs on the first command. + +**Where the widths come from, and why that is the whole story.** +`Gen3ScriptOps.lua`'s header records what guessing cost: Emerald's `$E0` was +reasoned out from handler call shapes, came out two bytes short, and produced +not garbage but the Sootopolis cutscene playing twice with no warp home — +because a two-byte slip lands on a plausible opcode and the walk sails on. So: + +* opcode numbers are the **order of the `ScriptCommand()` lines** in + pokeplatinum's `include/data/scripts/scrcmd.h`. Position *is* the opcode, + so all 840 are listed including dummies. Two of those lines are spelled in + mixed case (`SCRCMD_GetExchangeServiceCornerItemAndCost` at `$2A2`, + `ScrCmd_GETRANDOMBATTLEGROUNDTRAINERS` at `$2FB`); a reader matching only + `[A-Z_]` silently drops them and shifts **every opcode after `$2A2` down by + one** — the same class of failure, one level up. This was hit and fixed. +* operand widths are the stream reads in each handler body, in source order. + The five primitives consume fixed widths (`ReadByte` 1, `ReadHalfWord` 2, + `ReadWord` 4, and the inlines `GetVar`/`GetVarPointer` 2 each, both + `ReadHalfWord` underneath). + +**The two ways that could still be wrong, both measured:** + +1. A handler reading inside an `if` has no fixed width. Nine do. They are + marked `*` and listed in `VARIABLE_LENGTH` — **not guessed**. +2. A handler delegating its read to a helper would hide operands. Every + function in pokeplatinum taking a `ScriptContext *` and transitively + reaching a stream read was collected, and every handler body checked + against that set: **zero** handlers delegate. + +**Corroboration, which is not proof.** Walking all 1,124 members of +`scr_seq.narc` from all 4,079 entry points decodes 50,835 instructions across +381 distinct opcodes and reaches a clean `end` **4,070 times with no unknown +opcode**; 8 stop at a variable-length command and 1 runs past its member's end +(one member's header parse, listed under open questions). Gen3ScriptOps +explains precisely why this is corroboration and not proof. The proof is the +handler source; the corpus only shows nothing contradicts it. + +### `src/import/Gen4Text.lua` + +All of Platinum's text: 724 message banks, 46,053 strings. Each bank is +encrypted **twice** — once on its table of offsets and lengths, again with a +different key on the characters: + +``` +entry table: k = (seed * 765 * (i+1)) & 0xFFFF; k |= k << 16 + offset ^= k; length ^= k (length counts CHARACTERS) +characters: key = ((i+1) * 596947) & 0xFFFF + each u16 ^= key; key = (key + 18749) & 0xFFFF +``` + +Both keys stay in 16 bits. In pokeplatinum's C the character key is a **u16 +parameter** immediately overwritten by a 32-bit product, so the truncation is +the declaration doing it — and a 32-bit key decodes the first character +correctly and then drifts, which reads as a charmap problem rather than a +cipher one. + +**Why this one is known to be right, unlike a script table.** All 46,053 +strings decrypt and all 46,053 end in the `0xFFFF` terminator. A wrong key +does not land on a terminator by accident forty-six thousand times, and text +either reads or it does not — there is no plausible-but-wrong here. A second, +independent Python implementation was run over the whole cartridge and +compared line for line against the Lua: **zero differences**. + +Escapes: `0xFFFE` introduces `command, argc, args...`; if the command's high +byte is a STRVAR base its low byte is the variable index. 68 distinct escape +commands occur in the cartridge and **every one is covered** — no unknown +control codes anywhere. `0xF100` starts a bit-packed trainer name terminating +on `0x01FF` (885 strings); not decoded yet, marked and stopped rather than +printed as characters. + +### `src/import/Gen4Graphics.lua` + +Nitro containers and the LZ77 the cartridge wraps most of them in. Magics are +stored reversed, like NARC's chunk tags: `RLCN` = NCLR (palette, section +`TTLP`), `RGCN` = NCGR (tiles, `RAHC`), `RCSN` = NSCR (tilemap, `NRCS`), +`RECN` = NCER (cells). Sections are found by walking from `headerSize` for +`sectionCount` chunks — both fields exist because they vary. + +Two things believed from arithmetic rather than from a field: + +* **Bit depth**, because `tilesX * tilesY * 32 == dataSize` settles 4bpp + outright and cannot be misread. +* **Colour count**, as `dataSize / 2`. The palette depth field is the one + field here whose meaning did not survive inspection — a 16-colour Platinum + palette carries `4` where the published tables say `3` — and since the byte + count is unambiguous, nothing needs the enum to be right. + +`tilesX`/`tilesY` are `0xFFFF` on an **unsized** sheet (every party icon is +one); the tile count always comes from the byte count instead. + +**Validated by looking, not counting.** All 540 party icons in +`pl_poke_icon.narc` render as recognisable Pokémon in the right colours. The +LZ was run over every compressed member of four graphics archives: **125 of +125** decompress to exactly their declared size and each one turns out to be a +valid Nitro container (48 NCGR, 27 NSCR, 23 NCER, 23 NANR). And a second, +independent Python implementation was compared pixel for pixel across all 540 +icons — 1,105,920 pixels, **zero differences**. + +That cross-check earned its keep immediately: it caught a real bug in the Lua, +where the tile `dataOffset` (which is relative to the start of the section's +*fields*) had the 8-byte tag/size header added a second time. That does not +crash — it produces recognisable shapes displaced by a quarter tile, which is +exactly the kind of wrong that survives a glance. + +### `src/import/Gen4Species.lua` + +508 records of 44 bytes from `pl_personal.narc`, with names from bank 412. +The 44 summing exactly is the check that the layout is read right, and the +values agree with the published tables (Pikachu 35/55/30/90/50/40 with +Static; Giratina 150/100/120/90/100/120; Arceus 120 across). + +**One trap worth naming:** the stat order is hp, attack, defense, **speed**, +spAttack, spDefense. Speed is fourth, not last. Reading it in the display +order every stat screen uses swaps Speed with Special Attack and produces a +table that looks entirely plausible and is wrong for every species. + +This stage also proves the floor: cartridge → `NdsRom` → `NarcArchive` → +record + `Gen4Text`, four modules and no special cases. + +### `src/import/Gen4Moves.lua` and `src/import/Gen4Items.lua` + +471 moves of 16 bytes from `pl_waza_tbl.narc`; 446 items of 34 bytes from +`pl_item_data.narc`. Names come from message banks 647 and 392, both found by +looking rather than assumed. + +**Priority is signed.** Quick Attack is +1 and Roar is −6, and reading that +byte unsigned turns every negative-priority move into one that goes first — +no crash, no visual glitch, nothing a battle looks obviously wrong for. It +just quietly plays a different game. Verified: Quick Attack +1, Roar −6. + +Item record checks against the published tables: Master Ball 0, Ultra Ball +1200, Poké Ball 200, Potion 300, HP Up 9800. Moves: Pound 40/100/35 normal +physical, Thunderbolt 95/100/15 electric special, Hyper Beam 150/90/5, +Struggle 50 power with 0 accuracy and 1 PP. + +### Learnsets and evolutions (in `Gen4Species`) + +`wotbl.narc` holds one **variable-length** learnset per species — 24 to 36 +bytes, terminated by `0xFFFF`. Each entry is a u16 packing the move in the low +**9** bits and the level in the high **7**. That split is forced: 467 moves +need 9 bits and level 100 needs 7. Reading it the other way round gives move +ids under 128 at levels in the hundreds — a table that still looks plausible. + +The structural check is what confirms it: across all 493 species, **6,598 +learnset entries, zero move ids out of range and zero levels outside 1–100**. + +`evo.narc` holds seven `{method, param, target}` slots per species in 44 bytes. +**Every method number was derived from the cartridge and checked against a +species that can be named**, because the enum lives in a generated header +pokeplatinum builds and does not ship — there was nothing to copy. Grouping +all 246 evolutions by method identified each one: 1 friendship (Golbat, +Chansey, Pichu), 4 level (162 of them), 8/9/10 Tyrogue's three branches, +11/12 Wurmple's personality split, 15 Feebas at beauty 170, 18 Happiny by day +and 19 Gligar by night, 20 knows-move (Aipom/Double Hit), 21 species-in-party +(Mantyke/Remoraid), 24 magnetic field, 25/26 the mossy and icy rocks. + +`param` means a different thing per method — a level, an item, a move, a +species, or nothing — so `paramKind` says which. A caller that treats it as +one thing gets Pikachu evolving at level 83. + +### `src/import/Gen4Encounters.lua` + +183 areas of exactly 424 bytes — and that 424 is the check, because +pokeplatinum's `WildEncounters` struct sums to 424 to the byte. + +Two things that look like mistakes and are not. **Species ids are four bytes +here**, not the two they are everywhere else in the cartridge, with three +bytes of padding after each one-byte grass level; reading them as u16 halves +the stride and walks the table into itself. And **a water slot stores maximum +level first, then minimum** — the cartridge really does put the larger number +first, and reversing it prints "Lv55-30", which reads as a display bug rather +than a parse one. + +Twelve of the 183 areas have a grass rate of 0 with the whole grass table +zeroed: water-only routes, where level-0 slots are correct data. Validated on +that basis — 2,196 grass slots, zero species out of range, and **zero +out-of-range levels in any area whose rate is non-zero**. The first land area +comes out Geodude, Zubat and Onix at levels 4–8, which is Oreburgh Gate. + +### `src/import/Gen4Trainers.lua` + +`trdata.narc` (928 × 20-byte headers) and `trpoke.narc` (928, variable) share +an index and are meaningless apart. + +**The header's `monDataType` sets the party stride, and it must be read rather +than inferred by dividing the party file by the party size.** Dividing works +for 887 of the 928 and then quietly does not: 39 party files carry trailing +padding, so the division lands on 12 or 20 where the real stride is 10 or 18, +and every mon after the first comes out shifted. Reading `partySize` entries +at the type's own stride and ignoring the remainder is correct for all 928. + +`species` also carries the form in its high bits, so the id is the low 10 — +which matters for Wormadam cloaks and Rotom appliances. + +Validated across the whole archive: **1,878 party members, zero species, +level, move or item values out of range.** Roark comes out Geodude 12 / Onix +12 / Cranidos 14 with Stealth Rock; Cynthia's six are right down to Garchomp +at 62 holding a Sitrus Berry. + +### Packed trainer names (closing the last text gap) + +Bank 618 has exactly 928 entries — which is how it was identified as the +trainer-name bank — and 885 of them use the `0xF100` sub-format that was +deferred earlier. + +A packed name is **nine bits per character inside fifteen usable bits** of +each halfword, not sixteen, so characters straddle halfword boundaries and one +bit per halfword is skipped. It terminates on `0x01FF`, not `0xFFFF`. Both +oddities matter: packing into 16 bits decodes the first character correctly +and then drifts (which reads as a charmap problem), and watching for `0xFFFF` +means never stopping, so the name runs on into whatever follows. + +All 885 decode with no unmapped character, every gym leader resolves, and the +full 46,053-string corpus was re-diffed against the independent Python +implementation afterwards — still zero differences. + +### `src/import/Gen4Maps.lua` + +**This is where Gen 4 stops resembling every generation above it.** Gen 1–3 +give you a map: a grid of metatile ids plus a tileset, and the renderer draws +it. Gen 4 gives you a *matrix* of fixed 32×32 chunks, and each chunk carries a +movement-permission grid, a list of placed building models, a **3D mesh**, and +a separate height structure. The picture is a mesh, not a tilemap — but the +permission grid is a plain 32×32 array of u16, and that alone is enough to +know where the player may walk. + +**The matrix** (`map_matrix.narc`, 289 members): + +``` +u8 width, u8 height, u8 hasHeaders, u8 hasAltitude, u8 nameLength, char name[] +u16 headers[w*h] -- only when hasHeaders +u8 altitudes[w*h] -- only when hasAltitude +u16 mapIds[w*h] -- always; indexes land_data.narc +``` + +The two optional blocks are why this has to be parsed rather than indexed: a +reader that assumes they are present takes the map ids out of the header table +and builds the world from the wrong chunks. **All 289 members account for +their length exactly** under this layout — that is the check. Matrix 0 is +30×30 and named `map`: the Sinnoh overworld. + +**The chunks** (`land_data.narc`, 666 members): four u32 sizes, then +permissions, objects, an `BMD0` NSBMD mesh, and a `BDHC` height block. All 666 +satisfy `16 + the four sizes == file length`, all 666 have a 2048-byte +permission block, all 666 carry a BMD0 model. + +**Permissions**: one u16 per tile. Bit 15 marks a tile that is not part of the +map — the void around the land — and the low byte is the terrain behaviour. +Across the whole overworld only 54 distinct values occur and only **two** +distinct high bytes, which is what says bit 15 is a flag and not part of a +number. + +**Validated by looking.** The 30×30 matrix assembled into a 960×960 permission +image is recognisably Sinnoh: Mt. Coronet running north–south through the +middle, the three lakes as enclosed pockets, the Great Marsh's grid at +Pastoria, Route 223's water column up the east coast to the Battle Zone. A +layout error anywhere in the matrix or the chunk header would have scrambled +that beyond recognition. The Lua render was then compared pixel-for-pixel with +an independent Python one: the only differences are the 432 empty matrix cells +where one drew black and the other drew the void colour — **every real +permission value agrees**. + +**Objects** are 48 bytes each, and the offsets were not read off one sample: +every field of all 3,476 placed objects was tabulated. That is what pins the +scale at +28/+32/+36 rather than the +24/+28/+32 a hand-read hex dump +suggested — an error that silently produced `scale 0.0`. Fields +16/+20/+24 +are **always 0** and are left unnamed on purpose: they are almost certainly a +rotation, but with every object in the game at zero there is nothing to tell a +rotation from a reserved field, and naming one would be a guess dressed as a +fact. All 360 distinct model ids fall inside `build_model.narc`. + +### `src/import/Gen4Events.lua` + +`zone_event.narc`, 534 members — who stands on a map, where its exits go, and +what watches the player. + +**The counts are interleaved**, not four counts up front: each block is a u32 +count immediately followed by its own records. + +``` +u32 n; Sign[n] 20 bytes u32 n; Warp[n] 12 bytes +u32 n; Npc[n] 32 bytes u32 n; Trigger[n] 16 bytes +``` + +Reading four counts first looks right on member 0 — sixteen zero bytes, which +is an empty map either way — and then falls apart on every populated map. The +interleaved layout accounts for **all 534 members exactly**, and it is the +only combination in a search over every stride from 8 to 40 that does; the +next best fits fewer than 15. + +**Which block is which was settled by measurement, not by position:** + +* **NPCs** — all 3,555 records have a model id below 470, exactly the member + count of `mmodel.narc`, the overworld model archive. +* **Warps** — 1,207 of 1,213 have a destination below 593, the number of names + in `mapname.bin`; the other six are 4095, a "nowhere" sentinel. The fields + at +0/+2 reach 909, so they cannot be map ids and are coordinates. +* **Triggers** — **all 186** carry a value at +14 of `0x4000` or above, which + is Gen 4's variable space. A trigger is a variable, a value to match, an + area and a script. +* **Signs** — the remaining block, and the one identification here that is + inference rather than proof. Its records carry a script id, a position (+4 + and +8 are u32: the halves at +6 and +10 are zero in all 682) and a small + type field, which is the shape of an interactable. Labelled as such, with + that caveat kept in the source. + +Validated across every zone: 534 parsed exactly, zero failures, zero NPC +models outside `mmodel`, zero warp destinations outside the name table, zero +triggers below the variable base. Spot-checking one city's warps resolves them +to its two routes and its Pokémon Center by name. + +`Gen4Maps.mapNames` reads `mapname.bin` — 593 sixteen-byte zero-padded ASCII +names, which is the count every warp destination stays below. + +### `src/import/Gen4MapHeaders.lua` + +Every other Gen 4 table lives in the filesystem and opens by name. This one +does not — it is compiled into the **ARM9 binary**, and it is the record that +ties a map to its matrix, area data, script file, text bank, wild encounters, +events and music. Without it the other modules each read correctly and none of +them knows which map it belongs to. + +593 records of 24 bytes, matching pokeplatinum's `MapHeader`. + +**Found by searching, not by a hardcoded offset.** In this cartridge it sits +at ARM9 offset `0x0E601C` (RAM `0x020E601C`), but that is a fact about one +build — Rev 0 is a different binary, and a fixed offset there would read +whatever happens to live at that address and hand back 593 confident, wrong +records. `find` scans for a run of 24-byte records whose every field indexes +*inside* the archive it names: matrix < 289, events < 534, scripts < 1124, +messages < 724, encounters < 183 or the 0xFFFF sentinel, area < 75. + +**Why 593 and not 594.** A loose filter finds 594 consecutive plausible +records; the 594th is not a map. Tightened against the area-data archive it +fails immediately, while all of 0..592 pass **every** cross-check against six +separate archives. 593 is also exactly the number of entries in +`mapname.bin`. Taking the loose answer would have added one phantom map — the +kind of off-by-one that only surfaces when something walks the whole table. + +The strongest confirmation is coverage rather than shape: the 593 headers +between them reference **all 534** members of `zone_event.narc`, highest index +533, none left over and none out of range. + +#### A join that succeeded and was wrong + +`mapLabelTextID` indexes **message bank 433** — 126 display names, "Jubilife +City", "Old Chateau", "Rock Peak Ruins". It does *not* index `mapname.bin`, +which is a separate table of 593 **internal** identifiers keyed by the header +id itself: `C01`, `C05GYM0113`, `D25R0106`. + +Both tables have an entry for every map, so joining `labelText` to +`mapname.bin` never errors and never looks broken — it just quietly reports +that Jubilife City is called "C01PC0101". The bound that made it look correct, +`labelText < 593`, holds trivially: `labelText` never exceeds 125. This was +caught by checking a name against the game rather than against a range. + +With both joins right the chain reads: header 3 is **Jubilife City** (`C01`) +on the 30×30 overworld matrix with 33 NPCs and 14 warps, bike, run and fly all +allowed; header 100 is **Hearthome City**'s gym (`C05GYM0113`), 1×1, none of +the three allowed; header 300 is the **Old Chateau** (`D25R0106`) with +encounter table 130. + +#### And the event structs corrected an axis mistake + +pokeplatinum's `MapHeaderData` names its four event arrays `bgEvents`, +`objectEvents`, `warpEvents`, `coordEvents` — in exactly the order the file +stores them, which confirmed the block identification including the one that +had only been inferred. The structs also showed that measuring alone had +produced the right fields with the **wrong axes**: Gen 4 is 3D, so the two +horizontal axes are X and **Z**, and **Y is height**. The byte census found +the height fields sitting at zero on most events and filed them as padding; +they are not, and an object event's height is a 20.12 fixed-point value at +28 +rather than the u16 at +30 a census suggested. A census tells you which bytes +vary. It cannot tell you what they mean. + +### `src/import/Gen4Script.lua` + +`Gen4ScriptOps` says how wide every command is; this walks a real script file +with it and produces instructions — opcode, name, operands, and for a jump the +absolute target rather than the relative offset the cartridge stores. Lowering +sits on top of this; nothing here decides what a command *means*. + +**A member is not a script.** Each of `scr_seq.narc`'s 1,124 members holds +several scripts behind a header of u32 offsets that are relative *to the +position after the offset word*. The header ends either at the halfword +`0xFD13` or, more often, simply where the first script begins — there is no +count. So the walk stops when the cursor reaches the lowest target seen, the +only rule that works for both shapes. Reading a count that isn't there takes +the first script's opcodes as more offsets. + +**Jumps are signed and relative to the end of the instruction.** `goto` and +`call` measure from the byte *after* the operand, and the offset is negative +for every backward jump, which is most loops. Reading it unsigned sends a loop +several gigabytes forward and the decode just stops — which looks like a short +script, not a misread operand. + +**How the jump formula was checked**, since a decoder that reads its own output +will agree with itself all day: starting at every entry point and following +every jump **transitively** reaches 8,567 basic blocks and 78,093 instructions +— twice what a linear walk sees — and of the **15,002 jump operands in them, +zero point outside their own member**. 8,549 of those blocks then decode to a +clean `end`. + +That tests two things at once. A wrong sign or base would scatter targets to +negative numbers and gigabyte offsets; a wrong operand width anywhere earlier +in an instruction would shift the jump operand itself and produce the same +mess. Neither happens. Four blocks of 8,567 stop unexpectedly — two run off the +end, two reach an opcode not in the table — which is 0.05%, recorded rather +than smoothed over. + +**Coverage, which is what makes lowering plannable:** 4,079 scripts from the +entry points, 50,835 instructions, 381 distinct opcodes. + +| commonest N opcodes | share of instructions | scripts fully covered | +|---|---|---| +| 20 | 87.3% | 58.3% | +| 40 | 95.9% | 78.4% | +| 80 | 98.3% | 88.7% | +| 150 | 99.3% | 94.5% | + +The top of that list is the shape of a conversation — `lockall`, `faceplayer`, +`message`, `closemessage`, `releaseall` — so a lowering that starts there gets +NPCs talking before anything else works. Decoding a real one gives a Poké Mart +clerk: `playse / lockall / faceplayer / callcommonscript / closemessage / +pokemartcommon / releaseall / end`. + +### `src/script/Gen4ScriptVM.lua` + +A sibling of `Gen3ScriptVM` by design: `ScriptRunner` and `Commands.resolve` +are generation-agnostic, so a fourth generation needs a lowering and a verb +set, not a fourth script subsystem. Shared verbs (`jump`, `label`, +`show_text`, `ask`, `set_flag`, `play_sound`) are emitted as-is; anything Gen 4 +does that no earlier generation has gets a `g4_` verb, exactly as Gen 3 uses +`g3_`. + +**Measured against the whole cartridge** — 4,079 scripts, 50,843 instructions — +it lowers **97.8% of instructions** and leaves **85.7% of scripts** with +nothing unimplemented in them at all. + +It got there in three passes, and their shape is the useful part: + +| pass | instructions | whole scripts | +|---|---|---| +| the conversation set | 87.8% | 52.7% | +| + 8 (trainer preamble, signposts) | 97.3% | 82.4% | +| + 10 load-bearing | 97.8% | 85.7% | + +The conversation set alone reached 87.8% of instructions but only 52.7% of +whole scripts, because **a script is only as lowered as its worst command**. +The eight added next were the four generated trainer-battle commands — each +occurring exactly 928 times, once per trainer in `trdata.narc` — and the four +that drive a signpost, which have to lower together or a sign opens and never +closes. + +The last ten occur twenty-odd times each and are load bearing anyway: `warp`, +without which the player cannot leave a map; `starttrainerbattle`, without +which the trainer preamble runs and nothing happens; `pokemartcommon`, without +which the clerk says hello and sells nothing. **Frequency is a good guide to +what to lower first and a poor guide to what to stop at.** + +What remains is a flat tail of side systems — TV interviews, the journal, the +Battle Tower, Turnback Cave, the Poketch — at a few dozen occurrences each, +left as explicit `g4_unimplemented` rows rather than dropped. A silently +dropped command is a script that runs and quietly does the wrong thing, which +is much harder to find than one that reports what it could not do. + +The Poké Mart clerk now lowers completely: + +``` +{ play_sound, 1500 } { g4_lock_all } { g4_face_player } { g4_common, 2019 } +{ g4_close_message } { g4_pokemart, 1 } { g4_release_all } { jump, end } +``` + +**What is not here:** this is the lowering half. The extractor half — writing +a script pool into `data/generated` and registering a contribution per map +through `MapScripts` — is not built, so nothing calls this in a running game +yet. + +### `src/import/RomExtractorGen4.lua` + +Eleven modules read Platinum correctly and none of them wrote anything. This +is the stage runner that puts them in order and lands their output in +`data/generated`, which is what `CacheFs.mountVersion` serves to a running +game. + +**It takes a path, not the ROM's bytes** — the one place it deliberately does +not look like `RomExtractorGen2` and `RomExtractorGen3`. Those are handed the +whole cartridge as a Lua string, which is fine at 32 MiB. Platinum is 128 MiB, +the engine has to run alongside it on a phone, and almost every stage wants +*one file* out of a filesystem. `NdsRom` reads ranges on demand; handing it a +128 MiB string would undo that before the first stage ran. + +**Measured end to end against the cartridge: 4.2 seconds, 12 tables.** + +| table | entries | | table | entries | +|---|---|---|---|---| +| `gen4_text` | 724 banks | | `gen4_map_headers` | 593 | +| `gen4_species` | 508 | | `gen4_map_matrices` | 289 | +| `gen4_moves` | 471 | | `gen4_map_permissions` | 666 | +| `gen4_items` | 446 | | `gen4_map_objects` | 387 | +| `gen4_encounters` | 183 | | `gen4_events` | 534 | +| `gen4_trainers` | 928 | | `gen4_scripts` | 873 / 8,567 blocks | + +Every count matches what the individual modules measured independently, and +the spot checks land: Pikachu with 90 base speed, 13 learnset moves and one +evolution; Thunderbolt at 95; Potion at 300; Roark with three Pokémon; +map header 3 as Jubilife City (`C01`) on matrix 0. + +Two shape decisions worth naming. Permissions are stored as **one binary +string per chunk** rather than 1,024 numbers — the same choice Gen 3's map +grids make, because a 666-entry table of thousand-element arrays is slow to +load and enormous on disk while a string is neither. And **lowering does not +happen here**: the pool holds decoded instructions and `Gen4ScriptVM` lowers +at load time, so a lowering fix does not require re-importing the cartridge. + +The script pool follows jumps as well as entry points — a block reached only +by a `goto` is still a block the runner needs — which is why it holds 8,567 +blocks rather than the 4,079 a linear walk finds. + +### Wiring it into `RomImporter` + +The extractor dispatch already anticipated this. Its comment reads *"Adding a +fourth generation should be a line here, not a bug"* — and it very nearly was +one line: + +```lua +[4] = { module = "src.import.RomExtractorGen4", takesVersion = true, + takesPath = true }, +``` + +`takesPath` is the part that made it more than a line. `startData` now takes an +optional `sourcePath`, and `startPath` passes the whole path rather than +reducing it to a basename. Verification is unchanged — hashing a cartridge +means hashing its bytes and there is no way around that — but the moment the +SHA-1 matches, a Gen 4 import releases the 128 MiB string and hands the +extractor a path instead. Dropping the bytes *there* rather than after the run +is the entire point; keeping them live through extraction would have gained +nothing. + +**A dropped file may have no path.** `love.filedropped` gives a File whose +`getFilename` is a real path on desktop and need not be anywhere else, and the +Android save-directory scan reads through `love.filesystem` rather than the +disk. A Gen 4 import that gets that far without a path now fails with a +sentence telling the player to use the Import button, instead of passing `nil` +into `new` and failing inside `NdsRom` with something about a missing ROM +path. + +### Registering scripts per map + +`Gen4ScriptVM` gained `store`, `compile` and `register`, following the Gen 3 +contract exactly — including the `source` guard, because a cache built by a +different generation's extractor has a pool of the same *name* and a +completely different shape. + +**Gen 4 has no TEXT constant.** Gen 2 and Gen 3 key a map's `talk` table by +one, and the overworld looks a script up with `talkScript(mapId, npc.def.text)`. +A Gen 4 object event carries a script id and nothing else, so the key is the +script's own label — `M0002/S1321` — and both the extractor and the VM derive +it from `Gen4ScriptVM.label`, so they cannot drift apart. + +Map ids are the cartridge's **internal** names from `mapname.bin` — `C01`, +`C05GYM0113`, `D25R0106`. Unique, stable, and readable in a log. The +player-facing name is a different table and several maps share one, so it +would not do as a key. + +End to end: extraction 3.9s, **478 maps linked, 374 attached** with talk +tables, and Jubilife City's 21 scripts lower to real conversations and +signposts. + +#### A failure count that was wrong + +The first run reported 1,887 scripts linked and **2,350 "missing"** — more +misses than hits, which should never be believed without checking what the +misses are. They were not missing. Classified: + +| script id | events | what it is | +|---|---|---| +| `0` | 202 | no script | +| `1 .. entry count` | 1,887 | a real entry in this map's member | +| `>= 10000` | 796 | another namespace (590 are the single value 10001) | +| anything else larger | 1,352 | also another namespace | + +The values in that last band are plainly not indices: script `9300` in a +member holding 28 entries, `2035` in a member holding 4. Both large bands are +ids the **field engine interprets directly**, so they are now recorded as +`special` rather than counted as failures — and kept rather than dropped, +because knowing an object *has* one is worth more than silence. What each band +means is not claimed anywhere, because nothing has established it yet. + +--- + +## Presentation: battles, stats, menus, the title sequence + +Everything in this section was *decodable* before and none of it could be +**seen**. That gap is the whole subject: a Gen 1–3 screen is one picture at one +address, and a Gen 4 screen is three files at three unrelated indices in an +archive that records no relationship between them. + +### The thing that unlocked it: member names + +A NARC has no directory. Members are addressed by index and nothing inside the +file says what any of them is. pokeplatinum ships **71 `.order` files** — the +build's record of which source asset became which index — and matching them to +archives by member count resolves **68 of them, 9,511 names**, now in +`src/import/Gen4Archives.lua`. Names only; every byte still comes from the +player's own cartridge. + +Three are deliberately unresolved: `anim_ncer.order` and `anim_ncgr.order` both +match `wecell.narc` and nothing distinguishes them by count, and +`species_icons.order` has no archive of its length here. Guessing would put +wrong names on real members, which is worse than having none. + +**Why this is not a convenience.** In `pl_winframe.narc`, `message_box_00`'s +tiles are member 3 and its palette is member 26. Pairing members positionally — +in threes, or by adjacency — puts the wrong palette on every window frame in +the game. That does not fail; it produces a picture, in the wrong colours. The +names are what make the pairing checkable. + +### Composition + +`Gen4Graphics.compose` takes a tilemap, a tile sheet and a palette and returns +RGBA. `composeGroup` does the same from a named archive group. The tilemap +supplies, per 8×8 cell, a tile index, two flip bits and a 4-bit sub-palette; +4bpp sheets take their sixteen colours from that sub-palette, 8bpp sheets +ignore it. + +Verified by rendering, not by counting: the **Pokémon Platinum logo** comes out +pixel-correct from `titledemo.narc`, and the summary screen's **condition page +renders its COOL / BEAUTY / CUTE / SMART / TOUGH pentagon**. A tilemap walk +that were subtly wrong would not produce readable lettering. + +### Battle backgrounds — arithmetic, not names + +`pl_batt_bg.narc` is the one archive here with **no** `.order` file. Its 342 +members are an irregular run — 171 compressed, then 91 palettes, then 4 +tilemaps, then 76 more palettes — with no stride to find. The indices come from +what the game itself computes (`battle_display.c`): + +``` +tilemap = 2 -- shared by every background +tiles = 3 + background +palette = 172 + background * 3 + timeOfDay +``` + +Three facts, checked against the cartridge rather than taken on faith: + +* member 2 really is an NSCR and members 3…25 really are NCGR; +* members 172…240 really are NCLR — 23 backgrounds × 3 times of day; +* **all 138 member references resolve to the right kind of file, 0 wrong.** + +The count 23 is confirmed a second, independent way: `sFadeTargets` is a +per-background table with exactly 23 entries, and the only three that fade to +black instead of white are entries 9, 10 and 11 — which is precisely where the +three caves fall in the enum order derived separately from +`sTerrainForBackground`. Two unrelated tables agreeing on both the length and +the interior ordering is worth more than either one alone. + +**The tilemap is shared.** Every background reuses member 2, so a background is +a tile sheet plus one of sixty-nine palettes over a common arrangement. Looking +for a per-background tilemap that does not exist is the obvious wrong turn, and +it at least fails loudly — it produces nothing rather than something wrong. + +### Terrain platforms + +The ground each battler stands on is chosen from **the tile the player was +walking on**, not from the map — grass, sand, ice, snow, mud, cave and surfable +water each override the map's own background. 24 terrains, two sides, three +palettes; all 144 lookups resolve against `pl_batt_obj.narc`. + +Four terrains borrow another's art rather than having their own, and **BRIDGE +borrows a different one per side** — `path_puddles` for the player, `mud` for +the enemy. Collapsing that to one name per terrain would put a puddle under the +enemy on every bridge in Sinnoh, so `Gen4Battle.TERRAIN_ART` keeps the split. + +### Two naming conventions, and the planner that needed both + +The UI archives are named two incompatible ways, and a planner that knows only +one silently drops half the game's screens: + +* **Subject-named** — `logo.NCGR`, `logo.NCLR`, `logo.NSCR`. Grouping by base + name is exactly right. +* **Role-named** — `shop_gra` is `tiles.NCGR`, `default.NCLR`, `tilemap.NSCR`. + Every base name differs, so base-name grouping yields four groups of one and + not a single composable screen. + +A third case sits between them: `pl_bag_gra` names its sheet +`bag_ui_main_tileset.NCGR` and its tilemap `bag_ui_main.NSCR`. `Gen4Screens` +normalises away the role suffixes and then lets a group missing a part fall +back to the archive's own sheet — preferring **the sheet a tilemap already +points at**, because in `pl_bag_gra` the first NCGR is the player's bag *sprite* +and the screen sheet is the twelfth member. Taking the first one put the bag +sprite's pixels behind the bag's own UI, which is what the first run did. + +Borrowing is recorded on each job rather than hidden: a borrowed palette is a +guess, and a guess that is not marked is indistinguishable from a fact. + +### What the stage writes + +`RomExtractorGen4:extractGraphics` renders **416 images in under 2 seconds** and +writes them under `assets/generated/gen4/`, indexed by `gen4_graphics`: + +| Group | Contents | +|---|---| +| `battle/background/` | 23 backgrounds × 3 times of day, 512×256 | +| `battle/terrain/` | platforms, both sides, per time of day where it varies | +| `battle/` | healthboxes, type icons, interface, ball throws, trainer backs | +| `title/` | logo, "Developed by GAME FREAK inc.", screen borders | +| `menu/` `windows/` `touch/` `options/` | start-menu icons, window frames, touch buttons | +| `summary/` | all ten summary pages over one shared 480-tile sheet | +| `party/` `bag/` `trainer_card/` `poketch/` `shop/` `town_map/` `pokedex/` `mail/` `berry_tag/` `font/` | the rest of the interface | + +**Screens are final; sheets are provisional.** A group with a tilemap is drawn +as the game draws it. A group without one is an OAM sheet whose true +arrangement lives in an NCER cell bank, and it is laid out at a stated width so +it can at least be looked at. Every such image is flagged `provisionalLayout` +in the index rather than passed off as finished — correct pixels, placeholder +arrangement. + +--- + +### NCER: where a sprite's shape actually lives + +A tilemap says where every 8×8 cell of a *background* goes. A sprite has no +tilemap — it is drawn by the object engine from a handful of OAM entries, each +a rectangle of tiles at a signed offset from the sprite's centre — and its NCGR +records no width at all. `tilesX` and `tilesY` are `0xFFFF`. + +That is why a sheet laid out at a guessed width looks like the right picture +cut into strips and stacked wrongly: **the pixels were never wrong, the +arrangement simply was not in the file being read.** `src/import/Gen4Cells.lua` +reads the file it is in. + +Three things in the format are easy to get wrong and none of them fails loudly: + +* **The mapping mode is not decoration.** An OAM tile index is counted in units + of `32 << mappingMode` bytes, not in tiles. Platinum's banks use mode 1, so a + 4bpp index steps *two* tiles at a time. Reading it as tiles halves every + offset and assembles a real sprite out of the wrong halves of itself. +* **Positions are signed and centred** — Y is 8 bits, X is 9, both two's + complement. Unsigned puts everything above or left of centre at the far side + of a 256-pixel field. +* **Flipping a multi-tile entry mirrors the whole rectangle**, so the tile that + lands in a slot comes from the opposite corner *and* is itself drawn + mirrored. Doing only one of the two scrambles the sprite instead of + mirroring it. + +### Finding the bank for a sheet + +A bank is almost never named after the sheet it serves, because one bank +usually serves many. `Gen4Archives.cellBank` tries the spellings the cartridge +actually uses, strongest first, and **reports which one matched** so a weak +match is never presented as a fact: + +| Match | Example | Meaning | +|---|---|---| +| `named` | `healthbox/short` → `healthbox/short_cell` | its own bank | +| `folder` | `type_icons/fire` → `type_icons/cell` | one bank per folder | +| `folder` | `ball_throws/poke` → `ball_throws/shared_cell` | a named shared bank | +| `folder` | `terrain/grass/player` → `terrain/player_cell` | folder dropped, leaf kept | +| `prefix` | `bag_sprite_male` → `bag_sprite_cell` | the bank names a set | +| `sole` | `cheri` → `berry_cell` | one bank in the archive, many sheets | + +The terrain case is why this is a list and not a rule: **the bank is named for +the side and the terrain is the folder in between**, so nothing about the +sheet's own name predicts it. `sole` is a judgement rather than a reading, and +is recorded as such. + +Result: **302 of 458 sheets resolve to a bank.** The 156 that do not are in +archives holding no NCER at all — window frames, mail backgrounds, fonts — +which are tilesets rather than sprites, so there may be no bank to find. + +### What the banks corrected + +The platform sheets were being written 64×128, stacked eight tiles wide. The +banks say what they are: + +* `terrain/player_cell` — four OAM entries of 64×32 → the **256×32** player + platform +* `terrain/enemy_cell` — two entries of 64×64 → the **128×64** enemy platform + +All 24 terrains share those two banks, which is the reason every platform sheet +is exactly 128 tiles — a fact that had been noted and not explained. + +The stage now writes **1,405 images in 4.1 seconds, 0 skipped**: 69 +backgrounds, 88 platforms, 326 battle objects and 922 interface images, with +type icons, healthboxes, bag sprites, menu icons and Poketch digits all at +their real sizes rather than at a guessed width. + +**A bug in this work worth recording.** The first run assembled nothing in the +battle-object loop and every sheet quietly took the fallback path. The cause +was `local sheet, pal = palette and self:partsFor(...)` — in Lua, `x and f()` +is adjusted to **one** value, so `pal` was always `nil`. It did not error; it +produced the old behaviour, which is exactly the kind of regression that hides +behind a passing run. + +--- + +### NFGR: the fonts, and therefore every word the game says + +An NFGR is **not a Nitro container**. No `RGCN`-style magic, no tagged +sections — a 16-byte header, a run of glyphs, a table of widths: + +``` +u32 size offset where glyph data starts (0x10) +u32 widthTableOffset one byte per glyph +u32 numGlyphs +u8 maxWidth, maxHeight +u8 glyphWidth, glyphHeight -- in TILES, 1 or 2, not pixels +``` + +All four fonts account for themselves **exactly** — `16 + numGlyphs × 16 × gw × +gh + numGlyphs == the member's length` — which is a far stronger identity test +than a four-byte tag, and the only one available since they carry no magic. +509 glyphs each; system and message are 16×16 with mean advance 7.4px, +subscreen 9.1px, unown 12×16 with 399 zero-width glyphs (it defines only the +Unown alphabet). + +**The first trap is that these look compressed and are not.** Every NFGR begins +`10 00 00 00` — `0x10` is the font's own data offset, not a compression tag. A +decompressor that tests only the first byte accepts it, reads a declared output +size of **zero** from the next three bytes, and returns an empty string. Not an +error, not garbage: the file simply vanishes, and the caller sees a zero-length +member rather than a bad one. + +`Gen4Graphics.isCompressed` now also requires a non-zero declared size. Scanning +every named member in the cartridge, **9 of 9,511 would have been silently +emptied** by the old test — the four fonts, four `mmodel` animation files, and +`scripts_hearthome_city_dp_gym_leader_room`, a real script member. + +**The second trap is the bit order.** Glyph pixels are 2bpp packed +**MSB-first** — the opposite of the 4bpp graphics everywhere else in this +cartridge, where the low nibble is the first pixel. And within each two-byte +row the **high byte holds the first four pixels**, because the game reads the +row as a `u16` and looks up `row >> 8` before `row & 0xFF`. Getting either +backwards yields legible-looking glyphs mirrored in fours, which reads as a +font problem rather than a bit-order one. + +**The third is that a pixel is a role, not a colour.** The two bits select from +{ nothing, foreground, shadow, background }, and +`Text_GenerateFontHalfRowLookupTable` builds that lookup from three colours the +caller supplies **per text box**. So a glyph has no palette; the same glyph is +white-on-dark in a battle and dark-on-light in a menu. The cache keeps the +roles rather than baking one colouring in, which would freeze menu text into +battle colours. + +The default colouring leaves the **background role transparent**, and that is +worth stating because the alternative fails in an instructive way: on hardware +the background fills the whole 16×16 cell while a glyph only *advances* by its +width — six or seven pixels for most letters. Painting it opaque makes each +cell overwrite most of the one before it, and a line of text comes out as a row +of blocks with the letters crushed together. Legible, wrong, and easy to +mistake for a bad width table. + +**End-to-end proof.** Taking the string `PLATINUM 493!`, mapping each character +through `Gen4Text.CHARS` to its charcode, reaching the glyph by the game's own +rule (charcode 1 is glyph 0), unpacking the 2bpp bitmap and advancing by the +width table gives an 89-pixel line that renders as the words themselves in +Platinum's message font. That exercises the charmap, the glyph indexing, the +bit order and the widths in one test — any of them wrong and it does not read. + +--- + +### Publishing the fonts where the engine already looks + +`src/render/Font.lua` is generation-agnostic and already takes everything Gen 4 +needs: a page table, named faces beside it, per-glyph widths, and a charmap. So +the font stage writes `data.font` in **that** shape rather than a `gen4_` +spelling. A Gen 4-shaped font table would have meant a generation branch in +every screen that draws a word. + +``` +pages = { message = } +faces = { system, subscreen, unown } +charmap = 484 entries +frame = "drawn" -- Gen 4's window frames come from pl_winframe +``` + +**One page, three faces** — not four pages. All four fonts number their glyphs +from the same base, so registering them all as pages would leave the +code-to-page lookup answering with whichever sorted first. That is the exact +problem `Font.lua`'s own comment describes for Emerald's five Latin faces, and +its answer — a face is chosen by name, not resolved from a glyph id — is the +one taken here. + +**`base = 1`, not 0.** The cartridge reaches a glyph by subtracting one from the +character code, so code 1 is glyph 0. `Font.lua` indexes quads by `code - base` +and widths by `code - base + 1`; with base 1 both land on exactly the arrays the +stage writes, so neither side adjusts for the other. Verified end to end: code +299 → quad 298, width 6, character `A`. + +**The charmap is inverted from the text decoder**, so the two cannot disagree +about what a character is. Only codes the font actually *has* are included: +`Gen4Text` knows 2,876 characters and this cartridge's font holds 509 glyphs, so +the remainder are Japanese codes with nothing to draw and mapping them would put +a character on screen as whatever happened to sit at that quad. 484 of the 509 +are spoken for, and **none of them is a ligature** — no entry in range covers +more than one character — so there is no multi-letter sequence to mis-match +ordinary text the way Gen 3's `PK`/`MN` pair does. + +**The tone order is fixed by a shader, not by taste.** `Font.lua` recolours a +pre-tinted page by telling the two tones apart by **luminance** — `lum < 0.5` is +the ink, anything brighter is the shadow. A sheet baked light-on-dark would look +correct until the first `{COLOR}` swap, which would then paint the letter with +the shadow's colour and vice versa. So the sheet bakes the letter dark and the +shadow light, which also matches the Gen 3 page and the light boxes this engine +draws — one sheet, right for both paths. + +--- + +### A Gen 4 map is a region of a shared grid + +This is the structural break that everything downstream had to absorb, and it +does not exist in Gen 1–3 at all. + +A Gen 1–3 map **is** a grid. **84 of Platinum's 593 headers name matrix 0** — +the 960×960 Sinnoh overworld — and each one is a *piece* of it. Jubilife, +Route 201 and Oreburgh are regions of one seamless world, each contributing its +own NPCs and warps at coordinates measured from the **matrix's** corner rather +than their own. + +What says which piece is the matrix's per-cell header array — and only **2 of +the 289 matrices carry one**. For the other 287 the matrix is the map, which is +the ordinary case and needs nothing. + +`Gen4Maps.extents` reads that array into a bounding box per header, and +`Gen4Maps.crop` cuts the region out of the layout. Two things worth stating: + +* **Header 0 is excluded.** It owns 731 of the overworld's 900 chunks — ocean, + border, the space between routes — and giving it a box would produce one + "map" the size of Sinnoh overlapping every other. +* **A region is a bounding box, so four of the sixty-six are not solid + rectangles.** That is flagged as `regionSolid` rather than quietly squared + off. + +**Cutting is smaller, not larger.** The overworld's regions total 0.34 MB +against the layout's 1.76, precisely because header 0 is not a map. + +### Events, made map-local + +The events live per event-archive and their coordinates are matrix-global, +which is consistent: on the overworld the matrix is the only thing all 84 maps +share. **All 5,636 events in the cartridge fall inside their own map's matrix +grid** — that is what establishes the coordinate space rather than assuming it. +Subtracting the region origin makes them local, so a Gen 4 map's objects sit at +the same kind of coordinates a Gen 1–3 map's do and nothing downstream needs to +know the difference. + +**Gen 4 is 3D: X and Z are the two horizontal axes and Y is height.** So the +engine's `y` takes the cartridge's `z`, and the cartridge's `y` becomes +elevation. Reading them in the order they appear puts every object on the map's +top edge. + +Attached: 3,555 objects, 1,213 warps, 682 signs, 186 triggers. Warp +destinations are resolved from header id to internal map name at extraction, so +no two consumers can resolve them differently — **0 dangling**. 61 events (1.1%) +fall outside their map's bounding box, all of them in the four L-shaped +regions; they are counted and kept rather than dropped, because a strict bounds +test would silently delete real NPCs. + +**Verified by looking.** Rendering Jubilife's cropped grid with its events +overlaid puts every NPC on walkable ground, every warp on a building entrance, +and the triggers along the map edges where route transitions belong. A wrong +axis or a wrong origin would put them inside buildings. + +### One size trap, caught by measuring + +The first version inlined each map's grid into its def and the cache came to +**33.75 MB**. The twelve headers that name the overworld *without* claiming +chunks in it were each carrying the full 1.76 MB layout — 21 MB of one grid +repeated. A def now inlines `blocks` only when it owns that grid (it was +cropped, or no other header uses that matrix) and otherwise references +`layout`. **33.75 MB → 1.55 MB**, with 302 maps owning a grid and 291 +referencing a shared one. + +--- + +### Naming the ground: tile behaviours + +A Platinum permission cell is one `u16` — bit 15 says the cell is not part of +the map, and the **low byte is a behaviour**. Nothing in the cartridge says what +those 256 values mean, and only 75 of them ever occur, so colouring them by +value would have been guesswork dressed as data. + +pokeplatinum names all 256 and ships a flag table with them. +`src/import/Gen4Behaviors.lua` carries both. Two checks that make it more than +a transcription: + +* **All 75 behaviours that occur in this cartridge have a real name — zero land + on an `UNUSED_xNN` slot.** A single off-by-one in the enum ordering would + have broken that, so it is the ordering's proof as well as the table's. +* The flags matter more than the names, and are not derivable from them: the + cartridge marks six `UNUSED` behaviours as encounter tiles and eight as + surfable. Both come from `sTileBehaviorFlags`, not from reading names. + +Weighted by cells: **21.2% of walkable ground can start a wild battle, 12.1% is +surfable.** Grass is 4 behaviours, encounters 19, surfable 16, jumps 8 (with +direction), doors 1, warps 11. + +### A stand-in tileset, so a map can be built at all + +Gen 4's world is 3D — an NSBMD mesh and a texture set per chunk — and there is +no tileset in the Gen 1–3 sense anywhere in the cartridge. `MapLoader` pairs +every map def with one regardless, so until the mesh pipeline exists a Platinum +map could not be **built**, never mind drawn. + +`src/import/Gen4Tileset.lua` synthesises one: a flat colour per terrain class, +keyed by the behaviour byte every cell already carries. + +**It is shaped like a Gen 3 tileset, and that is the whole trick.** +`TileRenderer.gen3SheetsFor` takes any tileset whose `blockTiles` is 2 and hands +it to `Gen3Tiles`, which reads four plain binaries — 4bpp `tiles`, 16-byte +`metatiles`, 2-byte `attributes`, a `palettes` array. Producing those four is +cheaper than teaching the renderer a fifth kind of map, so **a Gen 4 map now +takes the same code path Hoenn does, with no renderer change at all.** Two +records are written, exactly as Gen 3 writes: the raw tileset in +`map_tilesets`, the pair record a def names in `tilesets`. + +256 metatiles, one per behaviour, so a metatile's `attributes` behaviour *is* +its own index — which is what makes `behaviourBytes` true here and lets +everything that asks a cell what kind of ground it is keep working. Two +palettes, base and darkened, checkered across each metatile's four tiles, so +the 16-pixel grid has a visible edge rather than reading as a silhouette. + +**Anything unclassified draws magenta on purpose.** The first pass left 0.50% +of cells magenta — but nearly all of them were *named* things the rules simply +did not cover: `BIKE_BRIDGE_*`, `SLIDE_*`, `REFLECTIVE`, +`DYNAMIC_HEIGHT_COLLISION`, `PASTORIA_GYM_*_GROUND`, `MART_SHELF_1`. Adding +those rules is reading, not guessing, and it took magenta down to **14 cells in +346,819 — 0.004%, every one a value the cartridge itself calls `UNKNOWN_xNN`.** +Magenta now means genuinely unknown rather than "no rule written yet". + +Cell-weighted census of Sinnoh: ground 74.9%, water 12.1%, cave 4.7%, grass +3.2%, snow 1.5%, mud 1.2%, sand 0.7%, bridge 0.6%, shallow 0.5%, ice 0.25%, +door 0.23%. The water figure lands on 12.07% against the 12.1% of cells the +flag table calls surfable — two independent routes to the same number. + +**Verified through the engine's own compositor.** `Gen3Tiles` was run against +the synthesised record directly: it reports 256 metatiles, resolves behaviour 2 +to the grass tile, 21 to water, 105 to the door colour and 56 to the ledge +colour, and bakes a 256×256 sheet in 30 colours (15 classes × 2 palettes). +Jubilife then renders from its own map def through that sheet — street grid, +building footprints, orange doorways — and all **593 map defs resolve a tileset +with 0 failures**. + +**What this is not:** an attempt at Platinum's art. It draws a legible plan, not +Sinnoh. The value is that the map, its collision, its warps and its NPCs can all +be exercised while the mesh pipeline is still missing. + +--- + +### The real reason nothing runs: the cache spoke the wrong names + +Every "Running: No" row in the tracker below had **one shared cause**, and it +was not in the extraction at all. + +`src/core/Data.lua` requires its modules by exact name — `constants`, `maps`, +`tilesets`, `text`, `text_pointers`, `pokemon`, `moves`, `items`, `type_chart`, +`trainers`, `encounters` — and the Gen 4 extractor was writing `gen4_species`, +`gen4_moves`, `gen4_maps` and the rest. **Of the eleven modules Data requires, +a Gen 4 cache provided one.** An import would have died at the first module +check with "missing generated data module 'data/generated/constants.lua'", +before a single byte of all that verified extraction was read. + +`data.constants.gen` alone is read in **seventy-one places**. It is the value +the whole engine branches on. + +Seven tables were renames — the shapes already matched, because they were built +to the engine's shape from the start. Four were genuinely missing: + +* **`constants`** — `gen = 4`, the eighteen type names, the twenty-five + natures, and the id-order lists. Types come from **message bank 624** and + natures from **bank 202**, both found by searching the banks rather than + assumed, which is also how the type *numbering* was established: bank 624 is + exactly `NORMAL … DARK` with the unused `???` at slot 9. Leaving that slot + out would shift every type above it. +* **`type_chart`** — see below. +* **`text`** — the same 46,053 strings, flat, keyed `TEXT_B_`. + Gen 1–3 address a string by one id; Gen 4 needs a bank and an index, so the + label carries both. `Gen4Text.label` owns the spelling so the writer and + whatever lowers a `message` command cannot drift — the same discipline the + script labels already use. +* **`text_pointers`** — required by `Data.lua` and read by nothing. Written + empty, because Gen 4 has no equivalent and inventing entries would put names + in the cache that resolve to nothing. + +### The type chart has two terminators + +It is not an 18×18 grid but a list of exceptions — attacker, defender, +multiplier in tenths — and everything unlisted is 1×. It lives in **overlay +16**, the battle overlay, *not* the ARM9; a search that only looks there comes +back empty. + +**108 rows, then `0xFE`, then two more rows — Normal vs Ghost and Fighting vs +Ghost, both immune — then `0xFF`.** The game's own damage routine loops until +`0xFF` and applies all 110; other code stops at `0xFE` deliberately, because +those last two are the immunities Foresight and Scrappy lift. A reader that +stops at the first terminator produces a chart in which **Normal does neutral +damage to Ghost** — nothing errors, the game is just wrong in a way that takes +a battle to notice. + +**A bug in my own search, worth recording.** The first version walked forward +and returned the first position that started a long enough run. That is wrong +twice: a coincidental triple just before the table can start a run one byte out +of phase, and skipping past a short run can step *over* the true start. It +locked onto 0x33B97 instead of 0x33B94 — row **two** — silently dropping +"normal vs rock, half damage" and reporting 109 rows. No count would have +caught that without knowing the answer first. The fix is to keep the **longest** +run and then extend it backward while the preceding triple is also valid, which +makes the answer independent of where the scan happened to lock on. + +Verified against known matchups: fire→grass 2×, water→fire 2×, electric→ground +0×, normal→ghost 0×, ghost→normal 0×, dragon→dragon 2×, fighting→dark 2×. And +exactly one binary in the whole cartridge carries a table of that shape. + +### Where the boot now stands + +All **11 SHARED modules are present**. What remains is that `Data.lua` has no +Gen 4 branch: it detects Gen 3 by the presence of `save_layout` and otherwise +assumes Gen 1/2, so a Gen 4 cache is asked for `trainer_headers`, `sprites`, +`field` and `battle_anims` — four Gen 1/2-shaped modules it has no business +having. + +That change is **deliberately not made yet**. It edits the module lists every +generation boots through, and unlike everything above it cannot be checked +offline — the constraint that Gen 4 work must not break Crystal, Gold, Silver +or Prism applies most sharply to exactly this file. It wants a `GEN4_MODULES` +list and a marker (`gen4_map_headers` is written by the Gen 4 extractor and +nothing else), made with the engine in front of you. + +--- + +### The Gen 4 branch in `Data.lua`, and how it was proven safe + +`Data.requiredModules` decides which module set a cache must provide. It knew +two answers — Gen 3 if `save_layout` loads, Gen 1/2 otherwise — so a Platinum +cache was being asked for `trainer_headers`, `sprites`, `field` and +`battle_anims`, four Gen 1/2-shaped modules it has no business having. + +The change adds a `GEN4_MODULES` list and a third answer. What is in it is +short, because a Gen 4 map def carries its own grid, warps and objects: +`map_layouts`, `map_tilesets`, `map_scripts`, `font`. What is *not* in it +matters as much: + +* **`save_layout` is deliberately absent.** It is the Gen 3 marker, and writing + one would make a Gen 4 cache claim to be Gen 3. +* `sprites`, `icons`, `scenes`, `songs`, `audio` are stages the Gen 4 extractor + does not have yet, and requiring a file nothing writes would refuse every + import. They sit in `OPTIONAL`, so a cache that gains one later picks it up + with no change here. + +A Gen 4 cache is also **blocked from the `CLASSIC_ONLY` modules**, exactly as a +Gen 3 one is and for the same reason: the version overlay is additive, so any +module Platinum did not write still resolves — to the root cache, which is +Red's. That is how NEW GAME on Emerald once opened Red's intro in Red's house, +and Gen 4 writes fewer of these than Gen 3 does. + +**This file is every generation's boot path, so it was not changed on +judgement.** Both the old and the new `requiredModules` were extracted and run +against four synthetic caches: + +| Cache | Old | New | | +|---|---|---|---| +| no marker (Gen 1/2) | gen3=false, 16 modules | gen3=false gen4=false, 16 modules | **identical** | +| `save_layout` (Gen 3) | gen3=true, 22 modules | gen3=true gen4=false, 22 modules | **identical** | +| `gen4_map_headers` | gen3=false, 16 modules | gen4=true, 15 modules | changed, as intended | +| both markers | gen3=true | gen4=true | gen4 wins | + +**Crystal, Gold, Silver, Prism and Polished Crystal take the first row; +Emerald and FireRed take the second. Both are byte-identical to before.** The +only behaviour that changed belongs to caches carrying a marker no existing +cache has. (The fourth row cannot occur — the Gen 4 extractor does not write +`save_layout` — and is listed because a precedence that is never exercised +should still be a decision rather than an accident.) + +Run against the real thing: the cache writes **23 tables**, is detected as +gen4, and satisfies all **15 required modules with 0 missing**. + +--- + +### The overworld NPCs did not need the 3D pipeline + +`mmodel.narc` reads as a wall. Gen 4's overworld is 3D, so the people in it +must be models, and models mean NSBMD, a mesh pipeline and a long detour. + +**They are not models.** 421 of its 470 members are **BTX0 — Nitro *texture* +archives** — and only 24 are BMD0. A Gen 4 NPC is a flat quad wearing a +texture: the geometry is shared and the per-character art is a texture set. The +member names say so outright — `youngster.nsbtx`, `lass.nsbtx`, `hiker.nsbtx`. + +> **This paragraph used to end "…and every object event in the map defs already +> carries a `graphicsId` that indexes this archive."** It does not index this +> archive, and believing it meant that not one of the 3,555 map objects was +> drawing its own art. See *The lookup that could not miss*. + +So the entire overworld cast comes out by reading textures, and the mesh work +is not on the path to it. + +**What a texture entry says.** Eight bytes: `{ u32 texImageParam, u32 +extraParam }`. The parameter is the **first** word — offset in bits 0–15 (in +units of 8 bytes), width and height exponents in bits 20–25, format in 26–28, +colour-0-transparency in bit 29. + +> **This section previously said the second word, and everything that followed +> from that is corrected below.** The full account is in *The dictionary that +> was only right for two* further down; the short version is that the reader +> was *also* four bytes short of the records, and on a two-texture member the +> two errors cancel exactly. 208 of the 421 texture members have two textures, +> which was enough to make the pair look right and to make every claim about +> "empty slots", exotic formats and enormous reserved regions below it false. + +Counted over all 3,567 entries, once both were fixed: **3,564 are format 3 (16 +colours) and 3 are format 2 (4 colours)**. That is the entire list. This +archive holds nothing but paletted sprite frames — no A3I5, no A5I3, no 4x4 +block compression, and not one empty slot. The other formats are still +**reported, not silently skipped**, in case a mod adds one. + +**A member is not only its character** — but it is much closer to it than this +document used to claim. Frame sizes across the archive are 32×32 (3,158), +16×32 (385), 64×64 (9), 16×16 (7), 64×32 (5), 128×64 (2) and 128×32 (1). A +member holds 1, 2, 3, 4, 7, 12, 13, 16, 17, 24 or 32 frames: **16 for a +standard NPC, 32 for the player, 1 for an item ball.** The strip is still +built from the **modal frame size** — whichever size the most decodable +textures in that member agree on — because a member can legitimately mix sizes, +but it is no longer separating art from reserved space, because there is no +reserved space. + +Result: **421 sprite sets, 3,567 frames** — every `BTX0` member in the archive, +none skipped, nothing undecodable. + +Two small things worth keeping, because both were caught by a number looking +wrong rather than by an error: `2^n` in Lua is a **float**, so every size +reported as `32.0x32.0` and any key built from it failed to match the integer +one a caller would write. And the palette dictionary's offsets *appeared* to +read implausibly — one entry claiming 3,064 bytes into a 32-byte region — which +was the same records bug; with it fixed, all 618 palette entries land inside +their own region. The range check stays as a cheap guard that now never fires, +rather than as the thing doing the work. + +--- + +### Publishing the sprites, and the bug that would not have errored + +`data.sprites` is a flat map of key to sheet in every generation, and a Gen 3 +entry carries exactly the fields a Gen 4 one needs — `image`, `frames`, +`frameWidth`, `frameHeight`, `walker`, `trueColor`. So the sheets publish under +that name with no Gen 4 spelling, and map objects gain a `sprite` key derived +from their `graphicsId` the way Gen 3 derives `SPRITE_G3_026` from 26. Both the +sprite table and the objects pointing into it come from one +`RomExtractorGen4.spriteKey`, so they cannot drift. + +`trueColor` is true because these are real colours from the cartridge's own +palettes rather than a four-shade Game Boy set the renderer has to map — it is +what makes `SpriteRenderer` use the PNG as it is. + +**Frames stack downward, not across.** `SpriteRenderer` cuts frame *f* with +`newQuad(0, f * frameHeight, ...)`, so a sheet is a **column**. A horizontal +strip is the obvious thing to build and it would have loaded without +complaint — every quad lands inside the image — but every frame after the first +would then be cut out of empty space beside the strip, so an NPC would stand +correctly and **vanish the moment it took a step**. Gen 3's own sheets are 16 +wide and 288 tall for exactly this reason; Gen 4's are the same shape, 32×512 +for a standard NPC and 32×1024 for the player. + +`walker` is `true` only when a member has more than one frame, so the fifteen +single-frame props — the item ball, the cut tree, the boulder — are not handed +to the renderer as a walk cycle with nothing to step through. + +Result: **421 sprite entries, and 3,555 of 3,555 map objects resolve one.** + +--- + +### The dictionary that was only right for two + +Everything above about the overworld archive was written from a reader with two +compensating off-by-four errors, and the compensation held on exactly the +members common enough to make it look correct. This is the account, because the +wrong version was published and because the shape of the mistake is worth more +than the fix. + +**The structure.** A Nitro 3D dictionary is a 4-byte header, an 8-byte block, a +4-byte patricia node per entry, and then a 4-byte sub-header holding +`{ u16 sizeUnit, u16 namesOffset }`. The fixed-size records start immediately +after that sub-header. `namesOffset` is measured **from the sub-header**, and it +points at the **names**, not at the records. + +**The two errors.** The reader derived the records from `namesOffset` measured +from the *dictionary* start, which puts them at `base + 4 + n·unit` instead of +`base + 16 + 4n`. And it then read `texImageParam` from the record's *second* +word instead of its first. Set the two equal and they cancel when + +``` +n·(unit − 4) = 12 → with unit = 8, n = 2 +``` + +**208 of mmodel's 421 texture members have exactly two textures.** On every one +of them the pair of errors produced byte-identical, entirely correct output. On +everything else it read the middle of a name, or a patricia node, or the next +record, and called the result a texture. + +**How it announced itself — and how it didn't.** It never errored. It produced +plausible-looking data: sizes of 8×8 and 1024×512, a format field of 0, blank +names. Each of those was then written into this document as a fact about the +cartridge — "621 empty slots", "181 A3I5", "82 4x4-compressed", "120 of 120 +large slots decode to fully transparent", "nine 32×32 frames per NPC". Every one +of those was a misread, and the transparency measurement in particular is a +caution worth keeping: **decoding a region that is not texture data and finding +it blank is not evidence that the region is blank.** It is what you should +expect. + +The thread that led back to it was not any of those numbers. It was +`pokeball.nsbtx` — 308 bytes, present in the archive, clearly not empty — sitting +under a claim that its art "is not in `mmodel.narc` at all". A 308-byte file +that the reader says holds one 8×8 texture of format 0 is a file the reader is +wrong about. + +**The check that settles it.** For each member, decode every texture entry under +both readings and ask whether *all* of them come out as a format this decoder +handles: + +| textures in member | members | old reading OK | new reading OK | +|---:|---:|---:|---:| +| 1 | 15 | 0 | 15 | +| 2 | 208 | **208** | 208 | +| 3 | 1 | 0 | 1 | +| 4 | 5 | 4 | 5 | +| 7 | 2 | 0 | 2 | +| 12 | 4 | 1 | 4 | +| 13 | 2 | 0 | 2 | +| 16 | **177** | **4** | 177 | +| 17 | 1 | 0 | 1 | +| 24 | 2 | 0 | 2 | +| 32 | 4 | 0 | 4 | +| **total** | **421** | **217** | **421** | + +The `n = 2` row is the whole story: perfect under both, and half the archive. + +**What changed in the output.** 208 members decode byte-identically, 192 +decode differently, 21 appear that did not exist before, and none was lost. +**1,310 frames the old reader never produced** — a standard NPC went from nine +frames to sixteen, the player from nine to thirty-two. + +And the eleven "missing" field objects were never missing. Their texture names +match pokeplatinum's `field_sprites.order` basenames exactly, which is +independent confirmation that the new reading is right rather than merely +different: + +| object | member | decoded | texture name | pokeplatinum basename | +|---|---:|---|---|---| +| `strength_boulder` | 82 | 16×16, 1 frame | `rock` | `rock` | +| `rock_smash` | 83 | 16×16, 1 frame | `breakrock` | `breakrock` | +| `cut_tree` | 84 | 32×32, 1 frame | `tree` | `tree` | +| `pokeball` | 85 | 16×16, 1 frame | `monstarball` | `monstarball` | +| `surf_wake` | 89 | 32×96, 3 frames | `shibuki.1`–`.3` | — | +| `briefcase` | 153 | 32×32, 1 frame | `bag` | `bag` | +| `vent` | 161 | 32×32, 1 frame | `venthole` | `venthole` | +| `regigigas` | 162 | 64×64, 1 frame | `sppoke12` | `sppoke12` | +| `moss_rock` | 168 | 16×16, 1 frame | `moss` | `moss` | +| `ice_rock` | 169 | 16×16, 1 frame | `freezes` | `freezes` | +| `bollard` | 170 | 32×32, 1 frame | `pole` | `pole` | + +`build_model.narc` — the place this document said to look next — turned out to +hold doors, counters, stairs and furniture, and nothing on that list. The +search for where the art lived was the right instinct aimed at the wrong +question: the art was where the names said it was, and the reader was lying +about it. + +**The rule this leaves behind.** A parser that is wrong only for some inputs +will be validated against whichever inputs are commonest, and two-thirds of +this archive's members are its most-common shape. Checking that *every* member +of a corpus parses — not that a sample renders — is what found it, and the +"all entries decodable" test above is cheap enough to keep. + +--- + +### Species pictures, and the sixteen with no male sheet + +`pl_pokegra.narc` is 2,964 members: **494 species slots of six**, in the order +pokeplatinum's own packer writes them (`tools/scripts/make_pl_pokegra.py`, +`for face in back, front / for gender in female, male`): + +``` ++0 back female +1 back male +2 front female +3 front male ++4 normal palette (NCLR) +5 shiny palette (NCLR) +``` + +Positional, with no name table — `pl_pokegra` has no `.order` file for +`Gen4Archives` to match — so that ordering is the only thing saying which +member is which, and it comes from the packer rather than from a guess at the +pattern. + +**Sixteen species have an empty male slot.** The obvious read is "the male +sheet is the sprite, the female sheet is the optional variant". For a +female-only species it is the other way round, and reading only `+3` leaves +Nidoran♀, Nidorina, Nidoqueen, Chansey, Kangaskhan, Jynx, Smoochum, Miltank, +Blissey, Illumise, Latias, Wormadam, Vespiquen, Happiny, Froslass and Cresselia +**with no picture at all** — and not as an error, because an empty member is a +perfectly legal member. `Gen4Pokegra.sheet` falls back and reports which slot +it used. + +A second archive confirms it without being asked to. `height.narc` is 1,976 +one-byte members — four per species, same slot order — and for exactly those +sixteen the two *male* bytes are zero-length while the female ones carry real +offsets. Two unrelated archives agreeing on which slot is empty is better +evidence than either alone. + +**The pixels are encrypted and not tiled.** Every sheet is 20×10 "tiles" at +4bpp, but the NCGR's layout flag says LINEAR BITMAP — rows of the picture, not +8×8 cells in reading order. Read as tiles it still produces *a* picture: the +right pixels in 8×8 blocks shuffled across the frame, which reads as a palette +bug rather than a layout one. `Gen4Graphics.tiles` already reports `bitmap`, +and the pixels go through `Gen4Graphics.decryptSprite` first. + +**20×10 tiles is 160×80, which is two 80×80 frames side by side** — and that is +already the shape `PicAnim` reads, so nothing is restacked. Measured across the +477 species with a male front sheet: 475 have two genuinely different frames, 2 +are identical and 2 have an empty second frame. It is a real two-frame +animation, and the shiny strip is decoded a second time through the shiny +palette rather than reusing the normal one — the cartridge loads **one** palette +for the battler and draws every frame through it, and the Gen 3 version of this +stage had the still pic shiny and the animation not, so a shiny lost its colours +for the two frames it was moving. + +**The filename carries both the id and the name.** Gen 3 names its files by the +species slug alone, which it can because a Gen 3 row is keyed by a `SPECIES_*` +constant. A Gen 4 row is keyed by its integer id and **the names collide** — +`NIDORAN♀` and `NIDORAN♂` slug identically — so a slug-only path would have one +species quietly overwrite the other's picture. `029_nidoran` and `032_nidoran` +are unique by construction and still readable to whoever writes an override. + +**What it writes.** The same field names Gen 3 writes, onto the same species +rows: `spriteFront`, `spriteBack`, `spriteShiny`, `spriteShinyBack`, +`spriteFrontFemale`/`spriteBackFemale` where the female art actually differs, +and `picAnim = { sheet, count, width, height, play, shinySheet }`. `Sprites.path` +reads the first two for every generation and `PicAnim` reads the last, so a Gen +4 spelling of either would mean a generation branch in every screen that draws a +Pokémon. + +| | | +|---|---| +| species with a front **and** a back | **493 of 493** | +| reached through the female slot | 32 (16 species × 2 faces) | +| distinct female variants written | 175 (89 front, 86 back) | +| two-frame strips, normal **and** shiny | 493 | +| species missing a picture | **0** | +| images this stage writes | 2,640 | + +The 322 species whose female member repeats the male art byte for byte get no +second file; writing it would double the stage's output for nothing. + +The `play` pattern — two beats out and back, then a settle — is **this port's, +not the cartridge's**. Platinum times the pair from a per-species animation +script that is not extracted, so the timing is deliberately identical to Gen 3's +rather than invented, so that a Pokémon does not move at one speed in Hoenn and +another in Sinnoh for no reason anyone chose. + +--- + +### The archive with two orderings inside it + +`pl_otherpoke.narc` holds the alternate forms, and it is the one piece of this +cartridge's graphics with no pattern at all. pokeplatinum's own build says so +out loud — `otherpoke_index = {} # otherpoke uses a unique, non-uniform +structure` — and the index is assembled from the per-species `meson.build` +files that populate it rather than inferred from the archive. + +**The shape**, from `make_pl_otherpoke.py` and the `154`/`94` counts the build +passes it: + +``` +0..153 sprites (NCGR), 20×10 tiles at 4bpp — the same shape as pl_pokegra +154..247 palettes (NCLR), 16 colours +248..250 the Substitute doll: back, front, palette +251..252 the in-battle shadows and their palette +``` + +Checked against the cartridge rather than taken on faith: every member in +0–153 *is* an NCGR of that shape and every member in 154–247 *is* a 16-colour +NCLR — 154 and 94, 0 wrong. + +**Two orderings coexist, and neither announces itself.** + +| ordering | species | +|---|---| +| **interleaved** — back, front, back, front, one pair per form | Deoxys, Unown, Burmy, Wormadam, Arceus, Shaymin, Rotom, Giratina | +| **grouped** — *every* back, then *every* front | Castform, Shellos, Gastrodon, Cherrim | + +Castform's four backs are 64–67 and its four fronts are 68–71. Read as +interleaved, sunny Castform's "back" is rainy Castform's back and its "front" is +base Castform's front: four perfectly plausible pictures, all of the wrong +forms, and nothing anywhere reports an error. The palettes split the same way — +Castform and Cherrim group normal-then-shiny while everyone else alternates — so +the same guess also hands sunny Castform snowy's colours. This is why the index +is a table and not arithmetic. + +**Thirty forms have no palette of their own.** Deoxys's three alternate formes +and Unown's twenty-seven letters are drawn through their species' *base* +palette; only the sheets differ. `palette` is nil on those rows and +`Gen4Otherpoke.palettes` falls back to the base form's, returning a `borrowed` +flag so a record can say so rather than imply the form has its own. + +**The egg is not a Pokémon here.** Members 132/133 are the ordinary egg and the +Manaphy egg — a front picture and a normal palette each, no back and no shiny, +because an egg is never sent out and never sparkles. They carry `species = 0`. + +Every `base` form duplicates what `pl_pokegra` already holds for that species. +That is the cartridge's doing, not a mistake: the form-switching code reads one +archive rather than two. + +| | | +|---|---| +| form records written | **78**, across 12 species | +| images | 463 | +| forms borrowing the base palette | 30 (Deoxys ×3, Unown ×27) | +| forms with a two-frame strip | 78 (76 also in shiny — the two eggs have none) | +| forms with a back picture | 76 (the two eggs have none) | +| species rows carrying `.forms` | 12 | + +Plus the three that belong to no species: the Substitute doll's front and back, +and the in-battle shadow sheet. Both are wanted the moment a battle runs — the +doll as soon as something uses Substitute, the shadow under every battler. + +Verified by looking at all 78: Castform's four weathers are the right four +colours, Shellos and Gastrodon are pink and blue the right way round, Cherrim is +closed then open, Arceus's eighteen plates each recolour correctly, Unown's +twenty-eight letters are twenty-eight distinct shapes sharing one palette, and +Rotom's five appliances are five appliances. The four grouped species are +exactly the ones a wrong reading would have scrambled, which is what makes +looking at them the test rather than a formality. + +--- + +### Thirty bands, and the lookup that could not miss + +Two things were settled at once here, and neither would have been settled alone. + +#### What a script id means + +The old note in this file said 2,148 events carried an id past the end of their +map's script list, called them `special`, and stopped: *"what each band means is +not claimed here, because nothing has established it yet."* The cartridge +establishes it. `ScriptContext_LoadAndOffsetID` is a linear scan from the +highest threshold down: + +``` +if id >= 10490 -> scratch-off cards, entry id - 10490 +else if id >= 10450 -> frontier records, entry id - 10450 +... +else if id >= 2000 -> common scripts, entry id - 2000 +else if id >= 1 -> THIS MAP's own file, entry id - 1 +else -> the dummy script +``` + +Thirty bands, each naming a file in `scr_seq.narc` and a text bank. An id in a +band is not special — it is an ordinary entry point in a shared script file. +**1,885 of the 1,920 land inside the file their band names.** The 35 that do +not are all the single value 65535, which is the "no script" sentinel wearing +the top band's clothes. + +The battle bands are worth a line of their own: **3000 and 5000 point at the +same file**, and which one an id came through is what tells the engine singles +from the second half of a double. `Script_GetTrainerID` subtracts the band's own +threshold either way, so the trainer number is identical and the *band* carries +the battle kind. + +**A bug fell out of writing this.** The link stage kept its unresolved ids in one +table keyed by an object's `localId` *and* by a sign's index — both small +integers — so a sign with index 1 silently replaced the object with `localId` 1. +**228 of 2,148 entries, better than one in ten, were being overwritten**, and +nothing counted them because the count was taken before the write. Objects and +signs have a table each now, and all 2,101 survive. + +#### The lookup that could not miss + +Classifying the bands made a second table available: what each object *is*. So +cross-tabulate it against what each object is *drawn as*. That table read: + +> `berry_tree_interactions` — 118 objects, every one drawn as **Team Galactic's +> Mars**. `mystery_gift_deliveryman` — 13 objects, every one drawn as a +> **blooming Lum berry**. `tv_reporter_interviews` — 12 objects, drawn as +> **Teala**, the Pokémon Centre attendant. + +A map object's `graphicsId` **does not index `mmodel.narc`.** It is a key into +`gObjectEventGfxTexturesTable`, a flat list of `{ u32 graphicsID, u32 narcIndex }` +pairs that the field engine searches linearly and that ends at `0xFFFF`. Reading +the id as a member number resolved for every single object — every id in range +names *a* member — and was wrong for all 3,555 of them: + +| id | count | what it is | what it was drawing | +|---:|---:|---|---| +| 85 | 591 | `ROCK_SMASH` | `pokeball` | +| 87 | 331 | `POKEBALL` | `unused_woman_1` | +| 27 | 101 | `TEALA` | `scientist_m` | +| 124 | 77 | `GRUNT_M` | `mira` | +| 84 | 50 | `STRENGTH_BOULDER` | `cut_tree` | +| 86 | 49 | `CUT_TREE` | `unused_woman_0` | + +**Zero of 3,555 objects had the right art**, and the earlier line in this +document — "3,555 of 3,555 map objects resolve one" — was not evidence of +anything. A lookup that cannot miss cannot tell you it is wrong. + +**The table is read from the cartridge**, not transcribed: found by its own +shape, 441 rows at overlay 5 + 0x2BC34, matching pokeplatinum's table row for +row. Only the *names* come from pret. Finding it took three attempts and each +failure is worth keeping: + +1. **First match is the wrong match.** The same overlay holds + `gObjectEventGfxModelsTable`, identical row shape, also starting at id 0, and + it sits *earlier*. A first-match scan returns 18 rows instead of 441 and + answers every id it knows with a member from the wrong archive. This is the + second time in this project a first-match scan locked onto the wrong run — + the type chart did it too. +2. **Longest match is not enough either.** The table maps `gfx1`–`gfx6` to + members 0–5, so reading it twelve bytes late — one column out — *also* sees + `0,1,2,3,4,5` ascending at a stride of eight, and then runs 1,320 rows past + the end because the real terminator is in the other column. +3. **An invariant separates them, but only the right invariant.** The second + column is an `mmodel.narc` member index, so every value must be in range for + that archive; read one column late it is the next row's `graphicsId`, and the + berry ids (4096+) are far out of range. The obvious companion check — that + the ids ascend — *rejects the real table*, because the berry block is spliced + into the middle rather than appended and the run breaks three times. An + invariant that is almost true is worse than none: it throws away the right + answer and keeps a plausible wrong one. + +**An id with no row is not a missing sprite.** 427 objects carry one and they +are objects with no billboard of their own, recorded with a reason rather than +as a failure: + +| reason | objects | what they are | +|---|---:|---| +| `signpost` | 212 | signboards, arrow signs, gym signs — part of the map | +| `berry_soil` | 118 | the planting spot; what grows on it is a berry id above 4095 | +| `runtime_variable` | 62 | `VAR_0`–`VAR_C`, substituted at run time exactly as Gen 2 substitutes its `$F0+` sprites | +| `map_prop` | 35 | the Snowpoint snowball, the Elite Four doors, a readable book, the wall across Rotom's room | + +After the fix: **3,128 resolved, 427 no-billboard-by-design, 0 broken** — and +the cross-tabulation now reads the way it should. + +| band | objects | the art they wear | +|---|---:|---| +| `field_moves` | 688 | `rock_smash` ×590, `strength_boulder` ×49, `cut_tree` ×49 | +| `visible_items` | 329 | `pokeball` ×329 | +| `berry_tree_interactions` | 118 | `berry_soil` ×118 | +| `pokemon_center_2f_common` | 54 | `teala` ×54 | +| `mystery_gift_deliveryman` | 13 | `mystery_gift_deliveryman` ×13 | +| `tv_reporter_interviews` | 12 | `reporter` ×12 | +| `follower_partners` | 4 | `cheryl`, `marley`, `buck` — the three dungeon partners | +| `day_care_common` | 2 | `expert_m`, `expert_f` — the Day Care couple | + +Each of those is two independent tables agreeing. That is the check; one table +looking plausible never was. + +--- + +### What is in the balls, and under the ground + +591 of the map's events are a pickup, and the cache recorded only that they had +a script. The item each one holds is knowable — and the two kinds are knowable +in completely different ways, which is the whole content of this. + +**A visible item carries its item in the script.** Id `7000+n` reaches entry `n` +of `scripts_visible_items`, and every entry is the same three instructions: + +``` +setvarfromvalue 0x8008, +setvarfromvalue 0x8009, +goto +``` + +327 of that file's 328 entries are exactly that; the odd one out is the last. +Every quantity in the game is 1. + +**A hidden item does not.** All 284 entries of `scripts_hidden_items` point at +**one offset** — they are literally the same routine 284 times — and it reads +its item out of script variables the engine fills in beforehand. Those come +from `gHiddenItems` in the ARM9: 257 rows of + +``` +u16 item, u8 quantity, u8 searchRange, u16 padding (always 0), u16 script +``` + +**searched by `script == id - 8000`, not indexed by it.** The script numbers are +derived from flag ids and are not consecutive, so a lookup by row position is +wrong for most of the table. + +Both tables are read from the cartridge. The hidden one is found by shape — +and the padding halfword is what finds it, because two zero bytes in the middle +of every row is not what code or a string table looks like. Measured: the same +address comes back with the item ceiling anywhere from 468 to 65535, so the +shape identifies it and the ceiling is only a bound. + +**Which is exactly where this went wrong once.** Bounding the item id by +`pl_item_data.narc`'s member count looks like the careful choice — use the +cartridge's own number rather than a magic constant — and it is wrong. The data +archive has **446** members and item ids run past it; the real table holds one +of **451**. So the run breaks in the middle, the finder returns **216 rows +instead of 257**, and 41 hidden items vanish with no error anywhere. The item +*name* bank (468) is the id space; a plain large bound is safer still. Third +time in this document that an invariant which is *almost* true did more damage +than no invariant at all. + +| | | +|---|---:| +| item balls resolved | **329 of 329** | +| hidden items resolved | **262 of 262** | +| maps holding at least one | 140 | +| commonest | Rare Candy ×32, Ultra Ball ×30, Star Piece ×20 | + +Spot-checking against the game rather than against the tables: Route 228 comes +out holding PP Max, Protector, Shiny Stone, Shed Shell and TM37, and the water +route W220 holds a Splash Plate. Those are the right items on the right routes. + +--- + +### The trainer field that is not the class + +Same audit, applied to the 417 map objects whose script id is in a battle band. +The trainer number comes out of the band exactly as the cartridge derives it — +`id − 3000 + 1` or `id − 5000 + 1` — and all **417 land inside the 928-entry +trainer table**. That part was right. + +What was not: a trdata header is + +``` +u8 monDataType, u8 trainerType, u8 sprite, u8 partySize, +u16 items[4], u32 aiMask, u32 battleType +``` + +and the obvious reading is that `sprite` says which trainer to draw. Measured +across all 928 trainers, **`sprite` is zero for every single one.** The class is +`trainerType` — 102 distinct values in 0–102, against a 105-entry class list — +and the game agrees: `TRDATA_CLASS` reads `trainerType`. Cross-checking the +wrong field made every trainer in Sinnoh a Player (Male). + +**The check that says the join is right** is again two tables that know nothing +about each other. Of the 63 trainer classes that appear on a map, **60 are drawn +as exactly one overworld sprite**, and the three that are not are pair classes +fought by two visible people: + +| class | drawn as | +|---|---| +| `belle_and_pa` | `rancher` ×2, `cowgirl` ×2 | +| `double_team` | `ace_trainer_f` ×3, `ace_trainer_m` ×3 | +| `young_couple` | `pokemon_breeder_f`, `beauty`, `pokemon_breeder_m`, `guitarist` | + +A wrong join does not produce a 60-out-of-63 one-to-one mapping with its +exceptions all being couples. + +Map objects now carry `trainer = { id, class, className, name, partySize, +battler }`. `battler` is which half of a double this object is, and it comes +from the **band** rather than from the number, because 3000 and 5000 reach the +same file and only the band tells them apart. Class names come from message bank +**619**, found by looking rather than assumed: it has 105 entries and answers +"Youngster" and "Lass" at 2 and 3, exactly where the class list puts them. + +**One thing that looks broken and is not.** Sixteen class names come out as +`₧₦ Trainer`, `₧₦ Breeder`, `₧₦ Ranger`. Those are character codes `0x01E0` and +`0x01E1`, and rendering the two glyphs out of the message font settles what they +are: they draw **`Pĸ`** and **`Mɴ`**, the double-width PK/MN ligature pair, 12 +pixels each against 6 for an ordinary letter. The cache is correct and the font +draws the real thing; `₧₦` is only the ASCII stand-in, and it is deliberately +*one character each* so the charmap still round-trips. Do not "fix" it into +`Pokémon` — that changes every measured line width in the game for a difference +no player sees. + +--- + +### The height field, and the two checks that make it believable + +A Gen 3 map is flat and its one elevation byte per tile is the whole story. A +Gen 4 map is a mesh: a bridge crosses a path and the two share an (x, z), a +slope rises between two tiles that are both "ground". The `BDHC` block in each +land chunk is the cartridge's own answer, and it is small, self-checking and +independent of the mesh — so it comes out now while the NSBMD does not. + +**The layout**, read strictly in file order from `BDHC_LoadHeader` and +`BDHC_PrepareBuffers`: + +``` +"BDHC" 4 bytes +u16 points, normals, constants, plates, strips, access +point { fx32 x, z } 8 bytes each +normal { fx32 x, y, z } 12 bytes each +constant fx32 4 bytes each +plate { u16 first, second, normal, constant } 8 bytes each +strip { fx32 scanline, u16 count, u16 start } 8 bytes each +accessList u16 2 bytes each +``` + +**Check one — the identity test**, because "BDHC" is four bytes and four bytes +is a weak promise: `16 + 8p + 12n + 4c + 8P + 8s + 2a` must equal the declared +block size exactly. **666 of 666 chunks pass**, none empty, none failing. A +layout that is right for most files and wrong for some is the failure mode this +catches, and it catches it per chunk rather than on average. + +**Check two — reproduce the cartridge's index and compare it to brute force.** +The game does not test every plate: it binary-searches the strips by scanline, +then tests only the plates in that strip's slice of the access list. That search +is transcribed including its off-by-one shape (on the "go higher" branch it +answers `mid + 1`), because reproducing the *search* rather than the intent is +the point — if the cartridge picks strip *n*, an extractor that picks *n−1* +disagrees with the game about where the ground is. Then: sample 56,832 points +and compare the strip-indexed answer against testing all 8,974 plates. +**56,830 agree exactly.** The two that differ are points where brute force finds +an extra coincident plate the strip does not name, and the height is the same +either way. That one test exercises the header, all six blocks, the fixed-point +conversion, the plate geometry, the plane equation, the binary search and the +access list at once. + +**The units, which the data states rather than the docs.** `fx32` is 1:19:12 — +divide by 4096. A land chunk is 32×32 tiles, and a flat chunk's single plate +spans **−256..256**, so a tile is **16 world units and the chunk is centred on +the origin, not cornered at it**. Measured: 49 of the 54 single-plate chunks +cover all 1,024 of their tiles under exactly that mapping. Getting the origin +wrong first put coverage at 17%. + +**And a negative result worth as much as the positives: this is not a +walkability map.** Tiles the permission grid calls void are covered by a plate +**75.6%** of the time; real ground, **72.3%**. That is no correlation at all, +and the reason is in the engine: where no plate covers a point, +`CalculateObjectHeight` returns FALSE and the height is *left alone*. Plates are +the exceptions, not the surface. The permission grid and the height field answer +different questions and neither can be derived from the other — which also means +this was never going to be a cross-check, and saying so is better than quietly +reporting the 72% as if it confirmed something. + +| | | +|---|---:| +| chunks with a BDHC | **666 of 666** | +| plates | 8,974 | +| points / normals / constants | 15,464 / 1,275 / 2,227 | +| strips / access-list entries | 3,569 / 24,838 | +| normals that are exactly (0,1,0) | 666 — one flat normal per chunk | +| parse failures | **0** | + +Heights come out quantised to multiples of 8 — 8, 16, 32, 48, 64, 80, 96, 112 — +which is what a tile-based game's elevation steps look like, and is the cheapest +sanity check that the fixed-point conversion is right. + +### The crash that proved the cache was reading Red's world + +The first New Game on an imported Platinum died in `MapLoader.lua:66` with +`unknown map: REDS_HOUSE_2F`. Nothing in the Gen 4 extractor mentions Red's +house, and that is exactly the point. + +`Game:bootConfig()` reads `self.data.field.boot` to learn where a new game +starts. The Gen 4 extractor wrote 28 tables and `field` was not one of them. +`Data.lua`'s overlay is **additive**: a module the current cache does not +provide is not an error, it is inherited from the classic data that ships with +the engine. So the boot config resolved, cleanly and silently, to Red's — and +the first thing the engine did with a Platinum cache was ask a Platinum map +registry for a Kanto map name. + +This was predicted in writing and still happened. `Data.lua`'s own comment on +the module says `field` is where `boot.startMap` and `boot.screens` live, and +notes that this is how NEW GAME on Emerald once opened Red's intro in Red's +house. `field` had been unblocked from `CLASSIC_ONLY` when Gen 3 learned to +write one; Gen 4 inherited the permission without inheriting the stage. **A +documented trap is not a fixed trap.** + +#### Two tables, and the one that anchors the other + +Platinum keeps the answer in two ARM9 tables that have to agree. + +*Location pairs* — 20-byte records of `{ mapId, x, z, facing, warpId }`, +holding the new-game start and the post-blackout respawn. Searching for the +shape alone found three candidates, then two after the obvious junk was +dropped, and a shape search that returns two answers has told you nothing. + +*`sSpawnLocations`* — 16-byte rows mapping a fly/heal destination to its map +and coordinates. Row 0 is Twinleaf Town, which is also where a new game starts +and where the player wakes after a blackout. + +So the pairs table is not identified by its own shape at all. It is identified +by **agreeing with row 0 of the other table**: the respawn record must name the +same fly map and the same coordinates that spawn row 0 does. One candidate +survives, and it survives for a reason that is about the cartridge rather than +about the search. + +#### Two almost-true rules, one kept and one thrown out + +Finding `sSpawnLocations` by longest run of plausible rows landed on a bogus +26-row table at `arm9+0xEA548`. The rule that killed it is a real invariant: a +blackout position has to fall **inside the map definition it names** — every +respawn in this game is indoors (a Pokémon Centre or a bedroom), so each row's +`(x, z)` must sit within its own map's bounds. That is a property of what the +data *means*, and it holds for all 20 real rows. + +The rule that had to be thrown out was mine. "First-arrival ids increase down +the table" looked true, matched the first sixteen rows, and truncated the table +to sixteen — row 16's value is 5, after row 15's 17. It was a pattern in the +data, not a constraint on it, and it cost four heal locations. + +That is the fourth time this session a nearly-true invariant has been the bug +(the type chart's first terminator, ascending object-graphics ids, the hidden- +item ceiling taken from an archive's size, and now this). The distinction that +matters each time: an invariant derived from *what the field is for* holds; one +derived from *what the values happen to look like* does not. + +#### What the stage writes + +``` +start T01R0202 (4,6) facing up heal locations 20 +boot.startMap = T01R0202 +boot.startFacing = up +boot.lastHeal = T01R0201 (8,8) +boot.screens.newGame = false +source = ROM:Platinum (locations arm9+0xEA12C, spawns arm9+0xE97B4) +`maps` contains T01R0202 : YES +heal rows with both maps named : 20 of 20 +``` + +`src/import/Gen4Field.lua` holds the reader; `extractField` is the 29th stage. +The two checks that make the result believable are the cross-table anchor above +and the fact that every map either table names is a map the `maps` stage +independently produced — 20 of 20, with no name invented by the field reader +itself. + +#### The half of the fix that is not a fix + +An **existing** Platinum cache has no `field.lua` and nothing would make it +re-import: the boot would keep resolving to Red's forever, and the only symptom +is a crash that names a Kanto map. So `"data/generated/field.lua"` is now in +`REQUIRED_FILES_GEN4` in `RomImporter`. It is not one of `Data.lua`'s required +fifteen — it is listed because a *missing* one is invisible rather than fatal, +which is the property that makes it dangerous. Naming it turns an old cache +into a reported gap and an offer to re-import. + +The same list had a second hole found on the way in: `requiredFiles` had no Gen +4 case at all and fell through to the Gen 1 list, so a *successful* Platinum +import would report five phantom missing files for ever after. + +**Platinum must be re-imported for this to take effect.** + +### The title, the card and the menu — and the eighteen tiles that decide them + +The second half of the crash report was that nothing appeared: no Platinum +intro, no main menu, no menu graphics behind NEW GAME, CONTINUE or OPTION. The +art for all of it was extracted months of work ago. What did not exist was +anything that drew it — and, underneath that, anything that knew what shape a +Gen 4 window *is*. + +#### Boot screens are named data, and Gen 4 named none of them + +`Game:init` does not decide which intro or title to show. It reads +`field.boot.screens.splash` and `.title`, and `Data.lua` overrides each one only +while it still equals the default — Gen 2 takes `Gen2Intro`, Gen 3 takes +`Gen3Title`, and a generation that names nothing keeps **Red's**. That is the +same additive-overlay failure as the start map, one field along, and the fix is +the same shape: the field stage now writes + +``` +screens = { splash = "Gen4Intro", title = "Gen4Title", newGame = false } +``` + +Every override in `seedDefaults` is guarded by `== BOOT_DEFAULTS.screens.x`, so +a value stated here is left alone by all of them. `newGame = false` stays +deliberate: `OakSpeech` replays a professor's intro out of text Platinum does +not have, and Platinum's own opening is Rowan's, which is a script on the intro +map rather than a screen. + +#### The frame is eighteen tiles and the arrangement is not guessable + +Everything a menu draws goes through `Font.drawBox`, and `Font.drawBox` wants a +frame. Platinum has two kinds in `pl_winframe`: + +* **`standard_system` / `standard_field`** — nine tiles, and a genuine + nine-slice. `DrawStandardWindowFrame` places `+0..+8` row-major with `+4` + never drawn, because the interior is the window's own text bitmap. That is + exactly the engine's existing nine-slice contract, so these needed **no new + drawing code at all** — only the sheet composed three tiles across instead of + eight, which is the same pixels at a different stride. +* **`message_box_00` … `19`** — eighteen tiles each, with their own palette + each, and **not** a 3×3. + +Eighteen reads equally well two ways. As 3 wide by 6 tall it is two stacked +frames; as 6 wide by 3 tall it is one frame with fat caps. **Both draw a +rectangle.** Rendered at three across, the result is a plausible tall box with a +brown smear down its middle — the kind of output that gets accepted because it +is not obviously broken. + +It is 6×3, and the cartridge says so outright rather than leaving it to be +inferred from what the tiles look like. `DrawMessageBoxFrame` places them +against a window at `(x, y)` sized `(width, height)`: + +``` +row y-1 +0 at x-2 +1 at x-1 +2 across width +3 +4 +5 at x+width..+2 +rows y..y+h-1 +6 at x-2 +7 at x-1 [window content] +9 +10 +11 +row y+height +12 +13 +14 across width +15 +16 +17 +``` + +One rule for all three rows: row bases 0, 6, 12, and within a row the columns +are `+0, +1, +2` repeated, `+3, +4, +5`. The caps are **unequal** — two tiles +left, three right — which is why it reaches past both sides of the box and why +no symmetric reading of it is right. + +`+8`, the middle row's repeating tile, is the one member of the eighteen the +cartridge never places, because the window's text bitmap covers exactly that +region. This engine draws text straight onto the box, so it *does* place that +tile and gets the same picture. It is also the only solid tile in the sheet, +which makes it the honest place to read the interior colour from for a box too +narrow to have a middle. + +A first pass here also produced a *wrong* invariant worth recording: measuring +whether the four "middle" tiles of each frame were identical, 19 of 20 said no — +which looked like proof the frame was **not** a nine-slice. It was proof the +grid was six wide, not three. **A test that rejects your hypothesis has not +told you which of your assumptions it rejected.** + +Both records go into `data.font`, which is the table `Font.lua` already reads: + +``` +frames = { image, count = 2, cell = 24, tile = 8 } +dialogueFrame = { image, count = 20, tiles = 18, layout = "gen4", fill } +``` + +`Font.lua` gained one guarded branch. Its existing dialogue reader is FireRed's +— five-tile rows mirrored back down — so a Gen 4 strip run through it would draw +a box that is merely wrong instead of failing; `layout = "gen4"` is what stops +that, and the quad builder now indexes one row per frame, which for FireRed's +single-frame strip is bit-for-bit what it built before. Nothing on the Gen 1, 2 +or 3 path changes. **The payoff is that every box in the game is Platinum's in +one step** — menus, choice boxes and dialogue — instead of twenty screens each +drawing their own slightly different rectangle. + +#### The menu is the cartridge's, including its numbers and its words + +`main_menu.c` states the layout outright and it is transcribed rather than +eyeballed: options are windows at **x = 3, width 26 tiles**, the first at +**y = 1**, each next one `height + 2` below ("Add 2 to account for the window +border"), `height` being `TEXT_LINES_TILES(n)` = `n × 2`. CONTINUE is five lines +because it carries the save summary *inside its own window* rather than opening +a panel; everything else is one. Labels sit 32 px in, values right-aligned to +the same 32 px — one constant, `CONTINUE_WINDOW_MARGIN`, used on both sides. + +The words come from **message bank 550**, read out of this cartridge and +confirmed entry by entry: 21 strings, 0 = CONTINUE, 1 = NEW GAME, 12 = PLAYER, +13 = TIME, 14 = POKéDEX, 15 = BADGES — exactly the order +`sOptions` and `sContinueOptionStringsIDs` expect. The NEW GAME warning +("there is already another saved game file") is bank 14 entry 5. + +Two honest departures, both marked in the data rather than buried in the screen: + +* **Six of Platinum's eight rows are not offered** — Mystery Gift, the Ranger + link, GBA migration, both Wii rows and the Wi-Fi settings. None of them can do + anything here, and a row that does nothing is worse than a row that is absent. +* **OPTION is this engine's, not the cartridge's.** On the DS, text speed and + the message frame live in the in-game START menu, so a player who has not + started a game cannot reach them. Every other title this engine boots offers + the row; the record says `fromCartridge = false` so it cannot later be + mistaken for extracted data. EXIT GAME is the launcher's, on the same terms. + +The dex row is **skipped, not blanked**, the way `RenderContinueOption` +`continue`s past it — so the summary is four rows or three, never four with a +hole. + +#### Where the artwork actually is + +The title archive's sheets are 256×192 or 256×256 and mostly empty. Drawn at +0,0 on the sheet size, the logo lands forty rows low and "VERSION" is cut off at +the screen seam — which looks like a layout choice rather than a measurement +nobody took. So the menus stage measures each picture's content box off the +composed pixels: + +| | content box | +|---|---| +| `logo` | x 15, y 27, 225 × 122 | +| `copyright` | x 64, y 64, 128 × 56 | +| `gf_presents` | x 5, y 181, 151 × 9 | +| `top_screen_border` | the full 256 × 192 | + +Two different kinds of background occur here and only one of them is +transparency: the logo is on a transparent sheet, the copyright is white text on +an **opaque black** 256×256 sheet where alpha finds everything. Treating "fully +transparent **or** exactly the top-left pixel's colour" as background covers +both without the measurer needing to know which kind it has. + +`Gen4Title` then splits the screen by what has to fit in each half — the logo's +height above, the copyright block's below, the fourteen spare rows shared — and +centres each in its band. Nothing in the file is a magic number. + +#### What the three screens are, and what they are not + +* **`Gen4Intro`** — the GAME FREAK card, faded up and away, skippable from the + first frame. The cartridge's opening is that card, then Giratina turning + through a portal, then the title; the middle one is `giratina.nsbmd`, a 3D + model, and there is no 3D path yet. So the card plays and **nothing invents a + substitute for the portal.** When the mesh pipeline lands it belongs exactly + here. +* **`Gen4Title`** — `top_screen_border` with the logo faded up on it, the + copyright block on the dark strip below. A DS title is two panels and this + engine draws one surface, so the two are composed into one 256×192 screen + rather than the copyright being dropped; when the second screen exists, the + file splits along the seam the two borders already mark. "PRESS START" is this + port's — Platinum simply waits, and a window with no hardware START button has + to say which key opens the menu. +* **`Gen4MainMenu`** — the rows above, drawn in Platinum's own window frame and + its own font, with the save summary inside the CONTINUE window. + +One detail that would otherwise have read as a font bug: the menu draws its text +at **white, not black**. Platinum's font page is pre-tinted — the sheet bakes the +letter dark and its shadow light — so multiplying it by black, which is what +every Game Boy screen in this engine does because its glyphs are a mask, would +paint the shadow black too and thicken every letter. + +`gen4_menus.lua` joins `field.lua` in `REQUIRED_FILES_GEN4`, for the same reason +that one is there: a cache with the boot screens and without the record boots to +a black title with nothing on it, which looks like a broken screen rather than a +missing table. + +### OPTIONS, and the row that would have stored the opposite of what you picked + +`boot.screens.options` was still the default, so OPTION on the new main menu +opened the **Game Boy** screen: Gen 1's rows, and a FRAME row that cannot reach +Platinum's twenty message boxes. The record now names `Gen4Options`. + +The vocabulary is **message bank 220**, read out of this cartridge and checked +entry by entry — 53 strings: 0 = OPTIONS, 3–8 the six row names, 10–21 their +values, 22–41 the twenty frame names spelled out one per entry, 43–48 a +one-line description per row, 52 = "Return to the game." + +**The reason this is not the Gen 3 screen with different words** is one line of +`constants/game_options.h`: + +``` +OPTIONS_SOUND_MODE_STEREO = 0, +OPTIONS_SOUND_MODE_MONO +``` + +Platinum lists **STEREO first**. Emerald lists MONO first. Reusing Gen 3's row +would have put the right two words on screen in the wrong order, stored the +opposite of what the player chose, and looked completely correct doing it — +there is no symptom until someone notices the sound did not change. BUTTON MODE +differs the same way: Emerald's middle setting is LR, Platinum's is START = X. +Every row's values are the enum's order, not a reading of what looks natural. + +Which rows actually bite, stated rather than implied: + +| row | what it does here | +|---|---| +| TEXT SPEED / BATTLE SCENE / BATTLE STYLE / SOUND | map onto options this port already honours | +| **FRAME** | **live** — picks one of Platinum's twenty message boxes, which `Font.drawBox` now reads | +| BUTTON MODE | stores all three; only `L = A` bites, because `START = X` is a DS mapping with no counterpart here | + +FRAME is the interesting one: it is inert on the Game Boy screens and real +here, because the dialogue-frame work above gave it twenty things to choose +between. It writes `options.gen3Frame` — the field `Font.lua`'s frame chooser +reads on every generation. The name is Gen 3's because that is where the +chooser was written; renaming it would mean editing `Font.lua` for nothing, and +a save carried between cartridges keeping one frame choice is what a player +would expect anyway. + +**CONFIRM is extracted and deliberately not offered.** Platinum stages the +changes and applies them when you pick CONFIRM; this engine applies each change +as it is made, the way every other OPTION screen in it does. A CONFIRM row here +would either do nothing or promise a staging model that does not exist. The +strings are kept for the day it does. + +**The engine's own rows follow the cartridge's**, through the `ui.options.rows` +hook rather than straight from `buildRows` — the same argument, and the same +bug-avoidance, as the Gen 3 screen. Platinum has no volume sliders, no video +mode, no key bindings and no mod manager; a player on Platinum who could not +reach those would have lost every setting the other versions have because a DS +had no menu for them. Going through the hook is what stops a mod's rows being +present on every version but this one. + +### The opening, read out of the cartridge — and four things the log said + +Platinum booted, the menus drew, and a New Game opened straight into the +bedroom with no intro at all. Five separate faults, and the running game's own +log named four of them outright. + +#### `player sheet: SPRITE_RED -> ninja_boy` + +One line, and the most visible bug in the build. With no `field.playerSprites` +the avatar falls back to a **Game Boy sprite id**, which a Gen 4 cache then +resolves through its own sprite table to whatever happens to sit there. +`ninja_boy` is mmodel member 1; the player is member 0. So the hero walked +Sinnoh as a passer-by, and nothing anywhere reported an error — the lookup +succeeded, at the wrong thing. + +The field stage now writes both shapes `Player:refreshForm` reads — +`playerSprites` for the default pair and `playerForms[gender]` for the override +the intro's answer selects — for walking, cycling, surfing, fishing and the +Poké Ball pose, for both characters. Found **by name**: `player_m` and +`player_f` are what the object-graphics table calls them, and a name cannot be +off by one the way an id can, which is exactly the mistake being fixed. The +result cross-checks itself: boy 90 / girl 91, bikes 92 / 93, surf 159 / 160 — +adjacent pairs throughout, which is what a hero pair looks like and what a +mis-resolved lookup does not. + +#### The opening: a television, then Rowan + +`boot.screens.newGame` was `false`, and that was the whole of "New Game has no +intro". OakSpeech replays a professor's intro out of text Platinum does not +have, so there was nothing to put there. + +There is now. Two archives, **neither of which has a name table** — ten members +and fifty, none named — so the generic screen planner cannot touch either and +every member index is arithmetic. Arithmetic is the thing this project has been +burned by most, so none of it is inferred: all of it is transcribed from the +cartridge's own loaders (`RowanIntroTv_InitGraphics`, +`RowanIntro_LoadInitialTilemaps` / `_LoadLayer3Tilemap` / `_LoadTilemap`), and +every composed picture is then looked at. + +Which caught the television immediately. Its palette is **two loads, and the +picture is in the second one**: + +``` +Graphics_LoadPalette(..., 6, PAL_LOAD_MAIN_BG, 0, 0, ...) +Graphics_LoadPaletteWithSrcOffset(..., 9, ..., 0x20*2, 0x20*2, 0x20*14, ...) +``` + +Member 6 fills the whole background palette; member 9 then overwrites colours +32 upwards, and the broadcast is drawn almost entirely out of those. Composed +with member 6 alone it is a black rectangle with coloured noise in it — which +reads as a decoder bug rather than as a half-loaded palette, and would have +sent the next hour into the tile reader. With both loads applied it is a +Sinnoh town under a blue sky, which is what the news report shows. + +The set is three background layers, back to front: the broadcast (tiles 8, +tilemap 7, 256-colour), a scanline overlay (2 / 5), and the bezel (1 / 4). +`BG_LAYER_MAIN_2` is initialised and then cleared — it is the CRT band the app +scrolls at run time, not a picture, so there is nothing to extract for it. + +Rowan's scene is one tile sheet and five tilemaps for the backdrop, and **ten +figures that are all full-screen pictures rather than sprites**: each is a +(tiles, palette) pair laid out with the *same* tilemap, member 23, which is why +the cartridge's table is a list of pairs and nothing else. They come out as +Rowan, four poses of Lucas, four of Dawn, and Barry — everything the intro +needs, including both characters for the boy-or-girl question. + +A figure's palette is loaded into row 7 or 8 and the app then rewrites its +tilemap's cells to point there. Extracting one picture at a time there is no +second layer to keep out of the way, so the sixteen colours are replicated +across every row instead: whatever palette index a cell carries, it lands on +that figure's own colours. Same picture the hardware draws, no cell rewriting. + +The script is **bank 389**, 45 entries, checked against every id in +pokeplatinum's own text file — and the page breaks were already in it. Gen 4 +writes `0x25BC` for "wait, then clear" and `0x25BD` for "wait, then scroll", +and the decoder renders them as CR and FF, so a page is a split on those +characters rather than something the screen has to count. The television's line +is **bank 607**, one entry. + +`Gen4RowanIntro` plays the main line: the greeting, who you are, your name, +your friend's name, the send-off. **CONTROL INFO and ADVENTURE INFO are +extracted and not offered** — they are tutorials about a touch screen and a ++Control Pad this port does not have, and a lecture describing hardware the +player is not holding is worse than one they never saw. Both are in +`gen4_intro` so a mod can put them back. + +Gender writes `save.player.gender` **and calls `refreshForm`**, because New Game +pushes the overworld first and this screen on top of it: the Player object +already exists and has already chosen its sheets, so writing the save alone +changes what the *next* one would wear. That is the bug that sent a player who +chose the girl out of the bedroom as the boy on Gen 3, and it is the same bug +here. + +#### The black screen was the studio card + +"Developed by GAME FREAK inc." occupies rows 181–189 of a 256×192 sheet — the +bottom-left corner — because on the hardware it is the **bottom** screen and +the credit sits under the picture on the top one. Drawn as it stands on one +screen it is a black field with a line of type in the corner, which reads as a +screen that failed to load. It is centred now, using the content box the menus +stage already measures. + +#### "The tiles are too small" + +The main menu's geometry was the cartridge's and still looked wrong, for a +reason the cartridge never has to think about: its menu is **eight** rows, six +of them link features this port does not offer, and CONTINUE's window alone is +ten tiles. With no save and no link rows the stack is three short windows, +which at the cartridge's own `y = 1` sit in the top third of the screen and +leave the rest empty. The window sizes and spacing are still `main_menu.c`'s; +only where the block starts is this port's. + +#### OPTION in the START menu was still Kanto's + +The boot record named `Gen4Options`, but **only the main menu reads that +record** — every other call site in the engine hardcodes the Game Boy id, which +is the same gap `GEN3_ALIASES` exists to close. There is now a `GEN4_ALIASES` +beside it, and it has exactly one entry, because Platinum's bag, party screen, +summary pages and trainer card are all *extracted* and none of them has a +screen to draw with yet. Those ids still open the Game Boy ones. Adding an +alias for a screen nobody has written would open a module that is not there. + +#### And one thing that was not a bug + +"I spawn in a weird area that isn't my bedroom." `T01R0202` **is** the bedroom, +and the map loader put the player on the right tile of it. What is wrong is +that it does not look like one: Gen 4's world is 3D and has no 2D tileset, so +every map is drawn with the synthesised stand-in — one flat colour per terrain +class — and a bedroom floor and a meadow are both "walkable", so both are +green. The map meshes are the fix, and they are still the largest thing +outstanding. + +### The mesh reader, and the one number that could not be argued with + +"Make sure the starter select box animation and 3D models working" turned out +to be the same job as the map meshes, Giratina on the title, and every field +effect: **Platinum's starter selection is real 3D.** `choose_starter_app.c` +loads six NSBMD models and four NSBCA animations out of +`/graphic/ev_pokeselect.narc` — the briefcase with its opening animation, three +Poké Balls each with their own, and a ground plane — and renders them with the +DS geometry engine. Nothing in this engine could read an NSBMD at all. + +`Gen4Models` reads NSBTX, the *texture* archives the overworld sprites turned +out to be, and stops there on the grounds that the sprite question did not need +a mesh pipeline. It did not. Everything else does. + +#### Why a display-list decoder cannot be checked by looking at it + +A decoder that is subtly wrong does not fail. It emits *some* vertices and +*some* triangles, and the result is a mesh — crumpled, inside out, or missing a +limb, but a mesh. A wrong entry in the command-length table desynchronises the +stream and it keeps decoding, into geometry-shaped garbage. There is no error +to catch and no exception to report. + +The cartridge settles it. Every model header states **`numVertex`, +`numPolygon`, `numTriangle` and `numQuad` outright**, and not one of those +numbers is used to decode anything — they are the file saying what a correct +decoder should have found. So the test is exact equality on all four, for every +model in the cartridge: + +``` +214 archives scanned, 24 hold models +1,030 models decoded -- 1,030 exact, 0 mismatched +``` + +Including `build_model.narc`'s **590 buildings**, `mmodel`'s 24, `fldeff`'s 145 +field effects, `titledemo`'s 3 (Giratina), and `ev_pokeselect`'s 6. A wrong +command length, a missed primitive type, an off-by-one in the strip winding — +any of them moves at least one of those four numbers on at least one model out +of a thousand, and none of them moved. + +This is the best verification this project has had, and it is the same shape as +every other one that worked: **two tables that cannot borrow from each other.** + +#### What the shape record actually is + +Sixteen bytes, of which the two that matter are the display list's offset — +relative to the *record*, not the file — and its size. Both were measured, and +each confirms the other. On `pmsel_bg` the offset lands exactly on a +`40 22 21 24` packet (BEGIN_VTXS, TEXCOORD, NORMAL, VTX_10, which is how every +display list in this cartridge opens), and record + offset + size lands exactly +on the first byte of TEX0. Neither of those is likely by accident and both had +to hold. + +#### What comes out + +| | | +|---|---:| +| `psel_all` (the briefcase) | 12 bones, 15 materials, 29 shapes, 2,430 vertices | +| `psel_mb_a` (a Poké Ball) | 4 bones, 3 materials, 3 shapes, 328 vertices | +| `pmsel_bg` (the ground) | 1 bone, 1 material, 24 quads | + +Rendered offline from the decoded triangles, the briefcase has its handle and +clasps, the ball has its open-lid flap, and the ground is a flat quad grid. The +material names are the cartridge's own — `trank_a` … `trank_i` for the trunk, +`op_mb` for the ball, `op_grand` for the ground — which is what pairs each +shape with a texture out of the same file's TEX0. + +The strip winding is worth naming as a trap that this check caught rather than +a detail: a triangle strip alternates its winding, and getting that wrong turns +every other face inside out. It is invisible on a wireframe and invisible on a +flat fill; it shows up the moment the model is lit, by which time the decoder +has been trusted for weeks. The quad count would have been unaffected. The +triangle count would not. + +#### What is NOT done, stated plainly + +The reader is done and the **renderer is not**. Reading geometry and drawing it +are separate problems, and this engine has no 3D path of its own yet: + +* **Somewhere to put the field animations.** All five formats decode their + values now and all 378 check out, but the 98 texture scrolls and 72 flipbooks + in `bm_anime` are laid over **map meshes that are not built**. They are + extracted, verified and carried; nothing draws them until the terrain and + building geometry exists. +* **The 2D side.** 796 `NANR` cell animations over 810 `NCER` cell banks are + counted but not decoded — those are the sprite and UI animations, a separate + format from the five 3D ones. +* **Seeing it run.** The starter select has still never been on a screen. The + placement is the cartridge's own now rather than mine, which removes the part + most likely to be wrong, but the camera distance and pitch are chosen rather + than derived and that is what a single screenshot settles fastest. +* **The terrain meshes** are not in the sweep above: they are embedded in + `land_data`'s chunk records rather than being narc members, so they are found + a different way. The reader does not care — an NSBMD is an NSBMD — but the + 1,030 is honest about what it covers. + +### Two more places the pairing is stored somewhere other than where it is used + +The mesh reader decoded geometry. Getting a *picture* out of it needed two more +bindings, and both of them are recorded backwards from where you would look — +which is the same trap as `pl_winframe`'s palettes, one layer down. + +#### Which material a shape is drawn with + +A model's shapes and its materials are two independent dictionaries and neither +says how they pair. The pairing is in a third place: a little bytecode, the +**SBC**, that the hardware walks to draw the model. `0x04 n` binds material n, +`0x05 n` draws shape n, and a shape takes whatever material was bound last. + +Its operand widths were derived from the streams rather than assumed — +`NODEDESC` takes three, plus one for each of the two low flag bits, which is +why `26 00 00 00 00` is four operands and `06 00 00 00` is three — and then +held to an invariant: **no shape drawn twice, every material index in range, no +unknown opcode.** A desynchronised walk breaks all three at once. + +That check found two real opcodes the first table was missing (`0x07` +billboard, `0x0D` projection map) and one variable-width one (`0x09`, skinning, +whose width has to be read from its own operands). It also found `kurotama` in +`demo_tengan_gra`, which draws 38 of its 40 shapes — each exactly once, with +materials 0–6 out of seven, no unknown opcode. That is not what a desync looks +like; a cutscene model carrying two shapes its commands never reach is ordinary +content. So "every shape is drawn" was dropped as a clause and is **counted** +instead — a relaxation stated here rather than quietly made. + +#### Which texture a material wears + +Also backwards. A texture entry does not say "material n uses me" by sitting at +index n; it carries a list of the material indices that use it, packed as bytes +just before the material records, at an offset measured from the **section** +rather than from the dictionary. + +And the order is not the same. On the briefcase, texture 1 (`op_mb`) belongs to +material 2 and texture 2 (`op_mb_a`) to material 1; `trank_a` and `trank_a_` +are swapped the same way. Walking the two dictionaries in step — the obvious +reading, and correct on every *simple* model in the cartridge — gives those +four the wrong picture and reports nothing. + +#### The invariant that made "untextured" an answer instead of an excuse + +Requiring every material to have a texture failed on **122 of 1,030** models — +always one or two materials on an otherwise complete model, never a whole one, +which is not the shape a wrong base address produces. A DS polygon can have no +texture at all, and this cartridge has plenty that do not. + +What turns that from an excuse into a fact is the material record's own +**texture-scale field**: zero on exactly the materials the name lists leave +unbound, non-zero on exactly the ones they bind. Two records that know nothing +about each other, agreeing on every material in the cartridge. So the invariant +is not "everything is textured" but **"a material is bound to a texture if and +only if it declares one"**, and that holds everywhere. + +Final state of the reader, all three checks at once: + +``` +1,030 models -- 1,030 exact, 0 mismatched + geometry: vertices, triangles, quads, polygons == the header's own counts + draws: no shape twice, materials in range, no unknown opcode + binding: bound <-> declares a texture scale, all indices in range +``` + +`Gen4Models.parse` gained a section argument for this. It read `u32(data, 16)` +to find TEX0, which is right for a texture archive and **wrong for a model +file**, where that word is the MODEL section — a parse that succeeds and builds +a texture table out of geometry. This format's recurring hazard, avoided by +passing the offset rather than re-deriving it. + +Rendered end to end, the briefcase comes out with its leather straps, buckles +and handle, and the Poké Ball with its shadow: geometry from the display lists, +textures resolved through the name lists, colours from each material's own +palette. + +### The animations, all five formats of them + +A Nitro model does not animate itself. Everything that moves in Platinum's 3D +is a **separate file** that names what it drives. There are five formats and +the cartridge holds 378 of them: + +| | | | | +|---|---|---:|---| +| `BCA0` | `JNT0` | 181 | joints move, rotate, scale | +| `BTA0` | `SRT0` | 98 | a texture scrolls or spins | +| `BTP0` | `PAT0` | 72 | the texture itself is swapped per frame | +| `BMA0` | `MAT0` | 24 | a material's colour changes | +| `BVA0` | `VIS0` | 3 | a shape appears or vanishes | + +Plus 796 `NANR` cell animations on the 2D side, over 810 `NCER` cell banks. + +#### The size rule, fitted rather than assumed + +A joint's animation block is a flags word and seven channels — three scale, +one rotation, three translation — eight bytes each when animated, four when +the channel holds one value for the whole animation. Which are which is the +flags word, and **nothing states the block's size.** Get it wrong and the walk +desynchronises, exactly like a bad display-list command length. + +But the file does state it, indirectly: each block runs to the next joint's +offset. So there are 1,090 known sizes and 64 distinct flag words, and the +rule can be *solved for*: + +``` +size = 60 - 12*bit1 - 24*bit9 - 4*(bit3 + bit4 + bit5 + bit6 + bit8) + bits 0, 11, 12, 13 cost nothing +``` + +Maximum error over all 1,090 blocks: **zero**. A fit that is wrong anywhere is +wrong by four bytes somewhere, and there is nowhere. Sixty bytes is exactly +4 + 7×8, which is what says the seven-channel reading is right rather than a +coincidence that happens to add up. + +#### The cross-check: an animation names something in another file + +An animation header states no counts of its own, so there is nothing inside it +to reproduce. The check has to come from outside: **a joint animation must +have as many blocks as some model in the same archive has joints, and every +other format's target names must be joint or material names of a model there.** + +``` +BCA0 joint 181 animations, 181 structurally exact +BTP0 texture pattern 72 animations, 72 structurally exact +BMA0 material colour 24 animations, 24 structurally exact +BTA0 texture SRT 98 animations, 98 structurally exact +BVA0 visibility 3 animations, 3 structurally exact +cross-check against models in the same archive: 279 of 280 resolve +``` + +That is **378 of 378**, and it was 367 until two more of my own tests turned +out to be the thing that was wrong: + +* *"A material name cannot contain a colon."* Eight SRT animations — the Wi-Fi + lobby's fireworks and three gym pieces — drive materials called + `water:lambert5` and `hanabi2:main1`. A character class I wrote by looking at + the names I happened to have seen rejected every one of them. +* *"Every non-joint format hangs its targets off a dictionary."* Visibility does + not. It is a bit per node per frame with no names at all, positional the way a + joint animation is, and demanding a dictionary reported all three of them as + unreadable. See *Visibility has no names, and that is the format*. + +Both were caught the same way: a failure that lands on **every file of one +kind** is a bad test, not a bad cartridge. + +Two of the three checks that were tried and **rejected** earlier are worth +keeping for the same reason: + +* *"A dictionary record is four bytes."* True in the model section, where a + record is a bare offset. False here: a texture SRT record is **forty**, with + its scale, rotation and translation descriptors inline. Requiring four + rejected all 98 SRT and all 24 material-colour animations — every file of two + whole formats at once, which is a bad test, not a bad cartridge. +* *"A dictionary has at least one entry."* Nine of the ninety-eight SRT + animations have **none** — a file that drives nothing. A wrong offset does + not produce a clean zero; it produces a large arbitrary count. + +#### The other four formats, with their numbers + +The joint format got its values first because the briefcase needed them. The +other four are what animates the **world** rather than a skeleton, and almost +all of them live in one archive — `/arc/bm_anime.narc`, the field's own — which +holds **no models at all**: 98 texture scrolls, 72 flipbooks and a pile of door +and machinery animations laid over map meshes that are not built yet. + +**Texture SRT (`BTA0`)** is five channels per material — scale S, scale T, +rotation, translate S, translate T — at eight bytes each: a frame count, a flag +word, and then either the value or an offset to one per frame. `0x2000` means +the value is in the record; `0x1000` means the array is `fx16` rather than +`fx32`. Rotation is a sine and a cosine, so its "value" is a pair. `funsui` — +the fountain — is identity scale, identity rotation, no S scroll, and a T +scroll that counts steadily downward. That is water, in five numbers. + +The check here is a **budget rather than a tiling**, and the difference is worth +naming because every other format tiles exactly. A constant channel also gets a +four-byte array written for it, which the record then duplicates inline, so the +arrays cannot all be placed from the records alone. What can be demanded is that +every animated array sits inside the animation, that none overlap, and that the +leftover is exactly four bytes per constant channel. **All 98 satisfy that.** + +On top of the placement, every rotation frame in the cartridge is a unit pair — +sin² + cos² = 1 — which is an independent way of saying the pair is read in the +right order and at the right scale. + +**Texture pattern (`BTP0`)** is the flipbook: a material swaps which picture and +which palette it wears at named frames. The animation carries its own two name +lists, and the layout tiles to the byte — dictionary, then each target's +keyframes, then the texture names and the palette names, which end exactly at +the animation's last byte. **All 72.** Every keyframe is in frame order, inside +the frame count, and indexes a name the animation actually carries. + +**Material colour (`BMA0`)** is five channels of four bytes: diffuse, ambient, +specular, emission and alpha. The four colours are 15-bit `GX_RGB` at two bytes +a frame and the alpha is a single byte — and it is the alpha being one byte +wide that makes the tiling come out exact rather than nearly. **All 24**, with +no colour ever setting bit 15 and no alpha ever exceeding 31. + +#### Visibility has no names, and that is the format + +`BVA0` is three files and it had been reported as three failures for as long as +the reader has existed, because the check insisted on a target dictionary. There +isn't one. The animation is a header and then **one bit per node per frame**, +positional exactly like a joint animation, with the node count in the header. + +The header proves the reading by itself: twelve bytes plus one bit per node per +frame is the animation's exact length, in all three. + +The packing direction is settled by the data rather than by convention. +`kurotama` is 42 nodes over 601 frames: + +``` +read frame-major : 80 visibility changes in total, mean run 393 frames +read node-major : 3,497 changes, mean run 35 frames +``` + +Nobody authored the second one. And the count is checkable from outside the +file: `kurotama` has 42 nodes and `ari_start` has 9, which is exactly what the +models of those names carry — two files agreeing on a number neither derived +from the other. + +#### A rule about what goes in the cache + +`bm_anime` has no models, so its joint animations have nothing in the archive +that can wear them. Writing their matrices anyway cost **2.2 MB** of runtime +cache for poses nothing could apply. + +So the extractor now writes a joint animation's matrices **only where a model in +the same set has that many nodes** — the same pairing `Gen4Anim.resolve` checks. +The texture scrolls and flipbooks, which are what make water move and are 200 KB +rather than 2.2 MB, are written regardless. When the map meshes land, their +joint animations come with them. + +#### What the starter select actually is + +With the reader in place, `ev_pokeselect` reads out exactly as +`choose_starter_app.c` loads it, and every animation's name matches its +model's: + +``` +0 joint anim "psel_all" 41 frames, 12 joints <-> model psel_all (12 bones, 2,430 verts) +2 joint anim "psel_mb_a" 73 frames, 4 joints <-> model psel_mb_a (4 bones, 328 verts) +4 joint anim "psel_mb_b" 73 frames, 4 joints <-> model psel_mb_b +6 joint anim "psel_mb_c" 73 frames, 4 joints <-> model psel_mb_c +8 model "psel_trunk" 3 bones, 12 materials, 20 shapes -- the open case +9 model "pmsel_bg" the ground +``` + +**The box animation is 41 frames over 12 joints**, and the three balls are 73 +frames each. Names and joint counts agreeing across two independent files is +the cross-check at its sharpest. + +#### What is still not done + +The keyframe **values** are not decoded, and that is deliberate rather than +unfinished. A value decoder for these formats cannot be checked the way the +mesh reader could — no header states a count for it to reproduce — so guessing +at which of the seven channels is which would produce numbers that animate +something, plausibly, and wrongly. The structural pass is what makes the value +pass checkable: it establishes exactly where each channel's data begins and +ends, and a decode that runs off the end of one now has somewhere to be caught. + +### The renderer, and getting geometry into the cache without it becoming a megabyte + +Reading a model and drawing one are separate problems, and the second one had +no home: the engine core has exactly one mesh in it (the tilt ground quad) and +one shader. The voxel 3D lives in a mod. So Platinum's 590 buildings, Giratina, +the field effects and the briefcase all had geometry decoded and nothing able +to put it on screen. + +#### Two binary strings, not 2,430 tables + +`Gen4Nsbmd` hands back a model as Lua tables — one per vertex, one per +triangle. That is the right shape to *check*, because the corpus test reads it, +and the wrong shape to ship: the briefcase alone is 2,430 vertex tables and +1,644 triangle tables, and written as Lua source that is a megabyte of +`{ x = ..., y = ... }` for one model out of six. + +So a packed shape is two binary strings, the same trick the map grids already +use (`def.blocks` is a 2 KB string, not 1,024 tables): + +``` +vertex 14 bytes x, y, z, u, v as s16; r, g, b as u8; one byte of pad +index 2 bytes u16 into this shape's own vertex array +``` + +**The precision is the cartridge's own**, which is what makes this lossless +rather than a compromise. A Gen 4 coordinate *is* fx16 — a signed 16-bit number +over 4096 — so the raw fixed-point value keeps every position exactly as the +display list gave it. Texture coordinates are already integers in sixteenths of +a texel. Nothing here rounds anything that was not already round. + +The whole cartridge packs to **3.97 MB across 238,372 vertices**, which is +small enough that publishing all 1,030 models is a choice rather than a +constraint. Only the starter selection's six are published so far, because a +model in the cache is worth having only when something draws it, and exactly +one screen will. + +#### The check the pack needed + +The mesh reader's own corpus test proves the *decode*. It says nothing about +the *pack*, and a packer that drops a field, swaps two, or mis-signs a negative +produces a model that still draws — inside out, or with a wall missing — which +nothing else would notice. + +So the stage packs each model and **unpacks it again**, requiring every +coordinate and every index back unchanged to within half a fixed-point step, +which is the only rounding the format does. Run over the cartridge: + +``` +1,030 models packed, 0 failed round-trip +``` + +#### What the renderer is, and what it deliberately is not + +`src/render/Gen4Model.lua`: a vertex shader with a model-view-projection +matrix, a `discard` on transparent texels, LÖVE meshes with an index buffer, +and a depth canvas. + +It does **not** register a pipeline, touch the world pass, or ask the Renderer +for anything. A screen makes one, draws it into its own canvas, and throws it +away. That is because the first thing to use it is the starter select — a menu +with three Poké Balls in a briefcase, with no world behind it and no business +being in the world's pipeline. The map meshes will want the pipeline; a menu +does not, and building for the harder case first would have meant neither +worked. + +Three decisions in it that are the cartridge's rather than mine: + +* **Transparent texels `discard` rather than blend.** A Gen 4 texture keeps + colour 0 transparent, and a transparent texel must not write depth — or the + hole punched through a strap occludes what is behind it. +* **Back faces are not culled.** A DS polygon carries its own front/back flags + in its material, and plenty of Gen 4 geometry is single-sided sheets meant to + be seen from both. Culling uniformly loses the far wall of the briefcase; + with a depth buffer, drawing both costs a few overdrawn pixels. +* **Nearest filtering, always.** These are 16- and 64-pixel textures on a model + drawn several times its own size. Smoothing turns a Poké Ball's seam into a + smear. + +The depth mode and cull mode are both saved and restored around the draw, +unconditionally. This runs inside somebody else's `draw`, and a depth test left +switched on makes the next ordinary 2D blit vanish in a way that looks like a +bug in whatever came after it. + +The starter set as published: + +``` +psel_all 29 shapes, 2,430 verts, 1,644 tris (the closed briefcase) +psel_trunk 20 shapes, 1,450 verts, 828 tris (the open one) +psel_mb_a/b/c 3 shapes, 328 verts, 272 tris each +pmsel_bg 1 shape, 62 verts, 48 tris (the ground) +59 shapes, every one textured -- 86.9 KB of packed geometry +``` + +with the four joint animations carried beside them rather than folded in, +because an animation names what it drives and the pairing is by name — which is +the cross-check, and merging them would throw it away. + +### The starter select, and the three lists that had to agree + +`Gen4StarterSelect` draws Professor Rowan's briefcase from the cartridge's own +geometry: the open case and the three Poké Balls are NSBMD models out of +`ev_pokeselect`, decoded, packed, textured and drawn by the mesh renderer. It +is the first 3D this port draws itself. + +#### Three lists, none of which knows about the others + +The species ids come from `choose_starter_app.c` +(`STARTER_OPTION_0 = SPECIES_TURTWIG`), the offer lines from **message bank +360**, and the ball models from `ev_pokeselect`'s members 3, 5 and 7. Nothing +links them — they are three parallel orderings that happen to line up, and if +they ever stopped lining up the briefcase would hand over the wrong Pokémon +with nothing to report. + +So the stage checks them against each other: the species the id names must be +the one the offer line is about. All three agree. + +``` +TURTWIG 387 psel_mb_a "Tiny Leaf Pokémon TURTWIG! Will you take this Pokémon?" +CHIMCHAR 390 psel_mb_b "Chimp Pokémon CHIMCHAR! Do you choose this Pokémon?" +PIPLUP 393 psel_mb_c "Penguin Pokémon PIPLUP! Is this Pokémon for you?" +``` + +A `mismatch` field is written when they do not, and nothing should ever read +it — it exists so that if the three ever drift, the drift is in the data rather +than in somebody's memory. + +#### The placement was never mine to invent — it is in the model's nodes + +The first version of this screen placed the three balls itself. It measured the +case's inside floor (41 vertices cluster at y = 0, the outer base at −30, the +lid to 98), divided the case's own 152 of width into three, and set named +constants `FLOOR_Y`, `FRONT_Z` and `SPREAD_X` with a paragraph explaining which +of them were measured and which were arithmetic. + +All of it was wrong, and honestly explained wrongness is still wrongness. The +positions are **data**, and they were sitting in a part of the model file this +reader had never opened. + +Every NSBMD carries a node list beside its shapes, and a shape's vertices are in +**its node's** space rather than the model's. On most of this cartridge the +nodes are identity and nothing is lost by ignoring them — which is exactly why +ignoring them survived 1,030 models of corpus testing without a complaint. On +`psel_all`, the model that holds the case *and* the three balls *and* their +shadows, the nodes are the only record of where anything is: + +``` +node 4 psel_mb_a T = (-30, 50, 0) +node 6 psel_mb_b T = ( 0, 44, 0) +node 8 psel_mb_c T = ( 30, 50, 0) +node 10 tran_down identity (the case body) +node 11 tran_top identity (the lid) +``` + +Thirty apart, not forty-two; the middle ball six units lower than the other +two, which no amount of dividing a width was ever going to produce. + +A node block is a flags word, a spare `fx16` belonging to the rotation, and then +only the parts that are not the default: three `fx32` of translation unless +bit 0, a rotation unless bit 1 (a pivot pair under bit 3, otherwise the other +eight elements of a 3×3, the first being that spare word), and three scales with +their reciprocals unless bit 2. **Every node block in the cartridge ends exactly +where the next one begins under that reading**, which is what makes the widths +right rather than plausible. + +Arranging them is the SBC again — the same little bytecode that says which +material a shape wears. `renderCommands` had been reducing it to that one fact; +posing needs the *order* as well, because a node descriptor multiplies onto +whatever matrix is current, may restore from a saved slot first, and may save +its result for a later shape to come back to. `poseCommands` keeps the sequence +and `pose` replays it. The rest pose is that walk with the model's own node +matrices; an animated pose is the same walk with a joint animation's frame. + +That is the whole reason the animation was worth decoding as matrices rather +than as keyframes: **the two are the same walk over different numbers.** + +#### The opening animation, decoded + +A joint block is four bytes of header and then seven channels in this order — +translation x, y, z, the rotation, scale x, y, z. Each is absent, constant or +animated: + +| | absent | constant | animated | +|---|---|---|---| +| translation | bit 1 | bits 3, 4, 5 — one `fx32` each | 8 bytes | +| rotation | bit 6 | bit 8 — a `u16` index | 8 bytes | +| scale | bit 9 | bits 11, 12, 13 — **8 bytes**, a value and its reciprocal | 8 bytes | + +Scale is the one that hides: constant and animated are the same width, so bits +11–13 cost nothing and are the *only* way to tell them apart. That is why the +earlier fitted per-bit size rule could be exact and still not say what a block +contained. + +An animated channel is a start frame (zero in all 1,287 of them), a word holding +the frame count with `0x2000` meaning the values are `fx16` rather than `fx32`, +and an offset. + +**The invariant.** Walking every joint channel by channel lands exactly on the +block's stated end **1,099 times out of 1,099**. Then the value arrays, the two +rotation tables and nothing else **tile every one of the 183 joint animations** +from the end of its joint blocks to its last byte — no gap past three bytes of +alignment, no overlap anywhere. An element size read wrong leaves a hole +somewhere, and there is nowhere. That check ships as `Gen4Anim.checkValues`. + +The half-precision bit got its own confirmation for free: of 418 full-precision +translation channels, **not one** stays inside the `fx16` range, and of 123 +half-precision channels, **not one** leaves it (the largest is 7.650 against a +limit of 8). The two encodings are the same units, and the flag means exactly +what it looks like. + +#### Two rotation tables that had to agree with each other + +A rotation frame is a `u16` whose top bit picks the table: set for the pivot +table at +0x0C, clear for the compressed 3×3 table at +0x10. That is not a +convention borrowed from elsewhere — in `psel_all` the indices with the top bit +set are exactly 0..90 and the ones without are exactly 0..139, while the tables +hold exactly **91** six-byte records and exactly **140** ten-byte records. Two +counts, neither derived from the other, partitioned with nothing left over and +nothing out of range. + +**A pivot record** is a rotation one of whose rows is an axis: a ±1 at position +`flags & 0x0F`, its row and column zero, and the remaining 2×2 holding a cosine +and a sine — which is why a² + b² is 1 in all 24,538 of them. The sign of the +±1 follows the parity of the position, and bit 6 flips it. + +That last bit is where the first attempt was wrong, and where the check caught +it. Where an animation crosses between the two tables mid-channel, the pivot +frame and the compressed frame beside it are **the same rotation described twice +by two encodings that share nothing**. Under a parity-only rule, six of the +fifteen flag words that occur disagreed with their neighbours by a whole unit — +and they had to, because negating the ±1 alone turns a rotation into a +reflection. Flipping the 2×2 with it — `(a, b / b, −a)` rather than +`(a, b / −b, a)` — restores the determinant and the agreement. + +**A compressed record** is five numbers for a nine-number matrix: the first row, +then the first two of the second. The rest follows from the matrix being a +rotation. The obvious closed form — solve perpendicularity for the missing +element — divides by the first row's third element, which is a rounding error +from zero in **727 of the 6,876 records here**; it produces components past 11, +which is not a rotation at all. Taking the magnitude from unit length and only +the *sign* from perpendicularity is stable everywhere and agrees with the +division wherever the division means anything. All 6,876 come out orthonormal +with determinant +1. + +Across the cartridge, 406 of the 419 table crossings are smooth relative to +their own channel's typical motion. The 13 that are not sit in four animations — +the Spear Pillar cutscene and one Mime Jr. animation — and mostly at frame 2, +which is what a deliberate cut looks like. That is reported as a counted +statistic rather than as a pass, for the same reason the SBC walker reports +"38 of 40 shapes drawn" instead of claiming every shape. + +#### What the briefcase actually does + +``` +tran_down identity → −90° about X by frame 30, overshooting around 15–25 +tran_top tilts and returns to identity — so the lid opens 90° relative to it +psel_mb_a (−30, 50, 0) tumbling to (−44, −4, 32), at a constant 0.8 scale +psel_mb_b ( 0, 44, 0) → (0, −4, 62) +psel_mb_c ( 30, 50, 0) → (38, −4, 26) +``` + +The case starts closed and upright, rotates down, the lid swings open, and the +three balls tip out and settle in a row in front of it. **Frame 0 of every ball +joint equals that ball's own node transform in the model** — a third independent +agreement, between a file that says where things rest and a file that says how +they move. + +A track is packed at 48 bytes a frame: the top three rows of the matrix at the +cartridge's own 1/4096, so the round trip can demand the values back *unchanged* +rather than close. All 1,099 joint tracks in the cartridge round-trip exactly. + +That number was 30 bytes in the first version, which stored the rotation as +`s16` on the grounds that a rotation element cannot leave −1..1 and the scale +beside it never left 0.8..1.25. True of the briefcase, false of the cartridge: +41 tracks carry scales past 8 and Giratina's pillars reach 18.4. The round trip +said so — which is the only reason it is not still wrong — and the fix was to +stop assuming a range rather than to widen the one I had assumed. + +#### What the screen invents now + +Two things, down from four: + +* **The lift on the selected ball.** The cartridge has a 73-frame animation per + ball for this and all three are extracted; what the app does with them is code + rather than data, so this raises the chosen one instead. +* **The camera.** Distance and pitch frame the posed model; the cartridge's + camera comes from its own movement steps. + +One more thing had to be said out loud rather than assumed: `psel_all` is +**Z-up**. It was exported with the vertical axis last — its lid reaches 116 in +what the case model calls depth — while the engine's camera assumes y is up. The +screen applies that rotation to the *scene* rather than to the geometry, so the +cartridge's numbers stay the cartridge's numbers. + +#### A bounding box that does not agree with its own geometry + +While measuring the framing: the model header's stated box matches the decoded +geometry on only **312 of 1,032 models**, under any reading of it I could find +that works on the rest. (It reads as a corner and a size at 1/2048, which is +right on the simple models and wrong on the ones with real hierarchies.) + +Rather than ship a camera that trusts it, `Gen4Model:framing` now measures each +shape's own box while the vertices are still in hand and unions them **through +the pose** — which it has to do anyway, since the three balls are only 60 apart +once their nodes have placed them. The header box is left unread. It is listed +under open questions rather than called a bug, because a reading that works on +a third of the corpus is more likely to be an incomplete reading than a broken +file. + +--- + +## The map meshes, and the block that agrees with them + +The 3D half of the world is two archives and they both read now. + +**Terrain.** Every land chunk's fourth block is an ordinary NSBMD, and all +**666 of them decode exactly** against their own headers' vertex, polygon, +triangle and quad counts — 7,547 shapes and 1,066,987 vertices of Sinnoh. + +**Buildings.** `/fielddata/build_model/build_model.narc` is 590 models, **all +590 exact**, 1,362 shapes and 89,253 vertices. 568 of them carry their own +textures; the other 22 do not, which is the first hint that where a picture +lives is a separate question from where a mesh lives. + +### Where the ground is, checked against a block that was not used to find it + +A land chunk holds four things: a permission grid, the objects standing on it, +the mesh, and a `BDHC` height field. The height field was decoded long before +the mesh, from the cartridge's own `BDHC_LoadHeader`, and it measured a tile at +**sixteen world units with the chunk centred on the origin** off nothing but +its plate extents. + +The mesh, read independently, spans −256..256 on both horizontal axes. Same 512 +units over 32 tiles, same centring. Two blocks of the same file, neither read +from the other, agreeing about the size of a tile. + +Then the harder question: do they agree about the *height*? Sample every fourth +tile of every chunk, keep only the tiles the permission grid calls land rather +than void — a third block, used to decide where the comparison is even +meaningful — and ask the mesh how high its surface is under that point: + +``` +331 of 666 chunks agree with the BDHC at every sampled point +8,505 of 11,356 points agree to within 0.1 units -- not close, exact +1,655 more within four units; 55 further than sixty-four +``` + +**The agreement being exact where it happens is what makes this a check rather +than a correlation.** A wrong scale, a flipped axis or a missed `posScale` +produces a cloud of near-misses; it does not put three quarters of the points +on the answer to a tenth of a unit. All four axis flips were tried and every +one of them made it worse. + +And the tail says something specific rather than being noise: **9,497 walkable +tiles have no land-mesh triangle beneath them at all.** The land mesh is not +the whole floor. Indoor chunks are a shell, and their floors are building +models — which is the next thing to establish, not a disagreement about this +one. + +### Looking at it + +The permission grid was validated by drawing it and recognising Sinnoh. The +meshes were validated the same way, and the second picture is the one that +settles the whole chain at once. + +`docs/images/gen4-sinnoh-mesh.png` is the entire 30×30 overworld matrix — +900 chunks, one pixel a tile — rasterised top-down from the decoded geometry, +with every texture sampled through the interpolated UVs and a depth test +keeping whatever is highest. `docs/images/gen4-town-mesh.png` is three chunks of +one town at eight pixels a tile, with its buildings placed from the chunk's own +object records. + +Mt. Coronet runs north to south through the middle in bare rock; the three +lakes sit in their pockets; the snow starts at the top of the map; the Great +Marsh, the east-coast water column and the Battle Zone are all where the +permission grid put them — **and the permission grid was never consulted to draw +this.** Two independent blocks of the same 666 files producing the same Sinnoh +is the strongest statement available about either of them. + +The town picture says more about the details: the plaza's paving, hedges, +benches, the fountain, a bridge and the roofs all land in the right places at +the right sizes, which exercises the node transforms, the SBC pose walk, the +`posScale` on every model, the 16-units-per-tile chunk placement, the object +records' fixed-point positions and the texture binding, all at once. A mistake +in any of them is visible immediately. + +Two things are visible and honest to name: the black areas are chunks with no +mesh at all, and a few faces come out untextured white where a material's +texture is not in the library. + +WHAT THIS RENDERER IS NOT. It is a throwaway top-down rasteriser in the +harness, not the engine — no perspective, no lighting, no alpha, no animation. +It exists to answer "is the geometry right", and it does. + +### Which pictures a map wears + +A land mesh carries no textures — all 666 of them — so `areaDataArchiveID` in +the map header is what says where the pictures are. The area record is eight +bytes: + +| | | | +|---|---|---| +| `+0` | buildings | `area_build.narc` **and** `areabm_texset.narc` together | +| `+2` | mapTexture | `map_tex_set.narc` | +| `+4` | lighting | 0..9 | +| `+6` | flags | 0..2 | + +The ranges pin the fields. Over all 75 areas `+2` reaches 73 against a +74-member archive, so it can only be the map textures; `+0` reaches 70 against +two archives of 71 each, and those two are parallel — one names the building +models an area uses, the other holds their textures. `+4` never passes 9 and +`+6` never passes 2, so neither indexes anything here; both are named for what +they are not. All 71 area build lists end exactly on their own leading count, +and all 2,818 model ids they contain are inside `build_model.narc`. + +The pictures above resolve every texture through a **library of all 74 map +sets plus all 71 building sets, first match by name** — which is why they look +right and is not what the cartridge does. + +**What does not resolve yet, stated plainly.** Of the 2,307 distinct texture and +palette names the terrain meshes ask for, **2,287 exist in some `map_tex_set` +member** — the twenty that do not are the Underground and a handful of gym +objects, which are elsewhere. But matching each map to *its* set is not +finished: attributing chunks to maps through the matrix's own header grid, 729 +of 867 chunk-and-map pairs find every name they need in that map's set, and 138 +do not. The names they miss are the commonest ones in the game (`ngrass`, +`grass`, `tshadow`), each of which appears in around 23 of the 74 sets, so this +reads like a second set being loaded alongside the first rather than a wrong +index — and "reads like" is exactly why it is written down here instead of +being coded. + +--- + +## The item table was wrong for two thirds of its rows + +Building the Gen 4 bag started with a simple question — which pocket does an +item live in — and the answer came back nonsense: the Bicycle, the Town Map and +the Old Rod all claimed the same pocket as TM79. + +**The name bank has 468 entries and the data archive has 446.** The difference +is the twenty-two unused ids 113..134, which the names keep as `???` +placeholders and the data archive simply does not have. A member index is +therefore item `i` up to 112 and item `i + 22` after that — and this reader had +the comment "member index is the item id" written at the top of it. + +Every item from Adamant Orb onward — **333 of the 446** — carried the price, +pocket, hold effect, fling data and party-use block of an item twenty-two +places further on. Twenty-two more items (ids 446..467, up to the Secret Key) +did not exist in the table at all. + +**Why it survived.** The note above that code listed its own verification: +"Master Ball 0, Ultra Ball 1200, Poké Ball 200, Potion 300, HP Up 9800". All +five are below the gap. So are the balls, the medicines and the battle items, +which is why every pocket anyone had thought to look at came out right. + +**What found it** was asking a question that covers the whole table instead of +the start of it: group every item by the pocket its own record claims, and +print the id runs. + +``` +pocket 2 ids 1..16 (16) Master Ball .. Cherish Ball +pocket 1 ids 17..54 (38) Potion .. Old Gateau +pocket 6 ids 55..67 (13) Guard Spec. .. Red Flute +pocket 5 ids 115..126 (12) ??? .. ??? +pocket 4 ids 127..190 (64) ??? .. Kebia Berry +pocket 3 ids 306..405 (100) Sky Plate .. TM78 +pocket 7 ids 406..445 (40) TM79 .. Old Rod +``` + +Every run is exactly the right SIZE — 16 balls, 38 medicines, 13 battle items, +12 mail, 64 berries, 100 TMs and HMs, 40 key items — and every run from the +mail onward sits twenty-two ids too low. **Eight independent counts agreeing +while eight independent positions disagree is one offset, not eight +coincidences.** + +The fix ships with the check rather than instead of it. `Gen4Items.POCKET_RANGES` +is the cartridge's own id ranges, written down separately from the record field +that is decoded — so the two can disagree — and `Gen4Items.checkPockets` +requires every item in a range to claim that range's pocket and every item +outside them to claim ITEMS. Under the old reading it fails 333 times. Under +the new one: + +``` +pocket check: 445 of 445 items sit in the pocket their id range says +``` + +## The trainer card + +The second of the four screens reported as falling back to Kanto's art. It has +two pages, as Platinum does. + +The **badge case** is entirely the cartridge's: the "LEAGUE BADGES" panel +composed from its own tilemap, the eight badge sprites, and where they go — +measured off the panel rather than guessed, since the sockets are the only +shapes on it darker than its own background and come out at x = 43, 99, 155, +211 and y = 59, 115. Each badge's art sits in the top-left 40×40 of its 64×64 +frame, so a badge drawn twenty pixels up and left of a socket's centre lands in +it. + +The **card face** is not the cartridge's, and the file says so at the top rather +than leaving it to be discovered. Platinum draws the card's background and its +field labels as background tiles; `trainer_card/trainer_card` is that strip, +extracted at 64×240 and uncomposed, because nothing in that archive pairs it +with a tilemap the way the badge case is paired with its own. The portrait is +the same story. Both are one tilemap away, and finding it is the work — not +drawing something close enough over the gap. + +--- + +## The bag + +The third of the four screens reported as falling back to Kanto's, and the one +the item fix above was really for. + +**Eight pockets, not five.** Gen 1–3 have four or five; Platinum has ITEMS, +MEDICINE, POKé BALLS, TMs & HMs, BERRIES, MAIL, BATTLE ITEMS and KEY ITEMS. +Every one of those words is bank 395's, and the bank's order is exactly the +order an item record's own `fieldPocket` numbers them — so the bank index *is* +the pocket number and nothing pairs the two by hand. The counts agree item for +item: 163 / 38 / 16 / 100 / 64 / 12 / 13 / 40. + +The art is the cartridge's: `bag/bag_ui_main` is the screen, and the pocket +icons are one 64×64 sheet whose top eight sixteen-pixel cells are the icons and +whose bottom eight are the small markers that sit under an unselected one. That +split was measured, not assumed — on a sixteen-pixel grid the top eight cells +carry 160 opaque pixels each and the bottom eight carry 40. + +**What an item does is not reimplemented here.** Using, giving and tossing live +in `BagMenu.useItem`, which is published for exactly this reason and is what +Emerald's bag calls too. This screen is Platinum's list and Platinum's words. + +And it declines what it cannot answer: a push carrying `sell`, `itemPc` or +`store` falls through to the screen that has those flows, the same way the Gen 3 +aliases have always worked. Better a Kanto shop counter than a Platinum bag +that cannot sell. + +--- + +## The party screen, and where it stops + +The last of the four. The six panels' positions are measured off `party/menu` +rather than guessed: the panels are one teal, striped every other row, so the +stripes give the bands away — on the left half they run 5..47, 53..95 and +101..143, and on the right half 13..57, 61..107 and 109..151. Two columns of +three, a pitch of 48 on both sides, the right one starting eight pixels lower, +which is the stagger Platinum's screen has. The cursor art being 128 wide is the +third independent way of saying a column is half the screen. + +**Where it stops is the interesting part**, and it is in the alias rather than +buried in the screen: + +| push carries | screen | why | +|---|---|---| +| `onCancel` alone — the field menu | Gen 4 | this is the reported bug | +| `pickOnly` / `forceSwitch` | Gen 4 | a pick with no submenu to draw | +| `battle` | Gen 3 | SHIFT, forced switches and item targets already work there, in Emerald's own words | +| `tmhm` | Gen 3 | ABLE / NOT ABLE are cartridge words this cache does not carry | +| `chooseOrder` / `onOrder` | Gen 3 | the Frontier's four sentences, likewise | + +A declined push is Hoenn's screen doing the job. A served one that cannot finish +it is a dead end, and a dead end in a party menu is a save the player cannot get +out of. + +The one thing the field menu does not offer is GIVE/TAKE an item. +`BagMenu.giveItem` is published and would serve it; what is missing is +Platinum's own word for it, and a menu entry in the engine's English on a screen +that is otherwise the cartridge's is exactly the seam this port does not leave. + +--- + +## The summary pages, and the bank that had to be found by a phrase + +The party menu's SUMMARY had nowhere to go, so this is the fifth screen. + +**Bank 455 is the whole screen's vocabulary** — the six page titles, every +field label, the twenty-five nature lines and the twenty-five characteristic +lines, 187 strings that are this screen and nothing else. Finding it is the +part worth recording. + +Searching for the obvious words found the wrong banks twice. Bank 326 carries +"Exp. Points", "ID No.", "Nature" and "Item"; bank 336 carries "Exp. Points", +"Held item", "Ribbons" and "Ability". Both are **debug menus** — the giveaway +is what sits beside those words: "Random value", "HP rnd", "Set Ribbons", "msg +location", "Player's side 1". + +What found the right one was searching for the phrase nothing else in the +cartridge says. **"To Next Lv." occurs exactly once in all 1,127 banks.** Three +common words in common is not an identification; a phrase that occurs once is. + +``` + 7 "POKéMON INFO" 109 "POKéMON SKILLS" 128 "BATTLE MOVES" + 8 "Pokédex No." 110 "HP" 135 "PP" + 10 "Name" 111 "Attack" 147 "POWER" + 12 "Type" 112 "Defense" 148 "ACCURACY" + 13 "OT" 113 "Sp. Atk" 149 "CATEGORY" + 15 "ID No." 114 "Sp. Def" 152 "SWITCH" + 17 "Exp. Points" 115 "Speed" 24..48 the 25 natures + 19 "To Next Lv." 116 "Ability" 76..100 the 25 characteristics +``` + +**The rows are measured off the pages themselves.** Each page is a panel of +stripes and a stripe boundary is a row: on `page_info` the colour changes at +y = 40, 56, 72, 88, 104, 120, 136 — a sixteen-pixel pitch, one row per label, +and there are exactly seven labels. On `page_battle_moves` the changes come at +50, 82, 114, 146: four move rows at a pitch of thirty-two. The white value +boxes sit at x = 180, which is where the values go. + +**Three pages, not six.** CONDITION, CONTEST MOVES and RIBBONS are named in the +bank and are not drawn. Contest stats and ribbons are not modelled by this +engine, and an empty page carrying the cartridge's own title would claim they +were. The move-learn screen's "which move to forget" is likewise not served — +the alias does not list `choose`, so that push keeps the Gen 3 screen. + +--- + +## Two screens that were "missing a tilemap" had one all along + +The trainer card's face and the Poketch's twenty-five app screens were both +written up here as blocked on a tilemap nobody could find in their archive. +Both archives have one. What was wrong was the pairing. + +`/graphic/poketch.narc` has **27 NSCRs**, named `calculator.NSCR`, +`digital_watch.NSCR`, `coin_toss.NSCR` — one per app. `/graphic/trainer_case.narc` +has ten, including `trainer_card_front.NSCR`, `lucas.NSCR` and `dawn.NSCR`. + +**Three separate pairing faults, each of which composed something rather than +failing:** + +1. **`_bg_tiles` was not a role suffix.** Every Pokétch app names its + background `_bg_tiles.NCGR` beside `.NSCR`. The suffix list had + `_tiles` but not `_bg_tiles`, so the two never grouped, and every app's + tilemap fell through to the archive's shared sheet — the device border. + Composing the border's tiles through the calculator's map is what produced + the repeating tile soup. Adding the suffix **before** `_tiles` (so the + longer one matches first) fixes twenty of the twenty-five. +2. **A base can own two sheets.** `stopwatch_bg_tiles.NCGR` and + `stopwatch.NCGR` normalise to the same name; the first is the app's + background and the second is its sprite sheet, and the merge took whichever + came first in the archive. A sheet whose own name carries a role suffix is + the background, and now wins. +3. **Some screens name their sheet after something else entirely.** Both + watches draw on `watch_bg_tiles`; the card's front and back both draw on + `trainer_card_tiles`; Lucas and Dawn both draw on `player_tiles`. No rule + over the names finds those — `lucas` and `player` share nothing — so they + are written down per archive as `tilesFrom`, and the suffixes handle the + rest. + +The calculator now composes as a calculator keypad and Lucas composes as Lucas. + +**What is still wrong: the palettes.** Most Pokétch apps carry no `NCLR` of +their own and take the archive's shared one, and several then compose black on +black. The Pokétch's display colour is a runtime setting on the hardware — the +Color Changer app sets it — so "which palette" may not have a static answer, +and that is the next thing to establish rather than to guess at. + +Checked for regressions: the badge case, the bag, the party screen and the +summary pages all compose exactly as before, and the party panels' measured +bands are unchanged to the pixel (5..47, 53..95, 101..143 and 13..57, 61..105, +109..151), so the party menu's slot layout still holds. + +## The Poketch's apps, from two banks that disagree about order + +Twenty-five apps, and neither bank knows everything about them. + +Bank 29 entries 11..35 are the descriptions the Pokétch Company's receptionist +reads, **in app order** — which is what an app id means. What they do not do is +say where a name ends: "The Digital Watch displays the current time" is one +sentence. + +Bank 213 entries 83..107 are the same twenty-five written for the underground +shop, and there each name is wrapped in a colour code: +`The {COLOR 2}Digital Watch{COLOR 0} app displays...`. So the names come from +213 and the order from 29 — and 213 is in a **different order** (Calculator +second, Memo Pad third), so pairing them is by text, not in step. + +The pairing is the check. Matching "The ``" against the start of each +description paired twenty-four of twenty-five and left the Calendar out, +because its description is the one that does not begin that way: "Use the +monthly Calendar to make a note of important dates." Matching anywhere instead +needs the LONGEST name, because "Counter" occurs inside "Trainer Counter" — and +then the twenty-five assignments have to be a permutation, which is what says +the looser match did not fold two apps onto one name. + +``` +poketch: 25 apps, 0 unpaired +art keys that do not exist in the cache: 0 +apps with no face of their own: Friendship Checker, Pokémon History, Dot Artist +``` + +Those three have no screen of their own in the archive and fall back to the +cartridge's own `unavailable` picture rather than to a blank one this port +drew. + +--- + + +## Eight faults from play, and what each one actually was + +Reported after a session on the imported cache: + +> the intro and intro animation is still missing from the main menu just shows +> a black screen on startup with press start at the bottom, the new game menu +> is still not correct the boxes surrounding the text are still too small thry +> should match the rom, the options menu is missing gen4 platinum game +> options, and when i load in it looks like the screenshot and when i try and +> walk my character spins in circles, the trainer card still isnt correct and +> neither is the pokedex, or the pokemon party menu or the bag theyre looking +> like gen1 still. Also talking to npcs does nothing. + +Eight complaints. They are **not** eight bugs. The log from that session is +what separated them, and it is worth saying how, because the screenshots and +the descriptions on their own pointed at the wrong places entirely. + +### What the log said, and what it ruled out + +`AppData/Roaming/LOVE/Gen2Recomp/log.txt`, one boot, in order: + +``` +[debug] state stack: push Gen4Intro (depth 1) +[warn] state stack: popping Gen4Intro emptied the stack +[debug] state stack: push TitleState (depth 1) +[debug] state stack: push Gen4MainMenu (depth 2) +[debug] state stack: push Gen4Options (depth 3) +... +[warn] gen4 bag: this cache carries no pocket names -- falling back to the engine's own +[debug] state stack: push Gen4BagMenu (depth 2) +[warn] gen4 trainer card: this cache carries no badge case art -- the badge page + will be drawn in the engine's own frame +[debug] state stack: push Gen4TrainerCard (depth 2) +[info] gen2 script vm: 0 maps attached (talk) +[info] gen2 script vm: 478 maps attached (scenes) +[warn] gen4 intro: this cache carries no `gen4_intro` record; skipping the opening +[warn] no text for Twinleaf Town/nil (x10) +``` + +Three things fall out of that immediately. + +**The Gen 4 screens were not falling back to Gen 1 at all.** `Gen4BagMenu`, +`Gen4TrainerCard` and `Gen4Options` are on the stack by name. The alias table +in `Screens.lua` worked, `data.isGen4Cache` was set, and every push routed +correctly. What was wrong was one layer in: each screen found its cartridge +record missing and drew itself in the engine's own frame, which is what "looks +like gen1" was describing. Chasing the alias table would have found nothing, +for as long as it took to stop and read the two warnings above the pushes. + +**`TitleState` on the stack is `Gen4Title`.** `Game:makeTitleState` ends with +`title.screenId = title.screenId or "TitleState"`, and the stack logs +`screenId` first. The proof it is the Gen 4 one is the next line: `Gen4Title` +is the only screen that pushes `Gen4MainMenu`. So the black screen was not the +wrong screen; it was the right screen with no pictures. + +**`gen2 script vm: 478 maps attached (scenes)` should not exist in a Platinum +log at all.** + +### Fault 1 — one missing list, five faults + +`Data:load` builds its module list from three tables and never named a single +`gen4_` module. `gen4_map_headers` is loaded once, as the probe that decides +the cache is Gen 4, and its result is thrown away. So `gen4_menus`, +`gen4_graphics`, `gen4_intro` and `gen4_models` — all four written by the +extractor, all four present on disk, all four read by name from `game.data` by +the screens that need them — were never on the table. + +Every consumer is written to degrade when its record is absent. That is why it +failed silently and completely: + +| Reported as | Actually | +|---|---| +| "black screen on startup with press start" | `Gen4Title` drew its border field with no logo, because `gen4_menus.title` was nil | +| "the intro animation is still missing" | `Gen4RowanIntro` said so in the log: no `gen4_intro` record | +| "the boxes surrounding the text are still too small" | `Gen4MainMenu` sized its boxes from the engine's defaults, not `gen4_menus.layout` (`optionWidth = 26`, `margin = 32`, `lineTiles = 2`) | +| "the options menu is missing gen4 platinum game options" | `gen4_menus.options` holds seven real rows — TEXT SPEED, BATTLE SCENE, BATTLE STYLE, SOUND, BUTTON MODE, FRAME (20 values), CLOSE — and none of them was read | +| "the trainer card / party menu / bag look like gen1" | `gen4_graphics.screens` holds 922 composed pictures including all of `bag/`, `party/`, `summary/`, `trainer_card/` and `pokedex/`; the screens found nil and used the engine's frame | + +Fixed in `src/core/Data.lua`: a `GEN4_PREFIXED` list, loaded by name and only +on a Gen 4 cache, each one optional with its own log line. The prefix stays +deliberately — an un-prefixed `menus` or `graphics` would resolve through the +additive cache overlay to the **root** cache, which is Red's, which is the +exact trap `CLASSIC_ONLY` exists to close. + +The other nine `gen4_` modules on disk (`gen4_text`, `gen4_events`, +`gen4_map_permissions`, `gen4_overworld`, …) are extractor **input**: they are +lowered into `text`, `map_scripts`, `maps` and `sprites` before the cache is +written, and no running screen reads them. They are deliberately not in the +list. + +### Fault 2 — "my character spins in circles" + +`SpriteRenderer` has read every sheet in every generation with six fixed +slots: `stand down, stand up, stand left, walk down, walk up, walk left`, with +east drawn by mirroring west because no Game Boy or GBA cartridge has east +art. A Platinum sheet out of `mmodel.narc` is a stack of textures in the +**archive's** order and is not in that layout at all. On a sixteen-texture NPC, +the slot the renderer takes for "standing south" holds a **back** view and the +one it takes for "stepping south" holds a **left** view. Walking therefore +changed the apparent facing on every step. The description was exact. + +**The order is in the cartridge, in the same archive as the sheets.** The last +twenty-five members of `mmodel.narc` are not models: they are the +`BillboardGfxSequence` tables, four fields back to back — + +``` +u32 seqCount +u16 startFrame[seqCount] +u8 textureIdx[seqCount] +u8 plttIdx[seqCount] +``` + +— and a frame's texture is the last segment whose `startFrame` is `<=` it, +exactly as `billboard_gfx_sequence.c` reads it. The grouping into animations +is code rather than data (`object_event_gfx_data.c`): a walker's animation *N* +covers frames 16N..16N+15, and the direction picks *N* through `{0,1,2,3}` +with `DIR_NORTH 0, DIR_SOUTH 1, DIR_WEST 2, DIR_EAST 3`. + +So each direction is four segments of four frames, and a cycle is +**stand, step, stand, step**. + +Read that way out of the ROM: + +| sequence | up | down | left | right | +|---|---|---|---|---| +| `generic_walk` (16, every NPC) | 0, 8, 10 | 11, 12, 14 | 15, 1, 3 | 4, 5, 7 | +| `walk_and_run` (32, the player) | 0, 11, 26 | 27, 28, 30 | 31, 1, 3 | 4, 5, 7 | +| `bike` (24) | 0, 11, 18 | 19, 20, 22 | 23, 1, 3 | 4, 5, 7 | +| `pokecenter_nurse` (17) | 0, 9, 11 | 12, 13, 15 | 16, 1, 3 | 4, 5, 7 | + +as `{ stand, step, step }`. + +**Checked against the pictures, not against itself.** Laying the player's 32 +frames out in that grouping gives four rows of one consistent direction each — +back, front, left, right — and the same grouping on `lass` and `prof_rowan` +does too. A lookup that cannot miss cannot tell you it is wrong; a picture can. + +Three further checks are in the reader itself, so a member that is not one of +these tables cannot be mistaken for one: the four fields must account for the +member's length **exactly**, the start frames must begin at zero and ascend, +and every texture index must be inside the sheet it is read against. Walking +the archive backwards from the end, 25 members parse and the 26th does not, +which is the count the table of names says there should be. + +The sequence **names** are pret's (`field_sprites.order`); every number is the +cartridge's. A sheet is matched to a sequence by texture count — 16 is +`generic_walk`, 32 is `walk_and_run` — with the player's own variants matched +by name first. The only other 16-entry sequences are `contest` and `fishing`, +and both produce **identical** cycles to `generic_walk`, so the ambiguity +cannot produce a wrong answer. + +New file `src/import/Gen4Facings.lua`; the extractor writes `facings` onto +every sheet in `sprites.lua`; `SpriteRenderer.facingFrames` uses it when it is +there and **never mirrors**, because Platinum draws a real east side and +mirroring it would put the bag on the wrong shoulder. Gen 1, Gen 2 and Gen 3 +take a byte-identical path — checked by running `poseFrame` over a six-frame +and a nine-frame def and comparing every slot. + +### Fault 3 — "talking to npcs does nothing" + +Two causes, and the second was hiding behind the first. + +**`Gen2ScriptVM` was claiming Platinum's script pool.** Its ownership test was +a refusal list with one entry: `if pool.source == "RomExtractorGen3" then +return nil end`. It has to be a refusal list rather than an allow list, because +a Gen 1 cache and a hand-built developer pool both carry no `source` at all. +Gen 4 was simply missing from it. So the Johto VM lowered Platinum's decoded +instructions with Gen 2 semantics and attached the result to 478 maps as their +scene and coord-event wiring — which is what `gen2 script vm: 478 maps +attached (scenes)` in a Platinum log means, and it is a plausible source of the +warp-in-warp-out thrash also visible in that log. + +**Nothing ever called `Gen4ScriptVM`.** `data/scripts/init.lua` has a Gen 2 arm +and a Gen 3 arm and had no fourth. Platinum's 4,079 decoded scripts sat in the +cache unlowered. + +**And a Gen 4 object has no TEXT constant.** `OverworldState:talkTo` reads +`npc.def.text`; a Gen 4 object event carries a **script id**, an index into its +map's own entry-point list, and that list does not exist until the scripts have +been decoded — which is after the maps table has been written. Hence +`no text for Twinleaf Town/nil`: the field was simply not there. + +`Gen4ScriptVM.bindObjects` stamps the link stage's own label back onto each +object record at registration time. Both halves derive the label from +`Gen4ScriptVM.label`, so they cannot drift; and it costs no rewrite of a +nine-megabyte maps table to add one string per object. + +Measured on the current cache: **1,908** objects and signs take a label, 374 +maps attach talk contributions, and Twinleaf Town's five scripted objects +lower to real rows (`M1052/S05D5` → 8 rows opening on `play_sound 1500`). + +**A localId is not a key.** The link stage filed object scripts under the +object's `localId`, and the cartridge **reuses one inside a map**: 40 objects +across 28 maps share a localId with another object on the same map. Twinleaf +Town's arrow signpost, which carries the no-script sentinel, was answering with +the guitarist's dialogue. Filed by the event's position instead, which the maps +stage already writes onto the record as `index`, so both sides of the join name +the same thing. This is the third time in this port that a small integer used +as a key turned out not to be unique. + +### Fault 5 — "the boxes surrounding the text are still too small" + +This one survived the module-list fix, and it had to: the fallback layout in +`Gen4MainMenu` is character-for-character the cartridge's own numbers +(`optionX = 3`, `optionWidth = 26`, `firstY = 1`, `gap = 2`, `lineTiles = 2`, +`linePixels = 16`, `margin = 32` — `OPTION_WINDOW_WIDTH`, +`CONTINUE_WINDOW_MARGIN`, `TEXT_LINES_TILES` and `RenderOptions`' own +`nextOptionY` in `main_menu.c`). The numbers were right the whole time. They +were being drawn as the wrong rectangle. + +**A Platinum window's frame is outside it.** `Window_DrawStandardFrame` → +`DrawStandardWindowFrame` (`render_window.c`) fills + +``` +x - 1 .. x + width and y - 1 .. y + height +``` + +— one tile beyond the window on every side — and `RenderOptions` advances by +`option->height + 2`, with the cartridge's own comment: *"Add 2 to account for +the window border"*. So the window the player sees is `(width + 2)` by +`(height + 2)` tiles, anchored at `(x - 1, y - 1)`. + +`Font.drawBox` is the opposite convention: `sheetFrame` lays a `tw × th` grid +with the border on its outer ring, so the rect you pass IS the visible box. +Passing the cartridge's content rect straight through therefore drew: + +| | drawn | the cartridge's | +|---|---|---| +| column width | 208 px, x 24–232 | **224 px, x 16–240** (centred on 256) | +| one-line option | 16 px tall | **32 px** | +| CONTINUE | 80 px tall | **96 px** | + +Half the height on every one-line row, 16 px narrow, and off-centre. Fixed by +drawing `(optionX - 1, y - 1, optionWidth + 2, th + 2)` and putting the label +back at the content origin `optionX * 8`, which is where +`MainMenuUtil_ShowWindowAtPos` prints it. The CONTINUE summary moves with it: +its labels are at `+ CONTINUE_WINDOW_MARGIN` from the content origin and its +figures right-aligned at the same margin from the content's right edge, on +`TEXT_LINES(i)` — all three now literal rather than compensated with ±8 for a +frame that was in the wrong place. + +Two things fall out and both are the cartridge's behaviour: + +* **The vertical centring is gone.** It was added last round in answer to "the + tiles are too small" — three short windows at `y = 1` sat in the top third + and left the rest empty. At their real height they do not: CONTINUE plus + NEW GAME, OPTION and EXIT is 0–96, 96–128, 128–160, 160–192 — exactly 192, + the whole screen, at the cartridge's own `y = 1`. +* **The column scrolls instead of being cut off.** It can be taller than the + screen on the cartridge too — CONTINUE alone is 12 tiles and the real menu + has eight options, which is what Platinum's scroll arrows are for. The old + code `break`ed at the bottom edge, which would make EXIT unreachable the + moment a mod or a link row pushed it past 24 tiles. Now the selected window + is kept on screen and anything wholly off either edge is not drawn. + +**Full-screen was already right and is left alone.** Every one of the ten Gen 4 +screens declares `uiSize() = 256 × 192`, `wantsFillScale() = true` and +`wantsEdgeBleed() = false`; `Game:draw` resolves the surface from the topmost +state that declares one (`nativeSurfaceInStack` → `Renderer:setUISize`, which +accepts anything between 160×144 and 640×576), and `Renderer:endFrame` honours +`uiFill` with `Up = min(ph / uih, pw / uiw)` — the window filled, aspect kept, +no integer-scale letterbox and no edge smear. On the reporter's 1024×768 that +is a scale of exactly 4 in both axes. So the menus are laid out in the DS's own +256×192 pixels and then scaled to fill the window, which is what was asked for; +what was wrong was the rectangle inside those pixels. + +### Fault 4 — the cache has to be rebuilt to get any of the sprite work + +`facings` is a new field on an existing file and the object-script key changed +shape. Neither adds a **file**, so `readyReport`'s missing-file gate cannot see +it. `CACHE_FORMAT` is bumped to `rom-cache-v338:`, which is the mechanism for +exactly this. + +### Still open from this report + +* **The world is drawing `TILESET_GEN4_STANDIN`** — flat colour per terrain + class, which is the screenshot. The map meshes and textures are read (see + above); the field renderer does not use them yet. +* **The Pokedex has no Gen 4 screen at all** — no `Gen4Pokedex.lua` and no + `GEN4_ALIASES` entry, so `PokedexMenu` opens Kanto's. And a screen is not + the next thing to build, because **the Pokedex art composes blank**. Checked + pixel by pixel rather than by looking at the index: `scroll_main_background` + is 256×192 of solid black, and `info_main`, `page_panel`, `banner_sinnoh`, + `info_entry_window`, `info_species_window` and `info_footprint_window` are + every one of them a single fully transparent colour. 275 of the 282 files + under `pokedex/` are under 400 bytes. Every one of those records carries + `borrowedPalette` or `borrowedTiles`, which is the composer saying it could + not find the pairing — the same fault as the Poketch faces, one archive + along. **Fix the composition before writing the screen**: a Gen 4 Pokedex + drawn on this art would be a black screen where Kanto's at least shows + something. + + The same check on the art the four working screens DO use says they are + fine, which is what makes the contrast meaningful: `bag/bag_ui_main` has 25 + colours over 45% of its area, `summary/page_info` 16, `party/menu` 5, + `trainer_card/badge_case` 10 over the whole panel, and `title/logo` 255. + None of those is blank, so the module-list fix above puts real art on + screen rather than exchanging Kanto's for black. +* **The start menu is still the engine's** — `push StartMenu` in the log. The + two-style switch from the original brief is designed, not built. + +## Boot to main menu: the cartridge's own sequence, frame by frame + +Read out of `game_opening/ov77_021D25B0.c` and `applications/title_screen.c` +rather than from watching the game, so the numbers below are the cartridge's +and not an impression of them. This is the spec the port is built against; what +is built is marked. + +### 1. The opening cutscene — `gOpeningCutsceneAppTemplate` + +Three phases back to back, then a hold until frame **2430** (about 40.5 s at +60 fps), then it enqueues the title screen. **A or START at any point** sets +`unk_08`, clears `gSystem.showTitleScreenIntro`, fades both screens to black +and exits immediately — so a skipped opening also skips the title's own intro, +which is the detail that makes the two read as one sequence. + +It draws out of `/demo/title/op_demo.narc`: **116 members — 16 map models, +4 texture sets, 33 tile sheets, 21 palettes, 24 tilemaps, 9 cell banks and 9 +cell animations.** The models are a flythrough (`op_map01_00_00`, +`op_map02_00_00`, `titlemap05_20`, …), 500 to 2,100 triangles each, and they +carry no textures of their own — the four BTX0 members beside them are the +sets. **Not built. The archive is now extracted** (`MODEL_ARCHIVES` entry +`opening`), so the assets are in the cache and what is missing is the +camera track and the shot list. + +### 2. The title screen — `gTitleScreenAppTemplate` + +`TitleScreen_Main` is a seven-state machine: + +| state | what happens | +|---|---| +| `INIT_RESOURCES` | loads the gfx; branches on `showTitleScreenIntro` | +| `SHOW_INTRO` | the eleven-state intro below — only when the opening ran | +| `INIT_SOUND` | `Sound_SetSceneAndPlayBGM(SOUND_SCENE_TITLE_SCREEN, SEQ_TITLE01_sseq)` | +| `MAIN` | blinks the text; watches for input | +| `EXIT_NORMAL` | A/START was pressed | +| `EXIT_REPLAY_OPENING` | nothing was pressed for 900 frames | +| `CLEANUP` | releases the gfx | + +Coming **from** the opening, `showTitleScreenIntro` is true and the intro +plays. Coming **back** (from the main menu, or from the field's QUIT) it is +false, Giratina is already on screen, and **input is dead for 30 frames** +(`TITLE_SCREEN_INPUT_DISABLE_FRAMES`) so a held button cannot fall straight +through the title. + +In `MAIN`: + +* **A or START** → next app is the main menu; BGM fades over 60 frames; + **Giratina's cry plays** (`Sound_PlayPokemonCry(SPECIES_GIRATINA)`); a blur + effect is drawn; after `TITLE_SCREEN_EXIT_FADE_DELAY_FRAMES` (10) both + screens fade to **WHITE**, not black; the app waits for the cry to finish + before handing over. +* **B + UP + SELECT held** → the clear-save-file app. This is the erase + combination the NEW GAME warning text refers to, and the port does not have + it. +* **900 frames with no input** (`TITLE_SCREEN_REPLAY_OPENING_FRAMES`, 15 s) + → `showTitleScreenIntro = TRUE` and the opening replays. The title is an + attract loop, not a still. + +### 3. The title intro — eleven states + +`TitleScreen_ShowIntro`, in order: + +1. `FADE_FROM_BLACK` — Giratina's layer on, fade in from black over 15 frames + at step 3, then **hold 267 frames (~9 s) while the portal animation plays** +2. `WAIT_FOR_FADE` — counts that delay down, then arms **two white flashes** +3. `WAIT_AND_FADE_TO_WHITE` / `..._FROM_WHITE` — each flash is a 10-frame + brightness ramp to white and a 10-frame ramp back, twice +4. `RESET_COUNTER`, `WAIT_AND_FADE_TO_WHITE_2` — a third fade OUT to white + over 5 frames at step 2 +5. `WAIT_AND_FADE_MAIN_FROM_WHITE` — the logo's BG2 layer on, **Giratina's + animation starts**, main screen fades in from white over 16 at step 3 +6. `WAIT_FOR_DELAY` — Giratina marked shown, main screen to black, 10 frames +7. `FADE_MAIN_FROM_BLACK` — Giratina's BG layer on, main fades in from black + over **48 frames at step 1** — the slow reveal +8. `MOVE_IN_TITLE_CAMERA` — the title camera moves in over + `TITLE_CAM_MOVE_IN_FRAMES`, then the logo layer comes on, the top-screen + background loads, the SUB screen fades in from white over 16 at step 3, and + the copyright and logo BG layers come on + +Which is why the title is a *sequence* and not a picture: the logo and the +copyright are the LAST things to appear, after nine seconds of portal and a +camera move. + +### What the port has, and what it does not + +**Has.** The two panels and their measured content boxes, the logo fade +(`T_FADE`), the blinking prompt, and — as of this round — a footer band of the +title's own so PRESS START stops being drawn across the fourth copyright line. +That overlap was the visible fault in the last two screenshots: the comment +claimed the prompt sat "in the copyright strip where nothing else is", which +was true of the strip and false of the copyright, whose four lines are 56 rows +centred in it. Fourteen rows is exactly what the screen has spare — +122 (logo) + 56 (copyright) + 14 = 192 — so both panels keep every row they +need. + +**Built this round.** + +1. **Giratina.** `titledemo.narc` member 1 is `title_gira`: four shapes, 996 + triangles, its own TEX0, with a **121-frame joint animation** (BCA0) in + member 2. Loaded by name — the model and the animation sit in different + members and nothing but the name says they belong together, the same rule + the starter case is loaded under — and drawn into a depth target of its + own, because the UI surface has no depth buffer and 996 triangles without + one come out inside out. +2. **The camera, at both ends.** `Gen4Model.lookAt` is new: `orbit` is the + right shape for a turntable and the wrong one for a scripted shot, and + Platinum's title camera is two POINTS that interpolate — eye + (0, 192, 600) to (-64, 192, 484) over sixty frames, target fixed at + (0, 100, -18), FOV 15.996 degrees. Checked by mapping both eyes through the + matrix: each lands on the origin and its target on -Z at exactly the right + distance. +3. **The eleven-state intro**, as a timeline of the cartridge's own delays -- + 461 frames, 7.68 s. Every beat is a ramp between the picture and either + white or black, so the whole sequence drives one signed `veil` number + rather than a set of flags. Giratina's animation starts where + `GIRATINA_ANIM_STATE_PLAY` is set (frame 327), not at the top; the logo and + the copyright appear only when the camera move ends, which is what makes + the title a sequence rather than a picture. +4. **The layer order is the cartridge's**: the field is the backdrop, + Giratina draws into it, the logo goes over both -- + `ToggleGiratinaBgLayer` before the camera move and `ToggleLogoLayer` at the + end of it. +5. **The attract loop** -- 900 idle frames and the intro replays. +6. **The 30-frame input lockout** on a title arrived at from the menu, so a + held button cannot fall straight back through it. + +One deliberate departure, marked in the file: **the cartridge does not let you +out of the title intro at all** -- only the opening cutscene before it is +skippable -- and a window the player has just come back to is not an attract +cabinet, so A or START during the intro jumps to the end of it. + +**Still missing.** + +1. **The opening cutscene**, its camera track through the sixteen map models. + The archive is extracted (`MODEL_ARCHIVES` entry `opening`); the shot list + is not written. +2. **`op_ana` and `op_kao`** -- the portal (240 frames) and the face (174) are + extracted and not yet drawn, so the nine-second portal hold is currently + nine seconds of Giratina alone. +3. **The erase combination** -- B + UP + SELECT. Left for its own pass rather + than bolted on: it destroys a save file, and the cartridge's confirmation + screens are part of the feature rather than decoration around it. +4. **Giratina's cry and `SEQ_TITLE01_sseq`**, which need the audio stage that + does not exist for Gen 4 at all. + +## Boot to the bedroom: the whole chain, and what runs + +The app chain, read out of `game_start.c`, `main_menu.c` and +`applications/title_screen.c`: + +``` + opening cutscene gOpeningCutsceneAppTemplate NOT BUILT + | 3 phases, holds to frame 2430 (~40 s) + | A/START skips it AND clears showTitleScreenIntro + v + title screen gTitleScreenAppTemplate BUILT (intro, Giratina, + | 7 states, 11-state intro attract loop, lockout) + v + main menu CONTINUE / NEW GAME / OPTION BUILT + | NEW GAME + v + StartNewSave gGameStartRowanIntroAppTemplate BUILT (SaveData.newGame) + v + Rowan's intro gRowanIntroAppTemplate NOT BUILT -- 112 states + v + InitializeNewSave gGameStartNewSaveAppTemplate partly (no PlayTime start) + v + the field gFieldSystemNewGameTemplate BUILT -- the bedroom +``` + +### The 112 states of Rowan's intro + +`enum RowanIntroState`, in order, because "the intro is missing" is really +this list: + +1. **The TV**, with its CRT overlay drifting — `RowanIntroTv_*`, a sibling app + in the same folder, and the "tv screen" reported missing two rounds ago +2. fade from black; Rowan fades in and speaks +3. a choice box offering the **control info**; its pages, the X/Y icons, the + DS icon, and a yes/no that can repeat +4. the **adventure info** — six screens of text +5. "widely inhabited" +6. the **Poké Ball**: pushed in, four flashes, the Pokémon spawns, rises, + bounces down, and is put away — **built**; see *The release, frame by + frame* +7. "about yourself" +8. the **gender choice** — both avatars fading and centring, with a confirm — + **built**; see *The gender choice, and the four poses that were a run + cycle* +9. the player's **name**: dialogue, keyboard, confirm +10. "so you're" +11. the **rival**: tilemap swap, a name choice box with presets, keyboard, + confirm +12. Rowan's closing lines, then the **avatar shrink** that hands over to the + field + +`gen4_intro` is extracted and carries the backdrops, the figures, the rival +names, the control info and the adventure info. `Gen4RowanIntro` reads it and +plays the main line, the release (6) and the gender choice (8); the two +lectures (3, 4) are deliberately not offered, and the closing avatar shrink +(12) is not built. + +## The release, frame by frame + +Reported from play: *"in the intro rowan isnt thorwing out a pokemon like he +does in the rom"*. He does, and the port did not — the step was not in the +script table at all. Text id 17, `havePokeBall`, was extracted and never read. + +**It is a Buneary**, and that answer costs nothing to act on: +`RowanIntro_LoadBunearySprite` builds an ordinary `PokemonSpriteTemplate` for +`SPECIES_BUNEARY`, `FACE_FRONT`, so the picture is the species' own battle +front sprite — already in this cache since the species-sprite stage. Nothing +had to be extracted for the Pokémon itself. + +**The ball is three pictures, not one.** `/demo/intro/intro.narc` members 32, +33 and 34 are loaded into the same place in turn over one tilemap (40) and one +palette (41): that is the button being pushed in. The animation is not a +transform of the art — it *is* three pieces of art, which is why treating it as +one and moving it would have produced something that looked deliberate and was +wrong. Those three are now extracted as `intro/ball_0..2`. + +**The palette is the third row of member 41**, and nothing states it: the app +loads three rows of that member starting at background row 7 and then points +the tilemap's cells at row 9. So the ball's sixteen colours are member 41's +colours 32–47. Composing with its first sixteen gives a picture, and a wrong +one — this archive's standing hazard. + +**The flash is four brightness ramps.** +`BrightnessController_StartTransition(stepCount, target, start, …)` puts the +*target before the start*, which is exactly the argument order a reader assumes +and gets backwards. The calls are `(1, 16, 0)`, `(1, 0, 16)`, `(4, 16, 0)` and +then `(16, 0, 16)` as the Pokémon spawns: white in one frame, out in one, in +over four, and out over sixteen *while the Pokémon is already on screen*. Its +plane mask is BG0|BG1|BG3 and the Pokémon is on BG2 — so the flash deliberately +does not whiten it. Its palette is blended toward `0x6a3c` (BGR555 28, 17, 26 — +a pink-white) with weight `counter / 3` out of 16 counting down from 48, so it +is a solid silhouette for three frames and has its colours back after +forty-eight. + +**The arc is a parabola in integer arithmetic**, three phases of + +``` +y = base + coeff * 9 * t - floor(9 * t * t / divisor) +``` + +ending the first frame `y` comes back down through zero having been positive, +at which point the app *snaps* the offset to zero rather than letting the +integer arithmetic land where it will — which is why it finishes exactly on the +ground each time. A background offset is not a position: the hardware scrolls +the view, so a larger offset moves the picture **up**, and every reader is +`MON_Y - offset`. + +Reimplemented and checked against a trace of the C, the three phases come out +at 17, 9 and 9 frames, and the sprite's screen position walks + +``` +(82,176) (81,124) (80,86) (79,52) (78,23) (77,-2) … (72,-58) … (65,72) +(67,72) (69,48) (71,30) (73,18) (75,12) (77,12) (79,18) (81,30) (83,48) (83,72) +(79,72) (75,48) … (47,48) (47,72) +``` + +— rise, settle, hop right, hop left. Every number is the app's. + +**The port has one screen and the cartridge has two, and here that costs +something.** Before the arc, the app spends three frames moving a *second* copy +of the Pokémon up the **bottom** screen; the arc then plays on the top one, +starting from below its own screen. On hardware that reads as one continuous +rise across the gap. On one screen it is the same motion twice — the Pokémon +would leave upward and re-enter from below — so the port keeps only those three +frames' horizontal drift and plays the arc, which already begins off the +bottom. That is a port decision, stated rather than smuggled. + +The whole step, measured in a harness that runs the real file against stubbed +graphics: 11 frames of push-in, 6 of flash, 38 of arc, 40 of settle, then the +"they live alongside us" line, then a 16-frame fade and a 30-frame pause. Rowan +is never faded out for any of it — on hardware he is simply on the other screen +— so the ball covers him while it is pushed in and he is back underneath the +moment the Pokémon is out. + +The tint is two draw passes rather than one, because multiplying a sprite by a +colour can only darken it and the cartridge is *replacing* its palette: a +scaled-down normal pass plus an additive glow pass gives +`pixel * (1 - w) + glow * w` exactly, with the sprite's own alpha as the mask +both times. + +## The gender choice, and the four poses that were a run cycle + +Reported in the same message: *"the players sprites when selecting boy or girl +arent animated like they should be"*. + +`Gen4IntroScene` already extracted `boy_1..boy_4` and `girl_1..girl_4` and +described them as four poses of the same character. They are not poses. They +are a **four-frame run cycle**: `RowanIntro_AnimateAvatarRun` cycles the +selected side through intro members 9, 10, 11, 12 (boy) or 14, 15, 16, 17 +(girl), five frames each — and those are exactly the members the figure table +already names. **Nothing had to be added to the cache to play it; the data was +right and the reading of it was wrong.** + +The rest of the screen follows from the same function: + +* **Both avatars are on screen at once.** The boy's layer is offset −48 and the + girl's +48, and an offset moves the picture the other way, so the boy stands + 48 pixels *right* of centre and the girl 48 *left*. The old port showed one + at a time and called that the honest version of two buttons; it was a guess, + and the cartridge's answer was sitting in those two offsets. +* **Only the selected one moves.** The other holds whatever frame it is on and + is blended to 6/16 (`G2_SetBlendAlpha(…, 6, 10)`), which is what makes one of + them read as chosen. +* **On confirm the other fades out** over sixteen frames and the chosen one + slides back to the middle four pixels a frame — twelve frames from either + side — and then the confirm line and a YES/NO box. NO fades the chosen one + out and brings the pair back, which is why `{YESNO 0}` is stripped from the + text upstream: the box is drawn, not printed. + +Measured in the same harness: 32 frames of fade-in (one each), the run cycle at +`2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,1,…`, 16 frames of fade-out, 12 of centring, and +the NO path returning to the start with the spread reset. + +Still not built from this list: the **control** and **adventure** lectures, +which are extracted and deliberately not offered — they describe a touch screen +and a +Control Pad the player is not holding — and the **closing avatar +shrink** that hands over to the field. + +**`CACHE_FORMAT` is now `rom-cache-v340`**, because the ball art is a new +extraction output: a Platinum cache has to be re-imported before the ball +appears. The release plays without it — the Pokémon is the species' own sprite +and does not come from that archive — so an old cache gets the sequence with +Rowan's backdrop where the ball should be, rather than nothing at all. + +## The world: the ground pipeline, measured end to end + +`TILESET_GEN4_STANDIN` is what the player sees, and the reason is not that the +data is missing. Every piece is in the cartridge and every piece reads. This +section is the measurement, chunk by chunk, so the renderer can be built +against numbers rather than against hope. + +### The chain, and what each link answers + +``` +map header --areaData--> area_data.narc --mapTexture--> map_tex_set.narc + | | + +--matrix--> map_matrix.narc --> land_data.narc member <-----+ + | | | + permissions NSBMD BDHC +``` + +**land_data.narc: 666 members, and all 666 carry both a mesh and a BDHC.** +Nothing is optional here, which the earlier note ("three of the four blocks +are routinely empty on indoor chunks") got wrong for the two that matter. + +**All 666 meshes decode.** `Gen4Nsbmd.parse` returns a model set, not a model +— the chunk's mesh is `set.models[1]` — and chunk 0 comes out as 19 shapes +against 19 materials whose texture names (`conttree_b`, `hage`, `imped`) are +real. Across the archive that is **7,547 shapes**, 13.6 MB of NSBMD. + +**All 666 pack and unpack unchanged.** `Gen4ModelPack.pack` followed by +`verify` — the same round trip the starter models go through — is **0 failures +in 666**, 17.7 MB of packed geometry, 7.9 seconds to read and pack the lot. So +the geometry can go into the cache in the form the renderer already draws. + +**A chunk's local origin is its CENTRE.** `posScale` is 32 and chunk 235's +vertices run x = −8..5, so world units are `value * posScale` and the chunk +spans −256..+256 of its 512-unit square. Reading it as 0..512 puts seven +eighths of the mesh off the edge — 236 triangles of 2,667 landed before this +was fixed, which is the sort of error that looks like a broken decoder and is +arithmetic. + +**All 3,130 map textures decode**, which they did not before: 198 A3I5 and 40 +A5I3 — 7.6% — were being skipped, and they are the shadows, the water edges +and the cloud layers, so the missing tenth was the tenth you notice. Both are +one byte per pixel split between a palette index and an alpha (five bits of +index under three of alpha; three under five), added as +`Gen4Models.ALPHA_FORMATS`. The proof they are right is that the alpha is +PARTIAL: `area4_gate_b` comes out with 176 semi-transparent pixels and `elev_e` +with 217, where a wrong split gives all-or-nothing. + +**And it draws.** Chunk 235 with texture set 28, rasterised top-down at one +pixel per world unit with a height buffer, is a Battle Frontier interior: +Poké Ball arena floors, the rope runs, the benches, the sand outside. That is +Platinum's own ground art, from the cartridge, in one 512×512 image. Nothing +in the pipeline is unproven any more. + +### Which texture set a chunk wears: settled, and it is exact + +A chunk's mesh names its textures; it does not say which of the 74 sets to +look them up in. The header does — `areaData` → `area_data.narc` (75 records, +8 bytes) → `mapTexture`. + +Asked the wrong way first, and the wrong way is worth recording because the +number it produced looked like a real gap. Taking every map header, then every +cell of its whole matrix, and asking whether the header's set holds that +chunk's texture names gives **32,307 of 40,333 pairs, 80.1%** — and the +failures all cluster on the Sinnoh overworld, one header with a 30×30 matrix +whose single area record obviously cannot cover 900 chunks. The question was +wrong: that header does not OWN most of those cells. + +**A matrix says who owns each cell.** `Gen4Maps.extents` already reads the +`headers` block for its bounding boxes — one header id per cell, zero where +nothing claims it — so the right question is per cell, of its owner. Asked +that way: + +* **175 of 175 owned cells resolve. 100%.** +* 745 cells name no owner, and those are textured by whichever map the player + is standing in, which is the answer the cartridge gives too. + +So there is no attribution gap. The 80.1% was an artefact of asking every +header about cells it does not own, and the figure quoted before that +(729 of 867) was a third measurement again; none of the three were comparable +and only this one asks the cartridge's own question. + +### The stage, built + +`src/import/Gen4Terrain.lua` and a `terrain` stage, measured on the cartridge: + +| | | +|---|---| +| chunks packed and verified | **666 of 666, 0 refused**, 7,547 shapes | +| packed geometry | 17.7 MB, 8.5 s | +| BDHC heights | 301 KB, in the cartridge's own form | +| texture atlases | **74 of 74, 0 textures undecoded**, 16.7 MB raw, 1.2 s | +| matrices gridded | 289, 1,604 chunk cells | + +Three decisions worth stating. + +**The geometry is a side-car binary.** 17.7 MB of packed vertices and indices +is nearer 50 MB as escaped Lua source and would add minutes to every cache +load. `CacheFs.write` takes raw bytes — it is what every PNG already goes +through — so `terrain/chunks.bin` and `terrain/heights.bin` are files and +`gen4_terrain.lua` is an index of offsets into them. +`RomExtractorGen4:saveBinary` is the second half of `ImageWriter.save` with the +encoder taken out. + +**The atlases are trimmed to what they hold.** Every set packs into the same +512-wide sheet, tallest texture first with ties broken by NAME so a rebuild +from the same cartridge produces the same file — then the empty shelves below +the last one are cut off. The smallest set is 36 textures on two shelves; a +full-height sheet for it was ten times the pixels for nothing, and trimming +took the 74 sets from 74 MB to 16.7 MB. + +**No pictures are baked at import.** A chunk is drawn top-down into a canvas at +run time, once, the way `Gen3Tiles` already bakes its metatile sheets — so the +cache carries the mesh and the textures rather than 666 rendered images that +would have to be re-rendered the first time the camera moved anyway. + +`CACHE_FORMAT` is `rom-cache-v339`, because the terrain's files are new but +live under `assets/` and behind a new module, so the missing-file gate cannot +see them either. + +### The renderer, built + +`src/render/Gen4Ground.lua`, and one guarded branch at the top of +`TileRenderer:drawWindow`. Nil for every other generation and for a Platinum +cache imported before the terrain stage, so everything below that branch is +untouched and still runs when the ground is absent. + +**A chunk is baked once, top-down, into a 512×512 canvas**, and the canvas is +what the map draws. That is not a shortcut around a 3D view: it is what +`Gen3Tiles` already does with its metatile sheets, for the same reason — the +geometry does not change, so rasterising it every frame is work repeated to +arrive at the same picture. When a real camera exists the meshes are already +here and this becomes the flat case of it. + +**One pixel per world unit**, which is what makes the rest line up: a tile is +16 units and the engine draws tiles at 16 pixels, so the collision grid, the +warps and the sprites land on the ground with no second scale to keep in step. + +**The projection is orthographic and checked**: `topDown(256)` maps the +chunk's north-west corner to clip (−1, +1) and its south-east to (+1, −1) with +w = 1 throughout, and ground 84 units up comes out at clip z −0.0205 against +the floor's 0 — so with the depth test on `less` the hill wins, which is the +whole reason the bake needs a depth buffer. + +**No nodes and no pose, and that is measured.** A model's shapes are placed by +the matrix slot each is bound to, and across all 666 chunks — **7,547 shapes — +every one is bound to slot 0**. Thirty-three chunks do carry more than one node +and 207 node matrices are not the identity, so the nodes are not absent; +nothing places a shape with them. The vertices are already in the chunk's own +space. + +**The store is read in ranges, not whole.** `File:seek` plus `File:read` is the +difference between 17.7 MB resident for every Platinum session and the few +hundred kilobytes a map actually touches. Sixteen baked chunks are kept, oldest +evicted first — a player walks in one direction, so the chunk longest unused is +behind them — and at most one chunk is baked per frame, because baking four at +once on a map entry is a visible hitch. + +**An atlas was tried and rejected**, which is why the stage writes 3,130 +individual texture PNGs (12 MB raw, 0 undecoded) rather than 74 sheets. A map +texture is TILED: a chunk's UVs run from about −196 to +228 texels on a +64-texel picture, the same grass laid down seven times. That needs a sampler +set to repeat, and a sub-rectangle of an atlas cannot repeat — the wrap applies +to the whole sheet, so every tiled face would smear its neighbours across +itself. `Gen4Model.new` already loads a shape's texture by path and already +sets `repeat` on it, so the honest version costs a file count and no code. + +### The height under the ground, read + +`Gen4Ground:heightsAt(tileX, tileY)` -> a list of world heights, highest +first, in the same map tile coordinates collision and the events use. A list +rather than a number, and the measurement is why. + +Over all **681,984 tile centres in the cartridge**, with all 666 BDHCs parsed +(0 refused, 8,974 plates between them): + +* **76.4%** have a plate under them +* **0.48% have more than one, up to four deep** — the bridge case, and the + reason a single number would be wrong +* about **14% of walkable tiles have none**, and that is not a gap: a tile with + no plate is flat ground at the chunk's own base + +**It walks every plate rather than using the scanline index, and that is a +correction.** The BDHC carries a strip index for finding plates quickly. +Checked against brute force over 98,304 tiles it agrees on **99.59%** and +**drops a plate on 404 of them — never the other way round**. Thirteen plates +per chunk is nothing to walk, and a height that is silently absent four times +in a thousand is a player falling through a bridge. The index stays in +`Gen4Bdhc` (`heightsVia`) and is not what the ground asks. + +The two-table check that did NOT come out clean is worth recording as well: the +permission grid's blocked bit and "has a plate" agree on only 51% of tiles. +That is the right answer rather than a fault — 37% are blocked *and* have a +height, which is exactly what scenery you can see and not walk on looks like, +and the plates cover the mesh rather than the walkable area — but it means the +permission grid cannot be used to verify the height field, and a check that +looked like one would have been worse than none. + +### The bit this project had been calling "void" + +That paragraph used to say *void bit*, and so did `Gen4Maps`, and both were +wrong about what the bit means. The behaviour was right by luck — "not part of +the map" and "you cannot stand here" both make a tile impassable — but the +**name** sent every later reader looking for a wall table that does not need to +exist. It is why this file carried a standing caveat reading *"which of the 54 +behaviour values are walls is NOT established ... a player dropped into one of +these maps would walk through fences."* **That caveat was false.** Fences carry +the bit and already block. + +`TERRAIN_ATTRIBUTES_COLLISION_MASK` is `0x8000` and +`TerrainCollisionManager_CheckCollision` reads that bit and nothing else. Then +measured against this cartridge's own 681,984 tiles, three ways that cannot +borrow from each other: + +* **335,165 tiles have it set — 49.1% of Sinnoh.** Half a region is not + missing. That is walls, cliffs, building footprints and sea. +* **The per-chunk share is spread across every decile** — 88 chunks under 10%, + 107 at 10–20%, 101 above 90%, and every band in between occupied. "Off the + map" would be bimodal: a chunk is either land or it is not. Per-tile + collision is not. +* **26 behaviour values occur both blocked and open.** A tile that is not part + of the map does not also carry a behaviour that is walkable elsewhere, so the + bit is an independent fact about the tile rather than a consequence of what + the tile is. + +And the rest of the high byte carries nothing: **bits 8–14 are clear on every +one of the 681,984 tiles**, and the highest word in the cartridge is `0x80E5`. +So a permission word is exactly a collision bit and a behaviour byte, and the +behaviour byte says what a tile *is* — grass, water, a doorway — not whether +you may stand on it. There are **94** distinct behaviour values in this +cartridge, not 54. + +`Gen4Maps.COLLISION` and `Gen4Maps.blocks` are the names now; `VOID` and +`isVoid` remain as aliases so nothing that reads them breaks. **No cache output +changed** — the map def's bytes are identical — so this needs no re-import; it +closes an open item and removes a false one. + +The elevation field is still zero, and that one is a real gap: the BDHC is +parsed (`Gen4Ground:heightsAt`) and nothing writes it into the grid, so a +bridge and the path under it are one cell. + +### The white overworld, and the two numbers behind it + +Reported from play, with a screenshot: *"the overwolrd still isnt right its +appearing as white mostly with some weird tiles in one area"*. One picture, two +independent faults, and neither of them was in the geometry — the chunks that +did draw drew correctly. + +**The white was an early return.** `TileRenderer:drawWindow` opened with + +```lua +if self.gen4Ground and self.gen4Ground:draw(camX, camY, vw, vh) then + return +end +``` + +The intent was reasonable: the Gen 4 ground IS the map's picture, so there is +no point building the stand-in tile batch underneath it. The flaw is in the +word **any**. `Gen4Ground:draw` returns true when it drew *something*, and a +screen holds up to four chunks while `BAKES_PER_FRAME` was **one** — so on a +map entry the first chunk baked, reported success, and the early return +cancelled the stand-in for the other three, which had nothing of their own yet. +The result is exactly the screenshot: one region of real ground, and white +everywhere else, because white is what is left when nothing at all is drawn. + +The fix is to stop treating the two as alternatives. The stand-in costs one +batch draw and is already built; it now draws first and the real ground draws +over whatever is ready: + +```lua +self:drawAnimated(camX, camY) +if self.gen4Ground then self.gen4Ground:draw(camX, camY, vw, vh) end +``` + +A floor under the picture rather than a replacement for it, and the screen can +no longer be empty. `BAKES_PER_FRAME` went 1 → **4** as well, so the visible +set is ready after one frame instead of four: a map entry pays one hitch and +then nothing. + +**The striped region was z-fighting, and it was a precision choice made +carelessly.** `DEPTH_RANGE = 4096` was a first guess picked for headroom. It +maps the whole height field into the depth buffer, and Platinum's heights span +tens of units, not thousands — so nearly every surface in a chunk landed in a +sliver at one end of the range. Two near-coplanar surfaces (a floor and the mat +on it) came out a couple of millionths apart in clip space, which is inside the +depth buffer's resolution, and a depth buffer that cannot separate two surfaces +shows alternating rows of each. That is the striped teal. + +`DEPTH_RANGE` is now **1024** — still far past anything the cartridge has +(Mount Coronet is hundreds), with four times the resolution to tell two floors +apart. **Headroom taken "just in case" is not free; in a fixed-point buffer it +is paid for in precision you were using.** + +### What is left + +1. **Wiring the height into movement.** The query is built and nothing calls + it: the player still walks a flat plane. That is the engine's elevation + concept, not the extractor's, and it needs the "which surface am I on" + choice the multi-plate tiles exist for. +2. **The field animations** — and what they animate is not what this file used + to say. See *What `bm_anime` actually animates* below. +3. **Buildings — built.** See *The houses on the ground* below. + +## The Pokédex, and the composition that could not be expressed + +The last screen on the reported fault list — *"neither is the pokedex, or the +pokemon party menu or the bag theyre looking like gen1 still"*. The other two +were fixed by the module list. This one was left alone on purpose, and the note +saying so was right: **the art composed blank**, and a Gen 4 Pokédex drawn on it +would have been a black screen where Kanto's at least showed something. + +### Why it was blank + +Not a decoder bug. `zukan.narc` does not name its parts to match. The palettes, +the tile sheets and the tilemaps are three separate name spaces, and a handful +of sheets and palettes serve dozens of tilemaps: **`info_main.NSCR` has no +`info_main.NCGR` and no `info_main.NCLR` anywhere in the archive.** Grouping by +base name — which is exactly right for every other screen archive — gives it a +tilemap with no tiles and no colours, so it borrows the archive's first of each +and paints nothing. Hence 275 of 282 pictures under 400 bytes, every one +carrying `borrowedTiles` or `borrowedPalette`. + +And the entry page is not one tilemap. It is **four**, laid into one 32×24 grid. +`ov21_021E96A8` is the whole of it in a single function: + +``` +Graphics_LoadPaletteFromOpenNARC(narc, banner_sinnoh_NCLR, 0, 0, 0) +Graphics_LoadTilesToBgLayerFromOpenNARC(narc, entry_main_NCGR_lz, bg, 3) +info_main.NSCR -> rect (0, 0) +info_species_window.NSCR -> rect (0, 3) +info_footprint_window.NSCR -> rect (12, 8) +info_entry_window.NSCR -> rect (0, 16) +``` + +**The palette is `banner_sinnoh.NCLR`** — the entry page's colours are filed +under the banner, which no amount of looking at names would have produced. +`info.NCLR` exists and is a *sprite* palette for the page buttons. Pairing +`info_main` with `info` would give a picture, and a wrong one. + +### Checked three ways + +A wrong member index in an archive like this still decodes, so the pairing is +checked against three tables that cannot borrow from each other: + +1. `res/graphics/pokedex/pokedex.order`, the file pokeplatinum's build feeds its + archiver, gives the indices: 6, 24, 33, 50, 51, 52, 54, 57. +2. The name table this port already carries in `Gen4Archives` agrees with every + one of them, index for index. +3. The **rect sizes** are checked against the widths and heights the graphics + stage already recorded for those five members: `info_main` 32×24 at (0,0), + `info_species_window` 12×12 at (0,3), `info_footprint_window` 6×6 at (12,8), + `info_entry_window` 32×8 at (0,16) — which ends exactly on the bottom row. + Every rect fits inside the screen and the two full-width ones *are* the + screen. + +Members are looked up **by name** at extraction time; the indices are recorded +so a reader can check the claim rather than take it. + +### `Gen4Graphics.stamp`, and what it says about the planner + +The missing capability was one function: lay one tilemap into another at a tile +offset, which is `Bg_LoadToTilemapRect`. Cells carry their own tile index, flip +bits and sub-palette, so a stamped grid composes exactly like any other tilemap. +Anything that would land outside the base is **dropped rather than wrapped** — a +rect that does not fit is a wrong offset, and wrapping would hide it. Verified +against a hand-computed coverage: 332 + 144 + 36 + 256 = 768 cells, no overlap +unaccounted for, and an out-of-bounds stamp clipped rather than wrapped. + +The new `dex` stage does not replace the graphics stage. It adds the +composition the planner cannot express and leaves the per-member pictures alone, +so nothing that reads them today changes. + +### Height, weight and category are STRINGS + +The species table carries none of the three, and the art has slots for all +three. Platinum does not store them as numbers: height, weight and the category +line are one **pre-formatted string per species**, which is why `infomain.c` +renders them with a `MessageLoader` and no formatting of its own. Banks 709, +707 and 711; the "HT" and "WT" labels are entries 9 and 10 of bank 697. + +Those bank ids come from pokeplatinum's `generated/text_banks.txt`, whose +zero-based line numbers *are* the cartridge's bank ids — checked against every +bank this project had already found by looking: 202 nature, 391/392 item, +619/620 trainer class, 646/647/648 move, and 706, which that list names +`TEXT_BANK_SPECIES_POKEDEX_ENTRY_EN`. **Nine out of nine, so the tenth is not a +guess.** + +### The screen + +`Gen4Pokedex`, with the `PokedexMenu` alias that had never existed. Two pages: +the list, and the entry that A opens. Every position on the entry page is a +literal out of `infomain.c` — the sprite at (48, 72), the name and number at +(172, 32), the category box's text at (114, 44), HT at (152, 88) with its value +at (184, 88), WT at (152, 104)/(184, 104), and the entry text centred on x = 128 +at y = 136, dropping to x = 8 when it is wider than 240, which is the +cartridge's own overflow rule rather than a clamp invented here. + +**The list page is this port's**, and says so: `scroll_main_background` and the +scroll wheel are a third composition again — a wheel of sprites over a scrolling +background — and are not composed. So is the **Sinnoh dex order** +(`/poketool/pl_pokezukan.narc`, not extracted), which is why the listing is +national order only; for Gen 4 that needs no sort at all, since Platinum numbers +its species 1..493 in national order and the species id *is* the number. + +`CACHE_FORMAT` is now **`rom-cache-v342`**. + +## The keyboard, part two: the archive nobody had opened + +The section below fixed the alignment. It did not fix the screen, and the +reason is worth stating on its own: **every number in it was invented.** The +grid was 13×6 on 16-pixel square cells at (24, 64) because that fitted; the +boxes were the engine's; the home row was inside the grid. All of it was +self-consistent and none of it was Platinum's, because `/data/namein.narc` had +never been opened. + +It is open now, as `Gen4Naming` plus a `naming` extraction stage, and the +screen is rebuilt on what it says. + +**The archive has no name table**, like the intro's, so every member index is +arithmetic — and arithmetic is what this project has been burned by most. None +of it is inferred. The order comes from +`res/graphics/naming_screen/naming_screen.order`, the file pokeplatinum's build +feeds its archiver, which reproduces this cartridge byte for byte; every index +is then cross-checked against the symbol `NamingScreen_LoadGraphicsFromNarc` +uses for it. **Two independent statements of the same fact** is the only kind +of check worth having in an archive where a wrong index still decodes. + +| member | what | +|---|---| +| 0 | `naming_screen.NCLR` — the background palette | +| 2 | `naming_screen_main_tiles.NCGR` — tiles for both backgrounds | +| 4 | `naming_screen_bg.NSCR` — the full-screen backdrop | +| 6–9 | `naming_screen_chars_bg_0..3.NSCR` — one keyboard panel per page | +| 10, 12, 14 | the sprite sheet, cell bank and animations | + +### What the cartridge actually does, against what the port had + +* **The panel's position is a background offset, not a coordinate.** + `NamingScreen_InitializeCharsPosition` parks the active layer at (−11, −80). + The hardware scrolls the *view*, so −11 puts the picture eleven pixels to the + **right**: the panel sits at screen (11, 80). +* **The character grid is 13 × 5, not 13 × 6, in cells 16 × 19, not 16 × 16.** + `Window_Add(…, BG_LAYER_MAIN_1, 2, 1, 26, 12, 1, …)` gives the rectangle — + tile (2, 1), 26 × 12 tiles, palette row 1 — and + `NamingScreen_InitializeCharsGraphics` gives the pitch: **five** + `PrintChars` calls at `i * 19 + 4`, spacing 16. Twenty-six tiles is 208, + which is thirteen columns of sixteen; twelve tiles is 96, which is five rows + of nineteen with a pixel over. So the grid's origin is (27, 88) and nothing + about it had to be chosen. +* **The home row is not in that window at all.** It is six sprites at + `y = 0x44` and `x = 4, 36, 68, 101, 136, 176`. Six buttons — which is the six + the navigation model already had, and their spacing *confirms* that model + rather than merely being consistent with it: laid out from x = 4 on the + keyboard's own 16-pixel pitch at spans 2, 2, 2, 2, 3, 2, they would start at + 4, 36, 68, 100, 132, 180. Against the cartridge's anchors that is exact on + three and within 1, 4 and 4 pixels on the rest — the difference being that a + sprite's x is its art's anchor, not its cell's edge. +* **The keyboard is a checkerboard, and it is painted by code.** Two palette + indices per page — `sCharsBgColor = {4, 7, 13, 10}` and + `sCharsAltBgColor = {3, 6, 12, 9, 9}` — with 16×19 rectangles over the odd + columns of rows 0, 2, 4 and the even columns of rows 1, 3. **Extracting the + pictures alone would have produced a frame with nothing inside it**, which is + exactly the kind of half-answer that looks finished. The stage therefore + carries the window's palette row out of the cache as sixteen colours, because + the two the checkerboard uses are indices into it and nothing else in the + cache can resolve them. + +### The consequence for the section below + +The nineteen-pixel row is why the "every number is a multiple of eight" fix +could only ever be a patch on a guess. `Font.drawBox` takes tiles and the +cartridge's rows are not a whole number of tiles, so the choice was between +rounding the layout to suit the drawing or drawing in pixels. **Rounding the +layout to suit the drawing is what made it wrong in the first place**, so the +tile boxes are gone: the frames are drawn in pixels and nothing rounds. + +### Still not the cartridge's + +The home row's **button art** and the **cursor**, both in the sprite cell bank +at members 10/12/14. Composing a cell bank is a different job from composing a +tilemap, and until it is done the buttons are the engine's frames at the +cartridge's own positions — with short words on them (`A-Z`, `a-z`, `SYM`, +`SPC`, `BACK`, `OK`) that are the port's, because the cartridge's buttons are +wordless pictures and something has to be written. They are short because a +label that does not fit its own button is the fault this screen was reported +for. + +The **prompt and the typed name** are the bottom screen's on hardware — the +keyboard is the top screen and `LoadMessageBoxGraphics` puts the message box on +`BG_LAYER_SUB_0`. With one screen they go above the keyboard, and those two +positions are the only ones on this screen that are still the port's. + +`CACHE_FORMAT` is now **`rom-cache-v341`**. + +## The keyboard, and boxes measured in two different units + +Reported from play: *"the keyboard for gen3 still needs a lot of work before it +matches the platinum rom text is outside of boxes etc"*. (Gen 3 in the report; +the screen is `Gen4NamingScreen`, reached from the Gen 4 new-game flow.) + +The layout was right — six rows of thirteen, the home row's repeated buttons, +the three English pages, all read out of `naming_screen.c`. What was wrong is +that it was expressed in **two units at once**. `Font.drawBox` takes TILE +coordinates; `Font.draw` takes PIXELS. The grid was laid out on 20-pixel rows +starting at y = 62, so every box was rounded to a tile and every label was not: + +```lua +Font.drawBox(math.floor(y / 8), ...) -- 62 / 8 -> 7, i.e. 56 px +Font.draw(label, x + 2, y + 4) -- 66 px +``` + +Ten pixels of drift on the home row, and more further down, because the error +compounds with every 20-pixel row against an 8-pixel grid. The `math.floor` +calls are what made it look deliberate; they were rounding away the evidence. + +**The fix is not to nudge the text.** A box can only land on a multiple of +eight, so the layout has to be made of multiples of eight — then both units +agree and no rounding happens at all: + +| | was | now | +|---|---|---| +| `GRID_Y` | 62 | **64** (tile 8) | +| `CELL_H` | 20 | **16** (2 tiles) | +| `TITLE_Y` | 10 | **8** | +| `ENTRY_Y` | 34 | **32** (tile 4) | + +Thirteen 16-pixel columns from x = 24 is tiles 3 → 29 of 32; the home row is +tiles 8 → 10 and the five character rows are tiles 10 → 20 of 24. Every +`math.floor` in the drawing code is gone, because there is nothing left to +round. A `GLYPH_INSET` of 3 centres a 12-pixel glyph in a 16-pixel row. + +Three smaller things came out of the same read: + +* **The selection was a `">"` prefix** on the label, which pushed every home-row + word one glyph right — out of its own button, and on the longest labels out + of the screen's share of it entirely. So the marker that was supposed to show + where you are was itself putting text outside the boxes. It is a **highlight + drawn behind the cell** now, and the label no longer moves. Labels are also + clipped to their own button's width rather than running into the next one. +* **The character cursor drew on top of the letter it was pointing at** — + `Font.drawCode(Theme.cursor, x, y)` in the same cell as the glyph. Same + highlight, drawn first, glyph second. +* **The five character rows had no panel behind them**, so the letters floated + on the screen's background. The cartridge draws a slab with letters on it; + there is one `Font.drawBox` behind all five rows now, not sixty-five little + windows. + +Still not the cartridge's: the **art**. `/data/namein.narc` is not extracted +(task #103), so the frame is this port's own Gen 4 window. The layout and the +characters are Platinum's; the pictures are not, and that stays said plainly +rather than quietly passing. + +## The houses on the ground + +A chunk's mesh is its **floor**, and the check that established that is the one +that also made this necessary: **9,497 walkable tiles have no land-mesh triangle +beneath them at all**, because indoor chunks are a shell and their floors are +building models. So Sinnoh drawn from the chunks alone is Sinnoh with no houses +in it — which is what the ground pipeline shipped. + +Three small pieces, and none of them needed new decoding. + +**The models were already readable.** `/fielddata/build_model/build_model.narc` +is 590 models, all 590 decoding exactly — 1,362 shapes, 89,253 vertices — and +**568 of them carry their own textures**. That last number is why this is an +archive added to `MODEL_ARCHIVES` rather than a stage of its own: for 568 of +590 the picture is inside the model file, and the stage that already reads a +model's own TEX0 reads it without a new line. The other 22 come out untextured +and are drawn that way, because **a wrong picture on a building looks +deliberate and a flat one does not.** + +**The placements were already parsed and thrown away.** A land chunk's second +block is its object list, and `Gen4Maps.objects` has decoded it — model index, +position and scale, all out of 20.12 fixed point — since the map work. Nothing +carried it into the cache, so the renderer had the ground and no idea what +stood on it. It rides in the chunk index rather than the geometry blob: a +handful per chunk at six numbers each, where a side-car offset would cost more +to read than the numbers. + +**The projection needed nothing reconciled.** `Gen4Maps.objects` has already +divided the fixed point out, and `Gen4Model` has already multiplied the model's +own `posScale` into its vertices — so both sides are in world units and the +placement is an ordinary scale-then-translate composed onto the same top-down +matrix the floor uses. Checked numerically before it was committed: a building +at the chunk's centre lands at (256, 256) of the 512-pixel canvas, one 100 +units east and 50 north at (356, 306), one at the far corner at (512, 0). + +Two things that would each have been a silent wrong picture: + +* **A scale of zero is not a scale.** Some records leave the three scale fields + empty. Read as zero they collapse the model to a point, which draws nothing + and looks exactly like a building that failed to load. Absent means one. +* **The buildings bake into the floor's own depth buffer**, not over the + finished picture. That is what keeps a house drawn after the ground but + *below* it — a basement, the underside of a bridge — correctly hidden; + painting in order would not manage it. + +They bake with the floor rather than drawing every frame, for the reason the +floor does: the geometry does not change, and a town with forty houses would +otherwise be forty model draws a frame to arrive at the picture that was +already there. + +**`CACHE_FORMAT` is now `rom-cache-v344`** — the terrain index gains its object +lists and there is a new model set, so a Platinum cache has to be re-imported +before a single house appears. + +## What `bm_anime` actually animates + +This file has said, in several places, that `bm_anime.narc`'s animations "are +what make Platinum's water move, and a baked chunk is still by definition", and +that re-baking a chunk on the animation clock was the shape of the answer. That +is close enough to sound right and wrong about the mechanism — which is the +kind of wrong that sends the next person to rebuild the terrain renderer. + +**They animate the props standing on the ground, not the ground.** Measured +against this cartridge, of the 95 animations in `bm_anime`: + +| | | +|---|---| +| name a **build model**, by the model's own name | **68** | +| name a texture in the area building texture sets | 3 | +| name any material, shape or texture of a **land chunk** | **0** | + +Zero. Not few — none. And the names say it out loud once you read them rather +than counting them: `door_op`, `pc_door_op`, `stair_pc_u01d`, `funsui` (a +fountain), `machine_l02`, `treeeff01`. Doors opening, fountains running, tree +tops moving, PC doors, stairs. Some of those props *are* water — `l_lake`, +`wfall`, `r04_w` — which is exactly why the water intuition was nearly right +and its mechanism was not: the lake is a model standing on the chunk, not a +patch of the chunk's own mesh. + +This lands well, because the buildings were wired in one section ago and these +are the same objects. The two archives are separate, so the models stage's +per-archive animation pairing cannot see across them; there is now **one +cross-archive pass** that links each build model to its animations by name, so +nothing at run time searches 95 animations per building per frame. + +### The scrolls play + +Both halves are built, and the units were measured rather than assumed. + +**The units.** `Gen4Anim` decodes a BTA0 into per-frame scale, rotation and +translate channels, and nothing in pret says what a translate of `1.0` means — +the application lives inside NitroSDK, which is not in the decompilation. The +*data* says it outright: + +``` +funsui 16 frames tT 0.0000 .. -1.0000 scale const 1.0 +r04_w 121 frames tS and tT 0.0000 .. -1.0000 +wfall 61 frames tT 0.0000 .. -2.0000 +l_lake 61 frames tS and tT 0.0000 .. -1.0000 +machine_l04 60 frames tS -0.0166 .. -1.0000 +``` + +Every scroll runs to **exactly** −1.0 over its own frame count, and the +waterfall to −2.0, which is two cycles in the same time. A translate landing on +whole units is one full wrap of the texture; texel units would have run to 16 +or 64. This port's UVs are already divided by the texture's size when the mesh +is built, so the transform applies with nothing to convert. + +**The shader** takes a 2×2 and an offset now, alongside the MVP. Sent on +*every* shape, including the overwhelming majority that are identity — a +declared uniform that is not sent reads as zero, and a zero texture matrix +collapses every coordinate onto one texel, which is a model drawn in a single +flat colour. `Gen4Model` was also dropping each shape's **material name**, +which is what a texture animation names; nothing could have driven one even +once the animation was decoded. + +**The split** puts the moving props on a second canvas per chunk, rebuilt when +the clock moves; the static floor and the static buildings stay baked. Two +details in it are the difference between working and nearly working: + +* **The terrain is drawn into that canvas with the colour mask off**, filling + the depth buffer without painting anything. That is what keeps a lake behind + a cliff behind it — the canvas comes out transparent everywhere the props are + not and correctly occluded everywhere they are. Props drawn alone would have + floated in front of the terrain above them. +* **That chunk's terrain mesh is held**, not rebuilt. `modelFor` reads geometry + out of the side-car file and builds a LÖVE mesh per shape; calling it once a + frame for every chunk with a fountain on it would cost more than the + animation it pays for. Only chunks that have moving props hold one. + +**The clock is deliberately not wrapped.** The obvious wrap is a round number, +and this archive's periods — 16, 20, 21, 25, 60, 61, 91, 121 among them — do +not all divide into any of them, so a wrap would jump the phase of every +animation coprime to it. A Lua number counts frames exactly past any session +anyone will play. + +### The flipbooks play too + +BTP0 was the open half: its keys name a texture by NAME out of the animation's +own list, and where that name resolved to was not established. It is now, and +the answer is as tidy as it could be — **of the 16 build models carrying a +BTP0, all 16 have every one of that animation's texture names in their OWN +TEX0.** No misses, and not one of them lacking a TEX0. The alternate frames sit +inside the model file beside the picture they replace. + +Which exposed why they could not have been played anyway: **the models stage +writes the texture each SHAPE references**, and for an animated material that +is frame zero and nothing else. A door's other three pictures were decoded, +named, and never written to disk. They are now, under the same +`/` key as everything else, and recorded on the model as +`patternImages`. + +Two details that decide whether a flipbook runs right or merely runs: + +* **The keys are sparse, and key N is not frame N.** `c1_s02` holds frame 0 for + ten frames, then the next for twenty, then thirteen, then nine. Indexing the + key list by the frame counter would run every flipbook at the wrong speed and + the wrong rhythm. The lookup walks to the last key at or before the frame. +* **A material can carry both a scroll and a flipbook**, so the evaluator + merges into the material's entry rather than assigning a fresh table — + otherwise whichever was evaluated first is silently dropped. + +A BTP0 counts as animated only when the model actually carries the pictures its +keys name. An older cache has the animation and not the frames, and re-baking a +chunk every frame to redraw an unchanging door is pure cost. + +`CACHE_FORMAT` is now **`rom-cache-v346`** — the flipbook frames are new files +and `patternImages` is a new field, so doors need a re-import. The scrolls do +not; they were three renderer files. + +`CACHE_FORMAT` is now **`rom-cache-v345`** — build models carry their +animations. + +## Sinnoh makes a sound + +Platinum's audio is `/data/sound/pl_sound_data.sdat` — 7.9 MB of SDAT: SYMB +names, INFO records, FAT, and one FILE block holding everything. Most of it is +SSEQ sequences over SBNK banks over SWAR wave archives, which is a +**synthesiser** and not a decoder. That is the music, and it is not this. + +**The cries are not that**, and the gap between the two is what makes this a +stage rather than a project. Measured across the cartridge: + +| | | +|---|---| +| species whose bank points at wave archive **index == species id** | **493 of 493** | +| those archives holding exactly one sample | **493** | +| those samples that are **PCM8** | **493** | +| sample rates | 10512 Hz (388), 13379 Hz (105) | + +No ADPCM, no multi-sample instruments, no sequencing. A cry is one 8-bit +recording, and 493 of them come to 4.6 MB of WAV. + +### The trap, which was a good one + +The wave archives are **named** `WAVE_ARC_PV001`..`PV518`, 493 present. Read +the numbers out of those names and 387–411 are missing while 494–518 are +spare — which looks *exactly* like a block of 25 species relocated by +107, and +is a coherent enough story that I wrote it down as the answer before checking +it. + +It is wrong. **The names are shuffled; the indices are the species.** Species +387's bank is called `BANK_PV432` and its wave archive index is 387. The +cartridge says the same thing in one line — +`NNS_SndArcPlayerStartSeqEx(handle, -1, waveID, -1, SEQ_PV001_sseq_1)` with +`waveID = species`: one sequence for every cry, and the bank number *is* the +species. Two statements that cannot borrow from each other, agreeing on all +493. + +Following the names would have given 25 species the wrong cry — audible, +plausible, and attributable to nothing. + +### Two small things that are the whole difference + +* **SWAV PCM8 is signed and WAV PCM8 is unsigned.** One addition, and the + difference between a cry and a burst of noise. The check is that a decoded + cry's mean byte lands on 128.0 — Pikachu's does, across 8,236 samples, with + the range running 3 to 252. +* **A SWAV's length is in 32-bit words** counted from the end of its own + twelve-byte header. `WAVE_ARC_PV001` is 8,260 bytes and + `0x3C + 4 + 12 + 2046 × 4` is 8,260 — the layout and the file agreeing to the + byte, which is what makes the reading a check rather than an assumption. + +### What it cost the engine: nothing + +`Sound.playCry(data, species)` already reads `data.audio.cries[]` and +already accepts `{ file = ... }`, because that is the shape Gen 1, 2 and 3 +write. The stage fills the same table with the same shape, so **not one line +of the engine's audio path needed a Gen 4 branch.** Cries are keyed by species +name, as everywhere else. + +`CACHE_FORMAT` is now **`rom-cache-v347`**. + +**The music is still silent**, and that is the honest line: it needs an SSEQ +player — a sequencer over sampled banks — and nothing here is a step toward +one. What this stage establishes is only that the archive is readable and the +file table is right, which a sequencer would need first anyway. + +## The split that was being thrown away + +Generation 4 is the one that abolished the type-based physical/special rule. +That is the defining mechanical change of the generation, and this port was +discarding it — not in the battle engine, which is not wired for Platinum yet, +but one field earlier, where it would have poisoned every fight the moment it +was. + +`Damage.categoryOf` reads `move.category`. The Gen 4 extractor writes the split +as **`class`**. So every Platinum move fell straight through to +`TypeChart.category(move.type)` — the pre-Gen-4 rule the cartridge exists to +replace. + +**Measured against this cartridge's own 471 moves: 92 of the 301 damaging ones +disagree with the type rule — 31%.** + +| move | class | type rule would say | +|---|---|---| +| Fire Punch, Ice Punch, ThunderPunch | physical | special | +| Hyper Beam, Gust, SonicBoom, Razor Wind | special | physical | +| Bite, Razor Leaf, Vine Whip | physical | special | +| Acid, Night Shade | special | physical | + +Nearly a third of Sinnoh's attacks on the wrong stat, both ways. **A battle +would have run to the end and simply been wrong** — wrong numbers, right +structure, reading as bad luck rather than as a bug. This is the cheapest +moment to find it: before anything depends on it. + +The fix is `move.category or move.class or TypeChart.category(move.type)`, in +the engine rather than by renaming the field in the extractor, so it needs **no +re-import**; and `class` is what the cartridge's own move record calls it. +Gen 1, 2 and 3 write `category` on their moves and nothing else in the project +puts a `class` on one, so their precedence is unchanged — checked against all +four cases. + +The same field is read a second time where a **status** move must not roll +damage at all. Platinum has 170 of them and every one carries its class under +the other name; asking only for `category` there left each of them saved by +`power == 0`, which is true today and is not the thing being asserted. + +## The ruleset that was written and never used + +Looking at what a Platinum battle would run under turned up something that is +not about Platinum at all. + +`BattleState` picks its rules as `constants.defaultRuleset or "gen1_faithful"`. +**Nothing has ever written that constant** — not the Gen 3 extractor, not the +Gen 4 one. Checked against the caches rather than the code: neither Emerald's +`constants.lua` nor Platinum's contains the string anywhere. + +So on a fresh save, **Hoenn has been fought under Generation One's rules**: + +* the 1/256 miss on a hundred-percent-accuracy move +* crit rate derived from speed rather than the 1/16 stage ladder +* a crit that doubles the **level** inside the formula rather than the damage + — which also doubles the formula's `+2` and re-floors, so it is a different + number, not a reformulation +* the random factor read as 217..255 out of **255** instead of 85..100 out of + **100** +* Gen 1's sleep turns, status divisors, Focus Energy bug, and unlimited enemy PP + +And `src/battle/rulesets/gen3_emerald.lua` — which states every one of those +differences, each with a disassembly address — has been sitting beside it, +registered in `Builtins`, referenced by nothing. Its own opening comment is +*"the mechanics were already right and every constant was Gen 1's, which is the +kind of wrong that looks fine until you count."* That was written about the +status constants inside it. It turned out to describe the file's own fate. + +The one thing that worked is the OPTIONS row, which cycles the merged registry +— so a player who happened to flip it got the right rules and had no way to +know the default was wrong. + +`src/battle/RulesetDefaults.lua` is the fallback now, in one place because two +files need it and a second copy is how they disagree later. A cartridge that +names its own still wins; nothing about the mod registry or the options row +changes; **no cache output changed, so no re-import.** + +Two deliberate non-changes: + +* **Gen 2 stays on Gen 1's.** There is no Gen 2 ruleset in this repo and + Johto's constants differ from Kanto's in ways nobody here has measured. + Moving it onto a ruleset written for Hoenn would trade a known wrong answer + for an unknown one. +* **Gen 4 took Gen 3's, and that was a judgement rather than a reading.** It is + a reading now — see the next section. The judgement was *nearly* right, and + wrong in exactly one place, which is the interesting part. + +## `gen4_platinum`, measured rather than assumed + +The caveat above named three things nobody had checked: the damage formula's +internal rounding, the sleep counter, and the hooks Gen 4 added. Two of them +are now read out of pokeplatinum with the line beside each, and the third — +abilities and held items — is not a ruleset field in this engine and so is not +pretended at in one. + +**The result is not what the caveat expected.** Of every constant this engine +models, **exactly one moved.** + +### The one that moved: spread damage + +Emerald halves a spread move, and only a move whose target byte is *exactly* +`MOVE_TARGET_BOTH`. Earthquake, Explosion, Self-Destruct and Teeter Dance are +target `$20` on that cartridge and are **not reduced at all** — they hit three +Pokémon for full. + +Platinum, `battle_lib.c:7035-7044`, is **two consecutive blocks**: + +```c +if (DOUBLES && range == RANGE_ADJACENT_OPPONENTS + && CountAliveBattlers(TRUE, defender) == 2) damage = damage * 3 / 4; +if (DOUBLES && range == RANGE_ALL_ADJACENT + && CountAliveBattlers(FALSE, defender) >= 2) damage = damage * 3 / 4; +``` + +Three quarters, not a half — and the two blocks **count different things**. +`BattleSystem_CountAliveBattlers` (`battle_lib.c:2825`) branches on its +`sameSide` argument: `TRUE` (`:2840`) counts the living on the **defender's +side**, `FALSE` (`:2833`) counts **every living battler except the defender**, +across both sides. + +So Blizzard is reduced only while both foes are up — Emerald's condition, kept. +But **Earthquake is reduced whenever two others are still standing**, including +when the defender is the last foe alive, because the user's own ally is taking +the hit too. Reading the second gate as the first gives Earthquake full damage +in exactly the case the cartridge reduces it. + +### The range byte, measured off the ROM + +`Gen4Moves.parse` already reads `range` at offset 8, but nothing had ever +checked what the values were. Across all 471 members of +`/poketool/waza/pl_waza_tbl.narc` the field only ever takes 0, 1, 2, 4, 8, 16, +32, 64, 128, 256, 512 and 1024 — bit positions, one for one with +pokeplatinum's `generated/move_ranges.txt`. Spot-checks against that list: +Blizzard, Rock Slide and Hyper Voice read **4** (`RANGE_ADJACENT_OPPONENTS`); +Surf, Earthquake, Explosion, Self-Destruct and Teeter Dance read **8** +(`RANGE_ALL_ADJACENT`). + +**`0x08` does not mean the same thing in the two generations** — it is +`MOVE_TARGET_BOTH` in Hoenn and `RANGE_ALL_ADJACENT` in Sinnoh — and a Gen 3 +move record calls the field `target` while a Gen 4 one calls it `range`. That +is why the test could not stay a literal in the engine. + +`BattleState:computeDamage` used to carry `move.target == 0x08` itself, which +meant **Emerald's rule was the only rule any ruleset could have**, measurement +or no measurement. It is now two fields on the ruleset: + +| Field | `gen3_emerald` | `gen4_platinum` | +|---|---|---| +| `spreadField` | `"target"` | `"range"` | +| `spreadRanges` | `{ [0x08] = "defenderSide" }` | `{ [0x04] = "defenderSide", [0x08] = "othersOnField" }` | +| `spreadNum` / `spreadDen` | 1 / 2 | 3 / 4 | + +`gen1_faithful` and `modern_clean` have neither field, never set `spread`, and +are untouched — Gold, Silver, Crystal and Prism see no change from any of this. + +### The sleep counter, which needed reading to come back the same + +`subscript_fall_asleep.s:59` is `Random 3, 2`. That reads as 2..4 and **is +not**: `BtlCmd_Random` (`battle_script.c:3200`) reads the bound, **adds one**, +and then adds the offset — `(rand % 4) + 2`, so **2..5**, identical to +Emerald's `sleepTurnsMin = 2, sleepTurnsMax = 5`. The only way to know that was +to go and look, which is the whole argument for writing the matching constants +down rather than inheriting them silently. + +### Everything else that was checked and did not move + +| Constant | Platinum | Source | +|---|---|---| +| Crit ladder | 1/16, 1/8, 1/4, 1/3, 1/2, stage clamped to 4 | `sCriticalStageRates[]`, `battle_lib.c:7097`, clamp `:7130`, roll `:7134` | +| Crit multiplier | ×2 (×3 with Sniper, not modelled) | `:7139`, `:7142` | +| Random factor | 85..100 out of **100** | `:7084` — `damage *= (100 - RandNext() % 16); damage /= 100;` | +| Screens in doubles | `damage * 2 / 3`, else `/ 2` | Light Screen `:7023`, Reflect `:6982`, both on `CountAliveBattlers(TRUE) == 2`, both skipped on a crit | +| Burn | halves the running damage unless Guts | `:6978` | +| Burn / poison residual | maxHP/8 | `subscript_burn_damage.s`, `subscript_poison_damage.s` | +| Toxic | maxHP/16 × counter, counter is a 4-bit field so stops at 15 | `MON_CONDITION_TOXIC_COUNTER` | +| Freeze thaw | 1 in 5 per turn | `RandNext() % 5 != 0` keeps it | +| Poison immunity | POISON, STEEL | `subscript_poison.s:34-37`, `subscript_badly_poison.s:22-25` | +| 1/256 miss | gone | accuracy is a percentage out of 100 | + +Every one of those is written out in `gen4_platinum.lua` **anyway** rather than +left to be inherited, because an absent field reads as *nobody looked* and a +field with a citation reads as *somebody did*. + +### What this changes for a player + +`RulesetDefaults.DEFAULT_BY_GENERATION[4]` is `"gen4_platinum"`, and +`Builtins`' `rulesets` registrant lists the file alongside the other three, so +the OPTIONS row cycles it like any other. **No cache output changed, so no +re-import.** A player on the old default was playing something very close to +right — and wrong in every double battle. + +Gen 2 is still on Gen 1's, and stays there until somebody does to Johto what +this did to Sinnoh. + +## Sinnoh was drawn upside down + +Reported from play: *"The map is rendering in flat 2d and also seems like its +upside down and maps arent properly aligned nor walkable areas the pokeball +screen where your supposed to touch the pokeball isnt rendering properly as +well."* Three complaints, two of them one bug, and the third is real but is not +a bug. + +### The flip + +`Gen4Ground.topDown` built its orthographic matrix with `ndc.y = -z/half`. A +custom `position()` in a LÖVE shader returns clip coordinates **directly**, +which bypasses the projection LÖVE would set up for the target — and **a +canvas's framebuffer counts its rows the opposite way from the screen**. Every +chunk in Sinnoh baked mirrored top to bottom. + +This trap is already written up in this repo. `Gen4Title` carries it — *"CLIP Y +POINTS THE OTHER WAY INTO A CANVAS … Reported: Giratina is showing upside +down"* — along with the `FLIP_Y` matrix that fixes it. `Gen4Ground` was written +without the compensation and nothing connected the two. + +**Measured on Twinleaf Town** (T01, matrix 0, chunk cell 3,27) rather than +eyeballed, because "looks wrong" and "is mirrored" are different claims: + +* the four houses' **collision footprints** are 5×5 at the top-left and + bottom-right and 4×4 at the top-right and bottom-left. Segmenting the + screenshot's four teal roofs gives 135×89 px at **bottom-left and top-right** + and 99×65 px at **top-left and bottom-right** — the pair is swapped, which is + a mirror in one axis. +* which axis is settled by the town's **asymmetric border**: the collision grid + has extra gaps at rows 1–2 only, never at rows 29–30. The screenshot has them + along the **bottom**, at image y 700–820, which back-projects to rows ~1–3 — + a vertical flip. Under a horizontal flip the same pixels land on rows 26–29, + where the grid is solid. +* all four of the map's **warps** sit on the bottom row of their own house's + footprint, which is where a door is; the door model (`build_model` 67, placed + four times) sits at `z = house z + 13`. So `+z` is south in the grid's terms + as well as the cartridge's, and the mailboxes at (13,11) and (18,21) sit + beside their doors on the same rows. +* `Gen4Ground:heightsAt` **already** reads tile y as `+z`. The height lookup and + the picture disagreed about which way south was. + +One character: `0, 0, -1/half, 0` became `0, 0, 1/half, 0`. + +The second half of the report follows from the first. *"Maps arent properly +aligned nor walkable areas"* is what a mirrored ground **is**: the collision +grid was never flipped, so a house visible at the bottom of the screen had its +walls at the top and its door on the wrong side. Nothing about collision itself +was wrong. + +A vertical flip also reverses triangle winding. That costs nothing here because +`Gen4Model:draw` sets cull mode `"none"` — noted in the file so that turning +culling on for the ground does not quietly break it again. + +### The Poké Ball was the exact inverse of a Poké Ball + +The intro's ball step was composing member 40's tilemap against the 16-tile +sheet at member 32/33/34 **with no tile base**, and a tilemap indexes VRAM +rather than the member it shipped beside. + +Decoded, member 40 is 32×24 cells of which **736 are tile 0** and 32 are +`0x20..0x2F` — sixteen indices for a sixteen-tile sheet, with `flipX` doing the +ball's right-hand side, and palette row 2 (which is why `paletteFirst = 32` was +already right). The app loads those sixteen tiles at **tile 32** of the +background's character base. + +Composed without the base, tile 32 begins at byte 1024 of a 512-byte sheet, so +`Gen4Graphics.compose`'s own bounds check left every ball cell transparent — +while all 736 empty cells drew the sheet's tile 0. The result on disk was a +full screen of one repeated glyph with a 48×48 hole punched where the ball +goes, **identical across all three frames**, which is what shipped and what the +screenshot shows. + +`Gen4Graphics.compose` now takes a `firstTile`, and this was checked for every +other pairing in the archive rather than assumed: the five backdrops run to +tile 121 and the figures' tilemap to 127, both inside their own 128-tile +sheets. **Only the ball is loaded high.** + +Re-composed with the base, the three frames are a 42×42 button centred on the +screen: pale blue, pressed, then **yellow** — the ball's button being pushed in +and lighting up, which is precisely what `Gen4RowanIntro`'s three-picture +animation was written for. + +That also corrected a reading in the screen. `drawScene` drew the ball picture +and **returned**, on the argument that it "owns the screen because on the +cartridge it owns a screen". That argument only survived because the picture +was a full-screen field of garbage; the real picture is a small button on +transparency, and drawn alone it is a black screen with a button on it. It now +draws **last, over Rowan and his backdrop**. + +`CACHE_FORMAT` goes to `rom-cache-v348:` so the three ball PNGs are rebuilt. +The ground flip is runtime-only and needs no re-import. + +### "Flat 2d" is not a bug, and here is what it would take + +`Gen4Ground` bakes each 32×32-tile chunk **orthographically, top down, once**, +into a 512×512 canvas, and the map draws canvases. That is a deliberate choice +and the file says so: the geometry does not change, so rasterising it every +frame arrives at the same picture. It is also why walls and house fronts are +invisible — an orthographic top-down view of a 3D town shows roofs. + +The DS draws Sinnoh with a **tilted perspective camera**. Getting there is not +a fix to this file so much as the next stage of it, and the meshes are already +in the cache: + +1. a per-frame camera (`Gen4Model.perspective` + `lookAt`, both of which exist) + in place of `topDown`, drawing the visible chunks' models directly rather + than their baked canvases +2. sprites billboarded into that camera instead of blitted at tile positions, + which is where the player and every NPC currently live +3. the cache's own `lighting` value per map (already extracted — `T01R0202` + carries `lighting = 3`), which is what makes an indoor room read as indoors + +Until then the bake is the flat case of the same data, and it is now the right +way up. + +### The bedroom in a green field + +The second screenshot — a small room drawn in the corner of a large green +field — was measured too, and it is **not** a collision fault. + +`T01R0202` is the player's bedroom. Its chunk's permission grid is 1,024 tiles +of which only the top-left 12×12 carry anything: 936 tiles read `0x0000` +(walkable, behaviour 0) and the 83 that carry `0x8000` form a **sealed** box — +rows 0–3 solid, `x = 0` and `x = 11` solid down the sides, row 11 solid across +the bottom. The player cannot leave the room. That is the cartridge's own +arrangement, not a gap in the import. + +What is wrong is that **nothing knows the map is smaller than its chunk**. The +map def is 32×32 because the matrix is 1×1 and a chunk is 32 tiles; the mesh +covers only the room; the stand-in fills the other 900 tiles with its +walkable-behaviour colour; and the camera is free to show all of it. The fix is +a camera clamp and a void fill derived from the terrain's own coverage rather +than from the grid's declared size — filed rather than guessed at. + +## Platinum's field camera, transcribed + +`overlay005/field_camera.c` holds the whole thing: **seventeen** cameras, one +per `CAMERA_TYPE_*`, each `{ distance, cameraAngle, projection, verticalFov, +near, far }`. `MapHeader.cameraType` — the byte at offset 21, which +`Gen4MapHeaders` has parsed since it was written and which nothing has ever +carried into a map def — picks one. + +Over all 593 headers in this cartridge: + +| Camera | Headers | | Camera | Headers | +|---|---:|---|---|---:| +| `INTERIOR_ORTHOGRAPHIC` | 300 | | `SPEAR_PILLAR` | 4 | +| `DEFAULT` | 189 | | `SLIGHTLY_ZOOMED_OUT` | 3 | +| `CAVE` | 60 | | `OREBURGH_GYM` | 2 | +| `ZOOMED_IN` | 19 | | `HALL_OF_ORIGIN` | 2 | +| `IRON_ISLAND_CAVE` | 6 | | `LAKE_ACUITY` | 2 | +| | | | six others | 1 each | + +**Three hundred of the 593 are orthographic on the cartridge** — every +ordinary room, the player's bedroom included. So "flat" was never the mistake. +*Flat and straight down* was: all seventeen are **tilted**, between 40.6° and +78.4°. + +### One world unit is one screen pixel, and that is the cartridge's number + +`Camera_ComputeProjectionMatrix` builds the orthographic box as +`top = tan(fovY) × distance`. For `INTERIOR_ORTHOGRAPHIC` that is +`tan(3.5211181640625°) × 1563.537841796875 = 96.209` — **half of the DS's +192-row screen**. So `verticalFov` is the *half* vertical FOV, and the scale is +1:1 at the target plane. + +Run the same product over all seventeen and fifteen of them land between +94.815 and 96.228 — within 1.3% of one pixel per unit. (`STARK_MOUNTAIN_ROOM_2` +is 115.1 and `UNUSED_16` is 91.6; both are the cartridge's own values.) That +independently confirms the `pixelsPerUnit = 1` the terrain import already +assumed. + +`Camera_AdjustPositionAroundTarget` puts the camera at +`target + (sin(y)·d·cos(x), sin(−x)·d, cos(y)·d·cos(x))`, and `y` is zero for +all seventeen — the camera is always due **south** of its target and above it. +For `DEFAULT`: 571.97 up, 342.98 south. + +### What this port draws, and how far off it is + +The engine's world is a grid of 16-pixel tiles, and *everything* else in it — +collision, warps, sprites, the tile window, encounters — is laid out in those +pixels. A true perspective camera moves the ground relative to that grid, so +adopting one means projecting every sprite through it as a billboard in the +same pass. That is the right end state and it is not this change. + +What `Gen4Ground` does now is an **oblique** projection at the cartridge's own +pitch: + +``` +screenX = x screenY = z − y · cot(pitch) +``` + +The ground plane maps **one to one**, so the tile grid, the collision and every +sprite stay exactly where they were and nothing above that file changes. +Height leans up the screen, which is the whole point: a house shows its front, +a cliff shows its face, a bridge stands off the path beneath it. At pitch 90° +the lean is zero and this is byte-for-byte the straight-down bake that came +before — which is why the OPTIONS row can offer that as one of its values +without a second code path. + +**How far that is from the cartridge, measured:** + +* the cartridge scales ground depth by `sin(pitch)` and height by `cos(pitch)`; + this scales them by 1 and `cot(pitch)`. That is the cartridge's own picture + stretched vertically by `1/sin(pitch)` — **16.7%** for `DEFAULT` — and the + stretch is the price of keeping a tile 16 pixels tall. +* the remaining difference is the perspective itself, and on this cartridge + that is small: a half-FOV of 8.09° at 666.9 units is a very long lens. + Ray-traced against the ground plane, `DEFAULT` sees from **101.87** units in + front of the target to **120.86** behind it — 222.73 units of ground over 192 + rows, against **223.87** for an orthographic camera at the same scale. That + is **0.51%** on the total and **+9.9% / −7.4%** on the two halves: the near + and far *edges* of the screen are wrong by about a tenth, the centre is right. +* for the 300 `INTERIOR_ORTHOGRAPHIC` headers there is no perspective error at + all — the cartridge is orthographic there too. + +The chunk canvas grows **upwards** by `leanPx = ceil(cot(pitch) × 384)`, +because that is where the leaning geometry goes; the blit takes the same +`leanPx` back off, so the ground lands where it always did. Chunks are drawn +north to south, which was already the loop's order and is the order that has to +hold once one chunk's towers overlap the next one's ground. Terrain that climbs +more than 384 units inside one chunk loses its top rows rather than drawing +over its neighbour. + +### The OPTIONS row + +`CAM TILT` cycles `CARTRIDGE / 90° / 80° / 70° / 60° / 50° / 40°`. `CARTRIDGE` +is the map header's own type — the answer this work exists to give. Changing it +ticks `Gen4Camera.generation`; `Gen4Ground:draw` compares the counter and drops +its bakes, because the pitch is baked *into* them. One frame's hitch, then +nothing. + +Held in the module rather than read from the save, for the reason +`TileRenderer.setTileAnim` is: `MapLoader.load(data, mapId)` is never handed a +game. Two callers take the saved value up — the OPTIONS list as it is built, +and `OverworldState:enter`, which is the one place every path into the world +goes through (boot, a warp, the map editor's Play). The second is what makes +the choice survive a restart. + +### Whoever is standing on the ground has to lean with it + +The tile grid is untouched by the tilt — that is the whole reason the oblique +projection was chosen — but a character on a hill, a bridge or a flight of +steps was still drawn at the *grid's* height rather than the terrain's, so they +walked through what they were meant to be standing on. + +`Gen4Ground:rise(px, py)` is that lift in pixels: the BDHC height under a tile, +times `cot(pitch)` — the same `z − y·cot(pitch)` the chunk bake uses, applied +to one point. It takes **map pixels** rather than tiles so a sprite's own +position gives an answer that changes as it walks. Heights are cached per tile, +and the *raw* height is cached rather than the lifted pixels, because the tilt +can change under it and the terrain cannot. + +Applied as a **shifted camera** rather than a shifted position, which is what +keeps it to one seam: every sprite path in this engine ends in `py − camY`, so +`e:draw(cam.x, cam.y + riseOf(e))` lifts the sprite and nothing else has to +learn about elevation. Zero on every Gen 1/2/3 map and on any Gen 4 map drawn +straight down — `gen4Ground` is nil in the first case and `lean` is 0 in the +second — so it costs one nil test a frame for everything that is not Sinnoh. + +Measured, the heights are sane world units: Twinleaf's chunk runs 8–16, the +player's bedroom −24–0 (the floor sits below the chunk origin, and the mesh +moves down with it, so the two stay together), and across all 666 chunks +−96–480. + +It is still a **step per tile** rather than a ramp. The BDHC's plates are per +region, so the ground itself steps there too; a true ramp wants the plate's own +plane evaluated at the exact point, which `Gen4Bdhc` can already do and this +does not ask for yet. + +#### ...and it found a bug that had never fired + +`Gen4Ground:heightsAt` sorted its results with `table.sort(list, a > b)`, and +`Gen4Bdhc.heightsAt` answers `{ index, height }` **records**, not heights. Lua +will not order two tables, so that call raises — and `heightAt` was handing its +caller a record where it promised a number. + +Neither had ever gone off, because nothing called either function: the movement +grid still reads elevation 0 (#98). The moment something did, it would have +raised on the first tile with two surfaces under it. Sampled over 42,624 tiles +spread across all 666 chunks, **652 of them (1.5%) have more than one plate** — +which is every bridge in Sinnoh, and therefore exactly where a player walks. +`heightsAt` now returns plain numbers, highest first. + +## Sinnoh was wearing one palette + +Reported: *"much of the tileset didnt seem properly colored especially when +outside."* It was outside, and only outside, and the reason is one line. + +`Gen4Terrain.textures` decoded **every** texture against **palette 1**. The +note beside it said why: *"a texture's own palette is named by the material +that wears it, which is a fact about the chunk rather than about the picture, +and the great majority of these sets pair one palette with one texture +anyway."* The first half is true. The second half is false. + +Twinleaf Town's set (member 6) holds **78 textures and 74 palettes**. Palette 1 +of that set is `apeak` — a mountain top. So `ngrass`, which is grass, came out +in browns; so did the sand, the flowers and the lake. Every outdoor map in the +game was painted in one palette. + +**The join was already in the cache and always was.** Every chunk shape carries +`material`, `texture` *and* `palette`, because `Gen4Nsbmd` reads the material +that names both — `ngrass` is worn with palette `grass`. Nothing used it. The +*model* path never had this problem; it has always looked `shape.palette` up in +the member's own dictionary, which is exactly why the buildings were the right +colour standing on ground that was not. + +**Name-matching is not a substitute**, which is worth saying because it is the +obvious shortcut. Over all 7,547 chunk shapes there are 1,149 distinct texture +names, and **553 of them are worn with a palette of a different name** — +`ngrass02` wears `grass02`, `bf_symbol2` wears `symbol`, `ginga2` wears +`dun26_092`. Across the archives as a whole, 1,293 of 3,130 map textures and +2,104 of 3,063 building textures have no palette of their own name at all. + +Twenty-nine textures are worn with **more than one** palette (`wcliff` is +`criff` on 76 shapes and `wcriff` on 7); those get a second picture filed under +`#`, and `Gen4Ground:modelFor` asks for that key first. Every +other texture is filed once, so the file count barely moves — set 6 goes from +78 pictures to 88. + +### ...and 355 textures were not decoded at all + +`Gen4Models.DECODABLE` listed formats 2, 3 and 4. Counted over both texture +archives, that left out **259 a3i5 and 96 a5i3** pictures — 238 of them in the +map sets. Those are the textures with soft edges: cliff tops, tree canopies, +the lake surface. The holes were exactly where a map most looks wrong. + +Neither format is a paletted texture with an alpha bit bolted on; the texel +*is* a pair — three bits of alpha over a five-bit index, or five over three — +and the alpha is the texel's own rather than the palette's. `transparent0` does +not apply to either: index 0 is an ordinary colour there, and treating it as a +hole punches the middle out of every soft edge. + +Recounted with both added: 4,306 `palette16`, 1,484 `palette4`, 48 +`palette256`, 259 `a3i5`, 96 `a5i3`, and **nothing else** — no 4×4-compressed +and no direct colour. Set 6 now decodes 88 of 88 with none refused, against 9 +refused before. + +## Sinnoh's scripts had no handlers at all + +Reported: *"npcs are appearing for the events but not triggering, npcs are +still missing text."* The log says it outright: + +``` +[warn] script: unknown command 'g4_lock_all' (skipped) +[warn] script: unknown command 'g4_face_player' (skipped) +[warn] script: unknown command 'g4_buffer' (skipped) +... show_text ... +[warn] script: unknown command 'g4_wait_button' (skipped) +[warn] script: unknown command 'g4_check_flag' (skipped) +[warn] script: unknown command 'g4_compare_var_value' (skipped) +``` + +`Gen4ScriptVM` has lowered Platinum's bytecode into 61 distinct `g4_*` rows +since it was written, and **nothing has ever registered a handler for one**. +Every row went through `ScriptRunner`'s unknown-command path, which logs and +steps over it. + +The box opened and shut without waiting; the name placeholders stayed empty; +and — the one that matters most — every `checkflag` and `comparevar` left the +comparison register untouched, so each branch after it read whatever the +*previous* script had put there. A script that is 90% correct and branches at +random is not 90% of a conversation. + +`src/script/Gen4Commands.lua` is the other half. It follows `Gen3Commands`' +shape — add `g4_*` functions to the shared `Commands` table, register them in +`Commands.registerInto` — but the two share no state: Hoenn's vars live in +`save.gen3Vars` and Sinnoh's in `save.gen4Vars`, because one save can hold +both. + +The comparison register is the cartridge's, transcribed. `Compare` (`scrcmd.c` +:879) returns 0 for `<`, **1 for `==`** and 2 for `>`; `ScrCmd_GoToIf` (:1065) +indexes `sConditionTable[condition][result]`: + +``` +// < == > +{ TRUE, FALSE, FALSE }, // 0 < { TRUE, TRUE, FALSE }, // 3 <= +{ FALSE, TRUE, FALSE }, // 1 == { FALSE, TRUE, TRUE }, // 4 >= +{ FALSE, FALSE, TRUE }, // 2 > { TRUE, FALSE, TRUE }, // 5 != +``` + +`ScrCmd_CheckFlag` writes the **flag's own value** into that register rather +than a comparison (:1105), which is what makes `checkflag` then `gotoif 1` read +as "if the flag is set". Vars are ids from `0x4000` (`VARS_START = 16384`) and +anything below is a literal — the same rule Hoenn uses. + +### Eight lowering entries that named opcodes the decoder never produces + +Cross-checking the lowering table's keys against `Gen4ScriptOps`' 840 opcode +names turned up **eight dead entries** — code that has never once run: + +| Written as | The cartridge's name | +|---|---| +| `giveitem` | `additem` | +| `takeitem` | `removeitem` | +| `lock` / `release` | `lockobject` / `releaseobject` | +| `bufferpokemonname` | `bufferpartymonspecies` / `bufferpartymonnickname` | +| `message2` | `messageinstant` / `messagenoskip` / `messagesynchronized` | +| `trainerbattle` | `starttrainerbattle` | +| `closemenu` | *(no such opcode)* | + +**No item gift in Sinnoh was being lowered at all.** The dead-key count is now +zero, and six more buffers (`buffermovename`, `buffernumber`, +`buffercounterpartname`, `messagevar` …) are lowered while the names were +being checked. + +### ...and four that dropped operands + +* **`warp` is five operands, not three.** `ScrCmd_Warp` (`scrcmd.c`:3566) reads + `(mapHeaderID, unused, x, z, direction)`. The lowering passed args 1–3, so + the runner got the header, the *padding* and the X coordinate as if they were + map, x and y. Every scripted warp went somewhere wrong or nowhere. It also + names a **map header**, not a map, so `g4_warp` builds the header→map-id + index once from the defs and looks through it. +* **All four bag commands are `(item, count, destVar)`** (`scrcmd_item.c`) and + every one writes whether it succeeded into that var, which the script then + compares. The destination was being dropped. +* **`showyesnomenu ` puts the answer somewhere.** The row asked the + question and threw the answer away, so every yes/no in Sinnoh branched on + stale state. +* `starttrainerbattle` takes two operands and was passed one. + +### What is honestly not built + +Sixteen verbs are registered as named, log-once no-ops rather than left to the +unknown-command path: the trainer-battle handoff, the shop screen, the sign-box +state machine, the scripted menu, the common-script archive. Each says once per +session what system it is waiting on. The remaining 45 do the cartridge's work. + +Verified by construction: every one of the 61 `g4_*` verbs the VM emits now has +a handler, and every one of the 83 lowering keys matches a real opcode. + +## Half the maps had no collision at all + +Reported: *"collisions dont seem to be correct in the overworld."* Not a wrong +grid — an absent one. + +Gen 4 splits its collision the way Gen 3 splits its layouts. A grid is built +once per **matrix** and a map that does not own its matrix outright references +it instead, because the 30×30 Sinnoh overworld is 921,600 cells and inlining it +once per building standing on it took the extraction from 4 seconds to 22. The +extractor writes both halves: the shared grids into `map_layouts`, the +reference as `def.layout`. + +**Nothing ever read the other half.** `Map` reads `def.blocks` and nothing +else, and at run time `data.map_layouts` is touched by exactly one Gen 3 script +command. Counted over the cache: **291 of the 593 Gen 4 maps have no `blocks` +string**, including `T01R0201` — the player's own house, the map in the +screenshot. + +`MapLoader.resolveBlocks` is the missing read: when a def has no blocks, take +them out of `map_layouts[def.layout]`, cropping to `originX/originY` and the +map's own width and height when the map is a region of a bigger grid. Done +where the def and the dataset are both in hand, and written **back onto the +def** rather than onto a copy — half the engine compares `map.def` against +`data.maps[id]` by identity, and a copy would quietly become a second map. It +is idempotent, so a reload costs nothing. + +Checked against the cartridge rather than assumed: all 291 resolve, none comes +out the wrong size, and the resolved grid for `T01R0201` matches that chunk's +own permission bytes in `gen4_map_permissions` cell for cell. + +### One thing that is *not* a collision bug + +With the camera tilted, a wall's base is drawn at its collision cell and its +top up to `height × cot(pitch)` pixels higher. Bumping into a wall whose top is +drawn well above the player reads as "collision is wrong" and is the oblique +projection working: the cell you cannot enter is the one under the wall's +**foot**, not under its cap. Setting `CAM TILT` to 90° puts them back on top of +each other, which is the quickest way to tell the two apart. + +## The checkerboard was the stand-in, and the ROM has no border + +Reported: *"i still see it surrounded by checkerboard instead of what the rom +uses as a border."* + +The checkerboard **is** the stand-in tileset. `Gen4Tileset.metatiles` lays every +cell down as a two-by-two checker of a class colour and a darkened copy of it, +deliberately, so a map drawn in flat colours still shows its 16-pixel grid. And +behaviour 0 — ordinary ground — is 940 of Twinleaf Town's 1,024 cells. Once the +mesh draws the map, the only stand-in left visible is the part the mesh does +*not* cover: the void around it, in green. + +**The cartridge has no border block.** Gen 1–3 tile a border metatile outside +the map; Sinnoh's overworld is one seamless matrix and its interiors are sealed +rooms inside a 32×32 chunk, so what the DS shows beyond the geometry is the +backdrop and nothing else. + +So `TileRenderer:drawWindow` now fills the viewport with the stand-in palette's +own colour 0 — `{24, 26, 34}`, the backdrop every class colour was always drawn +against — and lays the ground over it, instead of drawing the tile window +underneath. The stand-in still runs when there is no ground (a cache imported +before the terrain stage), which is the case it was written for. It used to +draw underneath because a chunk bakes over several frames and the screen would +otherwise be blank; a flat backdrop covers that just as well, and is what a map +transition looks like on the cartridge anyway. + +## Every warp in Sinnoh was one door early + +Reported: *"warps seem to be bugged, when i go through them im coming out in +the wrong place."* The log says it without ambiguity — `map: T01 at (20,11)` +into Twinleaf's third house, `map: T01 at (20,21)` on the way back out, and +that is the **second** house's door. + +`Warp.lua` indexes `destDef.warps[warpDef.destWarp]`, which is a Lua array. +Gen 3's extractor writes `destWarp = rom:u8(o + 5) + 1` and says why in a +comment at `RomExtractorGen3.lua:11652`; Gen 2 clamps at one. The Gen 4 +extractor wrote the cartridge's zero-based anchor straight through. + +Checked against the cache, all four of Twinleaf's houses: + +| Interior | `destWarp` | lands on | its own door is at | +|---|---:|---|---| +| `T01R0101` | 0 | *nothing* (`warps[0]` is nil) | (9, 11) | +| `T01R0201` | 1 | (9, 11) | (20, 21) | +| `T01R0301` | 2 | (20, 21) | (20, 11) | +| `T01R0401` | 3 | (20, 11) | (10, 21) | + +With `+ 1` every one lands on its own door exactly. + +**This is also why the player kept appearing outside the rooms.** `T01R0201 → +T01R0202` is `destWarp = 0`, which resolved to `warps[0]` — nil. Arriving at a +nil warp puts the player at an undefined position, and a bedroom is a sealed +12×12 box inside a 32×32 chunk: land outside the seal and you can roam the void +freely, which is the screenshot. + +## Blank text boxes: the bank was never carried + +Reported: *"talking to people brings up a text box but its blank."* + +A Gen 4 `message` command names an **entry**, not a string. The bank is the map +header's `msgArchiveID`, and the pair is what addresses a line — which is why +the extractor keys `data.text` as `TEXT_Bnnnn_nnnnn` rather than by a single +id, and says so where it writes it. + +The lowering emitted `{ "show_text", }` on the reading that "the row +carries the entry and the runner resolves the bank". **Nothing resolved it.** +`Commands.show_text` looked a bare index up in `data.text`, found nothing, and +degraded to an empty box — which is exactly the behaviour it documents for an +unusable id, and exactly what was on screen. + +Two halves, both missing: + +* the map def never carried `messages` (`h.messages` has been parsed since + `Gen4MapHeaders` was written and was dropped on the floor); +* `message` now lowers to **`g4_message`**, which joins the def's bank to the + row's entry through `Gen4Text.label`. It has to be its own verb because a + Gen 1–3 `show_text` takes a whole id and a Gen 4 one takes half of one. + +Falls back to the bare id when a map has no bank, so a cache imported before +this gets the same empty box it had rather than a crash. + +## A Gen 4 map has no border to walk on + +Reported: *"im able to walk outside of the boundaries still."* + +Gen 1–3 tile a border metatile outside the map and let the player stand on it +for a step, because that is how a map **connection** works — you walk onto the +border and the seam hands you to the neighbour. Gen 4 has neither. +`Gen4Maps.mapDef` sets `borderBlock = 0` with the note *"every cell outside the +map reads as void, which is what the border is"*. + +Block 0 is not void. On the stand-in tileset it is ordinary ground, and +ordinary ground is walkable — so the player walked off the edge of Twinleaf and +kept going, over terrain the ground renderer draws quite happily (it draws +whole chunks of the shared matrix, not the map's 32×32 crop) and nothing owns. + +`Map:isWalkableCell` now refuses an out-of-bounds cell on a Gen 4 map, beside +the `patchedImpassable` test that already guards that function for the same +class of reason. + +**That was the edge, not the destination** — and the destination is below. + +`CACHE_FORMAT` goes to `rom-cache-v349:` for the warp and the message bank; the +boundary is engine-side. + +## Sinnoh's overworld is one grid, and a map is a window onto it + +84 headers name matrix 0, the 960×960 overworld, and each takes a rectangle out +of it. There are **no warps between them**: the player walks from Twinleaf Town +to Route 201 and the header changes underfoot. Nothing in this port knew that, +so sealing the boundary — correct in itself — turned every town into a box. + +**The engine already has the machinery.** Gen 1–3 maps connect at their edges, +and `OverworldState:checkEdgeExit` walks the player across a seam with no warp, +reading the neighbour's own collision as it goes. It runs *before* the ordinary +walkability test, which is why the sealed boundary does not block it. A +connection is `{ map, offset }` where `offset` is how far the neighbour is +shifted along the seam, and the landing is `destX = cellX − offset`. + +For two windows onto the same grid that offset is exactly the difference of +their origins, which makes this a derivation rather than a guess: + +``` +up / down offset = destOriginX − originX +left / right offset = destOriginY − originY +``` + +**Adjacency is tested, not assumed.** `connectionLanding` puts an upward step on +the destination's *bottom* row, which is only right when the destination's +bottom edge **is** this map's top edge — so two regions that overlap, or sit +corner to corner, get no connection rather than a wrong one. +`Map:connectionFor` already narrows a multi-neighbour edge to the one covering +the player's position along it, using the same origin arithmetic, so a long +route with three maps down its side needs nothing extra. + +Measured over this cartridge: **40 layouts are shared, 69 maps come out with at +least one connection, and there are 140 edges between them.** Spot-checked +against Sinnoh's actual geography: + +| Map | Connections | +|---|---| +| Twinleaf Town | `up → Route 201` (offset 0) | +| Route 201 | `down → Twinleaf`, `left → Verity Lakefront` (−32), `right → Sandgem Town` | +| Jubilife City | `right → Route 203`, `left → Route 218`, `down → Route 202` (32), `up → Route 204` (32) | + +One supporting fix: the seam reads the *neighbour's* collision, and a Gen 4 map +that references a shared grid has no `blocks` until it is loaded — so +`connectionLanding` now runs `MapLoader.resolveBlocks` on the destination +before testing it. Idempotent, and a no-op on every other generation. + +## `callcommonscript` is a real call now + +`g4_common` was the one verb still logging *"decoded and lowered but the +common-script archive is not built yet"*, and it is the busiest thing on that +list: **668 call sites** in this cartridge — 652 into `scripts_common`, 14 into +`pokedex_ratings`, 2 into `pokemon_center_2f_common`. + +The lowering left it as an unexecutable row on the reading that common scripts +*"are not in the map's own member, and inlining would need the whole common +archive resolved before a single map could lower"*. Both halves of that turned +out to be already done, or nearly: + +* `extractScripts` walks **every** member of `scr_seq.narc` — all 1,124 of them + — decoding each entry point and every block a `goto` reaches. Member 211, + `scripts_common`, already has **231 blocks in the pool**. The common scripts + were never missing; nothing could name them. +* a band id is an index into that member's **entry-point list**, exactly as a + map's own script id is into its own — and `extractScripts` already builds + that list. Only the thirty band members' lists are written into the pool, so + it costs nothing. +* which member a band's file is comes from `Gen4Archives.names`, so + `scripts_common` → member 211 is *derived*, not written down. + +So `callcommonscript` lowers to the ordinary call it always was — +`g4_call ` / `jump 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

;sEBbg_YqC>As=u!pT?#WQ5 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 MYC5Wq&Rhxpe`g__W&i*H literal 0 HcmV?d00001 diff --git a/src/battle/BattleState.lua b/src/battle/BattleState.lua index d465cd3a7..b5929d76c 100644 --- a/src/battle/BattleState.lua +++ b/src/battle/BattleState.lua @@ -36,6 +36,7 @@ local Strings = require("src.core.Strings") local Weather = require("src.battle.Weather") local WideBattle = require("src.battle.WideBattle") local Gen3Battle = require("src.battle.Gen3Battle") +local Gen4Battle = require("src.battle.Gen4Battle") local GameVersion = require("src.core.GameVersion") -- FORWARD-DECLARED, because they are defined next to the other doubles @@ -188,6 +189,19 @@ function BattleState:gen3Layout() return GameVersion.isGen3() and true or false end +-- ...AND PLATINUM FIGHTS ON ITS OWN SCREEN TOO, for the same reason and with +-- less room for argument: a Gen 4 cache has a 256x192 overworld, every piece of +-- battle art the extractor wrote is authored against that, and the cartridge's +-- own battler and healthbox positions are stated in those coordinates (see +-- `Gen4Battle.BATTLER_POS`). A battle that answered 160x144 would put the Game +-- Boy's composition inside a third of the screen it was drawn for. +-- +-- No wide option here, unlike Hoenn: the DS screen IS the layout, and there is +-- no narrower cartridge shape underneath it to widen. +function BattleState:gen4Layout() + return GameVersion.isGen4() and true or false +end + -- BATTLE LAYOUT = WIDE, ANSWERED IN EMERALD'S OWN TERMS. -- -- The same option the Game Boy layouts read, on the layout that has a screen @@ -288,13 +302,26 @@ function BattleState:layoutGeometry() return BattleState.CLASSIC_GEOMETRY end --- BOTH WIDE LAYOUTS LAY THE FOUR MOVES OUT AS A 2x2, so both navigate it with --- all four directions rather than the classic vertical list. The maths is --- the same grid in either case and lives once; what differs is only which --- layouts ask for it. nil means "no direction was pressed", and the caller --- then runs its own list navigation and its A / B / SELECT handling. +-- EVERY WIDE LAYOUT LAYS THE FOUR MOVES OUT AS A 2x2, so all of them navigate +-- it with all four directions rather than the classic vertical list. The +-- maths is the same grid in every case and lives once; what differs is only +-- which layouts ask for it. nil means "no direction was pressed", and the +-- caller then runs its own list navigation and its A / B / SELECT handling. +-- +-- SINNOH WAS MISSING FROM THIS TEST AND DREW THE GRID ANYWAY. Reported from +-- play: "for the selection of moves up down left right dont work for selection +-- seems to move right when i press down". That is exactly what a 2x2 does +-- when the grid arm is skipped: `Gen4Battle` draws the four moves two to a row, +-- but the caller fell through to the classic VERTICAL list, where down is +-- simply index + 1 -- and index + 1 from the top-left of a 2x2 is the cell to +-- its RIGHT. Left and right then did nothing at all, because a vertical list +-- has no use for them. The fix is one clause, not new maths: the grid this +-- layout already draws is the grid it should navigate. function BattleState:moveGridNavigate(index, count, input) - if not (self:isWideBattleLayout() or self:gen3Layout()) then return nil end + if not (self:isWideBattleLayout() or self:gen3Layout() + or self:gen4Layout()) then + return nil + end return WideBattle.navigate(index, count, input) end @@ -304,6 +331,14 @@ end -- who reaches for BAG must not open the party. function BattleState:menuActions() if self:gen3Layout() then return Gen3Battle.ACTIONS end + -- SINNOH'S FOUR, and they are Hoenn's four in the same order rather than the + -- Game Boy's. Platinum's action menu is three buttons wide on the touch + -- screen -- sBattleMenuButtonLayout is { {0,0,0}, {1,3,2} }, FIGHT spanning + -- the top with ITEM, RUN, PARTY underneath -- so a two-column menu has to + -- fold it, and folding the bottom row leaves ITEM then PARTY with RUN last. + -- That is Emerald's own cartridge-stated order; see Gen4Battle.ACTIONS for + -- why the agreement matters more than a third arrangement would. + if self:gen4Layout() then return Gen4Battle.ACTIONS end return BattleState.CLASSIC_ACTIONS end @@ -432,6 +467,12 @@ function BattleState:uiSize() if self:gen3Layout() then return self:gen3SurfaceWidth(), Gen3Battle.HEIGHT end + -- The DS's own screen, and neither number is a variable: the backdrops are + -- 512x256 with the visible half 256x192, and the platform and battler + -- positions are absolute pixels on that. + if self:gen4Layout() then + return Gen4Battle.WIDTH, Gen4Battle.HEIGHT + end return 160, 144 end @@ -985,8 +1026,13 @@ local function newBattle(game) -- default with a notice instead of silently switching behavior local rulesets = game.data.rulesets or Rulesets local selected = game.save.options and game.save.options.ruleset - local fallback = (game.data.constants and game.data.constants.defaultRuleset) - or "gen1_faithful" + -- THE FALLBACK IS THE CARTRIDGE'S, not Kanto's. It used to read + -- `constants.defaultRuleset or "gen1_faithful"`, and nothing has ever + -- written that constant -- so Hoenn fought under Generation One's rules on + -- every fresh save while `gen3_emerald.lua` sat beside it, registered and + -- unreferenced. See `src/battle/RulesetDefaults.lua` for the measurement + -- and for why Gen 2 is deliberately left where it was. + local fallback = require("src.battle.RulesetDefaults").defaultFor(game) local ruleset = selected and rulesets[selected] if selected and not ruleset then Logger.warn("unknown ruleset %s; using %s", tostring(selected), fallback) @@ -3734,6 +3780,33 @@ function BattleState:update(dt) end local input = self.game.input + -- L PUTS THE BOTTOM SCREEN AWAY, AND BRINGS IT BACK. + -- + -- From the brief: "allow users to switch between the two with a button". + -- L rather than a new binding for the same reason the field's Poketch uses + -- it -- it is an action the controls menu already lists, so it is rebindable + -- without this screen knowing how rebinding works -- and it means ONE KEY + -- WITH ONE MEANING across the game: show or hide the bottom screen. In the + -- field that surface is the Poketch; in a battle it is the + -- FIGHT/BAG/POKeMON/RUN menu and the move list. + -- + -- HERE RATHER THAN IN THE MENU BRANCH, because BOTH choosing phases put + -- something on that surface and a key that worked on one of them and not the + -- other would read as a bug. It does nothing in any other phase: while a + -- message is typing there is nothing down there to hide. + -- + -- Gated on the Gen 4 layout, so no Gen 1-3 press changes anything. Those + -- cartridges have no second screen and SecondScreen.mode answers "off" for + -- them regardless, but the gate says so where a reader will look. + if input and input:wasPressed("l") and self:gen4Layout() + and (self.phase == "menu" or self.phase == "moveSelect") then + local okSS, SecondScreen = pcall(require, "src.ui.SecondScreen") + if okSS and SecondScreen.mode(self.game) ~= "off" then + SecondScreen.toggleStow(self.game) + return + end + end + -- safety net: HP/status changed outside a queued drain (level-up heals, -- field effects, bag cures) snaps once the queue is idle if self.phase == "menu" then @@ -3857,18 +3930,36 @@ function BattleState:update(dt) self:resolveTurn(locked) return end - local col = (self.menuIndex - 1) % 2 - local row = math.floor((self.menuIndex - 1) / 2) - if input:wasPressed("left") then - col = math.max(0, col - 1) - elseif input:wasPressed("right") then - col = math.min(1, col + 1) - elseif input:wasPressed("up") then - row = math.max(0, row - 1) - elseif input:wasPressed("down") then - row = math.min(1, row + 1) + -- PLATINUM'S ACTION MENU IS NOT A 2x2, and walking it as one is what a + -- player feels as the cursor jumping about. + -- + -- Every other game in this launcher draws FIGHT/BAG over POKeMON/RUN and + -- the arithmetic below is exactly right for that. Platinum draws the + -- cartridge's own layout -- FIGHT across the top, then ITEM, RUN, PARTY -- + -- so its d-pad walks that grid instead. See Gen4Battle.actionMove. + local dir = (input:wasPressed("left") and "left") + or (input:wasPressed("right") and "right") + or (input:wasPressed("up") and "up") + or (input:wasPressed("down") and "down") + if self:gen4Layout() then + if dir then + self.menuIndex, self.gen4MenuColumn = + Gen4Battle.actionMove(self.menuIndex, dir, self.gen4MenuColumn) + end + else + local col = (self.menuIndex - 1) % 2 + local row = math.floor((self.menuIndex - 1) / 2) + if dir == "left" then + col = math.max(0, col - 1) + elseif dir == "right" then + col = math.min(1, col + 1) + elseif dir == "up" then + row = math.max(0, row - 1) + elseif dir == "down" then + row = math.min(1, row + 1) + end + self.menuIndex = row * 2 + col + 1 end - self.menuIndex = row * 2 + col + 1 if input:wasPressed("a") then local choice = self:menuActions()[self.menuIndex] -- BattleMenu_Pack `.contest` (core.asm:4990): `ld a, PARK_BALL / @@ -4597,18 +4688,48 @@ function BattleState:computeDamage(user, target, move, opts) -- rather than widening Damage.compute's signature. if self:isDouble() and target then opts = opts or {} - local alive = 0 - for flank = 1, 2 do - local b = self.sides[target.isPlayer and 1 or 2].battlers[flank] - if b and b.mon and (b.mon.hp or 0) > 0 then alive = alive + 1 end - end - if alive == 2 then - if opts.doublesScreens == nil then opts.doublesScreens = true end - -- ...and the spread half, but ONLY for MOVE_TARGET_BOTH. The compare - -- at 0806_9BA4 is `cmp #8`, not a mask: EARTHQUAKE and EXPLOSION are - -- $20 and are not reduced at all on this cartridge. - if opts.spread == nil and tonumber(move and move.target) == 0x08 then - opts.spread = true + local function aliveOn(isPlayer) + local n = 0 + for flank = 1, 2 do + local b = self.sides[isPlayer and 1 or 2].battlers[flank] + if b and b.mon and (b.mon.hp or 0) > 0 then n = n + 1 end + end + return n + end + local defenderSide = aliveOn(target.isPlayer) + if defenderSide == 2 and opts.doublesScreens == nil then + opts.doublesScreens = true + end + -- ...and the spread reduction, WHICH IS NOT ONE RULE. + -- + -- This used to be a literal `move.target == 0x08` here, which was + -- Emerald's rule written into the engine instead of into Emerald's + -- ruleset -- so Platinum could not have a different one even after + -- somebody measured it. It is now two fields on the ruleset: + -- `spreadField` names the byte (a Gen 3 move record calls it `target`, + -- a Gen 4 one calls it `range`, and 0x08 does not mean the same thing in + -- the two), and `spreadRanges` maps a value to the ALIVE COUNT that gates + -- it. A ruleset with neither, like gen1_faithful, never sets `spread` + -- and is untouched by this. + -- + -- "defenderSide" -- both foes still up. CountAliveBattlers(sameSide + -- = TRUE) in Platinum, CountAliveMonsInBattle( + -- BATTLE_ALIVE_DEF_SIDE) in Emerald: the same test. + -- "othersOnField" -- two or more alive ANYWHERE except the defender. + -- Platinum only, for RANGE_ALL_ADJACENT: Earthquake + -- is reduced even when the defender is the last foe, + -- because the user's own ally is standing in it. + local ruleset = self.ruleset or {} + local ranges = ruleset.spreadRanges + if opts.spread == nil and ranges then + local key = tonumber(move and move[ruleset.spreadField or "target"]) + local gate = key and ranges[key] + if gate == "defenderSide" then + opts.spread = defenderSide == 2 + elseif gate == "othersOnField" then + -- The defender is alive -- it is being hit -- so every other living + -- battler is the field total less one. + opts.spread = (aliveOn(true) + aliveOn(false) - 1) >= 2 end end end @@ -9002,6 +9123,22 @@ function BattleState:openParty() return self:buildScreen("PartyMenu", { battle = self, onSwitch = function(mon) + -- NIL IS "I CHANGED MY MIND", NOT A POKEMON. + -- + -- Reported from play as a crash: "when i got inside the pokemn party + -- and back out of it i get a crash ... attempt to index local 'mon' + -- (a nil value)". A party screen that is NOT a forced switch hands its + -- answer back on B as well as on A -- nil for "none" -- because out of + -- a battle that is how a caller learns the player cancelled. This + -- handler was written for the answer and not for the refusal, and ran + -- straight into `mon.hp`. + -- + -- The screen no longer hands nil to a battle (see Gen4PartyMenu:close), + -- and this guard stays anyway: a mod can serve PartyMenu, and a + -- handler that only works for well-behaved callers is one line short + -- of working for all of them. Returning does the right thing on its + -- own -- the menu phase is already what the battle goes back to. + if not mon then return end -- "ALREADY OUT" IS BOTH SLOTS IN A DOUBLE. The partner standing -- beside you cannot be sent out again either, and asking `self.player` -- alone let the right-hand slot pick the Pokemon already fighting @@ -10049,6 +10186,19 @@ BattleState.BATTLE_SCALE_GEN2 = { front = 1, back = 1 } -- pixels tall on a 160-pixel screen: the player's Pokemon filled half the -- field and ran off the bottom through the message window. BattleState.BATTLE_SCALE_GEN3 = { front = 1, back = 1 } +-- ...AND GEN 4'S ARE 80x80, WHICH IS THE SAME BUG ONE GENERATION LATER. +-- +-- Reported from play: "the players pokemon is way too large". Measured rather +-- than estimated: `back/390_chimchar.png` is 80 by 80, and the comment above +-- about Gen 3 spells out what happens next -- with no Gen 4 arm here the +-- resolver fell through to BATTLE_SCALE_DEFAULT, which is GEN ONE'S, and Gen 1 +-- doubles the back pic because its rips are 40x40. 80 doubled is 160 pixels on +-- a battle surface 160 pixels tall: the player's Pokemon was not "too large", +-- it was EXACTLY the height of the screen. +-- +-- Gen 4's front pics are 80x80 too, so both sides are 1:1 -- the same answer +-- Gen 2 and Gen 3 already give, for the same reason. +BattleState.BATTLE_SCALE_GEN4 = { front = 1, back = 1 } -- image-level override for an asset path, or nil. scales is the merged -- data.battle_sprite_scales table (record id -> { path, scale }). @@ -10075,7 +10225,9 @@ function BattleState.resolveBattleScale(data, side, path, species) if override then return override end local V = require("src.core.GameVersion") local defaults = BattleState.BATTLE_SCALE_DEFAULT - if V.isGen3() then + if V.isGen4() then + defaults = BattleState.BATTLE_SCALE_GEN4 + elseif V.isGen3() then defaults = BattleState.BATTLE_SCALE_GEN3 elseif V.isGen2() then defaults = BattleState.BATTLE_SCALE_GEN2 @@ -10581,6 +10733,10 @@ function BattleState:drawTextArea() -- Gen3Battle.draw used to call its layer functions directly, which meant a -- mod wrapping this name never saw a Gen 3 battle at all. if self:gen3Layout() then return Gen3Battle.drawTextArea(self) end + -- ...and Platinum's, for the same reason. Its message box is the cartridge's + -- own rect on the DS screen rather than the Game Boy's box translated into + -- the middle of it; see the text-area block in src/battle/Gen4Battle.lua. + if self:gen4Layout() then return Gen4Battle.drawTextArea(self) end -- The move list and Mimic's copy menu keep the solid paper (see -- WORLD_WINDOW_STYLE); everything else in here is the dialogue box and the -- battle menu, which are what goes to glass over a world backdrop. @@ -10758,6 +10914,7 @@ end function BattleState:draw() if self:wideLayout() then return WideBattle.draw(self) end if self:gen3Layout() then return Gen3Battle.draw(self) end + if self:gen4Layout() then return Gen4Battle.draw(self) end return self:drawClassic() end @@ -10771,6 +10928,7 @@ end -- method for exactly this reason. function BattleState:drawBattleField() if self:gen3Layout() then return Gen3Battle.drawField(self) end + if self:gen4Layout() then return Gen4Battle.drawField(self) end -- the classic and widescreen layouts paint their field inside their own -- draw, where it has always been end diff --git a/src/battle/Damage.lua b/src/battle/Damage.lua index fff4b217d..e3ad03250 100644 --- a/src/battle/Damage.lua +++ b/src/battle/Damage.lua @@ -189,8 +189,23 @@ local warnedTypes = {} -- Gen 1 splits physical from special by TYPE: the move's own category -- field wins, then the merged type record's, then physical (with one -- warning per unknown type). +-- +-- AND GENERATION 4 IS THE ONE THAT ABOLISHED THE TYPE RULE, which is the whole +-- point of Platinum's move data and was being thrown away here. The Gen 4 +-- extractor writes the split as `class`; this asked only for `category`, so +-- every Platinum move fell through to `TypeChart.category(move.type)` -- the +-- pre-Gen-4 rule. +-- +-- MEASURED against this cartridge's own 471 moves: 92 of the 301 damaging ones +-- disagree with the type rule -- 31%. Fire Punch, Ice Punch and ThunderPunch +-- computed as SPECIAL; Hyper Beam, Gust and SonicBoom as PHYSICAL; Bite and +-- Razor Leaf on the wrong stat each way. A battle would have run to the end +-- and simply been wrong, in a way that reads as bad luck rather than a bug. +-- +-- Read here rather than renamed in the extractor on purpose: this needs no +-- re-import, and `class` is what the cartridge's own move record calls it. local function categoryOf(move) - local category = move.category or TypeChart.category(move.type) + local category = move.category or move.class or TypeChart.category(move.type) if category == nil then if move.type ~= nil and not warnedTypes[move.type] then warnedTypes[move.type] = true @@ -215,7 +230,12 @@ end function Damage.compute(ruleset, attacker, defender, move, opts) opts = opts or {} local rng = opts.rng or love.math.random - if move.power == 0 or move.category == "status" then + -- ...and the same field again, because a STATUS move must not roll damage. + -- Platinum has 170 of them and every one of them carries its class under the + -- other name; asking only for `category` here would have sent each one into + -- the formula to be saved by `power == 0`, which is true today and is not the + -- thing being asserted. + if move.power == 0 or move.category == "status" or move.class == "status" then return 0, { crit = false, typeMult = 10 } end diff --git a/src/battle/Gen4Battle.lua b/src/battle/Gen4Battle.lua new file mode 100644 index 000000000..539be74e4 --- /dev/null +++ b/src/battle/Gen4Battle.lua @@ -0,0 +1,1883 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- src/battle/Gen4Battle.lua -- WHERE A SINNOH BATTLE HAPPENS. +-- +-- Platinum's battle screen does not exist in this engine yet: `src/battle/` +-- has BattleState, Damage, Gen3Battle and the rulesets, and BattleState has a +-- Gen 3 layout arm and nothing for Gen 4, so a Platinum fight runs on the GAME +-- BOY screen -- name-and-level boxes, the two-panel FIGHT menu, blank paper. +-- +-- This file answers three things: WHICH BACKGROUND AND WHICH TWO PLATFORMS +-- this battle is fought on, WHERE EVERYTHING STANDS, and -- as of this pass -- +-- it DRAWS the field and the two battlers. Every number is read out of +-- pokeplatinum and, where two tables state the same thing, checked against +-- both. +-- +-- WHAT IS STILL THE ENGINE'S OWN, AND SAID HERE SO IT IS NOT MISTAKEN FOR +-- PLATINUM'S: the text/menu area, and the two GAUGE BARS inside a healthbox. +-- The healthbox FRAME is Platinum's now -- see the healthbox block below for +-- where its size and origin come from -- and the name, level and HP read out of +-- the battler. The HP and EXP bars are not drawn yet, for a reason given there. +-- +-- THE PLATFORM POSITIONS ARE NOT THE SPRITE TEMPLATES, which is the trap this +-- file exists to have already walked into. `sTerrainSpriteTemplates` +-- (terrain.c) says `{x = 336, y = 136}` for the player's side and +-- `{x = -80, y = 88}` for the foe's -- on a 256-pixel screen, both entirely +-- OFF it. Those are the off-screen START of the intro slide. The settled +-- positions are set outright in `battle_display.c`: +-- +-- ManagedSprite_SetPositionXY(terrain, 24 * 8, 8 * 11) -- enemy (192, 88) +-- ManagedSprite_SetPositionXY(terrain, 64, 128 + 8) -- player (64, 136) +-- +-- and the two agree in a way that could not be a coincidence: the y values are +-- IDENTICAL to the templates' (only x slides), and both sides travel exactly +-- 34 steps of 8 pixels -- (336 - 64) / 8 and (192 - -80) / 8. That symmetry is +-- what says the reading is right, and `tools/gen4_battlescene_check.lua` +-- asserts it rather than leaving it as a remark. + +local Assets = require("src.render.Assets") +local Timing = require("src.core.Timing") + +local Gen4Battle = {} + +-- Platinum fights on the DS's own screen, not the Game Boy's 160x144. +Gen4Battle.WIDTH, Gen4Battle.HEIGHT = 256, 192 + +-- --------------------------------------------------------------------------- +-- The two enumerations, 0-based, from generated/battle_backgrounds.txt and +-- generated/battle_terrains.txt. They are NOT the same list and do not line up +-- past the first entry -- BACKGROUND_CITY is 2 and TERRAIN_GRASS is 2 -- which +-- is the whole reason `TERRAIN_FOR_BACKGROUND` below exists as a table. +-- --------------------------------------------------------------------------- + +Gen4Battle.BACKGROUNDS = { + [0] = "plain", "water", "city", "forest", "mountain", "snow", + "indoors_1", "indoors_2", "indoors_3", "cave_1", "cave_2", "cave_3", + "aaron", "bertha", "flint", "lucian", "cynthia", "distortion_world", + "battle_tower", "battle_factory", "battle_arcade", "battle_castle", + "battle_hall", +} + +Gen4Battle.TERRAINS = { + [0] = "plain", "sand", "grass", "puddle", "mountain", "cave", "snow", + "water", "ice", "building", "great_marsh", "bridge", + "aaron", "bertha", "flint", "lucian", "cynthia", "distortion_world", + "battle_tower", "battle_factory", "battle_arcade", "battle_castle", + "battle_hall", "giratina", +} + +-- `sTerrainForBackground` (field_battle_data_transfer.c), transcribed by name +-- rather than by position so a mis-transcription reads as a wrong WORD rather +-- than as a plausible number. The three INDOORS backgrounds and the CITY all +-- land on BUILDING, and the three CAVES all land on CAVE -- 23 backgrounds, +-- 18 distinct terrains. +Gen4Battle.TERRAIN_FOR_BACKGROUND = { + plain = "plain", water = "water", city = "building", forest = "grass", + mountain = "mountain", snow = "snow", + indoors_1 = "building", indoors_2 = "building", indoors_3 = "building", + cave_1 = "cave", cave_2 = "cave", cave_3 = "cave", + aaron = "aaron", bertha = "bertha", flint = "flint", lucian = "lucian", + cynthia = "cynthia", distortion_world = "distortion_world", + battle_tower = "battle_tower", battle_factory = "battle_factory", + battle_arcade = "battle_arcade", battle_castle = "battle_castle", + battle_hall = "battle_hall", +} + +-- --------------------------------------------------------------------------- +-- THE TILE UNDER THE PLAYER DECIDES THE TERRAIN, NOT THE MAP. +-- +-- `CalcTerrain` asks the behaviour byte first and only falls through to the +-- map's background when none of these match. So a battle in the tall grass on +-- a CITY map is fought on grass, and the same trainer on the paving beside it +-- is fought on a building floor. +-- +-- Values from include/constants/field/map_tile_behaviors.h. They are worth +-- writing down as numbers because they are NOT contiguous by kind: snow is +-- 161,162,163 and 168, with the three MUD values sitting between them. +-- --------------------------------------------------------------------------- + +local TALL_GRASS, VERY_TALL_GRASS = 2, 3 +local CAVE_FLOOR = 8 +local ICE, SAND = 32, 33 +local SNOW = { [161] = true, [162] = true, [163] = true, [168] = true } +local MUD = { [164] = true, [165] = true, [166] = true, [167] = true } + +-- `TileBehavior_IsSurfable` reads a FLAG rather than comparing values, and the +-- sixteen behaviours carrying it are not a range: the two bike bridges and the +-- ordinary bridge over water are surfable at 115, 120 and 124, a long way from +-- the water block at 16..21. Listed rather than bounded for that reason. +local SURFABLE = { + [16] = true, [17] = true, [18] = true, [19] = true, [20] = true, + [21] = true, [25] = true, [34] = true, [42] = true, + [80] = true, [81] = true, [82] = true, [83] = true, + [115] = true, [120] = true, [124] = true, +} + +-- The behaviour byte under the player, or nil. +-- +-- A GEN 4 MAP STORES THE BEHAVIOUR IN THE CELL ITSELF. `Gen4Maps.mapDef` +-- writes `word % 256` -- the behaviour byte -- into the same slot Gen 1-3 put +-- a block id in, so `Map:blockAt` IS the behaviour here and the Gen 2/3 +-- `Map:cellBehaviour` (which goes through a tileset's collision table) does +-- not answer at all. That is why this does not call it. +function Gen4Battle.behaviourUnder(game) + local ow = game and game.overworld + local map = ow and ow.map + if not (map and map.blockAt) then return nil end + local player = ow.player + local cx = player and (player.cellX or player.x) + local cy = player and (player.cellY or player.y) + if not (cx and cy) then return nil end + local ok, value = pcall(map.blockAt, map, cx, cy) + if not (ok and type(value) == "number") then return nil end + return value +end + +-- The background this map fights on, as a NAME. +-- +-- `SetBackgroundAndTerrain`: the map header's own byte, overridden to WATER +-- for the whole time the player is surfing. Measured over the cartridge's 593 +-- headers, every one carries a value in 0..17 -- the five Frontier backgrounds +-- never appear on a map because those battles set their own. +function Gen4Battle.backgroundFor(game) + local ow = game and game.overworld + local player = ow and ow.player + if player and player.surfing then return "water" end + local def = ow and ow.map and ow.map.def + local index = def and tonumber(def.battleBackground) + return Gen4Battle.BACKGROUNDS[index or 0] or "plain" +end + +-- ...and the terrain, as a NAME. `CalcTerrain`, in its own order: the first +-- match wins and surfable is asked LAST of the tile tests, so a bridge over +-- water that is also cave floor would be a cave. (None is; the order is the +-- cartridge's and is kept rather than sorted.) +function Gen4Battle.terrainFor(game) + local b = Gen4Battle.behaviourUnder(game) + if b then + if b == ICE then return "ice" end + if b == TALL_GRASS or b == VERY_TALL_GRASS then return "grass" end + if b == SAND then return "sand" end + if SNOW[b] then return "snow" end + if MUD[b] then return "great_marsh" end + if b == CAVE_FLOOR then return "cave" end + if SURFABLE[b] then return "water" end + end + local background = Gen4Battle.backgroundFor(game) + return Gen4Battle.TERRAIN_FOR_BACKGROUND[background] or "plain" +end + +-- --------------------------------------------------------------------------- +-- TIME OF DAY, AND ONLY FOR SIX OF THE TWENTY-THREE. +-- +-- `BattleSystem_GetBackgroundTimeOffset` switches on the BACKGROUND first: +-- PLAIN, WATER, CITY, FOREST, MOUNTAIN and SNOW take a real offset and +-- EVERYTHING ELSE IS ALWAYS 0. An indoor room does not get darker at night, +-- which is also why the extractor found the indoor palettes listing one "all" +-- entry three times. For the six that do: +-- MORNING, DAY -> day TWILIGHT -> evening +-- NIGHT, LATE_NIGHT -> night +-- +-- WHAT THIS ENGINE CAN ANSWER: its clock has Gen 2's THREE bands +-- (MORNING / DAY / NITE), not Platinum's five, so TWILIGHT has nothing to come +-- from and `evening` is unreachable until a Gen 4 clock exists. Said here +-- rather than approximated: inventing a twilight window would put the wrong +-- palette on the six outdoor backgrounds for however many hours it guessed. +-- --------------------------------------------------------------------------- + +local TIMED_BACKGROUND = { + plain = true, water = true, city = true, forest = true, + mountain = true, snow = true, +} + +function Gen4Battle.timeOfDay(game, background) + background = background or Gen4Battle.backgroundFor(game) + if not TIMED_BACKGROUND[background] then return "day" end + local ow = game and game.overworld + local tod = ow and (ow.objectTod or ow.tod) + if tod == "NITE" or tod == "NIGHT" then return "night" end + return "day" +end + +-- --------------------------------------------------------------------------- +-- The pictures, out of `gen4_graphics`, which the graphics stage already wrote +-- (69 backgrounds = 23 x three times of day; 88 platform sheets keyed +-- _). Nothing here extracts anything. +-- --------------------------------------------------------------------------- + +local function image(path) + if type(path) ~= "string" then return nil end + local ok, img = pcall(Assets.image, path) + return ok and img or nil +end + +local function graphics(battle) + local data = battle and (battle.data or (battle.game and battle.game.data)) + return data and data.gen4_graphics or nil +end + +-- backdrop(battle) -> image, key +-- +-- 512x256, because the cartridge scrolls it; the visible screen is the LEFT +-- 256x192 of it and the caller decides how much of the rest it wants. +function Gen4Battle.backdrop(battle) + local gfx = graphics(battle) + local rows = gfx and gfx.backgrounds + if not rows then return nil end + local game = battle and battle.game + local background = Gen4Battle.backgroundFor(game) + local key = background .. "_" .. Gen4Battle.timeOfDay(game, background) + local row = rows[key] or rows[background .. "_day"] + if not row then return nil end + return image(row.path), key +end + +-- platforms(battle) -> playerImage, enemyImage, terrainName +-- +-- The player's is 256x32 and the foe's is 128x64 -- both from the SAME two +-- cell banks for all 24 terrains, which is why every platform sheet in the +-- cartridge is exactly 128 tiles. +function Gen4Battle.platforms(battle) + local gfx = graphics(battle) + local rows = gfx and gfx.terrain + if not rows then return nil end + local game = battle and battle.game + local terrain = Gen4Battle.terrainFor(game) + -- WHICH ONE OF THE THREE, and it used to be whichever `pairs` reached first. + -- + -- The stage writes a row per terrain PER TIME OF DAY -- `grass_player_day`, + -- `_evening`, `_night` -- and this walked the table in hash order and took + -- the first row whose terrain matched. So the platform under the player was + -- an arbitrary one of the three, it could differ between the two sides, and + -- it could differ between two runs of the same build. + -- + -- The backdrop above already asks the right question (`_

` once the VM has put the ground +-- coordinates first. Both the actor and its def move, for the same reason the +-- facing does. +function Commands.g4_place_object(ctx, id, x, z, dir, height) + local e = objectById(ctx, id) + if not e then return end + -- The script speaks matrix coordinates; the entity lives in map ones. + local cx, cy = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, z)) + e.cellX, e.cellY = cx, cy + e.px, e.py = cx * 16, cy * 16 + local facing = DIRECTION_OF[valueOf(ctx, dir)] + if facing then e.facing = facing end + if e.def then + e.def.x, e.def.y = cx, cy + if facing then e.def.direction = valueOf(ctx, dir) end + if height then e.def.elevation = valueOf(ctx, height) end + end +end + +-- A WARP AND A SIGN CAN BE PICKED UP AND MOVED TOO. +-- +-- `(index, x, z)`, every argument through `ScriptContext_GetVar`, and the +-- coordinates in the matrix's space like everything else a Gen 4 script says. +-- The index is the event's position in the map's own list, zero-based, which +-- is one less than the Lua array slot. +-- +-- Written to the map DEF, which is what `warpAtCell` and the sign lookup read. +-- One divergence worth stating: on hardware `MapHeaderData` is rebuilt on every +-- map load, so a moved warp lasts until you leave; here `data.maps` is loaded +-- once and shared, so the move persists for the session. Nothing in the +-- corpus moves a warp and then relies on it moving back, but that is an +-- observation about 38 sites rather than a guarantee. +local function eventList(ctx, key) + local def = ctx.overworld and ctx.overworld.map and ctx.overworld.map.def + local list = def and def[key] + return type(list) == "table" and list or nil +end + +local function moveEvent(ctx, key, index, x, z, what) + local list = eventList(ctx, key) + local slot = math.floor(valueOf(ctx, index) or -1) + 1 + local row = list and list[slot] + if not row then + Logger.warn("gen4 script: %s %s has no event to move on %s", what, + tostring(index), tostring(ctx.overworld and ctx.overworld.map + and ctx.overworld.map.id)) + return + end + row.x, row.y = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, z)) +end + +function Commands.g4_set_warp_pos(ctx, index, x, z) + moveEvent(ctx, "warps", index, x, z, "warp") +end + +function Commands.g4_set_bg_pos(ctx, index, x, z) + moveEvent(ctx, "signs", index, x, z, "sign") +end + +function Commands.g4_set_object_pos(ctx, id, x, y) + local e = objectById(ctx, id) + if not e then return end + -- Matrix in, map out -- the same crossing `g4_place_object` makes. + e.cellX, e.cellY = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, y)) + e.px, e.py = e.cellX * 16, e.cellY * 16 + if e.def then e.def.x, e.def.y = e.cellX, e.cellY end +end + +-- --------------------------------------------------------------------------- +-- waits, and the rows that are honestly not implemented +-- --------------------------------------------------------------------------- +-- +-- A wait whose subject is already synchronous is a no-op and saying so is the +-- whole handler: the engine's `show_text`, `play_sound` and `play_cry` all +-- block until they are done, so the cartridge's separate wait rows have +-- nothing left to wait for. These are handlers rather than omissions so they +-- stop going through the unknown-command path, which is what was filling the +-- log. +-- A SIGN IS ITS WORDS, and the frame round them is the engine's own. +-- +-- `drawsignpostinstantmessage` and `drawsignpostscrollingmessage` now lower to +-- an ordinary message (see Gen4ScriptVM), because that is what they do on the +-- cartridge -- draw the wooden box AND print the line. What is left of the +-- sign-box state machine is the box, and this port has one message box already +-- built out of the cartridge's own art, so these two are genuinely nothing to +-- do rather than something skipped. +local function noop() end +Commands.g4_signpost_command = noop +Commands.g4_signpost_wait = noop + +-- Which line of a multi-choice sign was picked. Answering the first is not +-- the same as asking, and it is written into the var the script compares +-- rather than left stale -- a branch on a register the last script wrote is +-- the failure this whole file exists to stop. +function Commands.g4_signpost_input(ctx, destVar) + if destVar then setVar(ctx.save, destVar, 0) end + setResult(ctx, 1) +end + +Commands.g4_wait_move = noop +Commands.g4_wait_sound = noop +Commands.g4_wait_fanfare = noop +Commands.g4_wait_cry = noop +Commands.g4_wait_animation = noop +Commands.g4_wait_fade = noop +Commands.g4_return_to_field = noop +Commands.g4_menu_close = noop + +function Commands.g4_fanfare(ctx, songId) + Commands.play_once(ctx, songId) +end + +-- !! THIS READ THE WRONG OPERAND, AND EVERY FADE IN SINNOH WENT ONE WAY. +-- +-- `fadescreen` has FOUR operands, and the old lowering passed the first two +-- while this read the first: +-- +-- ScrCmd_FadeScreen: transition, frames, type, color +-- StartScreenFade(FADE_BOTH_SCREENS, type, type, color, transition, frames, ...) +-- StartScreenFade(mode, typeMain, typeSub, color, steps, framesPerStep, ...) +-- +-- so operand 1 is the STEP COUNT and the DIRECTION is operand 3. Worse, the +-- old rule read "odd darkens", which is Hoenn's arrangement, not this one: +-- `generated/fade_types.txt` alternates OUT then IN in pairs -- 0 +-- BRIGHTNESS_OUT, 1 BRIGHTNESS_IN, 2 DOWNWARD_OUT, 3 DOWNWARD_IN, 16 +-- CIRCLE_OUT, 17 CIRCLE_IN, 40 CLAMP_OUT, 41 CLAMP_IN -- so EVEN darkens and +-- ODD brings the picture back. +-- +-- MEASURED OVER ALL 736 REACHED SITES: every single one passes `steps = 6`. +-- Six is even, the old rule answered "in" for all 736, and the fade-to-black +-- before a warp or a cutscene never happened anywhere in the game. Against the +-- cartridge's own `type` parity the old reading was wrong on 362 of 736 -- +-- 49.2%, which is what reading a constant instead of a variable looks like. +-- +-- The other two operands are worth carrying now that they are in hand: total +-- length is steps x framesPerStep (6, 18 or 36 frames across the corpus), and +-- the colour is BGR555, where the only two values that occur are 0 (black) and +-- 32767 = 0x7FFF (white). +function Commands.g4_fade(ctx, fadeType, steps, framesPerStep, colour) + local t = math.floor(valueOf(ctx, fadeType) or 0) + local n = math.floor(valueOf(ctx, steps) or 6) + * math.floor(valueOf(ctx, framesPerStep) or 1) + if n < 1 then n = 1 end + local c = (math.floor(valueOf(ctx, colour) or 0) ~= 0) and "white" or "black" + Commands.fade(ctx, (t % 2 == 0) and "out" or "in", n, c) +end + +-- WHAT AN NPC DOES WHILE A SCRIPT WATCHES. +-- +-- `steps` is the list `Gen4Movement` decoded out of the script member at +-- import: `{ { action, count }, ... }`. All 3,025 of the cartridge's +-- `applymovement` sites decode, and between them they are 3,351 walks, 1,705 +-- marks-on-the-spot, 893 waits, 503 turns, 201 no-ops, 178 emotes and 177 +-- hide/show pairs. Every one of those was "make the object face the player" +-- until now. +-- +-- PLAYED IN SEQUENCE, WHICH THE CARTRIDGE DOES NOT. `ScrCmd_ApplyMovement` +-- STARTS an animation and lets the script carry on until `waitmovement`, so +-- two objects told to move in consecutive rows move together; here the second +-- waits for the first. That is a timing difference in a cutscene rather than +-- a wrong one, and the alternative is a scheduler this engine's script runner +-- has no seam for. Worth knowing before a scene with a crowd looks stilted. +function Commands.g4_move(ctx, id, steps) + local ow = ctx.overworld + if not ow then return end + local Gen4Movement = require("src.import.Gen4Movement") + -- `objectById` knows LOCALID_PLAYER / LOCALID_FOLLOWER / LOCALID_CAMERA now, + -- so the player's special case that used to live here is gone -- one lookup + -- for every command that takes an object id rather than one rule here and a + -- different one everywhere else. + local entity = objectById(ctx, id) + if not entity then + -- SAY WHO WAS BEING WALKED, once per id per map. + -- + -- A movement applied to nobody is silent, and it does not fail alone: the + -- script that queued it goes on to `WaitMovement`, so a cutscene half of + -- whose cast is missing holds the input gate with nothing on screen -- + -- which is the log's "input has been gated for 10s ... 1 scripted move(s) + -- queued". Naming the id turns that into a lookup rather than a guess. + local key = ("move:%s:%s"):format(tostring(id), + tostring(ow.map and ow.map.id)) + if not movedNobody[key] then + movedNobody[key] = true + local seen = {} + for _, e in ipairs(ow.entities or {}) do + local lid = e.localId or (e.def and e.def.localId) + if lid then seen[#seen + 1] = tostring(lid) end + end + table.sort(seen) + Logger.warn("gen4 move: no object with localId %s on %s -- the movement " + .. "is dropped and whatever waits on it will wait forever " + .. "(live localIds: %s)", tostring(id), + tostring(ow.map and ow.map.id), table.concat(seen, ",")) + end + return + end + + if type(steps) ~= "table" then + -- A cache imported before the movement lists were decoded. Facing the + -- player is what this did then, and a character talking to a wall is worse + -- than one that turns round. + -- + -- AND IT SAYS SO NOW. This branch is indistinguishable from a working + -- scene whose characters happen not to walk far, and on a stale cache it + -- is EVERY applymovement in the game -- 3,025 of them -- which is a whole + -- class of "the cutscene plays but nobody moves" with no line in the log. + local key = ("nolist:%s"):format(tostring(ow.map and ow.map.id)) + if not movedNobody[key] then + movedNobody[key] = true + Logger.warn("gen4 move: this cache carries no movement list for " + .. "applymovement on %s, so every scripted walk here is " + .. "replaced by a turn towards the player -- re-import to " + .. "fix", tostring(ow.map and ow.map.id)) + end + if entity ~= ow.player then Commands.face_player(ctx) end + return + end + + -- WHERE THIS WALK STARTS, WHICH IS THE HALF A LOG NEVER SHOWS. + -- + -- A scripted walk that ends somewhere wrong has two possible causes and they + -- need separating: the list was read wrong, or the walker was not standing + -- where the cartridge thought. The list is decoded offline and checked; the + -- starting cell is only knowable from a running game. + local fromX, fromY = entity.cellX, entity.cellY + local netX, netY = 0, 0 + for _, step in ipairs(steps) do + local a = Gen4Movement.action(step.action) + if a and a.kind == "walk" and a.dir then + local n = (a.tiles or 1) * math.max(tonumber(step.count) or 1, 1) + if a.dir == "up" then netY = netY - n + elseif a.dir == "down" then netY = netY + n + elseif a.dir == "left" then netX = netX - n + elseif a.dir == "right" then netX = netX + n end + end + end + Logger.debug("gen4 move: %s id %s from (%s,%s) -- %d step(s), net (%+d,%+d) " + .. "-> expect (%s,%s)", + tostring(ow.map and ow.map.id), tostring(id), + tostring(fromX), tostring(fromY), #steps, netX, netY, + tostring((tonumber(fromX) or 0) + netX), + tostring((tonumber(fromY) or 0) + netY)) + + for _, step in ipairs(steps) do + local action = Gen4Movement.action(step.action) + local count = math.max(tonumber(step.count) or 1, 1) + if action == nil then + -- An action nobody has named -- 20 steps in the whole cartridge, all in + -- the unnamed MOVEMENT_ACTION_1xx range. Skipped rather than guessed. + elseif action.kind == "walk" then + -- ...AT THE ACTION'S OWN SPEED. A Gen 4 movement action names a speed + -- as well as a direction and the table carries it now; without it a + -- scene written in WALK_FAST played at a stroll, which is the same fault + -- Gen 3 had before `MOVE_SPEED` was read. + Commands.walkEntity(ctx, entity, action.dir, (action.tiles or 1) * count, + action.rate) + elseif action.kind == "face" then + entity.facing = action.dir + elseif action.kind == "spot" then + -- Marking time: the sprite animates without moving, which a cutscene + -- uses as a pause with a facing. One repetition costs one step, so the + -- beat is the entity's OWN step duration rather than a number picked + -- here -- `stepFrames`, which the field defaults put at 16. + entity.facing = action.dir + -- The beat is one walk cycle, and the on-spot actions carry the same + -- five speeds the walking ones do -- a fast mark-time is a short beat. + Commands.wait(ctx, math.max(1, math.floor( + (entity.stepFrames or 16) * (action.rate or 1) * count + 0.5))) + elseif action.kind == "wait" then + Commands.wait(ctx, (action.frames or 1) * count) + elseif action.kind == "hide" then + entity.hidden = true + elseif action.kind == "show" then + entity.hidden = nil + elseif action.kind == "emote" then + -- EMOTE_EXCLAMATION_MARK is 73 of the cartridge's 1,278 steps -- the "!" + -- over a trainer who has just spotted you. Both it and the double mark + -- are the shock bubble; this engine has three (shock, question, happy) + -- and Platinum's movement table names no others. + local target = (entity == ow.player) and "player" + or (entity.def and entity.def.index) + if target then Commands.emote(ctx, target, "shock") end + end + end +end + +-- THE ONES THAT ARE NOT DONE, and are named rather than silently skipped. +-- +-- Each of these needs a system this port has not built for Gen 4 yet -- the +-- trainer battle flow, the shop screen, the sign-box state machine, the +-- scripted menu. They are registered so they do not go through the +-- unknown-command path, and each says so ONCE per session rather than once per +-- call, because a script that reaches one of these in a loop would otherwise +-- write a megabyte of identical lines. +local said = {} +-- --------------------------------------------------------------------------- +-- the scripted menu +-- --------------------------------------------------------------------------- + +-- WHAT A SIGN, A LIFT AND A NURSE ALL USE, AND WHAT IT WAS MISSING. +-- +-- `initlocaltextmenu` / `initglobaltextmenu` build the menu and name the var +-- the choice goes into; `addmenuentryimm` adds a line; `showmenu` opens it and +-- the cartridge blocks until the var is written. Only the middle two were +-- lowered before, so the menu had no destination and no bank -- 186 menus, +-- every one of them branching on a register nothing had written. +-- +-- The state rides on `ctx` rather than on the row list because 16 of the 170 +-- `show` sites are reached from a different block than their own `init`: the +-- script `goto`s between building the menu and opening it, and a per-block +-- accumulator would lose the destination on exactly those. +local function menuState(ctx) + ctx.g4Menu = ctx.g4Menu or { rows = {} } + return ctx.g4Menu +end + +-- ` `. `bank` is nil for a +-- map's own script, which is resolved per-map at the moment the line is read. +function Commands.g4_menu_init(ctx, destVar, canExitWithB, cursor, bank) + ctx.g4Menu = { + destVar = destVar, + cancelable = (tonumber(canExitWithB) or 0) ~= 0, + cursor = (tonumber(cursor) or 0) + 1, + bank = tonumber(bank), + rows = {}, + } +end + +-- THE LINE ITSELF, out of the bank the init chose. +-- +-- Substituted here rather than left to the text box, because a menu row is +-- drawn by src/ui/Menu and never passes through `show_text` -- "GIVE {STRVAR_1 +-- 0 0 0} A NAME?" on a menu line would otherwise reach the player with the +-- braces still in it. +local function menuLine(ctx, entry) + local menu = menuState(ctx) + local label + if menu.bank then + label = require("src.import.Gen4Text").label(menu.bank, tonumber(entry) or 0) + else + label = lineFor(ctx, entry) + end + local data = ctx.game and ctx.game.data + local text = data and data.text and data.text[label] + text = Commands.gen4Markup and Commands.gen4Markup(text, ctx.game) or text + -- A line the cache has no string for keeps the label, which names the bank + -- and the entry: a menu of blank rows says nothing, and a menu that reads + -- TEXT_B0361_00023 says which entry to go and look at. + return (type(text) == "string" and text ~= "") and text or label +end + +function Commands.g4_menu_entry(ctx, entry, index) + local menu = menuState(ctx) + menu.rows[#menu.rows + 1] = { + text = menuLine(ctx, entry), + value = tonumber(index) or (#menu.rows), + } +end + +-- `addmenuentry` and `addlistmenuentry` take their operands out of vars. +function Commands.g4_menu_entry_var(ctx, entry, index) + return Commands.g4_menu_entry(ctx, valueOf(ctx, entry), valueOf(ctx, index)) +end + +-- MENU_CANCEL is -2 (constants/menu.h), written into the var as a u16 when the +-- player backs out of a menu the init marked `canExitWithB`. Spelled here +-- rather than as a bare 65534 so a script comparing against it is readable. +local MENU_CANCEL = 0xFFFE +Gen4Commands.MENU_CANCEL = MENU_CANCEL + +function Commands.g4_menu_show(ctx) + local menu = ctx.g4Menu + ctx.g4Menu = nil + if not (menu and #menu.rows > 0) then + -- Nothing was added. The cartridge would show an empty frame and wait for + -- a button; blocking the script on a box with no rows is worse than + -- carrying on, so the destination is left alone and the script continues. + Logger.warn("gen4 script: showmenu with no entries -- skipped") + return + end + local Menu = require("src.ui.Menu") + local runner = ctx.runner + local items = {} + local function pick(value) + if menu.destVar then setVar(ctx.save, menu.destVar, value) end + -- `lastChoice` is what the engine's own `choice` leaves behind, kept in + -- step so a mod reading it sees the same thing on a Gen 4 map. + ctx.lastChoice = { index = value, label = nil } + runner:resume() + end + for i, row in ipairs(menu.rows) do + items[i] = { label = row.text, onSelect = function() + ctx.lastChoice = { index = row.value, label = row.text } + pick(row.value) + end } + end + ctx.game.stack:push(Menu.new(ctx.game, items, { + -- `canExitWithB == 0` means B does nothing at all -- the player is made to + -- choose. 17 of the cartridge's 186 menus are that kind. + cancelable = menu.cancelable, + onCancel = menu.cancelable and function() pick(MENU_CANCEL) end or nil, + index = menu.cursor, + })) + runner:yield() +end + +-- A MENU IS A SCREEN, so it may not be opened from a parallel script -- the +-- same rule `choice` and `ask` already carry. `g4_move` blocks but does not +-- take the screen, so it is only the second half. +Commands.meta = Commands.meta or {} +Commands.meta.g4_menu_show = { foreground = true, blocking = true } +Commands.meta.g4_move = { blocking = true } + +-- A ROW THAT IS REALLY NOTHING TO DO HERE, and says which one it was. +-- +-- Not `pending()`: that is for a verb whose feature is coming. These are rows +-- whose feature this port does not have and is not waiting on -- the size +-- contest's record, the lottery number, the daily level -- and the honest +-- handler for one of those is to do nothing and be able to say so. +local noopSeen = {} + +function Commands.g4_noop(_, what) + local key = tostring(what) + if not noopSeen[key] then + noopSeen[key] = true + Logger.info("gen4 script: %s is not implemented; the row is a no-op", key) + end +end + +local function pending(verb, what) + Commands[verb] = function() + if said[verb] then return end + said[verb] = true + Logger.info("gen4 script: '%s' is decoded and lowered but %s is not built " + .. "yet -- the row is stepped over", verb, what) + end +end + +-- --------------------------------------------------------------------------- +-- THE NEXT LAYER DOWN -- see the matching block in Gen4ScriptVM for why these +-- and not others, and for the `ScrCmd_*` each one is read from. +-- --------------------------------------------------------------------------- + +-- WHICH MAP THE PLAYER IS ON, as a HEADER id. +-- +-- `mapForHeader` already goes the other way and builds its index off the same +-- `def.header` field, so this is that field read directly rather than a second +-- table that could disagree with it. +function Commands.g4_get_map_id(ctx, destVar) + local data = ctx.game and ctx.game.data + local mapId = ctx.save and ctx.save.player and ctx.save.player.map + local def = mapId and data and data.maps and data.maps[mapId] + setVar(ctx.save, destVar, tonumber(def and def.header) or 0) +end + +-- `*destVar = LCRNG_Next() % upperBound`. +-- +-- A bound of zero is a divide by zero on the cartridge and cannot be what any +-- script means, so it reads as one -- always zero -- rather than raising here. +function Commands.g4_get_random(ctx, destVar, bound) + local top = math.floor(valueOf(ctx, bound) or 0) + if top < 1 then top = 1 end + setVar(ctx.save, destVar, math.random(0, top - 1)) +end + +-- A BOOLEAN, NOT THE BALANCE. `currentMoney < value ? FALSE : TRUE`, and the +-- amount is a literal word in the script rather than a var. +function Commands.g4_check_money(ctx, destVar, amount) + local have = tonumber(ctx.save and ctx.save.money) or 0 + setVar(ctx.save, destVar, have >= (tonumber(amount) or 0) and 1 or 0) +end + +function Commands.g4_remove_money(ctx, amount) + local save = ctx.save + if not save then return end + save.money = math.max(0, (tonumber(save.money) or 0) - (tonumber(amount) or 0)) +end + +-- A SPECIES KEY IS NOT A SPECIES NUMBER. +-- +-- The party stores `mon.species` as the cache's own key -- "SPECIES_025" -- +-- because that is what indexes `data.pokemon`; every script here compares a +-- NUMBER. One place, so the two spellings cannot drift apart across the four +-- commands below. +local function speciesNumber(mon) + local id = mon and mon.species + if id == nil then return 0 end + return tonumber(id) or tonumber(tostring(id):match("(%d+)%s*$")) or 0 +end + +-- `Party_GetPokemonBySlotIndex(*partySlot)` -- BOTH arguments are var ids and +-- the slot is the value held in the first. Slots are zero-based on the +-- cartridge and one-based in the party table. +function Commands.g4_party_species(ctx, slotVar, destVar) + local slot = math.floor(valueOf(ctx, slotVar) or 0) + local mon = ctx.save and ctx.save.party and ctx.save.party[slot + 1] + -- AN EGG IS SPECIES_NONE, not the species inside it. The cartridge checks + -- MON_DATA_IS_EGG first, and a script that asked "what is in slot 0" and got + -- the unhatched answer would spoil its own surprise. + if not mon or mon.isEgg then setVar(ctx.save, destVar, 0) return end + setVar(ctx.save, destVar, speciesNumber(mon)) +end + +-- `species` comes through `ScriptContext_GetVar`, so it may itself be a var. +function Commands.g4_party_has_species(ctx, destVar, species) + local want = math.floor(valueOf(ctx, species) or 0) + local found = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg and speciesNumber(mon) == want then found = 1 break end + end + setVar(ctx.save, destVar, found) +end + +-- --------------------------------------------------------------------------- +-- the starter +-- --------------------------------------------------------------------------- +-- +-- THE SCREEN WAS BUILT AND NOTHING EVER OPENED IT. `src/ui/Gen4StarterSelect` +-- draws Rowan's briefcase from the cartridge's own `psel_all` model and its +-- 41-frame animation, and a search of the whole tree for its name found the +-- file and no callers. The seam is one script command: +-- +-- startchoosestarterscene <- opens the app and PAUSES the script +-- savechosenstarter <- writes the answer to VAR_PLAYER_STARTER +-- returntofield +-- getplayerstarterspecies 0x8000 +-- givepokemon 0x8000, 5, 0, 0x800C +-- +-- and the first, third and fourth of those were unlowered. Without them the +-- briefcase never opens, the var stays zero and no Pokemon is handed over -- +-- which is every player's first five minutes of the game. +-- +-- VAR_PLAYER_STARTER is 0x4030, from the enum walk over +-- `generated/vars_flags.txt` that every Gen 4 var id in this port comes from +-- (the same walk puts VAR_OBJ_GFX_ID_0 at 0x4020, which the overworld already +-- relies on). It is the cartridge's own storage, so the rival's and the +-- counterpart's starters are DERIVED from it rather than stored -- that is +-- `SystemVars_GetRivalStarter` and `SystemVars_GetPlayerCounterpartStarter`, +-- which are two `if` ladders and no state at all. +local VAR_PLAYER_STARTER = 0x4030 + +-- 387/390/393, read off `gen4_menus.starter.rows[i].species` -- the same three +-- the briefcase screen offers, ripped from the ROM, not typed in here. +local TURTWIG, CHIMCHAR, PIPLUP = 387, 390, 393 + +-- `SystemVars_GetRivalStarter`: the one that BEATS yours. +local function rivalStarter(player) + if player == TURTWIG then return CHIMCHAR end + if player == CHIMCHAR then return PIPLUP end + return TURTWIG +end + +-- `SystemVars_GetPlayerCounterpartStarter`: the one YOURS beats -- Dawn or +-- Lucas takes the leftover. +local function counterpartStarter(player) + if player == TURTWIG then return PIPLUP end + if player == CHIMCHAR then return TURTWIG end + return CHIMCHAR +end + +-- `SystemVars_GetPlayerStarter` -- kept in its own slot rather than derived +-- from the party, because the party can lose the starter and the question is +-- still answerable afterwards. +-- +-- The VAR is the cartridge's storage and is read first; `save.gen4Starter` is +-- this port's older mirror and stays as a fallback so a save written before +-- the var was used still answers. +local function playerStarter(save) + local fromVar = tonumber(getVar(save, VAR_PLAYER_STARTER)) or 0 + if fromVar ~= 0 then return fromVar end + local id = save and (save.gen4Starter or (save.player and save.player.starter)) + return tonumber(id) or tonumber(tostring(id or ""):match("(%d+)%s*$")) or 0 +end +Gen4Commands.playerStarter = playerStarter +Gen4Commands.rivalStarter = rivalStarter +Gen4Commands.counterpartStarter = counterpartStarter + +function Commands.g4_starter_species(ctx, destVar) + setVar(ctx.save, destVar, playerStarter(ctx.save)) +end + +-- `startchoosestarterscene` -- `FieldSystem_LaunchChooseStarterApp` followed by +-- `ScriptContext_Pause(ctx, ScriptContext_WaitForApplicationExit)`. The +-- cartridge parks the answer in a heap block (`ChooseStarterData`) that the +-- NEXT command reads and frees; `ctx.g4StarterChoice` is that block, and it is +-- carried on the script context for exactly the same lifetime. +-- +-- The app cannot be cancelled out of -- you are made to choose -- so a cancel +-- here (the screen closing because the cache has no models) leaves the choice +-- unset and `savechosenstarter` writes nothing rather than guessing. +function Commands.g4_choose_starter(ctx) + local runner = ctx.runner + local Gen4StarterSelect = require("src.ui.Gen4StarterSelect") + ctx.g4StarterChoice = nil + local function finish() + if runner then runner:resume() end + end + ctx.game.stack:push(Gen4StarterSelect.new(ctx.game, { + onChoose = function(species) + ctx.g4StarterChoice = tonumber(species) + finish() + end, + onCancel = finish, + })) + if runner then runner:yield() end +end + +-- `savechosenstarter` -- `SystemVars_SetPlayerStarter(..., data->species)`. +function Commands.g4_save_starter(ctx) + local species = tonumber(ctx.g4StarterChoice) + ctx.g4StarterChoice = nil + if not species or species == 0 then + Logger.warn("gen4 starter: `savechosenstarter` ran with no choice on the " + .. "context -- the briefcase was closed without one, so " + .. "VAR_PLAYER_STARTER is left as it was") + return + end + setVar(ctx.save, VAR_PLAYER_STARTER, species) + -- The port's own mirror, kept in step so anything still reading it agrees. + if ctx.save then + ctx.save.gen4Starter = species + if ctx.save.player then ctx.save.player.starter = species end + end +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_choose_starter = { foreground = true, blocking = true } + +-- `givepokemon ` -- every one of the +-- first three is a VAR-or-literal (`ScriptContext_GetVar`), which matters here +-- because the starter is handed over as `givepokemon 0x8000, 5, 0, 0x800C` +-- and 0x8000 is a var. The fourth is where `Pokemon_GiveMonFromScript`'s +-- success answer goes, and a script that reads it decides whether to say "you +-- got it" or "your party is full". +function Commands.g4_give_pokemon(ctx, species, level, heldItem, destVar) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local item = math.floor(valueOf(ctx, heldItem) or 0) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `givepokemon` names species %s, which this " + .. "dataset does not carry -- nothing is given and the " + .. "destination var says so", tostring(id)) + if destVar then setVar(ctx.save, destVar, 0) end + return + end + -- NO NICKNAME PROMPT. `Pokemon_GiveMonFromScript` adds the mon and returns; + -- Gen 4 asks about a nickname from a separate script path when it asks at + -- all, and the starter is not one of the times it does. + local opts = nil + if item ~= 0 then + local key = itemKey(ctx.game.data, item) + if ctx.game.data.items and ctx.game.data.items[key] then + opts = { heldItem = key } + end + end + Commands.give_pokemon(ctx, id, lv, true, opts) + if destVar then setVar(ctx.save, destVar, ctx.lastCheck and 1 or 0) end +end + +-- --------------------------------------------------------------------------- +-- small state the opening reads +-- --------------------------------------------------------------------------- +-- +-- Each of these is two or three lines on the cartridge and each was going +-- through the unknown-command path, which is worse than it sounds for the +-- ones that write a var: the branch after them reads whatever the LAST +-- comparison left in the register, so an unlowered `countbadgesacquired` does +-- not just fail to count badges, it makes the next `gotoif` decide at random. + +-- `PlayerData_SetRunningShoes(playerData, TRUE)`. Mum hands them over in the +-- player's own house, which is why this one is in the opening at all. +function Commands.g4_running_shoes(ctx) + local save = ctx.save + if not save then return end + save.player = save.player or {} + save.player.runningShoes = true + -- The engine's own spelling, so whatever already gates running agrees. + save.hasRunningShoes = true +end + +-- `TimeOfDayForHour` (src/rtc.c), transcribed from its 24-entry lookup: +-- 0-3 LATE_NIGHT, 4-9 MORNING, 10-16 DAY, 17-19 TWILIGHT, 20-23 NIGHT. The +-- values are the 0-based `generated/time_of_day.txt` enum -- MORNING 0, DAY 1, +-- TWILIGHT 2, NIGHT 3, LATE_NIGHT 4 -- and NOT this engine's own Gen 2 period +-- names, which are a different set with a different ordering. +local function timeOfDayValue(hour) + hour = tonumber(hour) or 12 + if hour < 4 then return 4 end + if hour < 10 then return 0 end + if hour < 17 then return 1 end + if hour < 20 then return 2 end + return 3 +end +Gen4Commands.timeOfDayValue = timeOfDayValue + +function Commands.g4_time_of_day(ctx, destVar) + setVar(ctx.save, destVar, timeOfDayValue(tonumber(os.date("%H")))) +end + +-- `countbadgesacquired` walks sBadgeIDs and counts. This port keeps badges in +-- the save the engine's own way; both spellings are read because a Gen 4 save +-- may carry either. +function Commands.g4_count_badges(ctx, destVar) + local save = ctx.save + local badges = save and (save.badges or (save.player and save.player.badges)) + local count = 0 + if type(badges) == "table" then + for _, has in pairs(badges) do if has then count = count + 1 end end + elseif type(badges) == "number" then + local n = math.floor(badges) + while n > 0 do + if n % 2 == 1 then count = count + 1 end + n = math.floor(n / 2) + end + end + setVar(ctx.save, destVar, count) +end + +-- `Poketch_IsAppRegistered`. The watch's own corner of the save is +-- `save.poketch`, which `src/ui/Gen4Poketch` creates on demand. +function Commands.g4_poketch_registered(ctx, appId, destVar) + local id = math.floor(valueOf(ctx, appId) or 0) + local store = ctx.save and ctx.save.poketch + local apps = store and (store.registered or store.apps) + local yes = 0 + if type(apps) == "table" and apps[id] then yes = 1 end + setVar(ctx.save, destVar, yes) + setResult(ctx, yes) +end + +-- `getsetnationaldexenabled `: 1 grants the National Dex, +-- 2 asks whether it is held. The destination is written to ZERO first in both +-- cases, which is what the set branch leaves behind. +function Commands.g4_national_dex(ctx, getOrSet, destVar) + local mode = math.floor(valueOf(ctx, getOrSet) or 0) + local dex = ctx.save and ctx.save.pokedex + local value = 0 + if mode == 1 then + if dex then dex.national = true end + elseif mode == 2 then + value = (dex and dex.national) and 1 or 0 + end + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- --------------------------------------------------------------------------- +-- badges, and the trainer's own class +-- --------------------------------------------------------------------------- + +-- `givebadge ` -- `TrainerInfo_SetBadge`, zero-based. Oreburgh's gym leader +-- script is the first one, and without it the Coal Badge is never awarded, so +-- every later gate that counts badges reads one short for the rest of the +-- game. +-- +-- WRITTEN TWO WAYS ON PURPOSE. `save.badges` is the record `g4_count_badges` +-- reads, and `save.inventory` is where every other generation in this engine +-- keeps a badge -- `makeBattler` walks `badgeBoosts` and asks the BAG. Gen 4 +-- awards no stat boost (its `badgeBoosts` list is absent, so the lookup finds +-- nothing either way), but a badge that is not in the bag is a badge the +-- trainer card and the save editor cannot see. +function Commands.g4_give_badge(ctx, badgeNum) + local save = ctx.save + if not save then return end + local n = math.floor(valueOf(ctx, badgeNum) or 0) + local rows = ctx.game and ctx.game.data and ctx.game.data.constants + and ctx.game.data.constants.badges + local row = rows and rows[n + 1] -- the cartridge counts from zero + local id = (type(row) == "table" and row.id) or row + if type(id) ~= "string" then + Logger.warn("gen4 script: `givebadge %d` names no badge in this cache -- " + .. "nothing is awarded", n) + return + end + save.badges = save.badges or {} + save.badges[id] = true + save.inventory = save.inventory or {} + save.inventory[id] = save.inventory[id] or 1 + Logger.info("gen4: awarded %s", id) +end + +-- TRAINER CLASS NAMES, INVERTED OUT OF THE TRAINER TABLE. +-- +-- The cartridge reads them from a message bank; this port has not indexed that +-- bank by class, but every trainer row carries `class` AND `className`, so the +-- mapping is already in the cache. Built on first use and kept, because the +-- table is 979 rows and the answer never changes. +local classNames = nil + +function Gen4Commands.trainerClassName(data, classId) + local id = tonumber(classId) + if not id then return nil end + if not classNames then + classNames = {} + for _, row in pairs((data and data.trainers) or {}) do + if type(row) == "table" and row.class and type(row.className) == "string" + and row.className ~= "" and classNames[row.class] == nil then + classNames[row.class] = row.className + end + end + end + return classNames[id] +end + +-- `capitalizefirstletter ` -- `StringTemplate_CapitalizeArgAtIndex`. +-- Real, and one line: the buffered word is already in hand. +function Commands.g4_capitalize(ctx, slot) + local buffers = ctx.game and ctx.game.stringBuffers + local i = (tonumber(slot) or 0) + 1 + local text = buffers and buffers[i] + if type(text) ~= "string" or text == "" then return end + buffers[i] = text:sub(1, 1):upper() .. text:sub(2) +end + +-- A QUESTION THIS PORT CANNOT ANSWER, ANSWERED HONESTLY AS "NO". +-- +-- Distinct from `g4_noop`, which is for a row that does nothing on screen, and +-- from `pending()`, which is for a verb whose feature is on the way. This is +-- for a command that WRITES A VAR and whose feature does not exist here: the +-- var has to be written, because the `gotoif` behind it would otherwise branch +-- on whatever the previous comparison left in the register. Zero is both the +-- truthful answer and the one that keeps the script on its ordinary path. +local noFeatureSeen = {} + +function Commands.g4_no_feature(ctx, destVar, feature) + if destVar then setVar(ctx.save, destVar, 0) end + setResult(ctx, 0) + local key = tostring(feature) + if not noFeatureSeen[key] then + noFeatureSeen[key] = true + Logger.info("gen4 script: a row asked about %s, which this port does not " + .. "have -- the answer is no, and the branch behind it takes " + .. "its ordinary path", key) + end +end + +-- --------------------------------------------------------------------------- +-- the trainer battle +-- --------------------------------------------------------------------------- +-- +-- WHAT WAS ACTUALLY MISSING was one shape mismatch and a result register. +-- +-- `BattleState.newTrainer(game, oppClass, partyIndex)` reads +-- `trainers[key].parties[i]`, because Gen 1 and Gen 2 put SEVERAL trainers in +-- one class. Gen 4 numbers every trainer individually and gives each one +-- party, so the record sits one level shallower than the reader -- +-- `Data:seedDefaults` now exposes `parties = { party }` as a view. Everything +-- else the builder wants, the extractor already wrote: species, level, moves, +-- the IV scale, the battle type, the class name. +-- +-- THE OBJECT ALREADY KNOWS WHO IT IS. A trainer's object event carries a +-- script id in the `single_battles` band (3000+) or `double_battles` (5000+), +-- and `Script_GetTrainerID` is `scriptID - offset + 1`. The extractor resolved +-- that at import and hung the answer on the def: +-- +-- script = 3231, scriptBand = "single_battles", +-- trainer = { id = 232, name = "David", class = 14, +-- className = "Black Belt", partySize = 2 } +-- +-- so `gettrainerid` is a field read rather than arithmetic this file repeats. +local function trainerOnObject(ctx) + local npc = ctx.npc + local def = npc and npc.def + local rec = def and def.trainer + return rec and tonumber(rec.id) or nil +end + +-- `starttrainerbattle ` -- both var-or-literal, and the +-- SECOND is TRAINER_NONE (0) for an ordinary fight. A non-zero second is two +-- opponents at once, which `start_battle` already knows how to build: +-- `trainerBKey` fills the other half of the field from that trainer's own +-- party rather than a second Pokemon from the first's. +-- `extra` is for the ONE caller that needs a different rule -- the Route 201 +-- first battle, which may be lost without a blackout. Every other caller +-- passes two operands and gets exactly what it always got. +function Commands.g4_start_battle(ctx, enemy1, enemy2, extra) + local id = math.floor(valueOf(ctx, enemy1) or 0) + local other = math.floor(valueOf(ctx, enemy2) or 0) + local trainers = ctx.game and ctx.game.data and ctx.game.data.trainers + local rec = trainers and trainers[id] + -- `parties[1][1]`, not `parties[1]`: an EMPTY party is a live table and + -- would pass a truthiness test, then take the game down in `makeBattler` + -- with `data.pokemon[nil]`. Exactly one trainer in the cartridge is empty -- + -- id 0, TRAINER_NONE, which is the value `enemy2` carries for an ordinary + -- single battle -- so this guard is cheap and the case it catches is real. + if not (rec and type(rec.parties) == "table" and type(rec.parties[1]) == "table" + and rec.parties[1][1]) then + Logger.warn("gen4 battle: trainer %d is not in this cache (or carries no " + .. "party) -- the battle is skipped and the script carries on " + .. "as though it were lost", id) + ctx.g4BattleWon = false + setResult(ctx, 0) + return + end + -- The defeated flag is the cartridge's own bank (TRAINER_DEFEATED_FLAGS_ + -- START + id), which this port keeps in `save.gen4TrainerFlags` and + -- `checktrainerflag` already reads. Set on a WIN only, and set HERE because + -- this is the only place the result arrives. + ctx.g4Trainer = id + local opts = { double = (other ~= 0) or rec.doubleBattle or nil } + if other ~= 0 and trainers[other] then opts.trainerBKey = other end + if extra and extra.canLose then opts.canLose = true end + Commands.start_battle(ctx, "trainer", id, 1, opts) +end + +-- `checkwonbattle ` -- `CheckPlayerWonBattle(*battleResult)`. +-- +-- `start_battle` leaves its answer in `ctx.lastBattleResult`; reading THAT +-- rather than keeping a second copy is what stops the two disagreeing after a +-- battle the script did not start. +function Commands.g4_check_won_battle(ctx, destVar) + local won = (ctx.lastBattleResult == "win") + -- ...and mark the trainer beaten, once, on the way past. The cartridge does + -- this in the battle teardown rather than the script -- no Sinnoh script + -- runs `settrainerflag` after a fight -- so a port that waited for one would + -- have every trainer in the region challenge you again for ever. Same shape + -- as the Gen 3 fix in `start_battle`. + if won and ctx.g4Trainer then + local t = trainerFlags(ctx.save) + if t then t[ctx.g4Trainer] = true end + ctx.g4Trainer = nil + end + local value = won and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checklostbattle ` -- `CheckPlayerLostBattle`, which reads a +-- DIFFERENT bit of the same result mask. Not the negation of the above: a +-- battle that ended some third way answers no to both, and the one script that +-- asks is branching on a real loss rather than on "did not win". +function Commands.g4_check_lost_battle(ctx, destVar) + local value = (ctx.lastBattleResult == "lose") and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `gettrainerid ` -- who the running script belongs to. +function Commands.g4_get_trainer_id(ctx, destVar) + local id = trainerOnObject(ctx) or ctx.g4Trainer or 0 + if destVar then setVar(ctx.save, destVar, id) end + setResult(ctx, id) +end + +-- `checkistrainerdoublebattle ` -- `battleType != BATTLE_TYPE_SINGLES` +-- on the trainer this script belongs to. +function Commands.g4_check_trainer_double(ctx, destVar) + local id = trainerOnObject(ctx) or ctx.g4Trainer + local trainers = ctx.game and ctx.game.data and ctx.game.data.trainers + local rec = id and trainers and trainers[id] + local value = (rec and (rec.doubleBattle + or (tonumber(rec.battleType) or 0) ~= 0)) and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checkhastwoalivemons ` -- `Party_HasTwoAliveMons`, which is what +-- gates a double battle: you cannot be asked into one with a single Pokemon +-- standing. +function Commands.g4_check_two_alive(ctx, destVar) + local alive = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg and (mon.hp or 0) > 0 then alive = alive + 1 end + end + local value = (alive >= 2) and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `trainerbattle` is not an opcode on this cartridge; the spelling is kept +-- pointing at the real one so an older lowering cannot fall through the floor. +Commands.g4_trainer_battle = Commands.g4_start_battle + +Commands.meta = Commands.meta or {} +Commands.meta.g4_start_battle = { foreground = true, blocking = true } + +pending("g4_get_movement_type", "the movement-script decoder") +-- --------------------------------------------------------------------------- +-- the shop +-- --------------------------------------------------------------------------- +-- +-- A SINNOH MART'S STOCK IS DECIDED BY YOUR BADGE COUNT, not by the town. +-- `ScrCmd_PokeMartCommon` ignores its one operand entirely, counts the badges +-- in the save, turns that into a TIER, and then walks one shared table taking +-- every row whose `requiredBadges` is at or below it. Every ordinary Poke Mart +-- in the region sells the same list; what changes is how far down it goes. +-- +-- The switch is the cartridge's, transcribed rather than smoothed -- note that +-- it is NOT `tier = badges` and not monotonic in the obvious way: zero badges +-- and one badge give different tiers, then the pairs 1/2, 3/4 and 5/6 share: +-- +-- 0 -> 1 1,2 -> 2 3,4 -> 3 5,6 -> 4 7 -> 5 8 -> 6 +-- +-- `constants.martCommon` is that table, already extracted: 19 rows of +-- `{ badges, item }`, which unlock 4 / 10 / 13 / 17 / 18 / 19 deep as the +-- tiers rise. Item 4 is the Poke Ball and 17 the Potion, and both are in the +-- first four -- which is the whole reason this had to be wired before anybody +-- could play past Jubilife. +local MART_TIER = { [0] = 1, 2, 2, 3, 3, 4, 4, 5, 6 } + +local function martStock(ctx) + local data = ctx.game and ctx.game.data + local rows = data and data.constants and data.constants.martCommon + if type(rows) ~= "table" then return nil end + local badges = 0 + local held = ctx.save and (ctx.save.badges + or (ctx.save.player and ctx.save.player.badges)) + if type(held) == "table" then + for _, has in pairs(held) do if has then badges = badges + 1 end end + end + local tier = MART_TIER[math.min(badges, 8)] or 1 + local stock = {} + for _, row in ipairs(rows) do + local need = tonumber(row.badges) or 1 + local item = row.item + if tier >= need and item ~= nil and data.items and data.items[item] then + stock[#stock + 1] = item + end + end + return stock, badges, tier +end + +function Commands.g4_pokemart(ctx, _, kind) + -- `pokemartspecialties` indexes `PokeMartSpecialties[martID]` -- a SECOND + -- table, one stock list per counter, which this cache does not carry. 22 + -- sites, all of them the Veilstone department store and the game corner. + -- Opening a common mart in their place would sell the wrong things under the + -- right sign, which is worse than saying so. + if kind == "specialty" then + Logger.warn("gen4 shop: a specialty counter was opened, but " + .. "`PokeMartSpecialties` is not extracted -- the stock lists " + .. "for the department store and the game corner are their own " + .. "table, so the counter is skipped rather than stocked wrong") + return + end + local stock, badges, tier = martStock(ctx) + if not (stock and stock[1]) then + Logger.warn("gen4 shop: this cache carries no `martCommon` table, so the " + .. "clerk has nothing to sell") + return + end + Logger.info("gen4 shop: %d badge(s) -> tier %d, %d item(s) on the shelf", + badges, tier, #stock) + local runner = ctx.runner + local Screens = require("src.ui.Screens") + Screens.push(ctx.game, "ShopMenu", stock, function() + if runner then runner:resume() end + end) + if runner then runner:yield() end +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_pokemart = { foreground = true, blocking = true } + +-- --------------------------------------------------------------------------- +-- CHAPTER THREE -- Oreburgh to Eterna +-- --------------------------------------------------------------------------- +-- +-- Measured the same way the opening and chapter two were: walk every script +-- block reachable from the Oreburgh gate through Jubilife, Floaroma, the +-- Windworks and Eterna Forest to Gardenia's gym -- 191 entry points, 610 +-- blocks, 5,230 instructions -- and ask the lowering about each row. 176 +-- unlowered rows across 42 commands, which is a list rather than a survey. +-- The ones below are the ones that change what a player sees. + +-- `SetBlackOutWarpId(warpId)` -- FieldOverworldState's blackout destination, +-- an INDEX into a heal-location table this port has not extracted for Gen 4. +-- One site in the whole cartridge (the Eterna cycle shop). +-- +-- RECORDED RATHER THAN APPLIED, deliberately: `OverworldState:healPoint` +-- answers from `save.lastHeal`, which a Pokemon Centre already writes, so +-- guessing a map from an index would be strictly worse than the answer the +-- port already has. The id is kept so a later heal-location stage has the +-- script's own value to join against instead of having to re-derive it. +function Commands.g4_set_blackout_warp(ctx, warpId) + local save = ctx.save + if not save then return end + save.gen4BlackoutWarpId = math.floor(valueOf(ctx, warpId) or 0) +end + +-- `getitempocket ` -- `Item_LoadParam(item, +-- ITEM_PARAM_FIELD_POCKET)`. 46 sites, all of them in `scripts_common`: this +-- is the "you put the X away in the Y POCKET" line every pickup in the region +-- runs through, so leaving it unlowered left a VAR-WRITER silent and the +-- pocket name behind it printing whatever the last command had left. +-- +-- The value is the item row's own `fieldPocket`, which the extractor already +-- writes on all 446 rows (0 ITEMS, 1 MEDICINE, 2 POKE_BALLS, 3 TM_HM, +-- 4 BERRIES, 5 MAIL, 6 BATTLE_ITEMS, 7 KEY_ITEMS -- counted off the cache, +-- not assumed). +function Commands.g4_item_pocket(ctx, item, destVar) + local data = ctx.game and ctx.game.data + local id = itemKey(data, math.floor(valueOf(ctx, item) or 0)) + local def = data and data.items and data.items[id] + local pocket = tonumber(def and def.fieldPocket) or 0 + if destVar then setVar(ctx.save, destVar, pocket) end + setResult(ctx, pocket) +end + +-- `checkitemisplate ` -- `item >= ITEM_FLAME_PLATE and +-- item <= ITEM_IRON_PLATE`. +-- +-- DERIVED FROM THE NAMES, NOT FROM TWO HARD-CODED IDS. The cartridge's plates +-- are one contiguous run, so the run's ends are what the test needs -- and the +-- cache already carries every item's name, so asking which rows are called +-- "... Plate" reproduces the pair without a second table to keep in step. +-- Built once and kept on the module. +function Gen4Commands.plateRange(data) + if Gen4Commands._plateLow then + return Gen4Commands._plateLow, Gen4Commands._plateHigh + end + local low, high + for id, def in pairs((data and data.items) or {}) do + local n = tonumber(id) or tonumber(def and def.id) + local name = def and def.name + if n and type(name) == "string" and name:match("%sPlate$") then + if not low or n < low then low = n end + if not high or n > high then high = n end + end + end + Gen4Commands._plateLow = low or 0 + Gen4Commands._plateHigh = high or -1 + return Gen4Commands._plateLow, Gen4Commands._plateHigh +end + +function Commands.g4_item_is_plate(ctx, item, destVar) + local id = math.floor(valueOf(ctx, item) or 0) + local low, high = Gen4Commands.plateRange(ctx.game and ctx.game.data) + local yes = (id >= low and id <= high) and 1 or 0 + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `getpartycount ` -- `Party_GetCurrentCount`, EGGS INCLUDED, which +-- is why `countpartynoneggs` exists beside it and is a different number. +function Commands.g4_party_count(ctx, destVar) + local n = #((ctx.save and ctx.save.party) or {}) + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +function Commands.g4_party_non_eggs(ctx, destVar) + local n = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then n = n + 1 end + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- ------------------------------------------------------------- the Poketch -- +-- +-- `enablepoketch` and `registerpoketchapp `. `g4_poketch_registered` +-- has been able to ANSWER this question since the battle pass -- it reads +-- `save.poketch.registered` -- and nothing in the port had ever written it, so +-- every app read as unregistered for ever. The Jubilife scene that hands the +-- watch over is four of the five `registerpoketchapp` sites on the critical +-- path. +function Commands.g4_enable_poketch(ctx) + local save = ctx.save + if not save then return end + save.poketch = save.poketch or {} + save.poketch.enabled = true + -- The watch arrives WITH THE DIGITAL WATCH ALREADY ON IT (app 0); the + -- cartridge registers it in the same handler rather than from the script. + save.poketch.registered = save.poketch.registered or {} + save.poketch.registered[0] = true +end + +function Commands.g4_register_poketch_app(ctx, appId) + local save = ctx.save + if not save then return end + local id = math.floor(valueOf(ctx, appId) or 0) + save.poketch = save.poketch or {} + save.poketch.registered = save.poketch.registered or {} + save.poketch.registered[id] = true +end + +-- ------------------------------------------------------- the player avatar -- +-- +-- `setplayerstate ` is `PlayerAvatar_TurnOnRequestStateBit` and its +-- operand is a BITMASK, not an enum -- `generated/player_transitions.txt` +-- names ten entries and two of them are called `PLAYER_TRANSITION_x0008` and +-- `x0200`, which is the table telling you its own numbering: 1 WALKING, +-- 2 CYCLING, 4 SURFING, 8, 0x10 WATER_BERRIES, 0x20 FISHING, 0x40 POKETCH, +-- 0x80 SAVE, 0x100 HEALING, 0x200. +-- +-- Only two values are ever passed in the whole cartridge: WALKING (6 sites) +-- and HEALING (3). WALKING is a DISMOUNT and is the one that matters -- a +-- script that puts you indoors expects you off the bike. HEALING is the nurse's +-- pose, which this port draws no differently. +Gen4Commands.PLAYER_STATE = { WALKING = 1, CYCLING = 2, SURFING = 4 } + +function Commands.g4_player_state(ctx, state) + local bits = math.floor(tonumber(state) or 0) + local save = ctx.save + if not save then return end + if bits % 2 == 1 then -- WALKING + save.onBike = false + elseif math.floor(bits / 2) % 2 == 1 then -- CYCLING + save.onBike = true + end +end + +-- `changeplayerstate` is `PlayerAvatar_RequestChangeState` -- the LATCH that +-- applies whatever bit the previous command set. This port applies it in the +-- setter, so the latch has nothing left to do. + +-- `setplayerbike ` -- one TRUE site and six FALSE ones in the whole +-- cartridge, because the bike itself is a bag item; this is the scripted +-- mount and dismount. +-- +-- SAFE ON A CACHE WITH NO BIKE ART: `Player:spriteFor` reads +-- `self.onBike and self.bikeSprite` and falls through to the walking sheet +-- when the second is nil, so a Sinnoh rider walks rather than drawing nothing. +function Commands.g4_player_bike(ctx, on) + local save = ctx.save + if not save then return end + save.onBike = (math.floor(tonumber(on) or 0) ~= 0) +end + +-- `getdayofweek ` -- `GetDayOfWeek()`, 0 Sunday .. 6 Saturday, which +-- is the same origin `os.date("*t").wday` uses once its 1-based count is +-- shifted. The one site on the critical path is the Windworks' weekday check. +function Commands.g4_day_of_week(ctx, destVar) + local wday = tonumber(os.date("*t").wday) or 1 + local value = (wday - 1) % 7 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- ------------------------------------------------------------ a tag battle -- +-- +-- `starttagbattle `. The same +-- `Encounter_NewVsTrainer` as `starttrainerbattle`, with one difference that +-- is the whole point of the command: the ALLY is named by an operand instead +-- of being read from FLAG_HAS_PARTNER. +-- +-- WHAT THIS PORT ACTUALLY FIELDS, stated plainly because it is not the +-- cartridge's fight: the two foes are real and the battle is a real double, +-- but the ally trainer is NOT on the field -- both of the player's flanks come +-- from the player's own party, because an AI-driven battler on the player's +-- side is a battle-engine feature this port does not have. The fight is +-- therefore harder than Sinnoh's, and winnable, which is the trade that keeps +-- the scene finishable. Losing it runs the script's own blackout branch, as it +-- does on the cartridge. +-- +-- The alternative was a `pending()` stub, and that is strictly worse: the +-- Jubilife scene reads `CheckWonBattle` immediately afterwards and branches to +-- its blackout on FALSE, so an unlowered battle does not merely skip a fight, +-- it blacks the player out in the middle of a cutscene. +function Commands.g4_start_tag_battle(ctx, partner, enemy1, enemy2) + local ally = math.floor(valueOf(ctx, partner) or 0) + if ally ~= 0 and not Gen4Commands._saidTagBattle then + Gen4Commands._saidTagBattle = true + Logger.info("gen4 battle: a tag battle names trainer %d as the player's " + .. "ally; this port has no ally-trainer battler, so both of " + .. "the player's flanks are their own party", ally) + end + local a, b = math.floor(valueOf(ctx, enemy1) or 0), + math.floor(valueOf(ctx, enemy2) or 0) + return Commands.g4_start_battle(ctx, a, b) +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_start_tag_battle = { foreground = true, blocking = true } + +-- `giveegg ` -- Cynthia's Togepi at Eterna City is the one +-- on the critical path, and it is missable rather than blocking. +-- +-- `Egg_CreateEgg(egg, species, 1, trainer, 3, specialMetLoc)`: level 1, and the +-- second operand is only the MET LOCATION the memo prints, which this port does +-- not keep for Gen 4 -- so it is read and dropped rather than stored somewhere +-- nothing reads. `give_pokemon`'s own `egg` option does the rest: no nickname +-- prompt, an egg-step counter from the species, and no met level until it +-- hatches. +function Commands.g4_give_egg(ctx, species, giver) + local id = math.floor(valueOf(ctx, species) or 0) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `giveegg` names species %s, which this dataset " + .. "does not carry -- no egg is given", tostring(id)) + return + end + if #((ctx.save and ctx.save.party) or {}) >= 6 then + Logger.info("gen4 script: `giveegg` with a full party -- the cartridge " + .. "drops it too (Party_GetCurrentCount < MAX_PARTY_SIZE)") + return + end + local _ = valueOf(ctx, giver) + Commands.give_pokemon(ctx, id, 1, true, { egg = true }) +end + +-- `startlegendarybattle ` -- `Encounter_NewVsSpeciesAtLevel` +-- with the legendary flag on. NOT only legendaries: the one site on the +-- critical path is the DRIFLOON that appears at the Valley Windworks on +-- Fridays, which uses the same command because the command is really "a wild +-- battle against a named species at a named level that cannot be fled". +-- +-- The port already carries `opts.legendary`, which `start_battle` passes to +-- the battle and `pushBattleTransition` reads, so this is the existing wild +-- path with the flag set rather than a new kind of battle. +function Commands.g4_legendary_battle(ctx, species, level) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `startlegendarybattle` names species %s, which " + .. "this dataset does not carry -- the battle is skipped", + tostring(id)) + return + end + Commands.start_battle(ctx, "wild", id, lv, { legendary = true }) +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_legendary_battle = { foreground = true, blocking = true } + +-- --------------------------------------------------------------------------- +-- THE OPENING, WALKED AGAIN AND WIDER +-- --------------------------------------------------------------------------- +-- +-- The first opening measurement used a narrow map set and reported zero. +-- Walking the same route with the houses, Rowan's lab and the common-script +-- archive included -- 101 entry points, 484 blocks -- finds 132 rows, which is +-- what a wider net was always going to do. The item-pocket work above accounts +-- for most of them; these are the rest, and the first is the game's FIRST +-- BATTLE. + +-- `startfirstbattle ` -- `Encounter_NewVsFirstBattle`. Six sites, all +-- of them Route 201: Barry's challenge the moment you have a starter, one site +-- per starter per gender. +-- +-- IT IS AN ORDINARY TRAINER BATTLE WITH ONE RULE CHANGED: losing it does not +-- black you out. The script says so itself -- `CheckWonBattle` then +-- `Route201_RivalWonLetsGoHome`, a branch that only exists because the story +-- carries on either way. The port already has that rule as `opts.canLose` +-- (the Battle Tower's), and `afterBattle` reads it before the blackout, so +-- this is `g4_start_battle` with the flag set rather than a second battle +-- path. +function Commands.g4_start_first_battle(ctx, trainer) + return Commands.g4_start_battle(ctx, trainer, 0, { canLose = true }) +end + +-- `givepokedex` -- `Pokedex_ObtainPokedex`. Rowan hands it over in his lab and +-- NOTHING in this port was told: `Flags.hasPokedex` reads +-- `EVENT_GOT_POKEDEX`/`ENGINE_POKEDEX` off the save's flag table and gates the +-- start menu's Pokedex row and the main menu's continue panel, and no Gen 4 +-- script sets either. So the dex row stayed missing for the whole game. +-- +-- `ENGINE_POKEDEX` is the port's own generation-neutral spelling, which is why +-- it is the one written here rather than Johto's event name. +function Commands.g4_give_pokedex(ctx) + local save = ctx.save + if not save then return end + save.flags = save.flags or {} + save.flags.ENGINE_POKEDEX = true + save.pokedex = save.pokedex or { seen = {}, owned = {} } +end + +-- `getlocaldexseencount ` / `checklocaldexcompleted ` -- the +-- SINNOH dex, which is a filtered view of the national one and needs the +-- region's own species list to count. The port keeps `save.pokedex.seen` and +-- `.owned` whole rather than per-region, so the honest answer is the count of +-- what has actually been seen, which is right whenever the player has not yet +-- left Sinnoh -- and that is every script that asks. +function Commands.g4_dex_seen_count(ctx, destVar) + local n = 0 + for _ in pairs((ctx.save and ctx.save.pokedex and ctx.save.pokedex.seen) or {}) do + n = n + 1 + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `setstepflag` / `clearstepflag` -- `SystemFlag_SetStep`, the bit that stops +-- the step counter (and with it egg hatching and Poketch pedometer ticks) +-- while a cutscene is running. This port counts no steps during a script +-- because the script owns the input gate, so the bit has nothing to gate. + +-- One operand (the slot); the species is derived rather than passed. +function Commands.g4_buffer_counterpart_starter_article(ctx, slot) + local mine = Gen4Commands.playerStarter(ctx.save) + local id = Gen4Commands.counterpartStarter(mine) + return Commands.g4_buffer(ctx, slot, "speciesArticle", id) +end + +-- `startdestroyobstacleanimation ` -- Roark's Rock Smash +-- demonstration in the Oreburgh Mine and the boulder-clearing flourish +-- elsewhere. PRESENTATION ONLY: the rock is actually removed by the +-- `RemoveObject` on the very next row, which has always been lowered, so the +-- path opens with or without the animation. The destination var is the +-- animation's handle, which nothing in the script reads back. +function Commands.g4_destroy_obstacle_anim(ctx, _, destVar) + if destVar then setVar(ctx.save, destVar, 0) end +end + +-- `buffermapname ` -- `MapHeader_LoadName`, the PLAYER- +-- FACING name from message bank 433, which every header already carries as +-- `label` (see Gen4MapHeaders, where confusing that with the internal name is +-- written up). `gen4_map_headers` is keyed by header id, which is what the +-- operand is, so this is a field read. +function Commands.g4_buffer_map_name(ctx, slot, header) + local game = ctx.game + if not game then return end + local id = math.floor(valueOf(ctx, header) or 0) + local headers = game.data and game.data.gen4_map_headers + local rec = headers and headers[id] + game.stringBuffers = game.stringBuffers or {} + game.stringBuffers[(tonumber(slot) or 0) + 1] = (rec and rec.label) or "" + if not (rec and rec.label) then + Logger.warn("gen4 text: `buffermapname` names header %d, which this cache " + .. "has no label for", id) + end +end + +-- --------------------------------------------------------------------------- +-- CHAPTER FOUR -- Eterna to Veilstone +-- --------------------------------------------------------------------------- +-- +-- 271 entry points, 835 blocks, 6,876 instructions across the Cycling Road, +-- Mt. Coronet's south end, Route 208, Hearthome (city, gym and Amity Square), +-- Route 209 and the Lost Tower, Solaceon, Route 210, Route 215 and Veilstone. +-- 138 unlowered rows across 52 commands. +-- +-- One of them could stop the player leaving Eterna, and it is the first below. + +-- `checkplayeronbike ` -- `PlayerAvatar_GetPlayerState() == +-- PLAYER_AVATAR_CYCLING`. THE CYCLING ROAD GATES ARE THE REASON THIS MATTERS: +-- both gate coord events are +-- +-- CheckPlayerOnBike VAR_RESULT +-- GoToIfEq VAR_RESULT, TRUE, ...ForceBikingInGateCoordEvent +-- Message ...Text_OpenOnlyToCyclists +-- +-- so with the check unlowered VAR_RESULT holds whatever the previous command +-- left, and the gate either turns the player away from the only road south or +-- lets them through on foot depending on a value that has nothing to do with +-- the bike. +function Commands.g4_check_on_bike(ctx, destVar) + local on = (ctx.save and ctx.save.onBike) and 1 or 0 + if destVar then setVar(ctx.save, destVar, on) end + setResult(ctx, on) +end + +-- `forcebicycling ` -- `PlayerAvatar_SetOnCyclingRoad`. The Cycling +-- Road puts you on the bike and will not let you off; the port already has +-- that idea for Kanto's Route 17 (`save.forcedBike`, armed by the forced-bike +-- TILE and read by the bag before it lets the BICYCLE be put away), so this is +-- the same flag set from a script instead of from a tile. +function Commands.g4_force_bike(ctx, on) + local save = ctx.save + if not save then return end + local want = math.floor(tonumber(on) or 0) ~= 0 + save.forcedBike = want or nil + if want then save.onBike = true end +end + +-- `getpreviousmapid ` -- `FieldOverworldState_GetPrevLocation`, as a +-- HEADER id, which is what `g4_get_map_id` already answers for the current +-- map. One site: the Cycling Road asking which end you came in from. +function Commands.g4_previous_map(ctx, destVar) + local ow = ctx.overworld + local data = ctx.game and ctx.game.data + local prev = ow and (ow.previousMapId or (ow.lastOutdoor and ow.lastOutdoor.id)) + local def = prev and data and data.maps and data.maps[prev] + setVar(ctx.save, destVar, tonumber(def and def.header) or 0) +end + +-- ------------------------------------------------------------ party queries -- +-- +-- Four commands that read one party slot. `getpartymonfriendship` alone is 143 +-- sites across the cartridge -- the third most common unlowered command in the +-- whole corpus -- because every "your Pokemon looks happy" line in the region +-- runs through it. +-- +-- WATCH THE OPERAND ORDER: the DESTINATIONS COME FIRST on three of these four +-- and the slot is last, which is the opposite of the way they read aloud. +-- getpartymonfriendship +-- getpartymontype +-- checkpartymonhasmove + +local function partyMon(ctx, slot) + local n = math.floor(valueOf(ctx, slot) or 0) + return (ctx.save and ctx.save.party or {})[n + 1] +end + +-- FRIENDSHIP IS NOT KEPT FOR GEN 4 YET, and this says so once rather than +-- answering zero. `mon.friendship or mon.happiness` is the spelling Gen 3 +-- already uses; a Gen 4 mon carries neither, so the species' own +-- `baseFriendship` is the answer -- which is exactly the value a freshly +-- caught Pokemon has on the cartridge, and therefore right until something +-- starts moving the counter. +function Commands.g4_mon_friendship(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local value = mon and tonumber(mon.friendship or mon.happiness) + if mon and not value then + local def = (ctx.game and ctx.game.data and ctx.game.data.pokemon or {})[mon.species] + value = tonumber(def and def.baseFriendship) + if not Gen4Commands._saidFriendship then + Gen4Commands._saidFriendship = true + Logger.info("gen4 party: no friendship counter is kept for Gen 4 yet, so " + .. "a species' base friendship is answered -- which is what a " + .. "newly caught Pokemon has") + end + end + if destVar then setVar(ctx.save, destVar, value or 0) end + setResult(ctx, value or 0) +end + +-- `typeIds` on the species row is the cartridge's own pair, already extracted. +function Commands.g4_mon_types(ctx, type1Var, type2Var, slot) + local mon = partyMon(ctx, slot) + local def = mon and (ctx.game and ctx.game.data and ctx.game.data.pokemon or {})[mon.species] + local ids = (def and def.typeIds) or {} + if type1Var then setVar(ctx.save, type1Var, tonumber(ids[1]) or 0) end + if type2Var then setVar(ctx.save, type2Var, tonumber(ids[2]) or tonumber(ids[1]) or 0) end +end + +-- AN EGG ANSWERS NO, and the cartridge checks that before it looks at the move +-- slots -- an egg's move list is real data and would otherwise match. +function Commands.g4_mon_has_move(ctx, destVar, move, slot) + local mon = partyMon(ctx, slot) + local want = math.floor(valueOf(ctx, move) or 0) + local yes = 0 + if mon and not mon.isEgg then + for _, m in ipairs(mon.moves or {}) do + local id = tonumber(m) or tonumber(m and m.id) + if id == want then yes = 1 break end + end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `getfirstnonegginparty ` -- the slot, not the Pokemon. +function Commands.g4_first_non_egg(ctx, destVar) + local slot = 0 + for i, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then slot = i - 1 break end + end + if destVar then setVar(ctx.save, destVar, slot) end + setResult(ctx, slot) +end + +-- `checkpartyhasspecies2 ` -- `Party_HasSpecies`. Note the +-- order: species first here, destination second, unlike the four above. +function Commands.g4_party_has_species(ctx, species, destVar) + local want = math.floor(valueOf(ctx, species) or 0) + local yes = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if speciesNumber(mon) == want then yes = 1 break end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `startwildbattle ` -- the plain scripted wild battle, which +-- is `startlegendarybattle` without the flag that makes it unfleeable. Two +-- sites on Route 209 (the Spiritomb well). +function Commands.g4_start_wild_battle(ctx, species, level) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `startwildbattle` names species %s, which this " + .. "dataset does not carry -- the battle is skipped", tostring(id)) + return + end + Commands.start_battle(ctx, "wild", id, lv) +end + +-- `getnationaldexseencount ` -- the whole dex rather than Sinnoh's +-- view of it, which is what `save.pokedex.seen` already is. +function Commands.g4_national_dex_seen(ctx, destVar) + local n = 0 + for _ in pairs((ctx.save and ctx.save.pokedex and ctx.save.pokedex.seen) or {}) do + n = n + 1 + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `getselectedpartyslot ` -- which slot the party menu came back +-- with. PARTY_SLOT_NONE is 0xFF and means CANCELLED, and that is the honest +-- answer while the menus in front of it (the move tutor's) are not built: +-- answering 0 would name the first Pokemon and send the script down a branch +-- the player never chose. +Gen4Commands.PARTY_SLOT_NONE = 0xFF + +function Commands.g4_selected_party_slot(ctx, destVar) + if destVar then setVar(ctx.save, destVar, Gen4Commands.PARTY_SLOT_NONE) end + setResult(ctx, Gen4Commands.PARTY_SLOT_NONE) +end + +-- --------------------------------------------------------------------------- +-- CHAPTERS FIVE AND SIX -- Veilstone to Pastoria, and Lake Valor to Canalave +-- --------------------------------------------------------------------------- +-- +-- Two walks: Veilstone through Route 214, the Valor Lakefront, Route 213 and +-- the Great Marsh to Crasher Wake's gym (131 roots, 456 blocks), and Lake +-- Valor through Route 212 to Fantina's gym, then Route 218 to Canalave and +-- Byron's (157 roots, 418 blocks). 27 and 26 unlowered rows respectively -- +-- the chapter-four work had already covered most of both. + +-- `getoverworldweather ` -- `FieldOverworldState_GetWeather`. +-- +-- THE PORT KEEPS NO SAVED GEN 4 WEATHER: `applyMapWeather` is Gen 3 only, and +-- inventing a `save.gen4Weather` that one command writes and nothing else +-- reads would be worse than answering from the map. The map's own `weather` +-- byte is extracted on 592 of 593 rows and is what the cartridge seeds the +-- saved value FROM on every load, so on the map you are standing on the two +-- agree. Route 213's two sites are asking about the beach they are on. +function Commands.g4_overworld_weather(ctx, destVar) + local ow = ctx.overworld + local def = ow and ow.map and ow.map.def + local value = tonumber(def and def.weather) or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `getpartymonmove ` -- `MON_DATA_MOVE1 + moveSlot`. +function Commands.g4_mon_move(ctx, destVar, slot, moveSlot) + local mon = partyMon(ctx, slot) + local index = math.floor(valueOf(ctx, moveSlot) or 0) + local entry = mon and (mon.moves or {})[index + 1] + local id = tonumber(entry) or tonumber(entry and entry.id) or 0 + if destVar then setVar(ctx.save, destVar, id) end + setResult(ctx, id) +end + +function Commands.g4_mon_move_count(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local n = 0 + for _, m in ipairs((mon and mon.moves) or {}) do + local id = tonumber(m) or tonumber(m and m.id) or 0 + if id ~= 0 then n = n + 1 end + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `findpartyslotwithmove ` -- and THE MISS VALUE IS SIX, not +-- zero: `for (slot = 0, *destVar = MAX_PARTY_SIZE; ...)` seeds the destination +-- with the party size and only overwrites it on a hit, so "nobody knows this +-- move" and "the first Pokemon knows it" are 6 and 0. Answering 0 on a miss +-- would name the lead. +function Commands.g4_find_slot_with_move(ctx, destVar, move) + local want = math.floor(valueOf(ctx, move) or 0) + local found = 6 + for i, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then + for _, m in ipairs(mon.moves or {}) do + local id = tonumber(m) or tonumber(m and m.id) + if id == want then found = i - 1 break end + end + end + if found ~= 6 then break end + end + if destVar then setVar(ctx.save, destVar, found) end + setResult(ctx, found) +end + +-- `getpcboxesfreeslotcount ` -- `MAX_PC_BOXES * MAX_MONS_PER_BOX` +-- minus what is stored. The port's own `Boxes` module answers both halves and +-- already knows the running cartridge's shape, so no constant is hard-coded +-- here. The one site is the Great Marsh gate refusing you when there is +-- nowhere to put a catch -- which is why answering a flat zero would have been +-- actively wrong rather than merely absent. +-- NO pcall AROUND THE REQUIRE, and that is a correction rather than an +-- oversight. The first version wrapped it and fell back to ZERO free slots -- +-- which is not "I could not tell", it is "your boxes are full", and it is the +-- one answer that makes the Great Marsh gate turn the player away. A defensive +-- default has to be the harmless one, and here that is the opposite end. +-- +-- `src.pokemon.Boxes` is a core module that every generation loads, so a +-- failure to require it is a real fault and should be loud rather than quietly +-- locking a player out of the marsh. +function Commands.g4_pc_free_slots(ctx, destVar) + local Boxes = require("src.pokemon.Boxes") + local free = 0 + if ctx.save then + Boxes.ensure(ctx.save) + local used = 0 + for _, box in pairs(ctx.save.boxes or {}) do + used = used + (tonumber(Boxes.used(box)) or 0) + end + local total = (tonumber(Boxes.count()) or 0) * (tonumber(Boxes.capacity()) or 0) + free = math.max(0, total - used) + end + if destVar then setVar(ctx.save, destVar, free) end + setResult(ctx, free) +end + +-- `checkdidnotcapture ` -- `CheckPlayerDidNotCaptureWildMon`, asked +-- after a legendary or scripted wild battle so the script knows whether to put +-- the Pokemon back on the map. `start_battle` already leaves the outcome in +-- `ctx.lastBattleResult`, and "caught" is the only result that means captured. +function Commands.g4_did_not_capture(ctx, destVar) + local value = (ctx.lastBattleResult == "caught") and 0 or 1 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- --------------------------------------------------------------------------- +-- CHAPTERS SEVEN AND EIGHT -- Byron to Candice, and Spear Pillar to the League +-- --------------------------------------------------------------------------- +-- +-- Chapter seven (Canalave, Iron Island, Celestic, the Galactic HQ, Routes 216 +-- and 217, Snowpoint and Lake Acuity) came in at 196 roots, 560 blocks and only +-- 16 unlowered rows -- the earlier chapters had already covered it. +-- +-- Chapter eight (Mt. Coronet's top, Spear Pillar, the Distortion World, +-- Sunyshore, Victory Road and the whole Pokemon League) is 129 roots, 421 +-- blocks, 128 rows -- and it contains the end of the game. + +-- `getbattleresult ` -- the raw result MASK, not the won/lost bit that +-- `checkwonbattle` and `checklostbattle` each read one flag out of. The one +-- site is the Distortion World asking how the Giratina fight ended so it can +-- decide whether to put it back. +-- +-- The port keeps `ctx.lastBattleResult` as a word, so the mask is rebuilt from +-- it here rather than a fourth field being added to the context. +Gen4Commands.BATTLE_RESULT = { win = 1, lose = 2, caught = 5, fled = 3, draw = 4 } + +function Commands.g4_get_battle_result(ctx, destVar) + local value = Gen4Commands.BATTLE_RESULT[ctx.lastBattleResult or ""] or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checkpartyhashelditem ` -- Mt. Coronet's summit asking +-- whether you are carrying the Adamant or Lustrous Orb. +function Commands.g4_party_has_held_item(ctx, item, destVar) + local data = ctx.game and ctx.game.data + local want = itemKey(data, math.floor(valueOf(ctx, item) or 0)) + local yes = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + local held = mon.item or mon.heldItem + if held and held == want then yes = 1 break end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `setspeciesseen ` -- `FieldSystem_WriteSpeciesSeen`. Spear Pillar +-- marks Dialga and Palkia seen as they appear, before either is fought, which +-- is how the dex knows about the one you do not get. +function Commands.g4_set_species_seen(ctx, species) + local id = math.floor(valueOf(ctx, species) or 0) + if id == 0 then return end + local save = ctx.save + if not save then return end + save.pokedex = save.pokedex or { seen = {}, owned = {} } + save.pokedex.seen = save.pokedex.seen or {} + save.pokedex.seen[id] = true +end + +-- `getgameversion ` -- `GAME_VERSION`, which is VERSION_PLATINUM. +-- Counted off `include/constants/versions.h` rather than assumed, because the +-- enum has three UNUSED holes in it: NONE 0, SAPPHIRE 1, RUBY 2, EMERALD 3, +-- FIRERED 4, LEAFGREEN 5, unused 6, HEARTGOLD 7, SOULSILVER 8, unused 9, +-- DIAMOND 10, PEARL 11, PLATINUM 12. Spear Pillar asks so it knows whether +-- Dialga or Palkia is yours. +Gen4Commands.VERSION_PLATINUM = 12 + +function Commands.g4_game_version(ctx, destVar) + local value = Gen4Commands.VERSION_PLATINUM + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `getleaguevictories ` -- how many times the Hall of Fame has been +-- entered. `record_hall_of_fame` appends one entry per induction to +-- `save.hallOfFame`, so the count is already kept and this is a length. +function Commands.g4_league_victories(ctx, destVar) + local n = #((ctx.save and ctx.save.hallOfFame) or {}) + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `getpartymonevtotal ` -- the six EVs added up, which the +-- Sunyshore market reads to decide what it will sell you. +function Commands.g4_mon_ev_total(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local n = 0 + for _, v in pairs((mon and mon.evs) or {}) do n = n + (tonumber(v) or 0) end + if destVar then setVar(ctx.save, destVar, math.floor(n)) end + setResult(ctx, math.floor(n)) +end + +-- RIBBONS, AND TWO SCHEMES THAT DO NOT LINE UP. +-- +-- `getpartymonribbon` is the single commonest unlowered command in the whole +-- cartridge -- 178 sites -- and the port already has a ribbon store, but it is +-- HOENN'S: `mon.ribbons` keyed by name, with rank counters, because that is +-- what the contest screen and the POKeNAV read. A Gen 4 script addresses a +-- ribbon by NUMBER, and the map between the two schemes is a table this port +-- does not carry. +-- +-- So Gen 4 ribbons are stored under their own NUMERIC keys in the same table. +-- They round-trip exactly (set then get answers yes), they cannot collide with +-- Hoenn's string keys, and `Contest.ribbonCount` walks named keys only, so a +-- Sinnoh ribbon does not silently inflate a Hoenn count. What it does NOT do +-- is show up on the ribbon screen -- that needs the map, and inventing one +-- would put the wrong picture on the right Pokemon. +function Commands.g4_get_mon_ribbon(ctx, destVar, slot, ribbon) + local mon = partyMon(ctx, slot) + local id = math.floor(valueOf(ctx, ribbon) or 0) + local yes = 0 + if mon and type(mon.ribbons) == "table" and mon.ribbons[id] then yes = 1 end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +function Commands.g4_set_mon_ribbon(ctx, slot, ribbon) + local mon = partyMon(ctx, slot) + if not mon then return end + local id = math.floor(valueOf(ctx, ribbon) or 0) + if type(mon.ribbons) ~= "table" then mon.ribbons = {} end + mon.ribbons[id] = true +end + +pending("g4_common", "the common-script archive") +pending("g4_unimplemented", "the opcode itself") + +return Gen4Commands diff --git a/src/script/Gen4Commands.lua b/src/script/Gen4Commands.lua new file mode 100644 index 000000000..877163dba --- /dev/null +++ b/src/script/Gen4Commands.lua @@ -0,0 +1,3448 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- WHAT A LOWERED GEN 4 SCRIPT ROW ACTUALLY DOES. +-- +-- `Gen4ScriptVM` has lowered Platinum's bytecode into `g4_*` rows since it was +-- written, and NOTHING HAS EVER REGISTERED A HANDLER FOR ONE. Every row went +-- through `ScriptRunner`'s unknown-command path, which logs and steps over it, +-- so a Sinnoh conversation ran like this: +-- +-- [warn] script: unknown command 'g4_lock_all' (skipped) +-- [warn] script: unknown command 'g4_face_player' (skipped) +-- [warn] script: unknown command 'g4_buffer' (skipped) +-- ... show_text ... +-- [warn] script: unknown command 'g4_wait_button' (skipped) +-- [warn] script: unknown command 'g4_check_flag' (skipped) +-- [warn] script: unknown command 'g4_compare_var_value' (skipped) +-- +-- which is exactly what was reported: "npcs are appearing for the events but +-- not triggering, npcs are still missing text". The box opened and shut +-- without waiting, the name placeholders stayed empty, and -- the one that +-- matters most -- every `checkflag` and `comparevar` left the comparison +-- register untouched, so each of the branches after it took whatever the +-- previous script had left there. A script that is 90% correct and branches +-- at random is not 90% of a conversation. +-- +-- This is the other half. Gen 3's file is the model and a good deal of it is +-- reusable in shape, but the two do NOT share state: Hoenn's vars live in +-- `save.gen3Vars` and Sinnoh's in `save.gen4Vars`, because they are different +-- games with different var maps and one save can hold both. +-- +-- THE COMPARISON REGISTER IS THE CARTRIDGE'S, transcribed: +-- +-- `Compare(a, b)` (scrcmd.c:879) returns 0 for ab -- note that equality is 1 and not 0 -- and `ScrCmd_GoToIf` +-- (scrcmd.c:1065) indexes `sConditionTable[condition][comparisonResult]`: +-- +-- // < == > +-- { TRUE, FALSE, FALSE }, // 0 < +-- { FALSE, TRUE, FALSE }, // 1 == +-- { FALSE, FALSE, TRUE }, // 2 > +-- { TRUE, TRUE, FALSE }, // 3 <= +-- { FALSE, TRUE, TRUE }, // 4 >= +-- { TRUE, FALSE, TRUE }, // 5 != +-- +-- `ScrCmd_CheckFlag` writes the FLAG'S OWN VALUE into that register rather +-- than a comparison (scrcmd.c:1105), which is what makes `checkflag` then +-- `gotoif 1` read as "if the flag is set". Same for `checktrainerflag`. +-- +-- VARS ARE IDS FROM 0x4000 (`VARS_START = 16384`, generated/vars_flags.txt), +-- and any operand below that is a literal -- the same rule Hoenn uses, which +-- is why `valueOf` looks familiar. + +local Commands = require("src.script.Commands") +local Logger = require("src.core.Logger") + +local Gen4Commands = {} + +local VARS_START = 0x4000 + +-- --------------------------------------------------------------------------- +-- vars +-- --------------------------------------------------------------------------- + +local function varStore(save) + if not save then return nil end + save.gen4Vars = save.gen4Vars or {} + return save.gen4Vars +end + +local function getVar(save, id) + local store = varStore(save) + return (store and store[tonumber(id) or 0]) or 0 +end + +local function setVar(save, id, value) + local store = varStore(save) + if store then store[tonumber(id) or 0] = tonumber(value) or 0 end +end + +local function isVarId(n) + n = tonumber(n) + return n ~= nil and n >= VARS_START +end + +-- An operand is a var when it names one and a literal when it does not. +local function valueOf(ctx, n) + if isVarId(n) then return getVar(ctx.save, n) end + return tonumber(n) or 0 +end + +Gen4Commands.getVar, Gen4Commands.setVar = getVar, setVar +Gen4Commands.valueOf = valueOf + +-- --------------------------------------------------------------------------- +-- the comparison register +-- --------------------------------------------------------------------------- + +-- [condition][result + 1], transcribed from sConditionTable above. +local CONDITION = { + [0] = { true, false, false }, + [1] = { false, true, false }, + [2] = { false, false, true }, + [3] = { true, true, false }, + [4] = { false, true, true }, + [5] = { true, false, true }, +} + +local function compare(a, b) + if a < b then return 0 end + if a > b then return 2 end + return 1 +end + +local function setResult(ctx, result) + ctx.g4Compare = result + -- `lastCheck` is what the engine's own `jump_if_true` / `jump_if_false` + -- read, and a Gen 4 script reaches those through the shared verbs + -- (`check_flag`, `ask`), so the two registers are kept in step rather than + -- left to disagree. + ctx.lastCheck = result == 1 +end + +local function holds(ctx, condition) + local row = CONDITION[tonumber(condition) or 1] + if not row then return false end + return row[(ctx.g4Compare or 1) + 1] == true +end + +Gen4Commands.compare, Gen4Commands.holds = compare, holds + +-- --------------------------------------------------------------------------- +-- control flow +-- --------------------------------------------------------------------------- + +-- `call` lowers to `g4_call ` / `jump ` / `label `, so the row +-- only has to remember where to come back to; the jump beside it does the +-- going. +function Commands.g4_call(ctx, returnLabel) + ctx.g4Stack = ctx.g4Stack or {} + ctx.g4Stack[#ctx.g4Stack + 1] = returnLabel +end + +function Commands.g4_return(ctx) + local stack = ctx.g4Stack + if stack and #stack > 0 then return table.remove(stack) end + return "end" +end + +function Commands.g4_jump_if(ctx, condition, target) + if holds(ctx, condition) then return target end +end + +-- `callif` lowers to `g4_call_if ` / `jump ` / `label `. +-- When the condition holds this remembers the return and lets the jump below +-- carry the call; when it does not, it has to JUMP PAST that jump, which is +-- the label it was given. +function Commands.g4_call_if(ctx, condition, returnLabel) + if not holds(ctx, condition) then return returnLabel end + ctx.g4Stack = ctx.g4Stack or {} + ctx.g4Stack[#ctx.g4Stack + 1] = returnLabel +end + +-- --------------------------------------------------------------------------- +-- comparisons, vars and flags +-- --------------------------------------------------------------------------- + +function Commands.g4_compare_var_value(ctx, id, value) + setResult(ctx, compare(getVar(ctx.save, id), tonumber(value) or 0)) +end + +function Commands.g4_compare_var_var(ctx, a, b) + setResult(ctx, compare(getVar(ctx.save, a), getVar(ctx.save, b))) +end + +-- WRITING A GRAPHICS VAR HAS TO REACH THE OBJECT THAT READS IT. +-- +-- Sixteen graphics ids (101..116) are not pictures but the names of vars, and +-- a map's entry script fills them in -- Lake Verity's counterpart is Dawn or +-- Lucas depending on which the player is not. `objectHome` resolves the +-- sentinel at SPAWN, and that is one beat too early: a Gen 4 map's entry +-- script is QUEUED rather than run (`setMap -> onEnter` can happen mid-warp +-- while the warp's own runner is still suspended-alive, which would trip +-- `ScriptRunner:run`'s assert), so the overworld drains it AFTER the cast is +-- built. The var was therefore always empty at the moment it was read. +-- +-- So the write pushes back. This is the same shape as `syncFlagObjects`, +-- which already re-syncs an object when its hide flag is written, for exactly +-- the same reason -- a script changing state the spawn already consumed. +local GFX_VAR_BASE, GFX_VAR_COUNT = 0x4020, 16 +local GFX_SENTINEL_FIRST = 101 + +local function syncGraphicsVarObjects(ctx, id) + local slot = tonumber(id) + if not slot then return end + local index = slot - GFX_VAR_BASE + if index < 0 or index >= GFX_VAR_COUNT then return end + local ow = ctx.overworld + if not (ow and ow.syncObjectVisibility and ow.map and ow.map.def) then return end + local sentinel = GFX_SENTINEL_FIRST + index + for _, obj in ipairs(ow.map.def.objects or {}) do + if tonumber(obj.graphicsId) == sentinel then + -- `pooledNPC` rebuilds an NPC whose resolved sprite no longer matches the + -- one it was built with, so re-syncing is enough to replace the + -- placeholder with the real character. + pcall(function() ow:syncObjectVisibility(obj) end) + end + end +end + +function Commands.g4_set_var(ctx, id, value) + setVar(ctx.save, id, valueOf(ctx, value)) + syncGraphicsVarObjects(ctx, id) +end + +function Commands.g4_copy_var(ctx, dest, src) + setVar(ctx.save, dest, valueOf(ctx, src)) + syncGraphicsVarObjects(ctx, dest) +end + +function Commands.g4_add_var(ctx, id, value) + setVar(ctx.save, id, getVar(ctx.save, id) + valueOf(ctx, value)) +end + +function Commands.g4_sub_var(ctx, id, value) + setVar(ctx.save, id, getVar(ctx.save, id) - valueOf(ctx, value)) +end + +-- The flag's own value into the register, not a comparison -- see the header. +function Commands.g4_check_flag(ctx, name) + Commands.check_flag(ctx, name) + setResult(ctx, ctx.lastCheck and 1 or 0) +end + +-- Trainer flags are a separate bank on the cartridge and a separate table +-- here, so a Gen 4 trainer id cannot collide with a Gen 1-3 event flag. +local function trainerFlags(save) + if not save then return nil end + save.gen4TrainerFlags = save.gen4TrainerFlags or {} + return save.gen4TrainerFlags +end + +function Commands.g4_set_trainer_flag(ctx, id) + local t = trainerFlags(ctx.save) + if t then t[valueOf(ctx, id)] = true end +end + +function Commands.g4_clear_trainer_flag(ctx, id) + local t = trainerFlags(ctx.save) + if t then t[valueOf(ctx, id)] = nil end +end + +function Commands.g4_check_trainer_flag(ctx, id) + local t = trainerFlags(ctx.save) + setResult(ctx, (t and t[valueOf(ctx, id)]) and 1 or 0) +end + +-- --------------------------------------------------------------------------- +-- the conversation +-- --------------------------------------------------------------------------- + +-- `lockall` / `lock` freeze the field while a script talks, and `releaseall` / +-- `release` give it back. The engine already stops the world for the duration +-- of a script -- `ScriptRunner` owns the turn -- so these are the cartridge's +-- bookkeeping rather than something to reimplement, and the honest handler is +-- the one that records the state the later rows read rather than an empty +-- function that pretends there is nothing to say. +function Commands.g4_lock_all(ctx) ctx.g4Locked = true end +function Commands.g4_release_all(ctx) ctx.g4Locked = false end +function Commands.g4_lock(ctx, _) ctx.g4Locked = true end +function Commands.g4_release(ctx, _) ctx.g4Locked = false end + +function Commands.g4_face_player(ctx) + Commands.face_player(ctx) +end + +-- `closemessage` takes the box down. The engine closes its own box when the +-- text is acknowledged, so this only has to clear the pending state -- and it +-- must not be a no-op, because a script that closes and then opens a second +-- box needs the first one gone. +function Commands.g4_close_message(ctx) + ctx.textOpen = nil +end + +-- `waitbutton` is what makes a line stay on screen. The engine's `show_text` +-- already blocks on the same acknowledgement, so the wait is satisfied by the +-- time this row is reached; skipping it silently was harmless and saying so +-- once is better than warning on every line in Sinnoh. +function Commands.g4_wait_button() end + +-- --------------------------------------------------------------------------- +-- string buffers +-- --------------------------------------------------------------------------- + +-- Platinum's `bufferplayername` and friends fill the slots that a message's +-- own placeholders read. With no handler every one of those came out empty, +-- which is half of "npcs are still missing text": the line was fetched and +-- printed with a hole in it. +-- A NAME THE SAVE NEVER RECORDED IS STILL A NAME THE CARTRIDGE HAS. +-- +-- Reported from the log rather than from play, twice in one session: +-- +-- [warn] gen4 text: string slot 0 was never buffered; the line prints with +-- a gap where its name should be +-- +-- The buffer WAS called. `save.player.rival` was the empty string -- a save +-- written before the rival-naming step of Rowan's intro existed, and one this +-- port will keep meeting for as long as anybody continues an old file. An +-- empty buffer and an unfilled one are indistinguishable downstream, so every +-- `{STRVAR_1 3 0 0}` in Twinleaf printed as a gap mid-sentence. +-- +-- The fallback is the CARTRIDGE'S OWN DEFAULT, not one invented here: +-- `gen4_intro.rivalNames` is the preset list the naming screen offers, ripped +-- from the ROM, and its first entry is the "New name!" prompt rather than a +-- name -- so the first non-custom label is the game's own default. In +-- Platinum that is "Barry". The player's own name falls back the same way, +-- through `field.boot.namePresets`. +-- +-- Read-side only: nothing is written back to the save. A save that never +-- recorded a rival name should keep saying so, and repairing it here would +-- overwrite a choice the player might yet make in a fresh intro. +local reportedDefaultName = {} + +local function defaultName(data, kind) + if kind == "rival" then + local rows = data and data.gen4_intro and data.gen4_intro.rivalNames + for _, row in ipairs(rows or {}) do + if not row.custom and row.label and row.label ~= "" then return row.label end + end + return nil + end + local boot = data and data.field and data.field.boot + local presets = boot and boot.namePresets and boot.namePresets.player + local first = presets and presets[1] + if type(first) == "table" then first = first.label end + return (type(first) == "string" and first ~= "") and first or nil +end + +-- FORWARD-DECLARED, and the reason is a crash this file shipped with. +-- +-- `itemKey` is defined below, with the bag commands, because that is where it +-- belongs -- but `g4_buffer` reaches for it from up here, in the `itemPlural` +-- fallback and in `tmhmMove`. A file-local referenced ABOVE its `local function` +-- line is not that local at all: Lua resolves the name as a GLOBAL, finds nil, +-- and the buffer raises +-- +-- attempt to call a nil value (global 'itemKey') +-- +-- the first time a TM's move name is wanted. Declaring the local here and +-- ASSIGNING to it below makes both sites the same upvalue. Caught by running +-- every new command against the real cache rather than by reading them. +local itemKey + +function Commands.g4_buffer(ctx, slot, kind, value) + local game = ctx.game + if not game then return end + game.stringBuffers = game.stringBuffers or {} + local data = game.data + local save = ctx.save + local text + if kind == "player" then + text = save and save.player and save.player.name + elseif kind == "rival" then + -- `save.player.rival` IS THE KEY, and this read two spellings that nothing + -- writes. Gen4RowanIntro's naming screen stores the answer as + -- `save.player.rival` -- the same field BirchSpeech, the FireRed speech, + -- Gen2Commands and BattleState all use -- so the rival slot came back + -- empty every time and the line printed with the token still in it: + -- "that to my {STRVAR_1 3 1 0}". The old spellings stay as fallbacks + -- rather than being deleted, because a save written by some other path is + -- not worth breaking to tidy this up. + text = save and ((save.player and (save.player.rival or save.player.rivalName)) + or save.rivalName) + elseif kind == "species" then + local id = valueOf(ctx, value) + local def = data and data.pokemon and (data.pokemon[id] + or data.pokemon[("SPECIES_%03d"):format(id)]) + text = def and def.name + elseif kind == "item" then + local id = valueOf(ctx, value) + local def = data and data.items and (data.items[id] + or data.items[("ITEM_%03d"):format(id)]) + text = def and def.name + elseif kind == "nickname" then + local slotIndex = valueOf(ctx, value) + local mon = save and save.party and save.party[slotIndex + 1] + local def = mon and data and data.pokemon and data.pokemon[mon.species] + text = mon and (mon.nickname or (def and def.name)) + elseif kind == "move" then + local id = valueOf(ctx, value) + local def = data and data.moves and data.moves[id] + text = def and def.name + elseif kind == "number" then + text = tostring(valueOf(ctx, value)) + elseif kind == "trainerClass" then + -- WHERE THE CLASS NAMES COME FROM, and they are not a table of their own. + -- `StringTemplate_SetTrainerClassNameWithArticle` reads a message bank + -- this port has not indexed by class -- but the TRAINER table carries both + -- `class` and `className` on all 979 rows, so the map is already in the + -- cache and only needs inverting. Built once and cached on the module. + text = Gen4Commands.trainerClassName(data, valueOf(ctx, value)) + elseif kind == "rivalStarter" or kind == "playerStarter" + or kind == "counterpartStarter" then + -- Derived from VAR_PLAYER_STARTER rather than stored -- see the starter + -- section below, which is where the two `if` ladders live. Resolved late + -- (a forward local would have to be declared above this function) through + -- the module table, which is the same object either way. + local mine = Gen4Commands.playerStarter(save) + local id = mine + if kind == "rivalStarter" then id = Gen4Commands.rivalStarter(mine) + elseif kind == "counterpartStarter" then + id = Gen4Commands.counterpartStarter(mine) + end + local def = id ~= 0 and data and data.pokemon and data.pokemon[id] or nil + text = def and def.name + elseif kind == "pocket" then + -- `bufferpocketname ` -- the BAG POCKET NAMES bank, which + -- the menu stage already extracts as `gen4_menus.bag.pockets` (eight + -- entries, in `fieldPocket` order). Bank 395 is the plain list and 396 is + -- the same eight with a colour code and a pocket glyph in front; the plain + -- one is what a text box in this engine can print, so the cache's own copy + -- is preferred and the bank is only the fallback. + local n = math.floor(valueOf(ctx, value) or 0) + local menus = data and data.gen4_menus + local list = menus and menus.bag and menus.bag.pockets + text = list and list[n + 1] + if not text then + local label = require("src.import.Gen4Text").label(395, n) + text = data and data.text and data.text[label] + end + elseif kind == "itemPlural" then + -- `bufferitemnameplural` reads a BANK OF ITS OWN (394), not the singular + -- names with an "s" bolted on -- "Poké Balls" and "TMs & HMs" are both in + -- it and neither is the singular plus a letter. + local id = math.floor(valueOf(ctx, value) or 0) + local label = require("src.import.Gen4Text").label(394, id) + text = data and data.text and data.text[label] + if not text or text == "" then + local def = data and data.items and data.items[itemKey(data, id)] + text = def and def.name + end + elseif kind == "poketchApp" then + -- `bufferpoketchappname `, and THE TWO POKETCH NUMBERINGS + -- ARE NOT THE SAME ONE. + -- + -- A script's operand is a `POKETCH_APPID_*`: 0 DIGITAL WATCH, 1 + -- CALCULATOR, 2 MEMO PAD, 3 PEDOMETER... which is exactly the order of + -- message bank 457. The cache's `gen4_menus.poketch.apps[].id` is a + -- DIFFERENT index -- the Poketch Co. description bank's order, where 1 is + -- the Analog Watch and the Calculator is 6 -- because that stage pairs + -- descriptions with names and numbers them as it goes. + -- + -- Both joins succeed and only one is right; they agree at 0 and diverge + -- from 1, which is the worst possible way to be wrong. Bank 457 is the + -- script's own vocabulary, so it is the one read here. + local id = math.floor(valueOf(ctx, value) or 0) + local label = require("src.import.Gen4Text").label(457, id) + text = data and data.text and data.text[label] + elseif kind:sub(1, 5) == "bank:" then + -- A NAME THAT IS JUST A MESSAGE BANK KEYED BY THE OPERAND, which several + -- of these are: item names with articles (393), contest accessories (386) + -- and their with-article twin (387), Underground goods (626) and theirs + -- (627). One kind rather than five near-identical branches, because the + -- only thing that differs is the number. + -- + -- THE BANK IDS ARE THE LINE NUMBER IN generated/text_banks.txt MINUS ONE, + -- and that is checked rather than assumed each time: bank 626 reads "PC" + -- and 627 reads "a {COLOR}PC{COLOR}", which is the pair the right way + -- round. The systems behind these names are not built -- what this buys + -- is that the line reads properly instead of printing a raw token. + local bank = tonumber(kind:sub(6)) + local id = math.floor(valueOf(ctx, value) or 0) + local label = bank and require("src.import.Gen4Text").label(bank, id) + text = label and data and data.text and data.text[label] + text = Commands.gen4Markup and Commands.gen4Markup(text, game) or text + elseif kind == "speciesArticle" then + -- `buffer...specieswitharticle` reads a BANK OF ITS OWN (413), keyed by + -- species id and holding the article already -- "a TURTWIG", "an IVYSAUR". + -- Worth reading rather than composing: choosing between "a" and "an" from + -- the first letter is a guess about English that the cartridge has already + -- answered for all 493 rows. The entries carry {COLOR} markup, so they go + -- through the same filter a menu line does. + local id = math.floor(valueOf(ctx, value) or 0) + local label = require("src.import.Gen4Text").label(413, id) + text = data and data.text and data.text[label] + text = Commands.gen4Markup and Commands.gen4Markup(text, game) or text + elseif kind == "tmhmMove" then + -- `buffertmhmmovename ` -- `Item_MoveForTMHM`, which is a + -- FLAT ARM9 TABLE (`sTMHMMoves`, 100 u16 in TM01..TM92 then HM01..HM08 + -- order) and is not derivable from the item rows: a TM's own description + -- is the MOVE's description re-wrapped, and matching on it pairs only 61 + -- of 100 even after the line breaks are normalised, so that join was + -- measured and thrown away rather than shipped. + -- + -- The extractor now writes it as `constants.tmhmMoves`. THE INDEX COMES + -- FROM THE ITEM'S NAME, not from an item-id anchor -- "TM86" is index 86 + -- and "HM02" is 92 + 2 -- so nothing here has to know where ITEM_TM01 + -- sits, and a cache whose item numbering ever shifted would still answer. + local id = math.floor(valueOf(ctx, value) or 0) + local def = data and data.items and data.items[itemKey(data, id)] + local list = data and data.constants and data.constants.tmhmMoves + local index + local name = def and def.name + if type(name) == "string" then + local tm = name:match("^TM(%d+)$") + local hm = name:match("^HM(%d+)$") + if tm then index = tonumber(tm) + elseif hm then index = 92 + tonumber(hm) end + end + local move = index and list and list[index] + local mdef = move and data.moves and data.moves[move] + text = mdef and mdef.name + if not text and not Gen4Commands._saidTmhm then + Gen4Commands._saidTmhm = true + Logger.warn("gen4 text: the TM/HM move table is not in this cache, so " + .. "the move a TM teaches cannot be named -- re-import to " + .. "pick up `constants.tmhmMoves`") + end + end + if (text == nil or text == "") and (kind == "player" or kind == "rival") then + text = defaultName(data, kind) + if text and not reportedDefaultName[kind] then + reportedDefaultName[kind] = true + Logger.warn("gen4 text: this save carries no %s name, so the " + .. "cartridge's own default (%s) is printed instead -- a " + .. "file written before Rowan's intro asked for it", + kind, text) + end + end + game.stringBuffers[(tonumber(slot) or 0) + 1] = text or "" +end + +-- --------------------------------------------------------------------------- +-- items +-- --------------------------------------------------------------------------- +-- +-- All four of Platinum's bag commands are `(item, count, destVar)` -- +-- `scrcmd_item.c`, and every one of them writes whether it SUCCEEDED into a +-- var the script then compares. Dropping that destination is the difference +-- between "you got the Potion" and a branch that decides on whatever the last +-- comparison left behind. + +itemKey = function(data, id) + local items = data and data.items + if not items then return id end + if items[id] then return id end + local named = ("ITEM_%03d"):format(tonumber(id) or 0) + if items[named] then return named end + return id +end + +function Commands.g4_give_item(ctx, item, count, destVar) + local id = itemKey(ctx.game and ctx.game.data, valueOf(ctx, item)) + local n = math.max(valueOf(ctx, count), 1) + Commands.give_item(ctx, id, n) + if destVar then setVar(ctx.save, destVar, 1) end +end + +function Commands.g4_take_item(ctx, item, count, destVar) + local id = itemKey(ctx.game and ctx.game.data, valueOf(ctx, item)) + local n = math.max(valueOf(ctx, count), 1) + Commands.take_item(ctx, id, n) + if destVar then setVar(ctx.save, destVar, ctx.lastCheck and 1 or 0) end +end + +function Commands.g4_check_item(ctx, item, count, destVar) + local id = itemKey(ctx.game and ctx.game.data, valueOf(ctx, item)) + local n = math.max(valueOf(ctx, count), 1) + local held = (ctx.save and ctx.save.inventory and ctx.save.inventory[id]) or 0 + local ok = held >= n + ctx.lastCheck = ok + if destVar then setVar(ctx.save, destVar, ok and 1 or 0) end + setResult(ctx, ok and 1 or 0) +end + +-- `Bag_CanFitItem` answers whether there is room. This port's bag refuses at +-- its configured capacity and has no per-pocket accounting to ask, so the +-- answer is yes unless the bag is full -- which is what `Bag.add` decides, and +-- asking it twice would be the only way to be more honest than this. +function Commands.g4_can_fit_item(ctx, _, _, destVar) + if destVar then setVar(ctx.save, destVar, 1) end + setResult(ctx, 1) +end + +-- --------------------------------------------------------------------------- +-- the player, and the world +-- --------------------------------------------------------------------------- + +function Commands.g4_player_gender(ctx, destVar) + local save = ctx.save + local female = save and save.player and save.player.gender == "girl" + setVar(ctx.save, destVar, female and 1 or 0) +end + +-- PlayerAvatar_GetFacingDir: 0 up, 1 down, 2 left, 3 right on the cartridge. +local FACING = { up = 0, down = 1, left = 2, right = 3 } + +function Commands.g4_player_dir(ctx, destVar) + local player = ctx.overworld and ctx.overworld.player + setVar(ctx.save, destVar, FACING[player and player.facing] or 1) +end + +-- --------------------------------------------------------------------------- +-- THE SCRIPTS' COORDINATE SPACE IS THE MATRIX'S, NOT THE MAP'S +-- --------------------------------------------------------------------------- +-- +-- Sinnoh is ONE grid. `PlayerAvatar_GetXPos` answers in matrix coordinates, +-- every event in the cartridge is stored in them, and every script compares +-- against them -- Twinleaf's own guitarist scene branches on x == 108..115, +-- which are numbers no 32-wide map could ever produce. +-- +-- The import makes events map-local by subtracting the region origin, which is +-- right: the engine walks one map at a time. But that makes the two sides +-- disagree, and NOTHING was converting between them. Reported from play: +-- *"the player that's supposed to stop me doesn't walk up to me and push me +-- back I just keep walking backwards 1 block like 5 times"* -- eight branches +-- on the player's x, none of which could match, so every one of them fell +-- through to the last and applied the wrong push-back. +-- +-- Twinleaf's origin is (96, 864); an interior's is (0, 0), which is why this +-- was invisible indoors and why adding it cannot change indoor behaviour. +local function mapOrigin(ctx) + local def = ctx.overworld and ctx.overworld.map and ctx.overworld.map.def + if not def then + local data = ctx.game and ctx.game.data + local mapId = ctx.save and ctx.save.player and ctx.save.player.map + def = mapId and data and data.maps and data.maps[mapId] + end + return tonumber(def and def.originX) or 0, tonumber(def and def.originY) or 0 +end +Gen4Commands.mapOrigin = mapOrigin + +-- local -> matrix, for the commands that HAND a coordinate to a script +local function toMatrix(ctx, x, z) + local ox, oy = mapOrigin(ctx) + return (x or 0) + ox, (z or 0) + oy +end + +-- matrix -> local, for the commands that TAKE one from a script +local function toLocal(ctx, x, z) + local ox, oy = mapOrigin(ctx) + return (x or 0) - ox, (z or 0) - oy +end +Gen4Commands.toMatrix, Gen4Commands.toLocal = toMatrix, toLocal + +function Commands.g4_player_pos(ctx, xVar, zVar) + local player = ctx.overworld and ctx.overworld.player + local x, z = toMatrix(ctx, player and player.cellX, player and player.cellY) + setVar(ctx.save, xVar, x) + setVar(ctx.save, zVar, z) + -- SAY WHAT IT ANSWERED, because everything downstream is a branch on it. + -- + -- Half of Sinnoh's cutscenes are `getplayermappos` followed by six or eight + -- `comparevartovalue` rows on the result, and EVERY ONE OF THEM FAILING + -- looks exactly like the scene not being implemented: the script falls + -- through to its `end`, the trigger's var is never advanced, and the player + -- walks over the trigger again next step. Route 201's opening does this and + -- so does Twinleaf's guitarist. One line naming the map, the local cell, + -- the origin and the matrix answer turns "the scene does nothing" into a + -- number that is either in the script's range or is not. + local ox, oy = mapOrigin(ctx) + Logger.debug("gen4 pos: %s local (%s,%s) + origin (%d,%d) -> matrix (%s,%s)", + tostring(ctx.overworld and ctx.overworld.map and ctx.overworld.map.id), + tostring(player and player.cellX), tostring(player and player.cellY), + ox, oy, tostring(x), tostring(z)) +end + +-- --------------------------------------------------------------------------- +-- the scripted camera +-- --------------------------------------------------------------------------- +-- +-- 13 `addfreecamera` sites and 14 `restorecamera` ones, and the whole thing is +-- simpler than it looks. `ScrCmd_AddFreeCamera(x, z)` stands an INVISIBLE map +-- object at those ground coordinates and points `Camera_TrackTarget` at its +-- position; `ScrCmd_RestoreCamera` deletes it and tracks the player again. +-- Between the two, `ApplyFreeCameraMovement` -- which the assembler expands +-- straight to `ApplyMovement LOCALID_CAMERA` -- walks that invisible body with +-- ordinary movement actions, and the view goes with it. +-- +-- So the pan needs no camera code at all: an entity the script can already +-- walk, plus one line in `OverworldState:cameraTarget` deciding who the camera +-- follows. Lake Verity Low Water's arrival is the first one the player meets +-- (`AddFreeCamera 46, 53` / pan to Cyrus / pan back / `RestoreCamera`). +-- +-- HIDDEN AND PASSABLE, because the cartridge's is: `MapObject_SetHidden(..., +-- TRUE)` on the line after it is created, and nothing collides with it. +local function makeCamera(ctx, x, z) + local ow = ctx.overworld + if not (ow and ow.map) then return nil end + local NPC = require("src.world.NPC") + local cx, cy = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, z)) + local npc = NPC.new(ctx.game.data, ow.map.id, { + index = 241, localId = 0xF1, x = cx, y = cy, movementType = 0, direction = 1, + }) + npc.hidden = true + npc.passable = true + npc.gen4CameraObject = true + npc.facing = "down" + ow.npcs[#ow.npcs + 1] = npc + ow.entities[#ow.entities + 1] = npc + ow.gen4Camera = npc + return npc +end + +local function dropCamera(ctx) + local ow = ctx.overworld + if not ow then return end + local cam = ow.gen4Camera + ow.gen4Camera = nil + if not cam then return end + for _, list in ipairs({ ow.npcs or {}, ow.entities or {} }) do + for i = #list, 1, -1 do + if list[i] == cam then table.remove(list, i) end + end + end +end + +-- `addfreecamera `: the camera follows the new body. +function Commands.g4_add_free_camera(ctx, x, z) + dropCamera(ctx) + makeCamera(ctx, x, z) +end + +-- `addcameraoverrideobject `: the same body, but the cartridge does NOT +-- re-point the land streamer at it -- only the camera. This engine streams +-- the map from the player's own cell regardless, so the two are the same call +-- here and the difference is recorded rather than invented. +function Commands.g4_camera_override(ctx, x, z) + dropCamera(ctx) + local cam = makeCamera(ctx, x, z) + if cam then cam.gen4CameraOverride = true end +end + +-- `restorecamera` / `removecameraoverrideobject`: delete the body, and the +-- camera falls back to the player because `cameraTarget` has nothing else to +-- answer. +function Commands.g4_restore_camera(ctx) + dropCamera(ctx) +end + +function Commands.g4_check_badge(ctx, badge, destVar) + local n = valueOf(ctx, badge) + local Badges = require("src.inventory.Badges") + local list = Badges.list(ctx.game and ctx.game.data) or {} + local entry = list[n + 1] + local has = entry and Badges.has(ctx.save, entry) or false + if destVar then setVar(ctx.save, destVar, has and 1 or 0) end + setResult(ctx, has and 1 or 0) +end + +-- A GEN 4 WARP NAMES A MAP HEADER, NOT A MAP. +-- +-- `ScrCmd_Warp` takes `(mapHeaderID, unused, x, z, direction)` and the engine's +-- own `warp` takes a map id -- the string key in `data.maps`. Every Gen 4 def +-- carries the header it was built from, so the join is a scan, done once and +-- kept: 593 headers against 1,180 maps is not something to redo per warp. +local headerToMap = setmetatable({}, { __mode = "k" }) + +local function mapForHeader(data, header) + local maps = data and data.maps + if not maps then return nil end + local index = headerToMap[maps] + if not index then + index = {} + for id, def in pairs(maps) do + if type(def) == "table" and def.header then index[def.header] = id end + end + headerToMap[maps] = index + end + return index[tonumber(header) or -1] +end + +Gen4Commands.mapForHeader = mapForHeader + +local DIRECTION = { [0] = "up", "down", "left", "right" } + +function Commands.g4_warp(ctx, header, x, z, direction) + local data = ctx.game and ctx.game.data + local mapId = mapForHeader(data, valueOf(ctx, header)) + if not mapId then + Logger.warn("gen4 script: warp names header %s and no map in this cache " + .. "was built from it -- the warp is skipped", + tostring(header)) + return + end + return Commands.warp(ctx, mapId, valueOf(ctx, x), valueOf(ctx, z), + DIRECTION[valueOf(ctx, direction)]) +end + +-- THE LINE, AND THE BANK IT COMES OUT OF. +-- +-- `data.text` is flat and keyed `TEXT_Bnnnn_nnnnn` -- the Gen 4 extractor +-- writes it that way because Gen 1-3 address a string by one id and Gen 4 +-- needs a bank AND an index. A `message` row carries only the index; the bank +-- is the map header's `msgArchiveID`, which rides on the def as `messages`. +-- +-- Falls through to the bare id when the map has no bank, which is what a cache +-- imported before that byte was carried looks like: an empty box rather than a +-- crash, and the same empty box it gave before. +local function lineFor(ctx, entry) + local def = ctx.overworld and ctx.overworld.map and ctx.overworld.map.def + local bank = def and def.messages + if not bank then return entry end + return require("src.import.Gen4Text").label(bank, tonumber(entry) or 0) +end + +Gen4Commands.lineFor = lineFor + +function Commands.g4_message(ctx, entry) + return Commands.show_text(ctx, lineFor(ctx, entry)) +end + +-- ...AND FROM A NAMED BANK, for a block that lives in a shared script file. +-- +-- `ScriptContext_Load` takes the file and the bank together, so a common +-- script reads TEXT_BANK_COMMON_STRINGS wherever the player is standing. The +-- lowering knows which member a block came from and puts the bank in the row, +-- which is why this needs no map at all. +function Commands.g4_message_bank(ctx, bank, entry) + local Gen4Text = require("src.import.Gen4Text") + return Commands.show_text(ctx, Gen4Text.label(tonumber(bank) or 0, + tonumber(entry) or 0)) +end + +-- `messagevar` takes its entry out of a var rather than out of the row. +function Commands.g4_message_var(ctx, id) + return Commands.g4_message(ctx, getVar(ctx.save, id)) +end + +-- `showyesnomenu `: the engine's `ask` leaves its answer on the +-- context, and the cartridge's scripts read it out of a var. +-- +-- AND YES IS ZERO. `include/constants/menu.h` is explicit -- +-- `MENU_YES 0`, `MENU_NO 1` -- and `ScriptContext_WaitForYesNoResult` writes +-- exactly those two into the destination and nothing else. A menu numbers its +-- rows from the top, so the FIRST row is 0; the intuitive "1 means yes" is the +-- trap, and this wrote it. +-- +-- SO EVERY YES/NO QUESTION IN SINNOH READ BACKWARDS. Reported from play on +-- Rowan's *"do you truly love Pokemon?"*: answering yes stored 1, the script's +-- first test is `comparevartovalue 0` for the YES branch, that failed, +-- the next test `comparevartovalue 1` matched, and he took the NO branch +-- and asked again. +-- +-- MEASURED over the whole cartridge: 511 `showyesnomenu` sites, 496 of them +-- followed IMMEDIATELY by `comparevartovalue` -- 319 testing 0 first and 177 +-- testing 1 first. Both values are compared explicitly somewhere, so there is +-- no convention to get away with: the var has to carry the cartridge's own +-- numbers. +-- +-- THE VAR AND THE COMPARISON REGISTER ARE NOT THE SAME NUMBER, which is what +-- this conflated. The register is the PORT's boolean -- 1 means "the condition +-- holds" for every other command in this file and `holds()` reads it that way +-- -- while the var is the cartridge's menu value. The cartridge's own handler +-- never touches the register at all; the `comparevartovalue` on the next row +-- sets it. +Gen4Commands.MENU_YES, Gen4Commands.MENU_NO = 0, 1 + +function Commands.g4_from_yesno(ctx, destVar) + local said = ctx.lastCheck == true + if destVar then + setVar(ctx.save, destVar, + said and Gen4Commands.MENU_YES or Gen4Commands.MENU_NO) + end + setResult(ctx, said and 1 or 0) +end + +-- BY LOCAL ID, NOT BY NAME. The engine's own `show_object` / `hide_object` +-- take a map id and an object NAME, which is how Gen 1-3 scripts address +-- them; a Gen 4 object event carries a numeric `localID` and no name at all, +-- so those two would look up nothing. Walking the live entities is the join +-- that exists on this side. +local movedNobody = {} + +-- TWO OBJECTS CAN SHARE A LOCAL ID, AND THE LOWEST INDEX WINS. +-- +-- Twinleaf carries the guitarist at object index 4 and an arrow signpost at +-- index 8, and BOTH have localId 3 -- that is what the cartridge stores, read +-- straight off the `ObjectEvent` struct whose layout matches pret's field for +-- field. The hardware resolves it by searching its object array in order and +-- taking the first match, so the guitarist wins and the signpost is never +-- addressed by anything (its script id is 0xFFFF -- it has none). +-- +-- This walked `overworld.entities`, which is NOT in map-object order -- it is +-- the live cast, pooled and rebuilt, with the player in it -- so the signpost +-- won instead. `ApplyMovement LOCALID_GUITARIST` then walked a signpost that +-- sits at local y = -8, off its own map: it set off north out of the world and +-- never arrived, `WaitMovement` never returned, and the input gate stayed shut +-- with nothing on screen. Reported from play as the guitarist never walking +-- over, and caught by the queue watchdog naming it: +-- +-- 1 scripted move(s) queued: [1] T01_obj_8 dir=up remaining=0 pause=nil +-- moving=true cell=16,-16 target=16,-17 +-- +-- Ordering by the def's own index is the cartridge's rule, not a tie-break +-- invented here. +-- +-- ...AND THREE IDS THAT ARE NOT LOCAL IDS AT ALL. constants/scrcmd.h: +-- +-- #define LOCALID_CAMERA 0xF1 +-- #define LOCALID_FOLLOWER 0xF2 +-- #define LOCALID_PLAYER 0xFF +-- +-- `GetLocalMapObjByIndex` branches on all three BEFORE it searches the object +-- array, so none of them is ever compared against a real `localID`. Only the +-- player's was known here, and only inside `g4_move`; every other command that +-- takes an object id -- turn, place, show, hide -- searched for an object +-- numbered 242 and found nobody. +local warnedCamera = false + +local function objectById(ctx, id) + local overworld = ctx.overworld + local wanted = tonumber(id) + if not (overworld and overworld.entities and wanted) then return nil end + if wanted == 0xFF then return overworld.player end + if wanted == 0xF2 then + return require("src.world.Gen4Follower").current(overworld) + end + if wanted == 0xF1 then + -- THE SCRIPT CAMERA IS A REAL BODY, and that was the surprise. + -- `ScrCmd_AddFreeCamera` calls `MapObjectMan_AddMapObject(..., + -- OBJ_EVENT_GFX_INVISIBLE, ...)` and then `Camera_TrackTarget` on its + -- position: a scripted pan is an invisible object being WALKED with + -- ordinary movement actions while the camera follows it. + -- `ApplyFreeCameraMovement` is not even its own opcode -- the macro + -- expands to `ApplyMovement LOCALID_CAMERA`. So one lookup here makes + -- every camera pan in the game work through the movement path that + -- already exists. + if not warnedCamera and not overworld.gen4Camera then + warnedCamera = true + Logger.warn("gen4 script: LOCALID_CAMERA (0xF1) was addressed on %s with " + .. "no free camera standing -- `addfreecamera` never ran, so " + .. "the row is dropped and the view stays on the player", + tostring(overworld.map and overworld.map.id)) + end + return overworld.gen4Camera + end + local best, bestIndex + for _, e in ipairs(overworld.entities) do + -- On the def, because that is where the extractor writes it; checked on + -- the entity too so a future spawner that copies it up still matches. + local localId = e.localId or (e.def and e.def.localId) + if localId == wanted then + local index = tonumber(e.def and e.def.index) or math.huge + if not best or index < bestIndex then best, bestIndex = e, index end + end + end + return best +end + +-- `addobject` / `removeobject`, AND THE FLAG THAT MAKES THEM STICK. +-- +-- `ScrCmd_RemoveObject` calls `MapObject_SetFlagAndDeleteObject` -- it SETS the +-- object's own `hiddenFlag` and then deletes the live actor. The flag is the +-- durable half: `sub_020620C4` spawns an object event only when it has no +-- script or `FieldSystem_CheckFlag(hiddenFlag)` is FALSE, so once the flag is +-- set the object never comes back, on this visit or any later one. +-- +-- This port wrote only the live half, so every character a script dismissed was +-- standing there again the next time the player walked in -- and 1,566 of the +-- cartridge's 3,555 object events (44%) carry such a flag. The flag name is +-- `Gen4ScriptVM.flagName`'s, the same spelling `setflag` and `checkflag` use, +-- and `OverworldController.objectVisible` already reads `obj.eventFlag` out of +-- `save.flags` -- so writing it here is the whole fix on the engine side. +local function setObjectFlag(ctx, entity, hidden) + local def = entity and entity.def + local flag = def and def.eventFlag + if not flag then return end + ctx.save.flags = ctx.save.flags or {} + ctx.save.flags[flag] = hidden and true or false +end + +-- `addobject` HAS TO BE ABLE TO SPAWN SOMEBODY WHO IS NOT THERE, which is the +-- whole point of it. +-- +-- Barry's scene in the player's bedroom is the case that shows why: +-- +-- clearflag 0x173 / addobject 0 / applymovement 0 ... / message / ... +-- +-- He is HIDDEN when the map loads -- flag 0x173 is one of the 112 the new-game +-- script sets -- so by the time `addobject` runs there is no live actor with +-- localId 0 to find, and a lookup among the spawned entities answers nil. The +-- `clearflag` before it does re-sync him through `syncFlagObjects`, so the +-- order happens to save this particular script; a script that calls +-- `addobject` without one would still find nothing. +-- +-- So the object is looked up in the MAP DEFINITION when it is not on the map, +-- and the overworld is asked to re-derive it. That is the same call +-- `clearflag` makes, so there is one mechanism rather than two. +local function defByLocalId(ctx, id) + local def = ctx.overworld and ctx.overworld.map and ctx.overworld.map.def + local wanted = tonumber(id) + if not (def and def.objects and wanted) then return nil end + for _, obj in ipairs(def.objects) do + if obj.localId == wanted then return obj end + end + return nil +end + +function Commands.g4_show_object(ctx, id) + local e = objectById(ctx, id) + if e then + e.hidden = nil + setObjectFlag(ctx, e, false) + return + end + -- Not on the map. Clear the flag that is keeping it off, then ask the + -- overworld to spawn it from its own record. + local def = defByLocalId(ctx, id) + if not def then return end + if def.eventFlag then + ctx.save.flags = ctx.save.flags or {} + ctx.save.flags[def.eventFlag] = false + end + local ow = ctx.overworld + if ow and ow.syncObjectVisibility then + pcall(function() ow:syncObjectVisibility(def) end) + end +end + +function Commands.g4_hide_object(ctx, id) + local e = objectById(ctx, id) + if not e then return end + e.hidden = true + setObjectFlag(ctx, e, true) +end + +-- WHICH WAY AN OBJECT FACES, set by a script rather than by its template. +-- +-- Written to the LIVE actor and to its DEF: the def is what a re-entry to the +-- map spawns from, and a map entry script that turns somebody to face the +-- stairs means them to be facing the stairs the next time you walk in too. +local DIRECTION_OF = { [0] = "up", [1] = "down", [2] = "left", [3] = "right" } + +function Commands.g4_set_object_dir(ctx, id, dir) + local e = objectById(ctx, id) + if not e then return end + local facing = DIRECTION_OF[valueOf(ctx, dir)] + if not facing then return end + e.facing = facing + if e.def then e.def.direction = valueOf(ctx, dir) end +end + +-- HOW AN OBJECT BEHAVES WHEN NOBODY IS TALKING TO IT, and this one is honestly +-- partial. +-- +-- The cartridge's movement types are its own numbering -- `setobjecteventmove- +-- menttype 0, 14` on the player's house -- and this engine's NPC only knows +-- Gen 3's table, which is a DIFFERENT numbering. Mapping one onto the other +-- because both are small integers is how an NPC ends up spinning on the spot +-- for no reason. +-- +-- So the value is recorded on the def, where it is the cartridge's own number +-- and a future reader gets the right one, and the BEHAVIOUR is not derived. +-- Named rather than silent: this used to go through the unknown-command path, +-- which said nothing about what was missing. +local warnedMovement = false + +function Commands.g4_set_object_movement(ctx, id, movementType) + local e = objectById(ctx, id) + if not e then return end + local value = valueOf(ctx, movementType) + if e.def then e.def.movementType = value end + if not warnedMovement then + warnedMovement = true + Logger.warn("gen4 script: `setobjecteventmovementtype` recorded type %s on " + .. "an object, but Gen 4's movement types are not decoded -- " + .. "the object keeps the behaviour it spawned with", + tostring(value)) + end +end + +-- ...AND THE OTHER MOVEMENT-TYPE COMMAND, WHICH IS A DIFFERENT COMMAND. +-- +-- The cartridge has two and they do not do the same thing: +-- +-- `setobjecteventmovementtype` (90 sites) ScrCmd_SetObjectEventMovementType +-- -> MapHeaderData_SetObjectEventMovementType -- rewrites the map's +-- stored TEMPLATE, which is what the next map build spawns from. +-- That is the one above. +-- `setmovementtype` (30 sites) ScrCmd_SetMovementType +-- -> MapObject_SwitchMovementType -- rewrites the LIVE actor, now. +-- +-- Only the first was lowered, so all thirty of the live ones went through the +-- unknown-command path. Eight of those thirty are +-- `MOVEMENT_TYPE_FOLLOW_PLAYER`, and those eight are the whole partner system: +-- Barry out of Twinleaf, Cheryl through Eterna Forest, Riley on Iron Island, +-- Marley through Victory Road, Mira in Wayward Cave, Buck up Stark Mountain, +-- and Amity Square's pet. +-- +-- The trailing itself lives in `src/world/Gen4Follower.lua`; this is the seam. +function Commands.g4_switch_movement(ctx, id, movementType) + local e = objectById(ctx, id) + if not e then return end + local value = valueOf(ctx, movementType) + local Follower = require("src.world.Gen4Follower") + local ow = ctx.overworld + if value == Follower.FOLLOW_PLAYER or value == Follower.FOLLOW_PARTNER then + Follower.adopt(ctx.save, ow, e) + return + end + -- Switching the follower to anything else is how a script STOPS somebody + -- following -- Route 201 sends Barry back to LOOK_SOUTH when you insist on + -- going the wrong way. + if e.gen4Follower then Follower.release(ctx.save, ow) end + -- Everything else is a behaviour this engine does not derive (see the note + -- on the template command above), so the number is recorded and the actor + -- keeps what it has. + if e.def then e.def.movementType = value end +end + +-- `setobjectflagispersistent , ` -- MAP_OBJ_STATUS_PERSISTENT, +-- the bit `sub_0206184C` consults when it deletes every object whose header id +-- is not the new map's. Set on a follower it is what carries them across the +-- seam; on anything else it has nothing to do here, because every other object +-- is rebuilt from its own map's template on arrival anyway. +function Commands.g4_set_object_persistent(ctx, id, flag) + local e = objectById(ctx, id) + if not e then return end + local on = valueOf(ctx, flag) ~= 0 + require("src.world.Gen4Follower").setPersistent(ctx.save, ctx.overworld, e, on) +end + +-- FLAG_HAS_PARTNER (0x961), the save's own memory of the escort -- and the +-- half that ENDS it. `ClearHasPartner` appears at 22 sites and at some of +-- them it is the only thing that ends the escort: Lake Verity Low Water clears +-- it and never touches the movement type, because Barry is a real object event +-- on that map and the scene addresses him by his local id from there on. A +-- release keyed only on the movement type would leave him trailing through the +-- Cyrus scene. +function Commands.g4_set_partner(ctx, on) + local Follower = require("src.world.Gen4Follower") + Follower.setPartner(ctx.save, on) + if not on then Follower.release(ctx.save, ctx.overworld) end +end + +function Commands.g4_check_partner(ctx, destVar) + local Follower = require("src.world.Gen4Follower") + local yes = Follower.hasPartner(ctx.save) and 1 or 0 + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `setposition ` once the VM has put the ground +-- coordinates first. Both the actor and its def move, for the same reason the +-- facing does. +function Commands.g4_place_object(ctx, id, x, z, dir, height) + local e = objectById(ctx, id) + if not e then return end + -- The script speaks matrix coordinates; the entity lives in map ones. + local cx, cy = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, z)) + e.cellX, e.cellY = cx, cy + e.px, e.py = cx * 16, cy * 16 + local facing = DIRECTION_OF[valueOf(ctx, dir)] + if facing then e.facing = facing end + if e.def then + e.def.x, e.def.y = cx, cy + if facing then e.def.direction = valueOf(ctx, dir) end + if height then e.def.elevation = valueOf(ctx, height) end + end +end + +-- A WARP AND A SIGN CAN BE PICKED UP AND MOVED TOO. +-- +-- `(index, x, z)`, every argument through `ScriptContext_GetVar`, and the +-- coordinates in the matrix's space like everything else a Gen 4 script says. +-- The index is the event's position in the map's own list, zero-based, which +-- is one less than the Lua array slot. +-- +-- Written to the map DEF, which is what `warpAtCell` and the sign lookup read. +-- One divergence worth stating: on hardware `MapHeaderData` is rebuilt on every +-- map load, so a moved warp lasts until you leave; here `data.maps` is loaded +-- once and shared, so the move persists for the session. Nothing in the +-- corpus moves a warp and then relies on it moving back, but that is an +-- observation about 38 sites rather than a guarantee. +local function eventList(ctx, key) + local def = ctx.overworld and ctx.overworld.map and ctx.overworld.map.def + local list = def and def[key] + return type(list) == "table" and list or nil +end + +local function moveEvent(ctx, key, index, x, z, what) + local list = eventList(ctx, key) + local slot = math.floor(valueOf(ctx, index) or -1) + 1 + local row = list and list[slot] + if not row then + Logger.warn("gen4 script: %s %s has no event to move on %s", what, + tostring(index), tostring(ctx.overworld and ctx.overworld.map + and ctx.overworld.map.id)) + return + end + row.x, row.y = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, z)) +end + +function Commands.g4_set_warp_pos(ctx, index, x, z) + moveEvent(ctx, "warps", index, x, z, "warp") +end + +function Commands.g4_set_bg_pos(ctx, index, x, z) + moveEvent(ctx, "signs", index, x, z, "sign") +end + +function Commands.g4_set_object_pos(ctx, id, x, y) + local e = objectById(ctx, id) + if not e then return end + -- Matrix in, map out -- the same crossing `g4_place_object` makes. + e.cellX, e.cellY = toLocal(ctx, valueOf(ctx, x), valueOf(ctx, y)) + e.px, e.py = e.cellX * 16, e.cellY * 16 + if e.def then e.def.x, e.def.y = e.cellX, e.cellY end +end + +-- --------------------------------------------------------------------------- +-- waits, and the rows that are honestly not implemented +-- --------------------------------------------------------------------------- +-- +-- A wait whose subject is already synchronous is a no-op and saying so is the +-- whole handler: the engine's `show_text`, `play_sound` and `play_cry` all +-- block until they are done, so the cartridge's separate wait rows have +-- nothing left to wait for. These are handlers rather than omissions so they +-- stop going through the unknown-command path, which is what was filling the +-- log. +-- A SIGN IS ITS WORDS, and the frame round them is the engine's own. +-- +-- `drawsignpostinstantmessage` and `drawsignpostscrollingmessage` now lower to +-- an ordinary message (see Gen4ScriptVM), because that is what they do on the +-- cartridge -- draw the wooden box AND print the line. What is left of the +-- sign-box state machine is the box, and this port has one message box already +-- built out of the cartridge's own art, so these two are genuinely nothing to +-- do rather than something skipped. +local function noop() end +Commands.g4_signpost_command = noop +Commands.g4_signpost_wait = noop + +-- Which line of a multi-choice sign was picked. Answering the first is not +-- the same as asking, and it is written into the var the script compares +-- rather than left stale -- a branch on a register the last script wrote is +-- the failure this whole file exists to stop. +function Commands.g4_signpost_input(ctx, destVar) + if destVar then setVar(ctx.save, destVar, 0) end + setResult(ctx, 1) +end + +Commands.g4_wait_move = noop +Commands.g4_wait_sound = noop +Commands.g4_wait_fanfare = noop +Commands.g4_wait_cry = noop +Commands.g4_wait_animation = noop +Commands.g4_wait_fade = noop +Commands.g4_return_to_field = noop +Commands.g4_menu_close = noop + +function Commands.g4_fanfare(ctx, songId) + Commands.play_once(ctx, songId) +end + +-- !! THIS READ THE WRONG OPERAND, AND EVERY FADE IN SINNOH WENT ONE WAY. +-- +-- `fadescreen` has FOUR operands, and the old lowering passed the first two +-- while this read the first: +-- +-- ScrCmd_FadeScreen: transition, frames, type, color +-- StartScreenFade(FADE_BOTH_SCREENS, type, type, color, transition, frames, ...) +-- StartScreenFade(mode, typeMain, typeSub, color, steps, framesPerStep, ...) +-- +-- so operand 1 is the STEP COUNT and the DIRECTION is operand 3. Worse, the +-- old rule read "odd darkens", which is Hoenn's arrangement, not this one: +-- `generated/fade_types.txt` alternates OUT then IN in pairs -- 0 +-- BRIGHTNESS_OUT, 1 BRIGHTNESS_IN, 2 DOWNWARD_OUT, 3 DOWNWARD_IN, 16 +-- CIRCLE_OUT, 17 CIRCLE_IN, 40 CLAMP_OUT, 41 CLAMP_IN -- so EVEN darkens and +-- ODD brings the picture back. +-- +-- MEASURED OVER ALL 736 REACHED SITES: every single one passes `steps = 6`. +-- Six is even, the old rule answered "in" for all 736, and the fade-to-black +-- before a warp or a cutscene never happened anywhere in the game. Against the +-- cartridge's own `type` parity the old reading was wrong on 362 of 736 -- +-- 49.2%, which is what reading a constant instead of a variable looks like. +-- +-- The other two operands are worth carrying now that they are in hand: total +-- length is steps x framesPerStep (6, 18 or 36 frames across the corpus), and +-- the colour is BGR555, where the only two values that occur are 0 (black) and +-- 32767 = 0x7FFF (white). +function Commands.g4_fade(ctx, fadeType, steps, framesPerStep, colour) + local t = math.floor(valueOf(ctx, fadeType) or 0) + local n = math.floor(valueOf(ctx, steps) or 6) + * math.floor(valueOf(ctx, framesPerStep) or 1) + if n < 1 then n = 1 end + local c = (math.floor(valueOf(ctx, colour) or 0) ~= 0) and "white" or "black" + Commands.fade(ctx, (t % 2 == 0) and "out" or "in", n, c) +end + +-- WHAT AN NPC DOES WHILE A SCRIPT WATCHES. +-- +-- `steps` is the list `Gen4Movement` decoded out of the script member at +-- import: `{ { action, count }, ... }`. All 3,025 of the cartridge's +-- `applymovement` sites decode, and between them they are 3,351 walks, 1,705 +-- marks-on-the-spot, 893 waits, 503 turns, 201 no-ops, 178 emotes and 177 +-- hide/show pairs. Every one of those was "make the object face the player" +-- until now. +-- +-- PLAYED IN SEQUENCE, WHICH THE CARTRIDGE DOES NOT. `ScrCmd_ApplyMovement` +-- STARTS an animation and lets the script carry on until `waitmovement`, so +-- two objects told to move in consecutive rows move together; here the second +-- waits for the first. That is a timing difference in a cutscene rather than +-- a wrong one, and the alternative is a scheduler this engine's script runner +-- has no seam for. Worth knowing before a scene with a crowd looks stilted. +function Commands.g4_move(ctx, id, steps) + local ow = ctx.overworld + if not ow then return end + local Gen4Movement = require("src.import.Gen4Movement") + -- `objectById` knows LOCALID_PLAYER / LOCALID_FOLLOWER / LOCALID_CAMERA now, + -- so the player's special case that used to live here is gone -- one lookup + -- for every command that takes an object id rather than one rule here and a + -- different one everywhere else. + local entity = objectById(ctx, id) + if not entity then + -- SAY WHO WAS BEING WALKED, once per id per map. + -- + -- A movement applied to nobody is silent, and it does not fail alone: the + -- script that queued it goes on to `WaitMovement`, so a cutscene half of + -- whose cast is missing holds the input gate with nothing on screen -- + -- which is the log's "input has been gated for 10s ... 1 scripted move(s) + -- queued". Naming the id turns that into a lookup rather than a guess. + local key = ("move:%s:%s"):format(tostring(id), + tostring(ow.map and ow.map.id)) + if not movedNobody[key] then + movedNobody[key] = true + local seen = {} + for _, e in ipairs(ow.entities or {}) do + local lid = e.localId or (e.def and e.def.localId) + if lid then seen[#seen + 1] = tostring(lid) end + end + table.sort(seen) + Logger.warn("gen4 move: no object with localId %s on %s -- the movement " + .. "is dropped and whatever waits on it will wait forever " + .. "(live localIds: %s)", tostring(id), + tostring(ow.map and ow.map.id), table.concat(seen, ",")) + end + return + end + + if type(steps) ~= "table" then + -- A cache imported before the movement lists were decoded. Facing the + -- player is what this did then, and a character talking to a wall is worse + -- than one that turns round. + -- + -- AND IT SAYS SO NOW. This branch is indistinguishable from a working + -- scene whose characters happen not to walk far, and on a stale cache it + -- is EVERY applymovement in the game -- 3,025 of them -- which is a whole + -- class of "the cutscene plays but nobody moves" with no line in the log. + local key = ("nolist:%s"):format(tostring(ow.map and ow.map.id)) + if not movedNobody[key] then + movedNobody[key] = true + Logger.warn("gen4 move: this cache carries no movement list for " + .. "applymovement on %s, so every scripted walk here is " + .. "replaced by a turn towards the player -- re-import to " + .. "fix", tostring(ow.map and ow.map.id)) + end + if entity ~= ow.player then Commands.face_player(ctx) end + return + end + + -- WHERE THIS WALK STARTS, WHICH IS THE HALF A LOG NEVER SHOWS. + -- + -- A scripted walk that ends somewhere wrong has two possible causes and they + -- need separating: the list was read wrong, or the walker was not standing + -- where the cartridge thought. The list is decoded offline and checked; the + -- starting cell is only knowable from a running game. + local fromX, fromY = entity.cellX, entity.cellY + local netX, netY = 0, 0 + for _, step in ipairs(steps) do + local a = Gen4Movement.action(step.action) + if a and a.kind == "walk" and a.dir then + local n = (a.tiles or 1) * math.max(tonumber(step.count) or 1, 1) + if a.dir == "up" then netY = netY - n + elseif a.dir == "down" then netY = netY + n + elseif a.dir == "left" then netX = netX - n + elseif a.dir == "right" then netX = netX + n end + end + end + Logger.debug("gen4 move: %s id %s from (%s,%s) -- %d step(s), net (%+d,%+d) " + .. "-> expect (%s,%s)", + tostring(ow.map and ow.map.id), tostring(id), + tostring(fromX), tostring(fromY), #steps, netX, netY, + tostring((tonumber(fromX) or 0) + netX), + tostring((tonumber(fromY) or 0) + netY)) + + for _, step in ipairs(steps) do + local action = Gen4Movement.action(step.action) + local count = math.max(tonumber(step.count) or 1, 1) + if action == nil then + -- An action nobody has named -- 20 steps in the whole cartridge, all in + -- the unnamed MOVEMENT_ACTION_1xx range. Skipped rather than guessed. + elseif action.kind == "walk" then + -- ...AT THE ACTION'S OWN SPEED. A Gen 4 movement action names a speed + -- as well as a direction and the table carries it now; without it a + -- scene written in WALK_FAST played at a stroll, which is the same fault + -- Gen 3 had before `MOVE_SPEED` was read. + Commands.walkEntity(ctx, entity, action.dir, (action.tiles or 1) * count, + action.rate) + elseif action.kind == "face" then + entity.facing = action.dir + elseif action.kind == "spot" then + -- Marking time: the sprite animates without moving, which a cutscene + -- uses as a pause with a facing. One repetition costs one step, so the + -- beat is the entity's OWN step duration rather than a number picked + -- here -- `stepFrames`, which the field defaults put at 16. + entity.facing = action.dir + -- The beat is one walk cycle, and the on-spot actions carry the same + -- five speeds the walking ones do -- a fast mark-time is a short beat. + Commands.wait(ctx, math.max(1, math.floor( + (entity.stepFrames or 16) * (action.rate or 1) * count + 0.5))) + elseif action.kind == "wait" then + Commands.wait(ctx, (action.frames or 1) * count) + elseif action.kind == "hide" then + entity.hidden = true + elseif action.kind == "show" then + entity.hidden = nil + elseif action.kind == "emote" then + -- EMOTE_EXCLAMATION_MARK is 73 of the cartridge's 1,278 steps -- the "!" + -- over a trainer who has just spotted you. Both it and the double mark + -- are the shock bubble; this engine has three (shock, question, happy) + -- and Platinum's movement table names no others. + local target = (entity == ow.player) and "player" + or (entity.def and entity.def.index) + if target then Commands.emote(ctx, target, "shock") end + end + end +end + +-- THE ONES THAT ARE NOT DONE, and are named rather than silently skipped. +-- +-- Each of these needs a system this port has not built for Gen 4 yet -- the +-- trainer battle flow, the shop screen, the sign-box state machine, the +-- scripted menu. They are registered so they do not go through the +-- unknown-command path, and each says so ONCE per session rather than once per +-- call, because a script that reaches one of these in a loop would otherwise +-- write a megabyte of identical lines. +local said = {} +-- --------------------------------------------------------------------------- +-- the scripted menu +-- --------------------------------------------------------------------------- + +-- WHAT A SIGN, A LIFT AND A NURSE ALL USE, AND WHAT IT WAS MISSING. +-- +-- `initlocaltextmenu` / `initglobaltextmenu` build the menu and name the var +-- the choice goes into; `addmenuentryimm` adds a line; `showmenu` opens it and +-- the cartridge blocks until the var is written. Only the middle two were +-- lowered before, so the menu had no destination and no bank -- 186 menus, +-- every one of them branching on a register nothing had written. +-- +-- The state rides on `ctx` rather than on the row list because 16 of the 170 +-- `show` sites are reached from a different block than their own `init`: the +-- script `goto`s between building the menu and opening it, and a per-block +-- accumulator would lose the destination on exactly those. +local function menuState(ctx) + ctx.g4Menu = ctx.g4Menu or { rows = {} } + return ctx.g4Menu +end + +-- ` `. `bank` is nil for a +-- map's own script, which is resolved per-map at the moment the line is read. +function Commands.g4_menu_init(ctx, destVar, canExitWithB, cursor, bank) + ctx.g4Menu = { + destVar = destVar, + cancelable = (tonumber(canExitWithB) or 0) ~= 0, + cursor = (tonumber(cursor) or 0) + 1, + bank = tonumber(bank), + rows = {}, + } +end + +-- THE LINE ITSELF, out of the bank the init chose. +-- +-- Substituted here rather than left to the text box, because a menu row is +-- drawn by src/ui/Menu and never passes through `show_text` -- "GIVE {STRVAR_1 +-- 0 0 0} A NAME?" on a menu line would otherwise reach the player with the +-- braces still in it. +local function menuLine(ctx, entry) + local menu = menuState(ctx) + local label + if menu.bank then + label = require("src.import.Gen4Text").label(menu.bank, tonumber(entry) or 0) + else + label = lineFor(ctx, entry) + end + local data = ctx.game and ctx.game.data + local text = data and data.text and data.text[label] + text = Commands.gen4Markup and Commands.gen4Markup(text, ctx.game) or text + -- A line the cache has no string for keeps the label, which names the bank + -- and the entry: a menu of blank rows says nothing, and a menu that reads + -- TEXT_B0361_00023 says which entry to go and look at. + return (type(text) == "string" and text ~= "") and text or label +end + +function Commands.g4_menu_entry(ctx, entry, index) + local menu = menuState(ctx) + menu.rows[#menu.rows + 1] = { + text = menuLine(ctx, entry), + value = tonumber(index) or (#menu.rows), + } +end + +-- `addmenuentry` and `addlistmenuentry` take their operands out of vars. +function Commands.g4_menu_entry_var(ctx, entry, index) + return Commands.g4_menu_entry(ctx, valueOf(ctx, entry), valueOf(ctx, index)) +end + +-- MENU_CANCEL is -2 (constants/menu.h), written into the var as a u16 when the +-- player backs out of a menu the init marked `canExitWithB`. Spelled here +-- rather than as a bare 65534 so a script comparing against it is readable. +local MENU_CANCEL = 0xFFFE +Gen4Commands.MENU_CANCEL = MENU_CANCEL + +function Commands.g4_menu_show(ctx) + local menu = ctx.g4Menu + ctx.g4Menu = nil + if not (menu and #menu.rows > 0) then + -- Nothing was added. The cartridge would show an empty frame and wait for + -- a button; blocking the script on a box with no rows is worse than + -- carrying on, so the destination is left alone and the script continues. + Logger.warn("gen4 script: showmenu with no entries -- skipped") + return + end + local Menu = require("src.ui.Menu") + local runner = ctx.runner + local items = {} + local function pick(value) + if menu.destVar then setVar(ctx.save, menu.destVar, value) end + -- `lastChoice` is what the engine's own `choice` leaves behind, kept in + -- step so a mod reading it sees the same thing on a Gen 4 map. + ctx.lastChoice = { index = value, label = nil } + runner:resume() + end + for i, row in ipairs(menu.rows) do + items[i] = { label = row.text, onSelect = function() + ctx.lastChoice = { index = row.value, label = row.text } + pick(row.value) + end } + end + ctx.game.stack:push(Menu.new(ctx.game, items, { + -- `canExitWithB == 0` means B does nothing at all -- the player is made to + -- choose. 17 of the cartridge's 186 menus are that kind. + cancelable = menu.cancelable, + onCancel = menu.cancelable and function() pick(MENU_CANCEL) end or nil, + index = menu.cursor, + })) + runner:yield() +end + +-- A MENU IS A SCREEN, so it may not be opened from a parallel script -- the +-- same rule `choice` and `ask` already carry. `g4_move` blocks but does not +-- take the screen, so it is only the second half. +Commands.meta = Commands.meta or {} +Commands.meta.g4_menu_show = { foreground = true, blocking = true } +Commands.meta.g4_move = { blocking = true } + +-- A ROW THAT IS REALLY NOTHING TO DO HERE, and says which one it was. +-- +-- Not `pending()`: that is for a verb whose feature is coming. These are rows +-- whose feature this port does not have and is not waiting on -- the size +-- contest's record, the lottery number, the daily level -- and the honest +-- handler for one of those is to do nothing and be able to say so. +local noopSeen = {} + +function Commands.g4_noop(_, what) + local key = tostring(what) + if not noopSeen[key] then + noopSeen[key] = true + Logger.info("gen4 script: %s is not implemented; the row is a no-op", key) + end +end + +local function pending(verb, what) + Commands[verb] = function() + if said[verb] then return end + said[verb] = true + Logger.info("gen4 script: '%s' is decoded and lowered but %s is not built " + .. "yet -- the row is stepped over", verb, what) + end +end + +-- --------------------------------------------------------------------------- +-- THE NEXT LAYER DOWN -- see the matching block in Gen4ScriptVM for why these +-- and not others, and for the `ScrCmd_*` each one is read from. +-- --------------------------------------------------------------------------- + +-- WHICH MAP THE PLAYER IS ON, as a HEADER id. +-- +-- `mapForHeader` already goes the other way and builds its index off the same +-- `def.header` field, so this is that field read directly rather than a second +-- table that could disagree with it. +function Commands.g4_get_map_id(ctx, destVar) + local data = ctx.game and ctx.game.data + local mapId = ctx.save and ctx.save.player and ctx.save.player.map + local def = mapId and data and data.maps and data.maps[mapId] + setVar(ctx.save, destVar, tonumber(def and def.header) or 0) +end + +-- `*destVar = LCRNG_Next() % upperBound`. +-- +-- A bound of zero is a divide by zero on the cartridge and cannot be what any +-- script means, so it reads as one -- always zero -- rather than raising here. +function Commands.g4_get_random(ctx, destVar, bound) + local top = math.floor(valueOf(ctx, bound) or 0) + if top < 1 then top = 1 end + setVar(ctx.save, destVar, math.random(0, top - 1)) +end + +-- A BOOLEAN, NOT THE BALANCE. `currentMoney < value ? FALSE : TRUE`, and the +-- amount is a literal word in the script rather than a var. +function Commands.g4_check_money(ctx, destVar, amount) + local have = tonumber(ctx.save and ctx.save.money) or 0 + setVar(ctx.save, destVar, have >= (tonumber(amount) or 0) and 1 or 0) +end + +function Commands.g4_remove_money(ctx, amount) + local save = ctx.save + if not save then return end + save.money = math.max(0, (tonumber(save.money) or 0) - (tonumber(amount) or 0)) +end + +-- A SPECIES KEY IS NOT A SPECIES NUMBER. +-- +-- The party stores `mon.species` as the cache's own key -- "SPECIES_025" -- +-- because that is what indexes `data.pokemon`; every script here compares a +-- NUMBER. One place, so the two spellings cannot drift apart across the four +-- commands below. +local function speciesNumber(mon) + local id = mon and mon.species + if id == nil then return 0 end + return tonumber(id) or tonumber(tostring(id):match("(%d+)%s*$")) or 0 +end + +-- `Party_GetPokemonBySlotIndex(*partySlot)` -- BOTH arguments are var ids and +-- the slot is the value held in the first. Slots are zero-based on the +-- cartridge and one-based in the party table. +function Commands.g4_party_species(ctx, slotVar, destVar) + local slot = math.floor(valueOf(ctx, slotVar) or 0) + local mon = ctx.save and ctx.save.party and ctx.save.party[slot + 1] + -- AN EGG IS SPECIES_NONE, not the species inside it. The cartridge checks + -- MON_DATA_IS_EGG first, and a script that asked "what is in slot 0" and got + -- the unhatched answer would spoil its own surprise. + if not mon or mon.isEgg then setVar(ctx.save, destVar, 0) return end + setVar(ctx.save, destVar, speciesNumber(mon)) +end + +-- `species` comes through `ScriptContext_GetVar`, so it may itself be a var. +function Commands.g4_party_has_species(ctx, destVar, species) + local want = math.floor(valueOf(ctx, species) or 0) + local found = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg and speciesNumber(mon) == want then found = 1 break end + end + setVar(ctx.save, destVar, found) +end + +-- --------------------------------------------------------------------------- +-- the starter +-- --------------------------------------------------------------------------- +-- +-- THE SCREEN WAS BUILT AND NOTHING EVER OPENED IT. `src/ui/Gen4StarterSelect` +-- draws Rowan's briefcase from the cartridge's own `psel_all` model and its +-- 41-frame animation, and a search of the whole tree for its name found the +-- file and no callers. The seam is one script command: +-- +-- startchoosestarterscene <- opens the app and PAUSES the script +-- savechosenstarter <- writes the answer to VAR_PLAYER_STARTER +-- returntofield +-- getplayerstarterspecies 0x8000 +-- givepokemon 0x8000, 5, 0, 0x800C +-- +-- and the first, third and fourth of those were unlowered. Without them the +-- briefcase never opens, the var stays zero and no Pokemon is handed over -- +-- which is every player's first five minutes of the game. +-- +-- VAR_PLAYER_STARTER is 0x4030, from the enum walk over +-- `generated/vars_flags.txt` that every Gen 4 var id in this port comes from +-- (the same walk puts VAR_OBJ_GFX_ID_0 at 0x4020, which the overworld already +-- relies on). It is the cartridge's own storage, so the rival's and the +-- counterpart's starters are DERIVED from it rather than stored -- that is +-- `SystemVars_GetRivalStarter` and `SystemVars_GetPlayerCounterpartStarter`, +-- which are two `if` ladders and no state at all. +local VAR_PLAYER_STARTER = 0x4030 + +-- 387/390/393, read off `gen4_menus.starter.rows[i].species` -- the same three +-- the briefcase screen offers, ripped from the ROM, not typed in here. +local TURTWIG, CHIMCHAR, PIPLUP = 387, 390, 393 + +-- `SystemVars_GetRivalStarter`: the one that BEATS yours. +local function rivalStarter(player) + if player == TURTWIG then return CHIMCHAR end + if player == CHIMCHAR then return PIPLUP end + return TURTWIG +end + +-- `SystemVars_GetPlayerCounterpartStarter`: the one YOURS beats -- Dawn or +-- Lucas takes the leftover. +local function counterpartStarter(player) + if player == TURTWIG then return PIPLUP end + if player == CHIMCHAR then return TURTWIG end + return CHIMCHAR +end + +-- `SystemVars_GetPlayerStarter` -- kept in its own slot rather than derived +-- from the party, because the party can lose the starter and the question is +-- still answerable afterwards. +-- +-- The VAR is the cartridge's storage and is read first; `save.gen4Starter` is +-- this port's older mirror and stays as a fallback so a save written before +-- the var was used still answers. +local function playerStarter(save) + local fromVar = tonumber(getVar(save, VAR_PLAYER_STARTER)) or 0 + if fromVar ~= 0 then return fromVar end + local id = save and (save.gen4Starter or (save.player and save.player.starter)) + return tonumber(id) or tonumber(tostring(id or ""):match("(%d+)%s*$")) or 0 +end +Gen4Commands.playerStarter = playerStarter +Gen4Commands.rivalStarter = rivalStarter +Gen4Commands.counterpartStarter = counterpartStarter + +function Commands.g4_starter_species(ctx, destVar) + setVar(ctx.save, destVar, playerStarter(ctx.save)) +end + +-- `startchoosestarterscene` -- `FieldSystem_LaunchChooseStarterApp` followed by +-- `ScriptContext_Pause(ctx, ScriptContext_WaitForApplicationExit)`. The +-- cartridge parks the answer in a heap block (`ChooseStarterData`) that the +-- NEXT command reads and frees; `ctx.g4StarterChoice` is that block, and it is +-- carried on the script context for exactly the same lifetime. +-- +-- The app cannot be cancelled out of -- you are made to choose -- so a cancel +-- here (the screen closing because the cache has no models) leaves the choice +-- unset and `savechosenstarter` writes nothing rather than guessing. +function Commands.g4_choose_starter(ctx) + local runner = ctx.runner + local Gen4StarterSelect = require("src.ui.Gen4StarterSelect") + ctx.g4StarterChoice = nil + local function finish() + if runner then runner:resume() end + end + ctx.game.stack:push(Gen4StarterSelect.new(ctx.game, { + onChoose = function(species) + ctx.g4StarterChoice = tonumber(species) + finish() + end, + onCancel = finish, + })) + if runner then runner:yield() end +end + +-- `savechosenstarter` -- `SystemVars_SetPlayerStarter(..., data->species)`. +function Commands.g4_save_starter(ctx) + local species = tonumber(ctx.g4StarterChoice) + ctx.g4StarterChoice = nil + if not species or species == 0 then + Logger.warn("gen4 starter: `savechosenstarter` ran with no choice on the " + .. "context -- the briefcase was closed without one, so " + .. "VAR_PLAYER_STARTER is left as it was") + return + end + setVar(ctx.save, VAR_PLAYER_STARTER, species) + -- The port's own mirror, kept in step so anything still reading it agrees. + if ctx.save then + ctx.save.gen4Starter = species + if ctx.save.player then ctx.save.player.starter = species end + end +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_choose_starter = { foreground = true, blocking = true } + +-- `givepokemon ` -- every one of the +-- first three is a VAR-or-literal (`ScriptContext_GetVar`), which matters here +-- because the starter is handed over as `givepokemon 0x8000, 5, 0, 0x800C` +-- and 0x8000 is a var. The fourth is where `Pokemon_GiveMonFromScript`'s +-- success answer goes, and a script that reads it decides whether to say "you +-- got it" or "your party is full". +function Commands.g4_give_pokemon(ctx, species, level, heldItem, destVar) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local item = math.floor(valueOf(ctx, heldItem) or 0) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `givepokemon` names species %s, which this " + .. "dataset does not carry -- nothing is given and the " + .. "destination var says so", tostring(id)) + if destVar then setVar(ctx.save, destVar, 0) end + return + end + -- NO NICKNAME PROMPT. `Pokemon_GiveMonFromScript` adds the mon and returns; + -- Gen 4 asks about a nickname from a separate script path when it asks at + -- all, and the starter is not one of the times it does. + local opts = nil + if item ~= 0 then + local key = itemKey(ctx.game.data, item) + if ctx.game.data.items and ctx.game.data.items[key] then + opts = { heldItem = key } + end + end + Commands.give_pokemon(ctx, id, lv, true, opts) + if destVar then setVar(ctx.save, destVar, ctx.lastCheck and 1 or 0) end +end + +-- --------------------------------------------------------------------------- +-- small state the opening reads +-- --------------------------------------------------------------------------- +-- +-- Each of these is two or three lines on the cartridge and each was going +-- through the unknown-command path, which is worse than it sounds for the +-- ones that write a var: the branch after them reads whatever the LAST +-- comparison left in the register, so an unlowered `countbadgesacquired` does +-- not just fail to count badges, it makes the next `gotoif` decide at random. + +-- `PlayerData_SetRunningShoes(playerData, TRUE)`. Mum hands them over in the +-- player's own house, which is why this one is in the opening at all. +function Commands.g4_running_shoes(ctx) + local save = ctx.save + if not save then return end + save.player = save.player or {} + save.player.runningShoes = true + -- The engine's own spelling, so whatever already gates running agrees. + save.hasRunningShoes = true +end + +-- `TimeOfDayForHour` (src/rtc.c), transcribed from its 24-entry lookup: +-- 0-3 LATE_NIGHT, 4-9 MORNING, 10-16 DAY, 17-19 TWILIGHT, 20-23 NIGHT. The +-- values are the 0-based `generated/time_of_day.txt` enum -- MORNING 0, DAY 1, +-- TWILIGHT 2, NIGHT 3, LATE_NIGHT 4 -- and NOT this engine's own Gen 2 period +-- names, which are a different set with a different ordering. +local function timeOfDayValue(hour) + hour = tonumber(hour) or 12 + if hour < 4 then return 4 end + if hour < 10 then return 0 end + if hour < 17 then return 1 end + if hour < 20 then return 2 end + return 3 +end +Gen4Commands.timeOfDayValue = timeOfDayValue + +function Commands.g4_time_of_day(ctx, destVar) + setVar(ctx.save, destVar, timeOfDayValue(tonumber(os.date("%H")))) +end + +-- `countbadgesacquired` walks sBadgeIDs and counts. This port keeps badges in +-- the save the engine's own way; both spellings are read because a Gen 4 save +-- may carry either. +function Commands.g4_count_badges(ctx, destVar) + local save = ctx.save + local badges = save and (save.badges or (save.player and save.player.badges)) + local count = 0 + if type(badges) == "table" then + for _, has in pairs(badges) do if has then count = count + 1 end end + elseif type(badges) == "number" then + local n = math.floor(badges) + while n > 0 do + if n % 2 == 1 then count = count + 1 end + n = math.floor(n / 2) + end + end + setVar(ctx.save, destVar, count) +end + +-- `Poketch_IsAppRegistered`. The watch's own corner of the save is +-- `save.poketch`, which `src/ui/Gen4Poketch` creates on demand. +function Commands.g4_poketch_registered(ctx, appId, destVar) + local id = math.floor(valueOf(ctx, appId) or 0) + local store = ctx.save and ctx.save.poketch + local apps = store and (store.registered or store.apps) + local yes = 0 + if type(apps) == "table" and apps[id] then yes = 1 end + setVar(ctx.save, destVar, yes) + setResult(ctx, yes) +end + +-- `getsetnationaldexenabled `: 1 grants the National Dex, +-- 2 asks whether it is held. The destination is written to ZERO first in both +-- cases, which is what the set branch leaves behind. +function Commands.g4_national_dex(ctx, getOrSet, destVar) + local mode = math.floor(valueOf(ctx, getOrSet) or 0) + local dex = ctx.save and ctx.save.pokedex + local value = 0 + if mode == 1 then + if dex then dex.national = true end + elseif mode == 2 then + value = (dex and dex.national) and 1 or 0 + end + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- --------------------------------------------------------------------------- +-- badges, and the trainer's own class +-- --------------------------------------------------------------------------- + +-- `givebadge ` -- `TrainerInfo_SetBadge`, zero-based. Oreburgh's gym leader +-- script is the first one, and without it the Coal Badge is never awarded, so +-- every later gate that counts badges reads one short for the rest of the +-- game. +-- +-- WRITTEN TWO WAYS ON PURPOSE. `save.badges` is the record `g4_count_badges` +-- reads, and `save.inventory` is where every other generation in this engine +-- keeps a badge -- `makeBattler` walks `badgeBoosts` and asks the BAG. Gen 4 +-- awards no stat boost (its `badgeBoosts` list is absent, so the lookup finds +-- nothing either way), but a badge that is not in the bag is a badge the +-- trainer card and the save editor cannot see. +function Commands.g4_give_badge(ctx, badgeNum) + local save = ctx.save + if not save then return end + local n = math.floor(valueOf(ctx, badgeNum) or 0) + local rows = ctx.game and ctx.game.data and ctx.game.data.constants + and ctx.game.data.constants.badges + local row = rows and rows[n + 1] -- the cartridge counts from zero + local id = (type(row) == "table" and row.id) or row + if type(id) ~= "string" then + Logger.warn("gen4 script: `givebadge %d` names no badge in this cache -- " + .. "nothing is awarded", n) + return + end + save.badges = save.badges or {} + save.badges[id] = true + save.inventory = save.inventory or {} + save.inventory[id] = save.inventory[id] or 1 + Logger.info("gen4: awarded %s", id) +end + +-- TRAINER CLASS NAMES, INVERTED OUT OF THE TRAINER TABLE. +-- +-- The cartridge reads them from a message bank; this port has not indexed that +-- bank by class, but every trainer row carries `class` AND `className`, so the +-- mapping is already in the cache. Built on first use and kept, because the +-- table is 979 rows and the answer never changes. +local classNames = nil + +function Gen4Commands.trainerClassName(data, classId) + local id = tonumber(classId) + if not id then return nil end + if not classNames then + classNames = {} + for _, row in pairs((data and data.trainers) or {}) do + if type(row) == "table" and row.class and type(row.className) == "string" + and row.className ~= "" and classNames[row.class] == nil then + classNames[row.class] = row.className + end + end + end + return classNames[id] +end + +-- `capitalizefirstletter ` -- `StringTemplate_CapitalizeArgAtIndex`. +-- Real, and one line: the buffered word is already in hand. +function Commands.g4_capitalize(ctx, slot) + local buffers = ctx.game and ctx.game.stringBuffers + local i = (tonumber(slot) or 0) + 1 + local text = buffers and buffers[i] + if type(text) ~= "string" or text == "" then return end + buffers[i] = text:sub(1, 1):upper() .. text:sub(2) +end + +-- A QUESTION THIS PORT CANNOT ANSWER, ANSWERED HONESTLY AS "NO". +-- +-- Distinct from `g4_noop`, which is for a row that does nothing on screen, and +-- from `pending()`, which is for a verb whose feature is on the way. This is +-- for a command that WRITES A VAR and whose feature does not exist here: the +-- var has to be written, because the `gotoif` behind it would otherwise branch +-- on whatever the previous comparison left in the register. Zero is both the +-- truthful answer and the one that keeps the script on its ordinary path. +local noFeatureSeen = {} + +function Commands.g4_no_feature(ctx, destVar, feature) + if destVar then setVar(ctx.save, destVar, 0) end + setResult(ctx, 0) + local key = tostring(feature) + if not noFeatureSeen[key] then + noFeatureSeen[key] = true + Logger.info("gen4 script: a row asked about %s, which this port does not " + .. "have -- the answer is no, and the branch behind it takes " + .. "its ordinary path", key) + end +end + +-- --------------------------------------------------------------------------- +-- the trainer battle +-- --------------------------------------------------------------------------- +-- +-- WHAT WAS ACTUALLY MISSING was one shape mismatch and a result register. +-- +-- `BattleState.newTrainer(game, oppClass, partyIndex)` reads +-- `trainers[key].parties[i]`, because Gen 1 and Gen 2 put SEVERAL trainers in +-- one class. Gen 4 numbers every trainer individually and gives each one +-- party, so the record sits one level shallower than the reader -- +-- `Data:seedDefaults` now exposes `parties = { party }` as a view. Everything +-- else the builder wants, the extractor already wrote: species, level, moves, +-- the IV scale, the battle type, the class name. +-- +-- THE OBJECT ALREADY KNOWS WHO IT IS. A trainer's object event carries a +-- script id in the `single_battles` band (3000+) or `double_battles` (5000+), +-- and `Script_GetTrainerID` is `scriptID - offset + 1`. The extractor resolved +-- that at import and hung the answer on the def: +-- +-- script = 3231, scriptBand = "single_battles", +-- trainer = { id = 232, name = "David", class = 14, +-- className = "Black Belt", partySize = 2 } +-- +-- so `gettrainerid` is a field read rather than arithmetic this file repeats. +local function trainerOnObject(ctx) + local npc = ctx.npc + local def = npc and npc.def + local rec = def and def.trainer + return rec and tonumber(rec.id) or nil +end + +-- `starttrainerbattle ` -- both var-or-literal, and the +-- SECOND is TRAINER_NONE (0) for an ordinary fight. A non-zero second is two +-- opponents at once, which `start_battle` already knows how to build: +-- `trainerBKey` fills the other half of the field from that trainer's own +-- party rather than a second Pokemon from the first's. +-- `extra` is for the ONE caller that needs a different rule -- the Route 201 +-- first battle, which may be lost without a blackout. Every other caller +-- passes two operands and gets exactly what it always got. +function Commands.g4_start_battle(ctx, enemy1, enemy2, extra) + local id = math.floor(valueOf(ctx, enemy1) or 0) + local other = math.floor(valueOf(ctx, enemy2) or 0) + local trainers = ctx.game and ctx.game.data and ctx.game.data.trainers + local rec = trainers and trainers[id] + -- `parties[1][1]`, not `parties[1]`: an EMPTY party is a live table and + -- would pass a truthiness test, then take the game down in `makeBattler` + -- with `data.pokemon[nil]`. Exactly one trainer in the cartridge is empty -- + -- id 0, TRAINER_NONE, which is the value `enemy2` carries for an ordinary + -- single battle -- so this guard is cheap and the case it catches is real. + if not (rec and type(rec.parties) == "table" and type(rec.parties[1]) == "table" + and rec.parties[1][1]) then + Logger.warn("gen4 battle: trainer %d is not in this cache (or carries no " + .. "party) -- the battle is skipped and the script carries on " + .. "as though it were lost", id) + ctx.g4BattleWon = false + setResult(ctx, 0) + return + end + -- The defeated flag is the cartridge's own bank (TRAINER_DEFEATED_FLAGS_ + -- START + id), which this port keeps in `save.gen4TrainerFlags` and + -- `checktrainerflag` already reads. Set on a WIN only, and set HERE because + -- this is the only place the result arrives. + ctx.g4Trainer = id + local opts = { double = (other ~= 0) or rec.doubleBattle or nil } + if other ~= 0 and trainers[other] then opts.trainerBKey = other end + if extra and extra.canLose then opts.canLose = true end + Commands.start_battle(ctx, "trainer", id, 1, opts) +end + +-- `checkwonbattle ` -- `CheckPlayerWonBattle(*battleResult)`. +-- +-- `start_battle` leaves its answer in `ctx.lastBattleResult`; reading THAT +-- rather than keeping a second copy is what stops the two disagreeing after a +-- battle the script did not start. +function Commands.g4_check_won_battle(ctx, destVar) + local won = (ctx.lastBattleResult == "win") + -- ...and mark the trainer beaten, once, on the way past. The cartridge does + -- this in the battle teardown rather than the script -- no Sinnoh script + -- runs `settrainerflag` after a fight -- so a port that waited for one would + -- have every trainer in the region challenge you again for ever. Same shape + -- as the Gen 3 fix in `start_battle`. + if won and ctx.g4Trainer then + local t = trainerFlags(ctx.save) + if t then t[ctx.g4Trainer] = true end + ctx.g4Trainer = nil + end + local value = won and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checklostbattle ` -- `CheckPlayerLostBattle`, which reads a +-- DIFFERENT bit of the same result mask. Not the negation of the above: a +-- battle that ended some third way answers no to both, and the one script that +-- asks is branching on a real loss rather than on "did not win". +function Commands.g4_check_lost_battle(ctx, destVar) + local value = (ctx.lastBattleResult == "lose") and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `gettrainerid ` -- who the running script belongs to. +function Commands.g4_get_trainer_id(ctx, destVar) + local id = trainerOnObject(ctx) or ctx.g4Trainer or 0 + if destVar then setVar(ctx.save, destVar, id) end + setResult(ctx, id) +end + +-- `checkistrainerdoublebattle ` -- `battleType != BATTLE_TYPE_SINGLES` +-- on the trainer this script belongs to. +function Commands.g4_check_trainer_double(ctx, destVar) + local id = trainerOnObject(ctx) or ctx.g4Trainer + local trainers = ctx.game and ctx.game.data and ctx.game.data.trainers + local rec = id and trainers and trainers[id] + local value = (rec and (rec.doubleBattle + or (tonumber(rec.battleType) or 0) ~= 0)) and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checkhastwoalivemons ` -- `Party_HasTwoAliveMons`, which is what +-- gates a double battle: you cannot be asked into one with a single Pokemon +-- standing. +function Commands.g4_check_two_alive(ctx, destVar) + local alive = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg and (mon.hp or 0) > 0 then alive = alive + 1 end + end + local value = (alive >= 2) and 1 or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `trainerbattle` is not an opcode on this cartridge; the spelling is kept +-- pointing at the real one so an older lowering cannot fall through the floor. +Commands.g4_trainer_battle = Commands.g4_start_battle + +Commands.meta = Commands.meta or {} +Commands.meta.g4_start_battle = { foreground = true, blocking = true } + +pending("g4_get_movement_type", "the movement-script decoder") +-- --------------------------------------------------------------------------- +-- the shop +-- --------------------------------------------------------------------------- +-- +-- A SINNOH MART'S STOCK IS DECIDED BY YOUR BADGE COUNT, not by the town. +-- `ScrCmd_PokeMartCommon` ignores its one operand entirely, counts the badges +-- in the save, turns that into a TIER, and then walks one shared table taking +-- every row whose `requiredBadges` is at or below it. Every ordinary Poke Mart +-- in the region sells the same list; what changes is how far down it goes. +-- +-- The switch is the cartridge's, transcribed rather than smoothed -- note that +-- it is NOT `tier = badges` and not monotonic in the obvious way: zero badges +-- and one badge give different tiers, then the pairs 1/2, 3/4 and 5/6 share: +-- +-- 0 -> 1 1,2 -> 2 3,4 -> 3 5,6 -> 4 7 -> 5 8 -> 6 +-- +-- `constants.martCommon` is that table, already extracted: 19 rows of +-- `{ badges, item }`, which unlock 4 / 10 / 13 / 17 / 18 / 19 deep as the +-- tiers rise. Item 4 is the Poke Ball and 17 the Potion, and both are in the +-- first four -- which is the whole reason this had to be wired before anybody +-- could play past Jubilife. +local MART_TIER = { [0] = 1, 2, 2, 3, 3, 4, 4, 5, 6 } + +local function martStock(ctx) + local data = ctx.game and ctx.game.data + local rows = data and data.constants and data.constants.martCommon + if type(rows) ~= "table" then return nil end + local badges = 0 + local held = ctx.save and (ctx.save.badges + or (ctx.save.player and ctx.save.player.badges)) + if type(held) == "table" then + for _, has in pairs(held) do if has then badges = badges + 1 end end + end + local tier = MART_TIER[math.min(badges, 8)] or 1 + local stock = {} + for _, row in ipairs(rows) do + local need = tonumber(row.badges) or 1 + local item = row.item + if tier >= need and item ~= nil and data.items and data.items[item] then + stock[#stock + 1] = item + end + end + return stock, badges, tier +end + +function Commands.g4_pokemart(ctx, _, kind) + -- `pokemartspecialties` indexes `PokeMartSpecialties[martID]` -- a SECOND + -- table, one stock list per counter, which this cache does not carry. 22 + -- sites, all of them the Veilstone department store and the game corner. + -- Opening a common mart in their place would sell the wrong things under the + -- right sign, which is worse than saying so. + if kind == "specialty" then + Logger.warn("gen4 shop: a specialty counter was opened, but " + .. "`PokeMartSpecialties` is not extracted -- the stock lists " + .. "for the department store and the game corner are their own " + .. "table, so the counter is skipped rather than stocked wrong") + return + end + local stock, badges, tier = martStock(ctx) + if not (stock and stock[1]) then + Logger.warn("gen4 shop: this cache carries no `martCommon` table, so the " + .. "clerk has nothing to sell") + return + end + Logger.info("gen4 shop: %d badge(s) -> tier %d, %d item(s) on the shelf", + badges, tier, #stock) + local runner = ctx.runner + local Screens = require("src.ui.Screens") + Screens.push(ctx.game, "ShopMenu", stock, function() + if runner then runner:resume() end + end) + if runner then runner:yield() end +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_pokemart = { foreground = true, blocking = true } + +-- --------------------------------------------------------------------------- +-- THE NICKNAME PROMPT +-- --------------------------------------------------------------------------- + +-- `openpokemonnamingscreen `, from +-- ScrCmd_OpenPokemonNamingScreen. Five sites, and SANDGEM TOWN is one of them, +-- so this is main-path from the first hour: every gift Pokemon in Sinnoh was +-- handed over without ever being offered a name. +-- +-- !! WHAT THE DESTINATION MEANS IS THE OPPOSITE OF THE GUESS. `returnCode` is +-- ZERO when the name CHANGED and ONE when it did not: +-- +-- if (String_Compare(textInputStr, startingName) == 0) returnCode = 1; +-- if (returnCode == 0) sub_0203DF68(taskMan); <- this is what writes it +-- if (dest != NULL) *dest = returnCode; +-- +-- so the write happens only on the zero branch, and "1" is the answer for BOTH +-- "you typed the same thing" and "you backed out". Every call site compares +-- against 1 and skips its follow-up, which is the second statement: three of +-- them do `comparevartovalue 0x800C 1` then `callif` the "it is now called X" +-- line. Answering 0 by default would make all five announce a rename that +-- never happened. +-- +-- THE SLOT IS ZERO-BASED, which is why the sites compute it as `getpartycount` +-- then `subvar 1` -- the member just handed over. Lua's party is one-based. +function Commands.g4_name_pokemon(ctx, slotArg, destVar) + -- The safe answer first, so every early return below says "nothing was + -- renamed" rather than leaving the register holding the last comparison. + setVar(ctx.save, destVar, 1) + + local slot = valueOf(ctx, slotArg) + local party = (ctx.save and ctx.save.party) or {} + local mon = party[slot + 1] + if not mon then + Logger.warn("gen4 naming: `openpokemonnamingscreen` asked for party slot " + .. "%d, which is empty -- nothing was renamed", tonumber(slot) or -1) + return + end + + local data = ctx.game and ctx.game.data + local def = data and data.pokemon and data.pokemon[mon.species] + local speciesName = (def and def.name) or tostring(mon.species) + -- An un-nicknamed Pokemon starts the screen on its SPECIES NAME, the way the + -- cartridge seeds it -- Pokemon_GetValue(MON_DATA_NICKNAME) answers the + -- species name when no nickname was set, so the comparison afterwards is + -- against that and not against an empty string. + local before = tostring(mon.nickname or "") + if before == "" then before = speciesName end + + local runner = ctx.runner + local Screens = require("src.ui.Screens") + Screens.push(ctx.game, "NamingScreen", { + kind = "pokemon", + species = mon.species, + mon = mon, + default = before, + -- MON_NAME_LEN is 10 (constants/string.h), not the trainer's 7. + maxLen = 10, + onDone = function(typed) + local name = tostring(typed or "") + -- Confirming an empty keyboard is how the cartridge says "no nickname", + -- and it lands on the species name rather than on nothing. + if name == "" then name = speciesName end + if name ~= before then + mon.nickname = name + setVar(ctx.save, destVar, 0) + end + if runner then runner:resume() end + end, + }) + if runner then runner:yield() end +end + +Commands.meta.g4_name_pokemon = { foreground = true, blocking = true } + +-- --------------------------------------------------------------------------- +-- THE FOUR IN-GAME TRADES +-- --------------------------------------------------------------------------- +-- +-- Oreburgh City, Eterna City, Snowpoint City and Route 226. All five commands +-- were unlowered on all four maps, and OREBURGH IS THE THIRD TOWN. The record +-- and the names are src/import/Gen4Trades.lua; the script's shape, and why an +-- unwritten var here does more than fail, is in the lowering. + +local function tradeRow(ctx, id) + local data = ctx.game and ctx.game.data + local list = data and data.constants and data.constants.gen4Trades + if type(list) ~= "table" then return nil end + local row = list[(tonumber(id) or -1) + 1] + return type(row) == "table" and row or nil +end + +-- `initnpctrade ` -- NPCTrade_Init. The cartridge allocates a block and +-- hangs it off the script manager; the id is the whole of what it needs to be +-- remembered, so that is what rides on the context -- the same lifetime +-- `g4StarterChoice` uses, and freed by `finishnpctrade` the same way +-- NPCTrade_Free frees the block. +function Commands.g4_trade_init(ctx, id) + ctx.g4Trade = tonumber(id) or 0 + if not tradeRow(ctx, ctx.g4Trade) then + Logger.warn("gen4 trade: `initnpctrade %d` ran, but this cache carries no " + .. "`constants.gen4Trades` -- one more import writes it", + ctx.g4Trade) + end +end + +function Commands.g4_trade_finish(ctx) + ctx.g4Trade = nil +end + +-- `getnpctradespecies` / `getnpctraderequestedspecies` -- what is on offer and +-- what they will only take for it. BOTH WRITE A VAR AND THE SECOND ONE IS +-- COMPARED AGAINST YOUR CHOICE, so leaving either unwritten decides the branch +-- rather than failing it. Zero is the answer when there is no row: a species +-- number of zero matches nothing in a party, so the trade is refused rather +-- than accepted against a Pokemon nobody checked. +local function tradeSpecies(ctx, destVar, key) + local row = tradeRow(ctx, ctx.g4Trade) + local value = tonumber(row and row[key]) or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +function Commands.g4_trade_species(ctx, destVar) + tradeSpecies(ctx, destVar, "species") +end + +function Commands.g4_trade_requested(ctx, destVar) + tradeSpecies(ctx, destVar, "request") +end + +-- `openpartymenufortrade` -- FieldSystem_OpenPartyMenu_SelectForTrade and then +-- a pause. The slot is left on the context for `getselectedpartyslot`, which +-- is what the script reads it with; CANCELLING leaves PARTY_SLOT_NONE there, +-- and the scripts handle that already because it is what the stub answered for +-- as long as this menu did not exist. +function Commands.g4_open_party_for_trade(ctx) + local runner = ctx.runner + local Screens = require("src.ui.Screens") + ctx.g4PartySlot = Gen4Commands.PARTY_SLOT_NONE + Screens.push(ctx.game, "PartyMenu", { + pickOnly = true, + onSwitch = function(mon) + if mon then + for i, member in ipairs((ctx.save and ctx.save.party) or {}) do + -- ZERO-BASED, because that is what getpartymonspecies and + -- startnpctrade are handed straight afterwards. + if member == mon then ctx.g4PartySlot = i - 1 break end + end + end + if runner then runner:resume() end + end, + }) + if runner then runner:yield() end +end + +Commands.meta.g4_open_party_for_trade = { foreground = true, blocking = true } + +-- `startnpctrade ` -- FieldTask_StartNPCTrade: build their Pokemon, swap +-- it for yours, and play the trade cutscene. THE CUTSCENE IS NOT BUILT and is +-- not faked -- there is no trade animation anywhere in this port -- so the swap +-- happens and the scene does not. Said out loud rather than left to be noticed: +-- the alternative is a trade that silently does nothing, which is what was +-- happening before. +-- +-- WHAT THE POKEMON IS, from NPCTrade_CreateMon: +-- * ITS LEVEL IS THE LEVEL OF THE ONE YOU GAVE. Not a stored level -- the +-- record has no level field at all -- `level` is read off the party member +-- being traded away. So a trade is always an even swap in levels, which is +-- also why these four are worth doing at any point in the game. +-- * the nickname and the OT name are bank 370's, and `hasNickname` is TRUE, +-- so the traded Pokemon keeps the name the cartridge gave it. +-- * the six IVs, the held item, the OT id, OT gender and language are the +-- record's; the five contest stats are extracted and not modelled here. +-- * `GF_ASSERT(!Pokemon_IsShiny(mon))` -- the personality/OT-id pairs are +-- chosen so none of the four can be shiny, which is worth knowing before +-- somebody "fixes" a reroll in. +function Commands.g4_trade_start(ctx, slotArg) + local row = tradeRow(ctx, ctx.g4Trade) + local slot = (valueOf(ctx, slotArg) or 0) + 1 + local party = (ctx.save or {}).party or {} + local given = party[slot] + local data = ctx.game and ctx.game.data + if not (row and given and row.species and data) then + Logger.warn("gen4 trade: nothing to swap -- trade %s, slot %d", + tostring(ctx.g4Trade), slot) + return + end + + local ok, mon = pcall(function() + return require("src.pokemon.Pokemon").new(data, row.species, + given.level or 5) + end) + if not (ok and type(mon) == "table") then + Logger.warn("gen4 trade: could not build species %s", tostring(row.species)) + return + end + mon.nickname = row.nickname + mon.ot = row.otName + mon.otId = row.otId + mon.otGender = row.otGender + -- boosted exp, and the Name Rater refuses to touch it -- the same flag the + -- Hoenn trades set, so the two generations' traded Pokemon behave alike. + mon.traded = true + if row.item and row.item ~= 0 then mon.item = row.item end + + -- THE IVS LAND BECAUSE Data.lua ALREADY PUTS GEN 4 SPECIES ON THE GEN 3 + -- STAT MODEL -- it fills `evYield` from `evYields`, which is the presence + -- test `Stats.isGen3` makes -- so a Gen 4 mon carries `ivs` at 0..31 and the + -- record's six are in the same range. Without that they would be DVs at + -- 0..15 and these would be nonsense. + if type(row.ivs) == "table" and type(mon.ivs) == "table" then + local Stats = require("src.pokemon.Stats") + for i, key in ipairs(Stats.ORDER_GEN3) do + if row.ivs[i] then mon.ivs[key] = row.ivs[i] end + end + local def = data.pokemon[row.species] + local okStats, stats = pcall(Stats.calc, def, mon.level, mon.ivs, + mon.evs, mon.nature) + if okStats and type(stats) == "table" then + mon.stats, mon.hp = stats, stats.hp + end + end + + -- The one you gave leaves and the one you were given joins at the END, which + -- is where Party_AddPokemonBySlotIndex puts it, and the dex is told. + table.remove(party, slot) + party[#party + 1] = mon + local save = ctx.save + save.pokedex = save.pokedex or {} + save.pokedex.seen = save.pokedex.seen or {} + save.pokedex.owned = save.pokedex.owned or {} + save.pokedex.seen[mon.species] = true + save.pokedex.owned[mon.species] = true + -- The slot is spent: a second `getselectedpartyslot` after a swap must not + -- name a member that has moved. + ctx.g4PartySlot = nil +end + +-- --------------------------------------------------------------------------- +-- CHAPTER THREE -- Oreburgh to Eterna +-- --------------------------------------------------------------------------- +-- +-- Measured the same way the opening and chapter two were: walk every script +-- block reachable from the Oreburgh gate through Jubilife, Floaroma, the +-- Windworks and Eterna Forest to Gardenia's gym -- 191 entry points, 610 +-- blocks, 5,230 instructions -- and ask the lowering about each row. 176 +-- unlowered rows across 42 commands, which is a list rather than a survey. +-- The ones below are the ones that change what a player sees. + +-- `SetBlackOutWarpId(warpId)` -- FieldOverworldState's blackout destination, +-- an INDEX into a heal-location table this port has not extracted for Gen 4. +-- One site in the whole cartridge (the Eterna cycle shop). +-- +-- RECORDED RATHER THAN APPLIED, deliberately: `OverworldState:healPoint` +-- answers from `save.lastHeal`, which a Pokemon Centre already writes, so +-- guessing a map from an index would be strictly worse than the answer the +-- port already has. The id is kept so a later heal-location stage has the +-- script's own value to join against instead of having to re-derive it. +function Commands.g4_set_blackout_warp(ctx, warpId) + local save = ctx.save + if not save then return end + save.gen4BlackoutWarpId = math.floor(valueOf(ctx, warpId) or 0) +end + +-- `getitempocket ` -- `Item_LoadParam(item, +-- ITEM_PARAM_FIELD_POCKET)`. 46 sites, all of them in `scripts_common`: this +-- is the "you put the X away in the Y POCKET" line every pickup in the region +-- runs through, so leaving it unlowered left a VAR-WRITER silent and the +-- pocket name behind it printing whatever the last command had left. +-- +-- The value is the item row's own `fieldPocket`, which the extractor already +-- writes on all 446 rows (0 ITEMS, 1 MEDICINE, 2 POKE_BALLS, 3 TM_HM, +-- 4 BERRIES, 5 MAIL, 6 BATTLE_ITEMS, 7 KEY_ITEMS -- counted off the cache, +-- not assumed). +function Commands.g4_item_pocket(ctx, item, destVar) + local data = ctx.game and ctx.game.data + local id = itemKey(data, math.floor(valueOf(ctx, item) or 0)) + local def = data and data.items and data.items[id] + local pocket = tonumber(def and def.fieldPocket) or 0 + if destVar then setVar(ctx.save, destVar, pocket) end + setResult(ctx, pocket) +end + +-- `checkitemisplate ` -- `item >= ITEM_FLAME_PLATE and +-- item <= ITEM_IRON_PLATE`. +-- +-- DERIVED FROM THE NAMES, NOT FROM TWO HARD-CODED IDS. The cartridge's plates +-- are one contiguous run, so the run's ends are what the test needs -- and the +-- cache already carries every item's name, so asking which rows are called +-- "... Plate" reproduces the pair without a second table to keep in step. +-- Built once and kept on the module. +function Gen4Commands.plateRange(data) + if Gen4Commands._plateLow then + return Gen4Commands._plateLow, Gen4Commands._plateHigh + end + local low, high + for id, def in pairs((data and data.items) or {}) do + local n = tonumber(id) or tonumber(def and def.id) + local name = def and def.name + if n and type(name) == "string" and name:match("%sPlate$") then + if not low or n < low then low = n end + if not high or n > high then high = n end + end + end + Gen4Commands._plateLow = low or 0 + Gen4Commands._plateHigh = high or -1 + return Gen4Commands._plateLow, Gen4Commands._plateHigh +end + +function Commands.g4_item_is_plate(ctx, item, destVar) + local id = math.floor(valueOf(ctx, item) or 0) + local low, high = Gen4Commands.plateRange(ctx.game and ctx.game.data) + local yes = (id >= low and id <= high) and 1 or 0 + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `getpartycount ` -- `Party_GetCurrentCount`, EGGS INCLUDED, which +-- is why `countpartynoneggs` exists beside it and is a different number. +function Commands.g4_party_count(ctx, destVar) + local n = #((ctx.save and ctx.save.party) or {}) + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +function Commands.g4_party_non_eggs(ctx, destVar) + local n = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then n = n + 1 end + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- ------------------------------------------------------------- the Poketch -- +-- +-- `enablepoketch` and `registerpoketchapp `. `g4_poketch_registered` +-- has been able to ANSWER this question since the battle pass -- it reads +-- `save.poketch.registered` -- and nothing in the port had ever written it, so +-- every app read as unregistered for ever. The Jubilife scene that hands the +-- watch over is four of the five `registerpoketchapp` sites on the critical +-- path. +function Commands.g4_enable_poketch(ctx) + local save = ctx.save + if not save then return end + save.poketch = save.poketch or {} + save.poketch.enabled = true + -- The watch arrives WITH THE DIGITAL WATCH ALREADY ON IT (app 0); the + -- cartridge registers it in the same handler rather than from the script. + save.poketch.registered = save.poketch.registered or {} + save.poketch.registered[0] = true +end + +function Commands.g4_register_poketch_app(ctx, appId) + local save = ctx.save + if not save then return end + local id = math.floor(valueOf(ctx, appId) or 0) + save.poketch = save.poketch or {} + save.poketch.registered = save.poketch.registered or {} + save.poketch.registered[id] = true +end + +-- ------------------------------------------------------- the player avatar -- +-- +-- `setplayerstate ` is `PlayerAvatar_TurnOnRequestStateBit` and its +-- operand is a BITMASK, not an enum -- `generated/player_transitions.txt` +-- names ten entries and two of them are called `PLAYER_TRANSITION_x0008` and +-- `x0200`, which is the table telling you its own numbering: 1 WALKING, +-- 2 CYCLING, 4 SURFING, 8, 0x10 WATER_BERRIES, 0x20 FISHING, 0x40 POKETCH, +-- 0x80 SAVE, 0x100 HEALING, 0x200. +-- +-- Only two values are ever passed in the whole cartridge: WALKING (6 sites) +-- and HEALING (3). WALKING is a DISMOUNT and is the one that matters -- a +-- script that puts you indoors expects you off the bike. HEALING is the nurse's +-- pose, which this port draws no differently. +Gen4Commands.PLAYER_STATE = { WALKING = 1, CYCLING = 2, SURFING = 4 } + +function Commands.g4_player_state(ctx, state) + local bits = math.floor(tonumber(state) or 0) + local save = ctx.save + if not save then return end + if bits % 2 == 1 then -- WALKING + save.onBike = false + elseif math.floor(bits / 2) % 2 == 1 then -- CYCLING + save.onBike = true + end +end + +-- `changeplayerstate` is `PlayerAvatar_RequestChangeState` -- the LATCH that +-- applies whatever bit the previous command set. This port applies it in the +-- setter, so the latch has nothing left to do. + +-- `setplayerbike ` -- one TRUE site and six FALSE ones in the whole +-- cartridge, because the bike itself is a bag item; this is the scripted +-- mount and dismount. +-- +-- SAFE ON A CACHE WITH NO BIKE ART: `Player:spriteFor` reads +-- `self.onBike and self.bikeSprite` and falls through to the walking sheet +-- when the second is nil, so a Sinnoh rider walks rather than drawing nothing. +function Commands.g4_player_bike(ctx, on) + local save = ctx.save + if not save then return end + save.onBike = (math.floor(tonumber(on) or 0) ~= 0) +end + +-- `getdayofweek ` -- `GetDayOfWeek()`, 0 Sunday .. 6 Saturday, which +-- is the same origin `os.date("*t").wday` uses once its 1-based count is +-- shifted. The one site on the critical path is the Windworks' weekday check. +function Commands.g4_day_of_week(ctx, destVar) + local wday = tonumber(os.date("*t").wday) or 1 + local value = (wday - 1) % 7 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- ------------------------------------------------------------ a tag battle -- +-- +-- `starttagbattle `. The same +-- `Encounter_NewVsTrainer` as `starttrainerbattle`, with one difference that +-- is the whole point of the command: the ALLY is named by an operand instead +-- of being read from FLAG_HAS_PARTNER. +-- +-- WHAT THIS PORT ACTUALLY FIELDS, stated plainly because it is not the +-- cartridge's fight: the two foes are real and the battle is a real double, +-- but the ally trainer is NOT on the field -- both of the player's flanks come +-- from the player's own party, because an AI-driven battler on the player's +-- side is a battle-engine feature this port does not have. The fight is +-- therefore harder than Sinnoh's, and winnable, which is the trade that keeps +-- the scene finishable. Losing it runs the script's own blackout branch, as it +-- does on the cartridge. +-- +-- The alternative was a `pending()` stub, and that is strictly worse: the +-- Jubilife scene reads `CheckWonBattle` immediately afterwards and branches to +-- its blackout on FALSE, so an unlowered battle does not merely skip a fight, +-- it blacks the player out in the middle of a cutscene. +function Commands.g4_start_tag_battle(ctx, partner, enemy1, enemy2) + local ally = math.floor(valueOf(ctx, partner) or 0) + if ally ~= 0 and not Gen4Commands._saidTagBattle then + Gen4Commands._saidTagBattle = true + Logger.info("gen4 battle: a tag battle names trainer %d as the player's " + .. "ally; this port has no ally-trainer battler, so both of " + .. "the player's flanks are their own party", ally) + end + local a, b = math.floor(valueOf(ctx, enemy1) or 0), + math.floor(valueOf(ctx, enemy2) or 0) + return Commands.g4_start_battle(ctx, a, b) +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_start_tag_battle = { foreground = true, blocking = true } + +-- `giveegg ` -- Cynthia's Togepi at Eterna City is the one +-- on the critical path, and it is missable rather than blocking. +-- +-- `Egg_CreateEgg(egg, species, 1, trainer, 3, specialMetLoc)`: level 1, and the +-- second operand is only the MET LOCATION the memo prints, which this port does +-- not keep for Gen 4 -- so it is read and dropped rather than stored somewhere +-- nothing reads. `give_pokemon`'s own `egg` option does the rest: no nickname +-- prompt, an egg-step counter from the species, and no met level until it +-- hatches. +function Commands.g4_give_egg(ctx, species, giver) + local id = math.floor(valueOf(ctx, species) or 0) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `giveegg` names species %s, which this dataset " + .. "does not carry -- no egg is given", tostring(id)) + return + end + if #((ctx.save and ctx.save.party) or {}) >= 6 then + Logger.info("gen4 script: `giveegg` with a full party -- the cartridge " + .. "drops it too (Party_GetCurrentCount < MAX_PARTY_SIZE)") + return + end + local _ = valueOf(ctx, giver) + Commands.give_pokemon(ctx, id, 1, true, { egg = true }) +end + +-- `startlegendarybattle ` -- `Encounter_NewVsSpeciesAtLevel` +-- with the legendary flag on. NOT only legendaries: the one site on the +-- critical path is the DRIFLOON that appears at the Valley Windworks on +-- Fridays, which uses the same command because the command is really "a wild +-- battle against a named species at a named level that cannot be fled". +-- +-- The port already carries `opts.legendary`, which `start_battle` passes to +-- the battle and `pushBattleTransition` reads, so this is the existing wild +-- path with the flag set rather than a new kind of battle. +function Commands.g4_legendary_battle(ctx, species, level) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `startlegendarybattle` names species %s, which " + .. "this dataset does not carry -- the battle is skipped", + tostring(id)) + return + end + Commands.start_battle(ctx, "wild", id, lv, { legendary = true }) +end + +Commands.meta = Commands.meta or {} +Commands.meta.g4_legendary_battle = { foreground = true, blocking = true } + +-- --------------------------------------------------------------------------- +-- THE OPENING, WALKED AGAIN AND WIDER +-- --------------------------------------------------------------------------- +-- +-- The first opening measurement used a narrow map set and reported zero. +-- Walking the same route with the houses, Rowan's lab and the common-script +-- archive included -- 101 entry points, 484 blocks -- finds 132 rows, which is +-- what a wider net was always going to do. The item-pocket work above accounts +-- for most of them; these are the rest, and the first is the game's FIRST +-- BATTLE. + +-- `startfirstbattle ` -- `Encounter_NewVsFirstBattle`. Six sites, all +-- of them Route 201: Barry's challenge the moment you have a starter, one site +-- per starter per gender. +-- +-- IT IS AN ORDINARY TRAINER BATTLE WITH ONE RULE CHANGED: losing it does not +-- black you out. The script says so itself -- `CheckWonBattle` then +-- `Route201_RivalWonLetsGoHome`, a branch that only exists because the story +-- carries on either way. The port already has that rule as `opts.canLose` +-- (the Battle Tower's), and `afterBattle` reads it before the blackout, so +-- this is `g4_start_battle` with the flag set rather than a second battle +-- path. +function Commands.g4_start_first_battle(ctx, trainer) + return Commands.g4_start_battle(ctx, trainer, 0, { canLose = true }) +end + +-- `givepokedex` -- `Pokedex_ObtainPokedex`. Rowan hands it over in his lab and +-- NOTHING in this port was told: `Flags.hasPokedex` reads +-- `EVENT_GOT_POKEDEX`/`ENGINE_POKEDEX` off the save's flag table and gates the +-- start menu's Pokedex row and the main menu's continue panel, and no Gen 4 +-- script sets either. So the dex row stayed missing for the whole game. +-- +-- `ENGINE_POKEDEX` is the port's own generation-neutral spelling, which is why +-- it is the one written here rather than Johto's event name. +function Commands.g4_give_pokedex(ctx) + local save = ctx.save + if not save then return end + save.flags = save.flags or {} + save.flags.ENGINE_POKEDEX = true + save.pokedex = save.pokedex or { seen = {}, owned = {} } +end + +-- `getlocaldexseencount ` / `checklocaldexcompleted ` -- the +-- SINNOH dex, which is a filtered view of the national one and needs the +-- region's own species list to count. The port keeps `save.pokedex.seen` and +-- `.owned` whole rather than per-region, so the honest answer is the count of +-- what has actually been seen, which is right whenever the player has not yet +-- left Sinnoh -- and that is every script that asks. +function Commands.g4_dex_seen_count(ctx, destVar) + local n = 0 + for _ in pairs((ctx.save and ctx.save.pokedex and ctx.save.pokedex.seen) or {}) do + n = n + 1 + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `setstepflag` / `clearstepflag` -- `SystemFlag_SetStep`, the bit that stops +-- the step counter (and with it egg hatching and Poketch pedometer ticks) +-- while a cutscene is running. This port counts no steps during a script +-- because the script owns the input gate, so the bit has nothing to gate. + +-- One operand (the slot); the species is derived rather than passed. +function Commands.g4_buffer_counterpart_starter_article(ctx, slot) + local mine = Gen4Commands.playerStarter(ctx.save) + local id = Gen4Commands.counterpartStarter(mine) + return Commands.g4_buffer(ctx, slot, "speciesArticle", id) +end + +-- `startdestroyobstacleanimation ` -- Roark's Rock Smash +-- demonstration in the Oreburgh Mine and the boulder-clearing flourish +-- elsewhere. PRESENTATION ONLY: the rock is actually removed by the +-- `RemoveObject` on the very next row, which has always been lowered, so the +-- path opens with or without the animation. The destination var is the +-- animation's handle, which nothing in the script reads back. +function Commands.g4_destroy_obstacle_anim(ctx, _, destVar) + if destVar then setVar(ctx.save, destVar, 0) end +end + +-- `buffermapname ` -- `MapHeader_LoadName`, the PLAYER- +-- FACING name from message bank 433, which every header already carries as +-- `label` (see Gen4MapHeaders, where confusing that with the internal name is +-- written up). `gen4_map_headers` is keyed by header id, which is what the +-- operand is, so this is a field read. +function Commands.g4_buffer_map_name(ctx, slot, header) + local game = ctx.game + if not game then return end + local id = math.floor(valueOf(ctx, header) or 0) + local headers = game.data and game.data.gen4_map_headers + local rec = headers and headers[id] + game.stringBuffers = game.stringBuffers or {} + game.stringBuffers[(tonumber(slot) or 0) + 1] = (rec and rec.label) or "" + if not (rec and rec.label) then + Logger.warn("gen4 text: `buffermapname` names header %d, which this cache " + .. "has no label for", id) + end +end + +-- --------------------------------------------------------------------------- +-- CHAPTER FOUR -- Eterna to Veilstone +-- --------------------------------------------------------------------------- +-- +-- 271 entry points, 835 blocks, 6,876 instructions across the Cycling Road, +-- Mt. Coronet's south end, Route 208, Hearthome (city, gym and Amity Square), +-- Route 209 and the Lost Tower, Solaceon, Route 210, Route 215 and Veilstone. +-- 138 unlowered rows across 52 commands. +-- +-- One of them could stop the player leaving Eterna, and it is the first below. + +-- `checkplayeronbike ` -- `PlayerAvatar_GetPlayerState() == +-- PLAYER_AVATAR_CYCLING`. THE CYCLING ROAD GATES ARE THE REASON THIS MATTERS: +-- both gate coord events are +-- +-- CheckPlayerOnBike VAR_RESULT +-- GoToIfEq VAR_RESULT, TRUE, ...ForceBikingInGateCoordEvent +-- Message ...Text_OpenOnlyToCyclists +-- +-- so with the check unlowered VAR_RESULT holds whatever the previous command +-- left, and the gate either turns the player away from the only road south or +-- lets them through on foot depending on a value that has nothing to do with +-- the bike. +function Commands.g4_check_on_bike(ctx, destVar) + local on = (ctx.save and ctx.save.onBike) and 1 or 0 + if destVar then setVar(ctx.save, destVar, on) end + setResult(ctx, on) +end + +-- `forcebicycling ` -- `PlayerAvatar_SetOnCyclingRoad`. The Cycling +-- Road puts you on the bike and will not let you off; the port already has +-- that idea for Kanto's Route 17 (`save.forcedBike`, armed by the forced-bike +-- TILE and read by the bag before it lets the BICYCLE be put away), so this is +-- the same flag set from a script instead of from a tile. +function Commands.g4_force_bike(ctx, on) + local save = ctx.save + if not save then return end + local want = math.floor(tonumber(on) or 0) ~= 0 + save.forcedBike = want or nil + if want then save.onBike = true end +end + +-- `getpreviousmapid ` -- `FieldOverworldState_GetPrevLocation`, as a +-- HEADER id, which is what `g4_get_map_id` already answers for the current +-- map. One site: the Cycling Road asking which end you came in from. +function Commands.g4_previous_map(ctx, destVar) + local ow = ctx.overworld + local data = ctx.game and ctx.game.data + local prev = ow and (ow.previousMapId or (ow.lastOutdoor and ow.lastOutdoor.id)) + local def = prev and data and data.maps and data.maps[prev] + setVar(ctx.save, destVar, tonumber(def and def.header) or 0) +end + +-- ------------------------------------------------------------ party queries -- +-- +-- Four commands that read one party slot. `getpartymonfriendship` alone is 143 +-- sites across the cartridge -- the third most common unlowered command in the +-- whole corpus -- because every "your Pokemon looks happy" line in the region +-- runs through it. +-- +-- WATCH THE OPERAND ORDER: the DESTINATIONS COME FIRST on three of these four +-- and the slot is last, which is the opposite of the way they read aloud. +-- getpartymonfriendship +-- getpartymontype +-- checkpartymonhasmove + +local function partyMon(ctx, slot) + local n = math.floor(valueOf(ctx, slot) or 0) + return (ctx.save and ctx.save.party or {})[n + 1] +end + +-- FRIENDSHIP IS NOT KEPT FOR GEN 4 YET, and this says so once rather than +-- answering zero. `mon.friendship or mon.happiness` is the spelling Gen 3 +-- already uses; a Gen 4 mon carries neither, so the species' own +-- `baseFriendship` is the answer -- which is exactly the value a freshly +-- caught Pokemon has on the cartridge, and therefore right until something +-- starts moving the counter. +function Commands.g4_mon_friendship(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local value = mon and tonumber(mon.friendship or mon.happiness) + if mon and not value then + local def = (ctx.game and ctx.game.data and ctx.game.data.pokemon or {})[mon.species] + value = tonumber(def and def.baseFriendship) + if not Gen4Commands._saidFriendship then + Gen4Commands._saidFriendship = true + Logger.info("gen4 party: no friendship counter is kept for Gen 4 yet, so " + .. "a species' base friendship is answered -- which is what a " + .. "newly caught Pokemon has") + end + end + if destVar then setVar(ctx.save, destVar, value or 0) end + setResult(ctx, value or 0) +end + +-- `typeIds` on the species row is the cartridge's own pair, already extracted. +function Commands.g4_mon_types(ctx, type1Var, type2Var, slot) + local mon = partyMon(ctx, slot) + local def = mon and (ctx.game and ctx.game.data and ctx.game.data.pokemon or {})[mon.species] + local ids = (def and def.typeIds) or {} + if type1Var then setVar(ctx.save, type1Var, tonumber(ids[1]) or 0) end + if type2Var then setVar(ctx.save, type2Var, tonumber(ids[2]) or tonumber(ids[1]) or 0) end +end + +-- AN EGG ANSWERS NO, and the cartridge checks that before it looks at the move +-- slots -- an egg's move list is real data and would otherwise match. +function Commands.g4_mon_has_move(ctx, destVar, move, slot) + local mon = partyMon(ctx, slot) + local want = math.floor(valueOf(ctx, move) or 0) + local yes = 0 + if mon and not mon.isEgg then + for _, m in ipairs(mon.moves or {}) do + local id = tonumber(m) or tonumber(m and m.id) + if id == want then yes = 1 break end + end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `getfirstnonegginparty ` -- the slot, not the Pokemon. +function Commands.g4_first_non_egg(ctx, destVar) + local slot = 0 + for i, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then slot = i - 1 break end + end + if destVar then setVar(ctx.save, destVar, slot) end + setResult(ctx, slot) +end + +-- `checkpartyhasspecies2 ` -- `Party_HasSpecies`. Note the +-- order: species first here, destination second, unlike the four above. +function Commands.g4_party_has_species(ctx, species, destVar) + local want = math.floor(valueOf(ctx, species) or 0) + local yes = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if speciesNumber(mon) == want then yes = 1 break end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `startwildbattle ` -- the plain scripted wild battle, which +-- is `startlegendarybattle` without the flag that makes it unfleeable. Two +-- sites on Route 209 (the Spiritomb well). +function Commands.g4_start_wild_battle(ctx, species, level) + local id = math.floor(valueOf(ctx, species) or 0) + local lv = math.max(math.floor(valueOf(ctx, level) or 1), 1) + local mons = ctx.game and ctx.game.data and ctx.game.data.pokemon + if id == 0 or not (mons and mons[id]) then + Logger.warn("gen4 script: `startwildbattle` names species %s, which this " + .. "dataset does not carry -- the battle is skipped", tostring(id)) + return + end + Commands.start_battle(ctx, "wild", id, lv) +end + +-- `getnationaldexseencount ` -- the whole dex rather than Sinnoh's +-- view of it, which is what `save.pokedex.seen` already is. +function Commands.g4_national_dex_seen(ctx, destVar) + local n = 0 + for _ in pairs((ctx.save and ctx.save.pokedex and ctx.save.pokedex.seen) or {}) do + n = n + 1 + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `getselectedpartyslot ` -- which slot the party menu came back +-- with. PARTY_SLOT_NONE is 0xFF and means CANCELLED, and that is the honest +-- answer while the menus in front of it (the move tutor's) are not built: +-- answering 0 would name the first Pokemon and send the script down a branch +-- the player never chose. +Gen4Commands.PARTY_SLOT_NONE = 0xFF + +function Commands.g4_selected_party_slot(ctx, destVar) + -- ...AND IT ANSWERS FOR REAL WHEN A MENU ACTUALLY RAN. `ctx.g4PartySlot` is + -- set by the party menus that are built (so far: the trade's) and is nil + -- everywhere else, which keeps the stub's honest CANCELLED for the ones that + -- are not. Reading it only when it is present is the whole of the change: + -- nothing that used to answer NONE stops doing so. + local slot = ctx.g4PartySlot + if slot == nil then slot = Gen4Commands.PARTY_SLOT_NONE end + if destVar then setVar(ctx.save, destVar, slot) end + setResult(ctx, slot) +end + +-- --------------------------------------------------------------------------- +-- CHAPTERS FIVE AND SIX -- Veilstone to Pastoria, and Lake Valor to Canalave +-- --------------------------------------------------------------------------- +-- +-- Two walks: Veilstone through Route 214, the Valor Lakefront, Route 213 and +-- the Great Marsh to Crasher Wake's gym (131 roots, 456 blocks), and Lake +-- Valor through Route 212 to Fantina's gym, then Route 218 to Canalave and +-- Byron's (157 roots, 418 blocks). 27 and 26 unlowered rows respectively -- +-- the chapter-four work had already covered most of both. + +-- `getoverworldweather ` -- `FieldOverworldState_GetWeather`. +-- +-- THE PORT KEEPS NO SAVED GEN 4 WEATHER: `applyMapWeather` is Gen 3 only, and +-- inventing a `save.gen4Weather` that one command writes and nothing else +-- reads would be worse than answering from the map. The map's own `weather` +-- byte is extracted on 592 of 593 rows and is what the cartridge seeds the +-- saved value FROM on every load, so on the map you are standing on the two +-- agree. Route 213's two sites are asking about the beach they are on. +function Commands.g4_overworld_weather(ctx, destVar) + local ow = ctx.overworld + local def = ow and ow.map and ow.map.def + local value = tonumber(def and def.weather) or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `getpartymonmove ` -- `MON_DATA_MOVE1 + moveSlot`. +function Commands.g4_mon_move(ctx, destVar, slot, moveSlot) + local mon = partyMon(ctx, slot) + local index = math.floor(valueOf(ctx, moveSlot) or 0) + local entry = mon and (mon.moves or {})[index + 1] + local id = tonumber(entry) or tonumber(entry and entry.id) or 0 + if destVar then setVar(ctx.save, destVar, id) end + setResult(ctx, id) +end + +function Commands.g4_mon_move_count(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local n = 0 + for _, m in ipairs((mon and mon.moves) or {}) do + local id = tonumber(m) or tonumber(m and m.id) or 0 + if id ~= 0 then n = n + 1 end + end + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `findpartyslotwithmove ` -- and THE MISS VALUE IS SIX, not +-- zero: `for (slot = 0, *destVar = MAX_PARTY_SIZE; ...)` seeds the destination +-- with the party size and only overwrites it on a hit, so "nobody knows this +-- move" and "the first Pokemon knows it" are 6 and 0. Answering 0 on a miss +-- would name the lead. +function Commands.g4_find_slot_with_move(ctx, destVar, move) + local want = math.floor(valueOf(ctx, move) or 0) + local found = 6 + for i, mon in ipairs((ctx.save and ctx.save.party) or {}) do + if not mon.isEgg then + for _, m in ipairs(mon.moves or {}) do + local id = tonumber(m) or tonumber(m and m.id) + if id == want then found = i - 1 break end + end + end + if found ~= 6 then break end + end + if destVar then setVar(ctx.save, destVar, found) end + setResult(ctx, found) +end + +-- `getpcboxesfreeslotcount ` -- `MAX_PC_BOXES * MAX_MONS_PER_BOX` +-- minus what is stored. The port's own `Boxes` module answers both halves and +-- already knows the running cartridge's shape, so no constant is hard-coded +-- here. The one site is the Great Marsh gate refusing you when there is +-- nowhere to put a catch -- which is why answering a flat zero would have been +-- actively wrong rather than merely absent. +-- NO pcall AROUND THE REQUIRE, and that is a correction rather than an +-- oversight. The first version wrapped it and fell back to ZERO free slots -- +-- which is not "I could not tell", it is "your boxes are full", and it is the +-- one answer that makes the Great Marsh gate turn the player away. A defensive +-- default has to be the harmless one, and here that is the opposite end. +-- +-- `src.pokemon.Boxes` is a core module that every generation loads, so a +-- failure to require it is a real fault and should be loud rather than quietly +-- locking a player out of the marsh. +function Commands.g4_pc_free_slots(ctx, destVar) + local Boxes = require("src.pokemon.Boxes") + local free = 0 + if ctx.save then + Boxes.ensure(ctx.save) + local used = 0 + for _, box in pairs(ctx.save.boxes or {}) do + used = used + (tonumber(Boxes.used(box)) or 0) + end + local total = (tonumber(Boxes.count()) or 0) * (tonumber(Boxes.capacity()) or 0) + free = math.max(0, total - used) + end + if destVar then setVar(ctx.save, destVar, free) end + setResult(ctx, free) +end + +-- `checkdidnotcapture ` -- `CheckPlayerDidNotCaptureWildMon`, asked +-- after a legendary or scripted wild battle so the script knows whether to put +-- the Pokemon back on the map. `start_battle` already leaves the outcome in +-- `ctx.lastBattleResult`, and "caught" is the only result that means captured. +function Commands.g4_did_not_capture(ctx, destVar) + local value = (ctx.lastBattleResult == "caught") and 0 or 1 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- --------------------------------------------------------------------------- +-- CHAPTERS SEVEN AND EIGHT -- Byron to Candice, and Spear Pillar to the League +-- --------------------------------------------------------------------------- +-- +-- Chapter seven (Canalave, Iron Island, Celestic, the Galactic HQ, Routes 216 +-- and 217, Snowpoint and Lake Acuity) came in at 196 roots, 560 blocks and only +-- 16 unlowered rows -- the earlier chapters had already covered it. +-- +-- Chapter eight (Mt. Coronet's top, Spear Pillar, the Distortion World, +-- Sunyshore, Victory Road and the whole Pokemon League) is 129 roots, 421 +-- blocks, 128 rows -- and it contains the end of the game. + +-- `getbattleresult ` -- the raw result MASK, not the won/lost bit that +-- `checkwonbattle` and `checklostbattle` each read one flag out of. The one +-- site is the Distortion World asking how the Giratina fight ended so it can +-- decide whether to put it back. +-- +-- The port keeps `ctx.lastBattleResult` as a word, so the mask is rebuilt from +-- it here rather than a fourth field being added to the context. +-- +-- AND IT IS A BITMASK, NOT AN ENUM, which is what the old table got wrong. +-- `include/constants/battle.h` builds the compound values out of three bits: +-- +-- WIN 1 << 0 = 1 +-- LOSE 1 << 1 = 2 +-- CAPTURED_MON 1 << 2 = 4 +-- DRAW WIN | LOSE = 3 +-- PLAYER_FLED CAPTURED_MON | WIN = 5 +-- ENEMY_FLED CAPTURED_MON | LOSE = 6 +-- TRY_FLEE_WAIT 1 << 6 = 64 TRY_FLEE 1 << 7 = 128 +-- +-- The old table read `{ caught = 5, fled = 3, draw = 4 }` -- the right SET of +-- numbers attached to the wrong three names, a straight three-way rotation of +-- CAPTURED_MON, PLAYER_FLED and DRAW. That is what guessing an order looks +-- like when the values happen to be small and contiguous. +-- +-- ONE SITE, MEASURED over all 8,567 blocks: `getbattleresult` occurs exactly +-- once in the cartridge and it is the Distortion World asking how the Giratina +-- fight ended. Said plainly because the number matters to the claim: this is +-- a wrong constant with almost no blast radius, unlike the yes/no menu's 511. +-- `checkwonbattle` (197 sites) and `checklostbattle` (1) read their own bit +-- through their own commands and never touch this table. +Gen4Commands.BATTLE_RESULT = { + win = 1, lose = 2, caught = 4, draw = 3, fled = 5, enemyFled = 6, +} + +function Commands.g4_get_battle_result(ctx, destVar) + local value = Gen4Commands.BATTLE_RESULT[ctx.lastBattleResult or ""] or 0 + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `checkpartyhashelditem ` -- Mt. Coronet's summit asking +-- whether you are carrying the Adamant or Lustrous Orb. +function Commands.g4_party_has_held_item(ctx, item, destVar) + local data = ctx.game and ctx.game.data + local want = itemKey(data, math.floor(valueOf(ctx, item) or 0)) + local yes = 0 + for _, mon in ipairs((ctx.save and ctx.save.party) or {}) do + local held = mon.item or mon.heldItem + if held and held == want then yes = 1 break end + end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +-- `setspeciesseen ` -- `FieldSystem_WriteSpeciesSeen`. Spear Pillar +-- marks Dialga and Palkia seen as they appear, before either is fought, which +-- is how the dex knows about the one you do not get. +function Commands.g4_set_species_seen(ctx, species) + local id = math.floor(valueOf(ctx, species) or 0) + if id == 0 then return end + local save = ctx.save + if not save then return end + save.pokedex = save.pokedex or { seen = {}, owned = {} } + save.pokedex.seen = save.pokedex.seen or {} + save.pokedex.seen[id] = true +end + +-- `getgameversion ` -- `GAME_VERSION`, which is VERSION_PLATINUM. +-- Counted off `include/constants/versions.h` rather than assumed, because the +-- enum has three UNUSED holes in it: NONE 0, SAPPHIRE 1, RUBY 2, EMERALD 3, +-- FIRERED 4, LEAFGREEN 5, unused 6, HEARTGOLD 7, SOULSILVER 8, unused 9, +-- DIAMOND 10, PEARL 11, PLATINUM 12. Spear Pillar asks so it knows whether +-- Dialga or Palkia is yours. +Gen4Commands.VERSION_PLATINUM = 12 + +function Commands.g4_game_version(ctx, destVar) + local value = Gen4Commands.VERSION_PLATINUM + if destVar then setVar(ctx.save, destVar, value) end + setResult(ctx, value) +end + +-- `getleaguevictories ` -- how many times the Hall of Fame has been +-- entered. `record_hall_of_fame` appends one entry per induction to +-- `save.hallOfFame`, so the count is already kept and this is a length. +function Commands.g4_league_victories(ctx, destVar) + local n = #((ctx.save and ctx.save.hallOfFame) or {}) + if destVar then setVar(ctx.save, destVar, n) end + setResult(ctx, n) +end + +-- `getpartymonevtotal ` -- the six EVs added up, which the +-- Sunyshore market reads to decide what it will sell you. +function Commands.g4_mon_ev_total(ctx, destVar, slot) + local mon = partyMon(ctx, slot) + local n = 0 + for _, v in pairs((mon and mon.evs) or {}) do n = n + (tonumber(v) or 0) end + if destVar then setVar(ctx.save, destVar, math.floor(n)) end + setResult(ctx, math.floor(n)) +end + +-- RIBBONS, AND TWO SCHEMES THAT DO NOT LINE UP. +-- +-- `getpartymonribbon` is the single commonest unlowered command in the whole +-- cartridge -- 178 sites -- and the port already has a ribbon store, but it is +-- HOENN'S: `mon.ribbons` keyed by name, with rank counters, because that is +-- what the contest screen and the POKeNAV read. A Gen 4 script addresses a +-- ribbon by NUMBER, and the map between the two schemes is a table this port +-- does not carry. +-- +-- So Gen 4 ribbons are stored under their own NUMERIC keys in the same table. +-- They round-trip exactly (set then get answers yes), they cannot collide with +-- Hoenn's string keys, and `Contest.ribbonCount` walks named keys only, so a +-- Sinnoh ribbon does not silently inflate a Hoenn count. What it does NOT do +-- is show up on the ribbon screen -- that needs the map, and inventing one +-- would put the wrong picture on the right Pokemon. +function Commands.g4_get_mon_ribbon(ctx, destVar, slot, ribbon) + local mon = partyMon(ctx, slot) + local id = math.floor(valueOf(ctx, ribbon) or 0) + local yes = 0 + if mon and type(mon.ribbons) == "table" and mon.ribbons[id] then yes = 1 end + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + +function Commands.g4_set_mon_ribbon(ctx, slot, ribbon) + local mon = partyMon(ctx, slot) + if not mon then return end + local id = math.floor(valueOf(ctx, ribbon) or 0) + if type(mon.ribbons) ~= "table" then mon.ribbons = {} end + mon.ribbons[id] = true +end + +-- --------------------------------------------------------------------------- +-- THE SIX LIFTS +-- --------------------------------------------------------------------------- +-- +-- Gen4Elevators.lua carries the whole write-up: two notes in this port said +-- something settled, both were wrong, and between them every lift in Sinnoh +-- opened onto nothing. In short -- a warp with destHeaderID 0xfff and +-- destWarpID 0x100 resolves from the SPECIAL LOCATION, six warps carry that +-- pair and all six are lift cars, and `setspeciallocation` (which writes the +-- slot) was lowered to a noop. +-- +-- Required for: Jubilife TV, both Hearthome houses, the Veilstone department +-- store, the Resort Area's Ribbon Syndicate and the Vista Lighthouse. + +local function elevators() return require("src.import.Gen4Elevators") end + +-- `setspeciallocation `. +-- +-- Stored in the SAME SHAPE as Gen 3's `gen3DynamicWarp` -- map id, the raw +-- cartridge warp id, coordinates -- so `Warp.resolve` reads the two seams the +-- same way and the "-1 means use the coordinates" rule is written once. Gen 3 +-- spells that sentinel 0xFF and Gen 4 0xFFFF, because one is a byte operand +-- and the other a word. +function Commands.g4_special_location(ctx, header, warp, x, z, facing) + local Elevators = elevators() + local data = ctx.game and ctx.game.data + local id = math.floor(valueOf(ctx, header) or 0) + local mapId = mapForHeader(data, id) + if not mapId then + -- Refusing beats writing a slot the warp cannot resolve: the door then + -- leaves the player standing in the car with the reason in the log, which + -- is how the Gen 3 seam fails too. + Logger.warn("gen4 lift: `setspeciallocation` names header %d and no map in " + .. "this cache was built from it -- the slot is left alone", id) + return + end + local warpId = math.floor(valueOf(ctx, warp) or Elevators.WARP_NONE) + ctx.save = ctx.save or {} + ctx.save.gen4SpecialLocation = { + map = mapId, + warp = warpId, + x = math.floor(valueOf(ctx, x) or 0), + -- the cartridge's second horizontal axis is `z`; this engine calls it y + y = math.floor(valueOf(ctx, z) or 0), + -- Kept although the warp path does not read it: the OTHER readers of this + -- slot do (the Great Marsh puts you back facing the way you came in when + -- the balls run out), and dropping it here would mean re-deriving it there. + facing = DIRECTION[math.floor(valueOf(ctx, facing) or 1)] or "down", + } +end + +-- `getfloorsabove ` -- `FieldMenu_GetFloorsAbove(specialLocation)`. +-- +-- THE FLOOR IT ANSWERS ABOUT IS THE ONE YOU GOT ON AT, not the car you are +-- standing in, and that is what `Warp.noteGen4Entrance` keeps the slot up to +-- date for. The two-floor lifts are nothing but this command and a branch. +function Commands.g4_floors_above(ctx, destVar) + local Elevators = elevators() + local spot = ctx.save and ctx.save.gen4SpecialLocation + local above + if spot and spot.map then + above = Elevators.floorsAbove(spot.map) + else + -- The cartridge's slot always holds something; an empty one here means the + -- player reached a lift without passing through its door. The switch's own + -- default is the honest answer and it is not zero -- 1 is Hearthome's "go + -- up", so the car still moves. + above = Elevators.FLOORS_ABOVE_DEFAULT + Logger.warn("gen4 lift: `getfloorsabove` with no special location set -- " + .. "answering the switch's default (%d)", above) + end + if destVar then setVar(ctx.save, destVar, above) end + setResult(ctx, above) +end + +-- `bufferfloornumber ` -- `StringTemplate_SetFloorNumber`. +-- +-- ZERO IS THE BASEMENT: the operand is an index into the menu-entries bank, +-- not a signed floor, so formatting it as a number would print B1F as "0F". +-- The label is cartridge text (bank 361, "1F" at 116 through "B1F" at 121) and +-- falls back to the English literal only where the cache has no bank. +function Commands.g4_buffer_floor(ctx, slot, floor) + local Elevators = elevators() + local game = ctx.game + if not game then return end + local n = math.floor(tonumber(floor) or 1) + local key = require("src.import.Gen4Text").label(Elevators.FLOOR_BANK, + Elevators.floorEntry(n)) + local text = game.data and game.data.text and game.data.text[key] + if type(text) ~= "string" or text == "" then + text = Elevators.floorLabel(n) + end + game.stringBuffers = game.stringBuffers or {} + game.stringBuffers[(tonumber(slot) or 0) + 1] = text +end + +-- `checkisdepartmentstoreregular ` -- the buy counter against five. +-- +-- Read from the var rather than hard-answered "no": the counter is real save +-- state, and the day the specialty counters are stocked it starts climbing +-- without this command changing. Today the shop that would increment it is +-- declined, so a fresh save answers no -- which is also what the cartridge +-- tells a player who has bought nothing. +function Commands.g4_store_regular(ctx, destVar) + local Elevators = elevators() + local bought = getVar(ctx.save, Elevators.BUY_COUNT_VAR) + local yes = (bought >= Elevators.REGULAR_PURCHASES) and 1 or 0 + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) +end + + +-- --------------------------------------------------------------------------- +-- THE PLATFORM LIFTS +-- --------------------------------------------------------------------------- +-- +-- `checkplatformliftnotusedwhenenteredmap ` -- five sites, all five +-- Pokemon League elevator rooms. +-- +-- The whole of the answer is `PersistedMapFeatures_InitForPlatformLift`: the +-- flag starts TRUE and only the six LEAGUE cases clear it, only when the +-- arrival z is not the room's bottom-floor warp z. So it means DID YOU COME IN +-- AT THE BOTTOM, and the room's coord event -- the lift's trigger -- is live +-- exactly when you did. +-- +-- THE COMPARISON IS IN MATRIX COORDINATES. The cartridge reads +-- `location->z`, and Iron Island B2F-left's own constant settles which space +-- that is: `MAP_TILES_COUNT_Z * 1 + 16` is 48 on a 64x64 map, which only a +-- matrix coordinate can be. All nine of these maps happen to sit at origin +-- (0,0) so local and matrix agree today; `toMatrix` is used anyway, so a mod +-- that relocates one of them is right rather than accidentally right. +-- +-- Nothing a player sees changes: the trigger this gates is a no-op in this port +-- (see Gen4ScriptVM, and Gen4PlatformLifts for why all nine rooms are walkable +-- without their lift). What changes is that the var is written. +function Commands.g4_platform_lift_bottom(ctx, destVar) + local Lifts = require("src.import.Gen4PlatformLifts") + local ow = ctx.overworld + local def = ow and ow.map and ow.map.def + local player = ow and ow.player + local _, z = toMatrix(ctx, player and player.cellX, player and player.cellY) + local header = def and def.header + local yes = Lifts.notUsedWhenEnteredMap(header, z) and 1 or 0 + if destVar then setVar(ctx.save, destVar, yes) end + setResult(ctx, yes) + -- The answer names the map and the z it compared, because every one of the + -- five sites is a branch on it and a wrong z looks exactly like the room + -- having no lift at all. + local row = Lifts.row(header) + Logger.debug("gen4 platform lift: %s (header %s) at z %s -> entered at the " + .. "%s, notUsedWhenEnteredMap = %d", + tostring(row and row.what or (def and def.id)), tostring(header), + tostring(z), (yes == 1) and "bottom" or "top", yes) +end + + +-- --------------------------------------------------------------------------- +-- RELEASING A ROAMER +-- --------------------------------------------------------------------------- +-- +-- `activateroamingpokemon ` -- `RoamingPokemon_ActivateSlot`, one byte, +-- no destination. Eight sites over three maps, and one of them is VERITY +-- CAVERN: Mesprit is released the moment the player looks into Lake Verity's +-- water, which is main-path and early. +-- +-- The operand is a LITERAL byte (the opcode's width is "b", so it is read with +-- ReadByte and not through a var) -- spelled with `tonumber` rather than +-- `valueOf` for that reason, which is also what keeps slot 0 from being read as +-- a var id. +function Commands.g4_release_roamer(ctx, slot) + local Roamers = require("src.world.Gen4Roamers") + local data = ctx.game and ctx.game.data + local id = math.floor(tonumber(slot) or -1) + local def = Roamers.SLOTS[id] + if not def then + Logger.warn("gen4 roamer: `activateroamingpokemon` names slot %d, which is " + .. "not one of the six -- nothing was released", id) + return + end + -- ALREADY LOOSE, OR ALREADY DEALT WITH. Eterna's south house runs its three + -- rows TWICE (two script entries reach the same block), and the cartridge's + -- ActivateSlot would rebuild the roamer both times -- which on hardware means + -- the second visit re-rolls a legendary the player may have spent hours + -- chasing. Refusing to overwrite a LIVE one is the behaviour a player wants + -- and the behaviour the duplicated site implies; a RETIRED one stays retired, + -- because the cartridge's own `notUsed`-style state is the slot's `active` + -- flag and a caught Mesprit does not come back. + local existing = (ctx.save and ctx.save.gen4Roamers or {})[id] + if type(existing) == "table" then + Logger.info("gen4 roamer: slot %d (%s) is already %s -- left alone", + id, def.name, existing.active and "roaming" or "retired") + return + end + local it = Roamers.activate(data, ctx.save, id) + if not it then + Logger.warn("gen4 roamer: slot %d (%s) could not be released", id, def.name) + return + end + Logger.info("gen4 roamer: %s (species %d, level %d) is loose on %s", + def.name, def.species, def.level, tostring(it.map)) +end + + +pending("g4_common", "the common-script archive") +pending("g4_unimplemented", "the opcode itself") + +return Gen4Commands diff --git a/src/script/Gen4ScriptVM.lua b/src/script/Gen4ScriptVM.lua index 887e073c6..21120e0a2 100644 --- a/src/script/Gen4ScriptVM.lua +++ b/src/script/Gen4ScriptVM.lua @@ -76,15 +76,53 @@ local function emit(s, row) s.out[#s.out + 1] = row end -- A decoded jump carries `target`, an absolute position inside the member. -- The pool keys scripts by that position, so the label is derived from it in -- one place rather than in every branch entry. -local function labelFor(instruction) +-- A BRANCH TARGET'S LABEL MUST CARRY ITS MEMBER, and for the whole Gen 4 +-- effort it did not. +-- +-- The pool is keyed by `Gen4ScriptVM.label(member, at)` -- "M0427/S00C0" -- +-- because a script file is one member of scr_seq and an offset means nothing +-- without one. This built "S00C0". So `s.has(label)` was false for EVERY +-- branch in the cartridge, `branch` answered nil, and `goto`, `gotoif`, `call` +-- and `callif` each emitted NOTHING AT ALL. +-- +-- MEASURED over all 8,567 blocks, compiling each one before and after: +-- +-- rows jump/call rows labels +-- before 63,629 6,385 0 +-- after 590,965 169,017 66,258 +-- +-- ZERO LABELS IS THE TELL. Not one branch target was emitted anywhere in +-- Platinum, and the 6,385 surviving "jump" rows are all `jump end` -- the one +-- control-flow lowering that does not go through here, because it uses the +-- literal label "end". The only control flow the game had was "stop". +-- +-- WHAT IT COST, which is every play report on the opening at once: Route 201's +-- scene is `message` then four `comparevartovalue` rows then `end`, so the +-- briefcase, the starter and Barry-as-follower are all behind branches that +-- were never emitted; Twinleaf's guitarist keeps his approach and loses the +-- eight branches that decide where he walks; and Rowan and the counterpart are +-- revealed by a `clearflag`/`addobject` pair inside a branch block. +-- +-- INVISIBLE TO ALL SEVEN CHECKS, and that is the lesson rather than the bug. +-- `g4_jump_if` resolves to a handler, its arity matches, its operands are in +-- the right order and its width agrees with pret -- every one of those asks +-- about a row that was never emitted. Coverage counted the INSTRUCTION as +-- lowered, which it was. tools/gen4_branch_check.lua is the eighth check and +-- it asks the one question the others cannot: does every jump land somewhere. +-- +-- The member comes off the block being lowered -- `state.member`, parsed from +-- its own label -- and a Gen 4 branch operand is always an offset within the +-- SAME member, which is what makes that the right source. +local function labelFor(instruction, member) local t = instruction.target if type(t) ~= "number" then return nil end + if member then return Gen4ScriptVM.label(member, t) end return ("S%04X"):format(t) end Gen4ScriptVM.labelFor = labelFor local function branch(s, instruction) - local label = labelFor(instruction) + local label = labelFor(instruction, s and s.member) if not label then return nil end if s.has and not s.has(label) then return nil end if s.want then s.want(label) end @@ -125,7 +163,30 @@ L.callif = function(ins, s) emit(s, { "label", ret }) end -L.callcommonscript = function(ins, s) emit(s, { "g4_common", ins.args[1] }) end +-- A REAL CALL, into the shared script file the id names. +-- +-- This used to emit `g4_common ` and stop, on the reading that common +-- scripts "are not in the map's own member, and inlining would need the whole +-- common archive resolved before a single map could lower". Both halves of +-- that turned out to be already done: `extractScripts` decodes EVERY member of +-- scr_seq -- member 211, `scripts_common`, has 231 blocks in the pool -- and +-- the extractor now writes each band's entry-point list beside them. So the +-- id resolves to a label in the same table `goto` and `call` already jump +-- into, and this becomes the ordinary call it always was. +-- +-- 668 sites in this cartridge: 652 into `common_scripts`, 14 into +-- `pokedex_ratings`, 2 into `pokemon_center_2f_common`. Falls back to the old +-- unexecutable row when the pool has no band table, which is what a cache +-- imported before this looks like. +L.callcommonscript = function(ins, s) + local label = s.bandLabel and s.bandLabel(ins.args[1]) + if not label then emit(s, { "g4_common", ins.args[1] }) return end + if s.want then s.want(label) end + local ret = s.newLabel() + emit(s, { "g4_call", ret }) + emit(s, { "jump", label }) + emit(s, { "label", ret }) +end L.returncommonscript = function(_, s) emit(s, { "g4_return" }) end -- comparisons -------------------------------------------------------------- @@ -162,31 +223,96 @@ L.checktrainerflag = function(ins, s) emit(s, { "g4_check_trainer_flag", ins.arg -- msgArchiveID selects -- so the row carries the entry and the runner -- resolves the bank. Carrying a resolved string here instead would bake one -- language into the lowering. -L.message = function(ins, s) emit(s, { "show_text", ins.args[1] }) end -L.message2 = L.message +-- A GEN 4 `message` NAMES AN ENTRY, AND THE BANK IS THE MAP'S. +-- +-- This used to lower straight to `show_text`, on the reading that "the row +-- carries the entry and the runner resolves the bank". Nothing resolved it: +-- `Commands.show_text` looks its argument up in `data.text`, which the Gen 4 +-- extractor keys `TEXT_Bnnnn_nnnnn`, so a bare index found nothing and the box +-- came up EMPTY. `g4_message` is that join -- the map def's own `messages` +-- bank plus this entry -- and it has to be a separate verb because a Gen 1-3 +-- `show_text` takes a whole id and a Gen 4 one takes half of one. +-- ...AND FROM WHICHEVER BANK THE BLOCK'S OWN FILE READS. +-- +-- `ScriptContext_Load` takes a script file AND a text bank together, so a +-- block that lives in a shared file does NOT read the current map's message +-- archive -- it reads its band's. A common script's `message 3` is entry 3 of +-- TEXT_BANK_COMMON_STRINGS wherever the player happens to be standing, and +-- resolving it against the town's bank would print some other map's line. +-- One place, because four commands print a line and three of them are signs. +local function message(entry, s) + local bank = s.bankFor and s.bankFor(s.member) + if bank then + emit(s, { "g4_message_bank", bank, entry }) + else + emit(s, { "g4_message", entry }) + end +end + +L.message = function(ins, s) message(ins.args[1], s) end +-- FOUR MORE SPELLINGS OF THE SAME COMMAND, and `message2` -- which this used +-- to alias -- IS NOT ONE OF THEM. Checked against the decoder's own table: +-- there is no opcode named `message2`, so that line lowered nothing. The +-- real siblings are 0x2B, 0x2E and 0x2F, which differ only in how the box +-- animates, and 0x2D, which takes the entry out of a VAR instead of a byte. +L.messageinstant = L.message +L.messagenoskip = L.message +L.messagesynchronized = L.message +L.messagevar = function(ins, s) emit(s, { "g4_message_var", ins.args[1] }) end L.closemessage = function(_, s) emit(s, { "g4_close_message" }) end L.closemessagewithouterasing = L.closemessage L.waitbutton = function(_, s) emit(s, { "g4_wait_button" }) end -L.showyesnomenu = function(_, s) emit(s, { "ask" }) end +-- `showyesnomenu ` PUTS THE ANSWER SOMEWHERE, and this dropped it. +-- The row asked the question and the script then compared a var nothing had +-- written, so every yes/no in Sinnoh branched on stale state. +L.showyesnomenu = function(ins, s) + emit(s, { "ask" }) + emit(s, { "g4_from_yesno", ins.args[1] }) +end L.lockall = function(_, s) emit(s, { "g4_lock_all" }) end L.releaseall = function(_, s) emit(s, { "g4_release_all" }) end -L.lock = function(ins, s) emit(s, { "g4_lock", ins.args[1] }) end -L.release = function(ins, s) emit(s, { "g4_release", ins.args[1] }) end +-- `lockobject` / `releaseobject`, which is what the decoder calls 0x62 and +-- 0x63. These were written as `lock` and `release`, which are not opcode +-- names, so neither ever fired. +L.lockobject = function(ins, s) emit(s, { "g4_lock", ins.args[1] }) end +L.releaseobject = function(ins, s) emit(s, { "g4_release", ins.args[1] }) end L.faceplayer = function(_, s) emit(s, { "g4_face_player" }) end L.bufferplayername = function(ins, s) emit(s, { "g4_buffer", ins.args[1], "player" }) end -L.bufferpokemonname = function(ins, s) +-- `bufferpokemonname` is not an opcode either; the cartridge has one buffer +-- for a party member's SPECIES and another for its NICKNAME, plus move, +-- number and the counterpart's name. All six are byte-slot-then-word. +L.bufferpartymonspecies = function(ins, s) emit(s, { "g4_buffer", ins.args[1], "species", ins.args[2] }) end +L.bufferpartymonnickname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "nickname", ins.args[2] }) +end +L.buffermovename = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "move", ins.args[2] }) +end +L.buffernumber = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "number", ins.args[2] }) +end +L.buffercounterpartname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "rival" }) +end L.bufferitemname = function(ins, s) emit(s, { "g4_buffer", ins.args[1], "item", ins.args[2] }) end -- movement, sound and screen ---------------------------------------------- +-- THE STEPS, not the offset. `ins.movement` is the list the extractor +-- decoded out of the same member the instruction lives in (Gen4Movement); the +-- raw displacement it used to pass was meaningless to the runner, which is why +-- `g4_move` could do nothing with it but turn the object round. +-- +-- A row with no list still turns the object to face the player, which is what +-- this did before and is better than a character talking to a wall. L.applymovement = function(ins, s) - emit(s, { "g4_move", ins.args[1], ins.args[2] }) + emit(s, { "g4_move", ins.args[1], ins.movement }) end L.waitmovement = function(_, s) emit(s, { "g4_wait_move" }) end L.playse = function(ins, s) emit(s, { "play_sound", ins.args[1] }) end @@ -194,7 +320,13 @@ L.waitse = function(_, s) emit(s, { "g4_wait_sound" }) end L.playcry = function(ins, s) emit(s, { "play_cry", ins.args[1], ins.args[2] }) end L.playfanfare = function(ins, s) emit(s, { "g4_fanfare", ins.args[1] }) end L.waitfanfare = function(_, s) emit(s, { "g4_wait_fanfare" }) end -L.fadescreen = function(ins, s) emit(s, { "g4_fade", ins.args[1], ins.args[2] }) end +-- `fadescreen ` -- FOUR operands, and the +-- DIRECTION IS THE THIRD. This passed the first two and the command read the +-- first, which is a constant 6 at all 736 reached sites; see `g4_fade` for the +-- measurement and for why the parity is the opposite of Hoenn's. +L.fadescreen = function(ins, s) + emit(s, { "g4_fade", ins.args[3], ins.args[1], ins.args[2], ins.args[4] }) +end L.waitfadescreen = function(_, s) emit(s, { "g4_wait_fade" }) end L.waittime = function(ins, s) emit(s, { "wait", ins.args[1] }) end @@ -203,10 +335,24 @@ L.removeobject = function(ins, s) emit(s, { "g4_hide_object", ins.args[1] }) end -- items -------------------------------------------------------------------- -L.giveitem = function(ins, s) emit(s, { "g4_give_item", ins.args[1], ins.args[2] }) end -L.takeitem = function(ins, s) emit(s, { "g4_take_item", ins.args[1], ins.args[2] }) end -L.checkitem = function(ins, s) emit(s, { "g4_check_item", ins.args[1], ins.args[2] }) end -L.canfititem = function(ins, s) emit(s, { "g4_can_fit_item", ins.args[1], ins.args[2] }) end +-- ALL FOUR ARE `(item, count, destVar)` -- `scrcmd_item.c` -- and all four +-- write whether they succeeded into that var, which the script then compares. +-- This used to name two of them `giveitem` and `takeitem`, which are not +-- opcodes (the decoder calls them `additem` and `removeitem`, after the +-- cartridge), so NO GIFT IN SINNOH WAS LOWERED AT ALL; and it dropped the +-- destination on the other two, so `checkitem` branched on a stale register. +L.additem = function(ins, s) + emit(s, { "g4_give_item", ins.args[1], ins.args[2], ins.args[3] }) +end +L.removeitem = function(ins, s) + emit(s, { "g4_take_item", ins.args[1], ins.args[2], ins.args[3] }) +end +L.checkitem = function(ins, s) + emit(s, { "g4_check_item", ins.args[1], ins.args[2], ins.args[3] }) +end +L.canfititem = function(ins, s) + emit(s, { "g4_can_fit_item", ins.args[1], ins.args[2], ins.args[3] }) +end -- the trainer-battle preamble --------------------------------------------- @@ -223,20 +369,44 @@ L.checkhastwoalivemons = function(ins, s) emit(s, { "g4_check_two_alive", ins.ar L.getmovementtype = function(ins, s) emit(s, { "g4_get_movement_type", ins.args[1], ins.args[2] }) end -L.trainerbattle = function(ins, s) - emit(s, { "g4_trainer_battle", ins.args[1], ins.args[2] }) -end +-- `trainerbattle` used to sit here and is not an opcode; the cartridge's own +-- name is `starttrainerbattle`, which is lowered further down with its two +-- operands. L.checkwonbattle = function(ins, s) emit(s, { "g4_check_won_battle", ins.args[1] }) end +-- Its twin, and NOT the negation of it: `CheckPlayerLostBattle` reads a +-- different bit of the same result mask, so a battle that ended some third way +-- (a draw, a fled wild) answers no to both. One site in the cartridge. +L.checklostbattle = function(ins, s) + emit(s, { "g4_check_lost_battle", ins.args[1] }) +end -- signposts --------------------------------------------------------------- -- Gen 4's sign boxes are a small state machine rather than one command: -- draw, set what the box does, poll the player's choice, wait for it to -- finish. All four have to lower together or a sign opens and never closes. +-- A SIGN'S FIRST OPERAND IS ITS TEXT, and all three of these lowered it as if +-- it were part of the box. `ScrCmd_DrawSignpostInstantMessage` (scrcmd.c) +-- reads `(messageID, signpostType, narcMember, unused)` and then does +-- `MessageLoader_GetString(ctx->loader, messageID, ...)` -- it draws the +-- wooden frame AND prints the line. The frame is cosmetic; the line is the +-- sign. 159 of these in the cartridge, plus 26 scrolling ones, every one of +-- them silent. +-- +-- The box itself stays the engine's own, which is why nothing here asks for +-- `signpostType` or the member: this port has one message box and it is +-- already the cartridge's art. L.drawsignpostinstantmessage = function(ins, s) - emit(s, { "g4_signpost_draw", ins.args[1], ins.args[2] }) + message(ins.args[1], s) end -L.setsignpostcommand = function(ins, s) emit(s, { "g4_signpost_command", ins.args[1] }) end +-- `drawsignposttextbox ` draws an EMPTY frame -- there is no +-- message operand at all -- and whatever fills it comes later. The engine +-- opens its box when something is printed into it, so this is genuinely +-- nothing to do rather than something skipped. +L.setsignpostcommand = function(_, s) emit(s, { "g4_signpost_command" }) end +-- `getsignpostinput ` is which line of a multi-choice sign was +-- picked. Answering 0 -- the first -- is not the same as asking, and it is +-- said here rather than left as a stale register for the branch below it. L.getsignpostinput = function(ins, s) emit(s, { "g4_signpost_input", ins.args[1] }) end L.waitforsignpostdone = function(_, s) emit(s, { "g4_signpost_wait" }) end @@ -246,14 +416,149 @@ L.getplayermappos = function(ins, s) emit(s, { "g4_player_pos", ins.args[1], ins L.getplayergender = function(ins, s) emit(s, { "g4_player_gender", ins.args[1] }) end L.bufferrivalname = function(ins, s) emit(s, { "g4_buffer", ins.args[1], "rival" }) end L.waitcry = function(_, s) emit(s, { "g4_wait_cry" }) end +-- WHERE AN OBJECT STANDS, WHICH WAY IT FACES, AND HOW IT BEHAVES -- the three +-- rows a map's entry script uses to arrange its actors before you see them. +-- Twinleaf's player house calls all three (`setobjecteventpos 0, 2, 4 / +-- setobjecteventdir 0, 0 / setobjecteventmovementtype 0, 14`) and only the +-- first was lowered. +-- THE THREE ROWS THE NEW-GAME SCRIPT ENDS WITH, which are bookkeeping rather +-- than anything on screen: the size-contest record, Jubilife's lottery number +-- and the daily random level. Named as no-ops so they stop going through the +-- unknown-command path -- a log line saying nothing is worse than one saying +-- which feature is absent. +L.initsizecontestrecord = function(_, s) emit(s, { "g4_noop", "size contest record" }) end +L.randomizejubilifelottery = function(_, s) emit(s, { "g4_noop", "Jubilife lottery" }) end +L.initdailyrandomlevel = function(_, s) emit(s, { "g4_noop", "daily random level" }) end + +L.setobjecteventdir = function(ins, s) + emit(s, { "g4_set_object_dir", ins.args[1], ins.args[2] }) +end +L.setobjecteventmovementtype = function(ins, s) + emit(s, { "g4_set_object_movement", ins.args[1], ins.args[2] }) +end +-- ...AND ITS LIVE TWIN, WHICH IS A SEPARATE OPCODE AND WAS NEVER LOWERED. +-- +-- `setobjecteventmovementtype` (above, 90 sites) rewrites the map's stored +-- TEMPLATE -- `MapHeaderData_SetObjectEventMovementType`. `setmovementtype` +-- (30 sites) rewrites the LIVE actor -- `MapObject_SwitchMovementType`. They +-- are adjacent in the command table and one letter apart in the name, and only +-- the template one was here, so all thirty live rows went through the +-- unknown-command path. +-- +-- Eight of those thirty set `MOVEMENT_TYPE_FOLLOW_PLAYER`, and those eight are +-- the entire partner system: Barry out of Twinleaf, Cheryl, Riley, Marley, +-- Mira, Buck, and Amity Square's pet. Without them Verity Lakefront's arrival +-- scene addresses `LOCALID_FOLLOWER`, finds nobody, and holds the input gate +-- for ever. +L.setmovementtype = function(ins, s) + emit(s, { "g4_switch_movement", ins.args[1], ins.args[2] }) +end +-- MAP_OBJ_STATUS_PERSISTENT -- the bit that decides whether an object survives +-- a map change (`sub_0206184C` deletes every object whose header id is not the +-- new map's unless it is set). Five script sites, all of them on a partner. +L.setobjectflagispersistent = function(ins, s) + emit(s, { "g4_set_object_persistent", ins.args[1], ins.args[2] }) +end +-- FLAG_HAS_PARTNER (0x961), the save's own memory of an escort. `sethaspartner` +-- 16 sites, `clearhaspartner` 22, `checkhaspartner` 2 -- and the clear is the +-- one that matters most, because at several sites it is the ONLY thing that +-- ends the escort (Lake Verity Low Water clears it and never touches the +-- movement type). +L.sethaspartner = function(_, s) emit(s, { "g4_set_partner", true }) end +L.clearhaspartner = function(_, s) emit(s, { "g4_set_partner", false }) end +L.checkhaspartner = function(ins, s) + emit(s, { "g4_check_partner", ins.args[1] }) +end +-- `setposition `, and the GROUND coordinates are x +-- and z -- `MapObject_SetPosDirFromCoords(obj, x, y, z, dir)`, where y is +-- HEIGHT. Reading them as x and y would put every placed actor on the wrong +-- tile, so the order is rearranged here rather than at the far end. +L.setposition = function(ins, s) + emit(s, { "g4_place_object", ins.args[1], ins.args[2], ins.args[4], + ins.args[5], ins.args[3] }) +end + L.setobjecteventpos = function(ins, s) emit(s, { "g4_set_object_pos", ins.args[1], ins.args[2], ins.args[3] }) end + +-- ...AND THE OTHER TWO THINGS A SCRIPT CAN PICK UP AND MOVE. +-- +-- `ScrCmd_SetWarpEventPos` and `ScrCmd_SetBgEventPos` are the same shape as +-- the object one -- `(index, x, z)`, all three through `ScriptContext_GetVar` +-- so any of them may be a var -- and they move a WARP or a SIGN rather than a +-- character. Both speak the matrix's coordinates, like every other coordinate +-- in a Gen 4 script, so both go through the same conversion. +L.setwarpeventpos = function(ins, s) + emit(s, { "g4_set_warp_pos", ins.args[1], ins.args[2], ins.args[3] }) +end +L.setbgeventpos = function(ins, s) + emit(s, { "g4_set_bg_pos", ins.args[1], ins.args[2], ins.args[3] }) +end +-- A SCRIPTED MENU IS THREE COMMANDS, AND ONLY THE MIDDLE ONE WAS LOWERED. +-- +-- The cartridge builds one in three beats (scrcmd.c): +-- +-- init(global|local)textmenu anchorX anchorY cursor canExitWithB destVar +-- addmenuentryimm entryStringID entryIndex (once per line) +-- showmenu -- blocks +-- +-- and `ResumeOnMenuSelection` waits for `destVar` to stop being +-- LIST_MENU_NO_SELECTION_YET. The port lowered only `addmenuentryimm` and +-- `showmenu`, so the DESTINATION VAR -- the entire output of the menu -- was +-- dropped on the floor, and every script that then branched on it read +-- whatever the last command had left there. 161 of the 186 menus in this +-- cartridge write var 0x800C, which is the same register `showyesnomenu` uses, +-- so the stale value was usually the previous yes/no answer. +-- +-- The init also decides WHICH TEXT BANK the entry ids name, and the two +-- spellings differ: `local` passes the script's own loader, `global` passes +-- NULL and the menu manager opens TEXT_BANK_MENU_ENTRIES instead. 90 of 151 +-- are global. See Gen4ScriptBands.MENU_ENTRIES_BANK. +local function menuInit(ins, s, bank) + -- anchorX/anchorY are dropped on purpose: they are DS tile coordinates on a + -- 256x192 screen (anchorX is 1 in 126 of 186 cases, 31 or 30 -- the + -- right-hand edge -- in 56 more), and this port's menu places itself by its + -- own rules on a screen of a different size. Passing a foreign coordinate + -- through would put the box off the edge; the cursor row and the B rule are + -- real behaviour and are kept. + emit(s, { "g4_menu_init", ins.args[5], ins.args[4], ins.args[3], bank }) +end + +L.initglobaltextmenu = function(ins, s) + menuInit(ins, s, require("src.import.Gen4ScriptBands").MENU_ENTRIES_BANK) +end +L.initglobaltextlistmenu = L.initglobaltextmenu +L.initlocaltextmenu = function(ins, s) + menuInit(ins, s, s.bankFor and s.bankFor(s.member) or nil) +end +L.initlocaltextlistmenu = L.initlocaltextmenu + +-- `addmenuentryimm ` is TWO bytes, not three; the +-- third operand this used to pass was always nil. L.addmenuentryimm = function(ins, s) - emit(s, { "g4_menu_entry", ins.args[1], ins.args[2], ins.args[3] }) + emit(s, { "g4_menu_entry", ins.args[1], ins.args[2] }) +end +-- The same row with both operands out of vars (`addmenuentry`, 0x29D), and the +-- list-menu form, whose middle operand is a SECOND COLUMN of text this port has +-- no place to draw -- `FieldMenuManager_AddListMenuEntry(entry, altText, +-- index)`. The line and the value it stands for are what the script branches +-- on, so those are carried and the alt column is not. +L.addmenuentry = function(ins, s) + emit(s, { "g4_menu_entry_var", ins.args[1], ins.args[2] }) +end +L.addlistmenuentry = function(ins, s) + emit(s, { "g4_menu_entry_var", ins.args[1], ins.args[3] }) end + L.showmenu = function(_, s) emit(s, { "g4_menu_show" }) end -L.closemenu = function(_, s) emit(s, { "g4_menu_close" }) end +L.showlistmenu = L.showmenu +-- One site in the whole cartridge, and its column count is a layout decision +-- this port does not take, so it opens as the single column everything else +-- uses. +L.showmenumulticolumn = L.showmenu +-- (`closemenu` was here and is not an opcode; the menu closes with the +-- script.) -- a few that matter far more than their count -------------------------------- @@ -263,21 +568,30 @@ L.closemenu = function(_, s) emit(s, { "g4_menu_close" }) end -- happens, and without `pokemartcommon` the clerk that motivated this file -- says hello and sells nothing. Frequency is a good guide to what to lower -- first and a poor guide to what to stop at. +-- `warp` IS FIVE OPERANDS, NOT THREE, and the second is not one of the +-- useful ones. `ScrCmd_Warp` (scrcmd.c:3566) reads +-- `(mapHeaderID, unused, x, z, direction)`, so passing args 1..3 handed the +-- runner the header, the padding and the X coordinate as if they were map, +-- x and y. Every scripted warp in Sinnoh went to the wrong place or nowhere. L.warp = function(ins, s) - emit(s, { "g4_warp", ins.args[1], ins.args[2], ins.args[3] }) + emit(s, { "g4_warp", ins.args[1], ins.args[3], ins.args[4], ins.args[5] }) +end +L.starttrainerbattle = function(ins, s) + emit(s, { "g4_start_battle", ins.args[1], ins.args[2] }) end -L.starttrainerbattle = function(ins, s) emit(s, { "g4_start_battle", ins.args[1] }) end L.pokemartcommon = function(ins, s) emit(s, { "g4_pokemart", ins.args[1] }) end L.pokemartspecialties = function(ins, s) emit(s, { "g4_pokemart", ins.args[1], "specialty" }) end L.checkbadgeacquired = function(ins, s) emit(s, { "g4_check_badge", ins.args[1], ins.args[2] }) end L.getplayerdir = function(ins, s) emit(s, { "g4_player_dir", ins.args[1] }) end L.returntofield = function(_, s) emit(s, { "g4_return_to_field" }) end L.waitforanimation = function(_, s) emit(s, { "g4_wait_animation" }) end -L.drawsignposttextbox = function(ins, s) - emit(s, { "g4_signpost_draw", ins.args[1], ins.args[2], "box" }) -end +L.drawsignposttextbox = function(_, s) emit(s, { "g4_signpost_command" }) end +-- `drawsignpostscrollingmessage ` prints its line into +-- the sign's window and then waits for the player, leaving what they pressed +-- in the var. The line is the part that matters. L.drawsignpostscrollingmessage = function(ins, s) - emit(s, { "g4_signpost_draw", ins.args[1], ins.args[2], "scrolling" }) + message(ins.args[1], s) + emit(s, { "g4_signpost_input", ins.args[2] }) end -- --------------------------------------------------------------------------- @@ -317,9 +631,35 @@ function Gen4ScriptVM.compile(data, entry) local hit = compiled[scripts][entry] if hit ~= nil then return hit or nil end + -- The band tables, resolved once per compile rather than per row: 668 call + -- sites across the cartridge and a common script is reached from hundreds of + -- them. `memberBank` is the inverse -- which text bank a block's own member + -- reads from -- and it is nil for the 1,094 members that are a map's own. + local bands = pool.bands + local memberBank = {} + if bands then + for _, band in pairs(bands) do + if band.member and band.textBank then memberBank[band.member] = band.textBank end + end + end + local out, queued, order, counter = {}, { [entry] = true }, { entry }, 0 local state = { out = out, + -- Which block a band id names: the highest threshold it clears picks the + -- file, and the remainder indexes that file's entry points -- the same + -- arithmetic `Gen4ScriptBands.classify` does for an object's script id. + bandLabel = function(id) + if not bands then return nil end + local Bands = require("src.import.Gen4ScriptBands") + local kind, name, index = Bands.classify(id) + if kind ~= "band" then return nil end + local band = bands[name] + local label = band and band.entries and band.entries[index + 1] + if label and scripts[label] then return label end + return nil + end, + bankFor = function(member) return member and memberBank[member] or nil end, has = function(label) return type(label) == "string" and scripts[label] ~= nil end, want = function(label) if type(label) == "string" and scripts[label] and not queued[label] then @@ -337,9 +677,17 @@ function Gen4ScriptVM.compile(data, entry) while index <= #order do local label = order[index] index = index + 1 - -- Every block after the first is jumped to, so it needs its label emitted - -- before its rows or the jump has nothing to land on. - if label ~= entry then emit(state, { "label", label }) end + -- EVERY block needs its label emitted before its rows, INCLUDING THE + -- FIRST. This used to skip the entry on the reading that execution starts + -- there anyway -- true, and beside the point: a script that LOOPS BACK to + -- its own first block jumps to a label `ScriptRunner.scanLabels` cannot + -- find, because the only thing that makes a row a jump target is a `label` + -- row. 878 sites in the cartridge jump to their own entry. A `label` row + -- costs nothing to execute (the runner skips it) and one row of storage. + emit(state, { "label", label }) + -- WHICH MEMBER THIS BLOCK LIVES IN, which decides its text bank. The + -- label carries it -- "M0211/S0017" -- so there is nothing to look up. + state.member = tonumber(label:match("^M(%d+)/")) local block = scripts[label] Gen4ScriptVM.lower(block and block.instructions, state) end @@ -356,6 +704,23 @@ function Gen4ScriptVM.label(member, at) return ("M%04d/S%04X"):format(member, at) end +-- A map's entry scripts are QUEUED, not run: `setMap -> onEnter` can happen +-- mid-warp while the warp command's own runner is still suspended-alive, and +-- starting a second runner there trips `ScriptRunner:run`'s assert. The +-- overworld drains the queue once the world is idle. Same helper, same +-- reasoning, as Gen3ScriptVM's. +local function queue(overworld, rows, ctx) + if overworld and overworld.queueScript then + overworld:queueScript(rows, ctx) + return true + end + if overworld and overworld.runner then + overworld.runner:run(rows, ctx) + return true + end + return false +end + local PHASE_KEYS = { talk = { talk = true }, scenes = { onEnter = true, onStep = true, onFrame = true }, @@ -366,25 +731,317 @@ local PHASE_KEYS = { -- `talk` is indexed by is the script's own label, and the extractor writes -- that same label into each object's `text` field. Both halves derive it -- from Gen4ScriptVM.label, so they cannot drift apart. +-- A BAND-CLASSIFIED EVENT'S BLOCK, WHICH IS HALF OF SINNOH. +-- +-- `RomExtractorGen4.linkScripts` binds an object whose script id names a block +-- in the MAP'S OWN member straight to that label, and files every other one +-- under `entry.shared` as `{ id, band, entry, file, kind }` -- the +-- CLASSIFICATION, not the answer. Nothing above the extractor ever read that +-- table, so those events had no script at all: measured over the cache, +-- +-- objects 3,555 1,485 bound to a map-local label 1,821 shared 202 no script 47 sentinel +-- signs 682 402 bound 280 shared +-- +-- and the shared column is every trainer in the region (417), every item ball +-- (329), every hidden item (262), every berry tree (118), all 688 field-move +-- obstacles, both Pokemon Center upper floors (54 each) and the 92 objects on +-- `common_scripts`. 2,100 events, 49.6% of the 4,237 on the maps, and pressing +-- A on any of them did nothing whatsoever. +-- +-- NOT ONE TRAINER IN PLATINUM COULD BE FOUGHT. The 417 carry a resolved +-- `trainer = { id, class, className, party }` from the band, and nothing read +-- that either, so they could not be started by talking; `checkTrainerSight` +-- keys on `sightRange`, which the Gen 4 extractor does not write, so they could +-- not be started by being spotted. Both halves are dead and this is the first. +-- +-- THE RESOLUTION IS THE ARITHMETIC THIS FILE ALREADY DOES. `state.bandLabel` +-- in `compile` and `Gen4ScriptBands.classify` both say it: the band names the +-- file, the remainder indexes that file's entry points, and the pool's own +-- `bands` table carries both. So NOTHING NEEDS RE-EXTRACTING -- 2,100 of the +-- 2,101 shared records resolve out of a cache already on disk, to 382 distinct +-- blocks totalling 96,642 compiled rows, with none compiling to nothing. +-- +-- The one that does not resolve has no band: that is the link stage's OTHER +-- reason for filing a record here, a map-local id that found no block, and +-- exactly one event in the cartridge is it. It has no label to offer and must +-- not read as a band failure, which is why the test below is the label rather +-- than the record. +local function sharedLabel(pool, record) + if type(record) ~= "table" then return nil end + local bands = pool and pool.bands + local band = record.band and bands and bands[record.band] + local label = band and band.entries and band.entries[(record.entry or 0) + 1] + if type(label) == "string" and pool.scripts and pool.scripts[label] then + return label + end + return nil +end + local function contributionFor(data, mapId, entry) + local pool = store(data) local contribution = {} local talk = {} - for _, label in pairs(entry.objects or {}) do + local function add(label) + if type(label) ~= "string" or talk[label] then return end local rows = Gen4ScriptVM.compile(data, label) if rows then talk[label] = rows end end - for _, label in pairs(entry.signs or {}) do - local rows = Gen4ScriptVM.compile(data, label) - if rows then talk[label] = rows end + for _, label in pairs(entry.objects or {}) do add(label) end + for _, label in pairs(entry.signs or {}) do add(label) end + -- ...AND THE SHARED HALF, through the same resolver `bindObjects` stamps with. + -- Both sides are needed and neither is enough: the label goes on the object so + -- `talkTo` has something to ask for, and the rows go in the view so the ask + -- finds them. One without the other is a press of A that reaches nothing, + -- which is indistinguishable from the bug being fixed here. + -- + -- `add` memoises inside the map, and `compile` memoises across them, so the + -- 2,100 events cost 382 compiles rather than 2,100 -- which matters because + -- the berry-tree block alone is 2,904 rows and 118 objects point at it. + for _, record in pairs((entry.shared or {}).objects or {}) do + add(sharedLabel(pool, record)) + end + for _, record in pairs((entry.shared or {}).signs or {}) do + add(sharedLabel(pool, record)) end if next(talk) then contribution.talk = talk end + + -- THE MAP'S OWN ENTRY CONDITIONS. + -- + -- `entry.callbacks` and `entry.tables` are the init-script member the link + -- stage now reads -- see Gen4InitScripts for the format, and for why three + -- separate reports from play ("a woman blocking the door", "mom does + -- nothing as i come down stairs", "my rival doesnt talk to me") were all + -- this one gap. The shapes are deliberately the ones `Gen3ScriptVM` already + -- produces, because `MapScripts` declares `onEnter` and `onFrame` for Gen 3 + -- and the overworld already asks for both every frame; nothing above this + -- file needs to learn a fourth generation's spelling. + local onEnter = {} + for _, callback in ipairs(entry.callbacks or {}) do + -- ON_LOAD, ON_TRANSITION and ON_RESUME all run once as the map comes up. + -- The cartridge distinguishes them by how far through the load it is -- + -- ON_LOAD while the map is being built, ON_RESUME on coming back to the + -- field from a menu or a battle -- and this engine has one seam at the + -- point all three have passed. Running them in the order they appear is + -- the cartridge's order too, because the table is read front to back. + local rows = Gen4ScriptVM.compile(data, callback.script) + if rows then onEnter[#onEnter + 1] = rows end + end + + local onFrame = {} + for _, tbl in ipairs(entry.tables or {}) do + for _, row in ipairs(tbl.rows or {}) do + local rows = Gen4ScriptVM.compile(data, row.script) + if rows then onFrame[#onFrame + 1] = { a = row.a, b = row.b, rows = rows } end + end + end + + if #onEnter > 0 or #onFrame > 0 then + contribution.onEnter = function(_, overworld) + -- A fresh visit re-arms the frame table, for the reason Gen3ScriptVM + -- gives: these closures outlive the map, and a save loaded back into the + -- same map has to be asked again. + for _, g in ipairs(onFrame) do g.armed = nil end + for _, rows in ipairs(onEnter) do + queue(overworld, rows, { mapId = mapId }) + end + end + end + + -- ASKED EVERY IDLE FIELD FRAME, which is what the cartridge does: + -- `field_control.c` calls `FieldSystem_RunInitScript(ON_FRAME_TABLE)` from + -- three places in the input loop, and the FIRST matching row wins. + -- + -- BOTH SIDES ARE RESOLVED, not just the left one. `FieldSystem_TryGetVar` + -- answers a var's value when the id names one and THE ID ITSELF when it does + -- not, so `0x40A4 vs 0x0000` is "var 0x40A4 equals zero" while a row with + -- two var ids is a var-to-var comparison. Reading the right-hand side as a + -- literal always would be right for this cartridge's 207 rows and wrong in + -- principle; `valueOf` is the rule itself. + -- + -- A row that has fired is not asked again until its two sides stop matching. + -- On the cartridge nothing stops a row re-firing, because a scene all but + -- always rewrites the var it is gated on -- Twinleaf's `setvarfromvalue + -- 0x40A4, 1` is exactly that -- but one that does not would otherwise run + -- every frame, which is a hang rather than a glitch. + if #onFrame > 0 then + contribution.onFrame = function(game, overworld) + local Gen4Commands = require("src.script.Gen4Commands") + local ctx = { save = game.save, game = game, overworld = overworld } + for _, g in ipairs(onFrame) do + local matched = Gen4Commands.valueOf(ctx, g.a) == Gen4Commands.valueOf(ctx, g.b) + if not matched then + g.armed = true + elseif g.armed ~= false then + g.armed = false + overworld.runner:run(g.rows, { mapId = mapId }) + return true + end + end + return false + end + end + + -- THE COORDINATE TRIGGERS, joined back to where they are. + -- + -- The link stage resolved each one's script to a label and filed it under + -- the event's position in the map's own list; the maps stage put the + -- localised rectangle on `def.coordEvents` under the same index. Joining + -- here rather than duplicating either half is the same split `bindObjects` + -- makes, and for the same reason: the map defs are written before a single + -- script has been decoded. + local coords = {} + local def = data and data.maps and data.maps[mapId] + for index, label in pairs(entry.coords or {}) do + local where = def and def.coordEvents and def.coordEvents[index] + local rows = where and Gen4ScriptVM.compile(data, label) + if rows then + coords[#coords + 1] = { + x = where.x, y = where.y, + -- A Gen 4 trigger covers a RECTANGLE. 114 of the cartridge's 186 are + -- one cell, and the other 72 are not -- a doorway four tiles wide, a + -- corridor six deep -- so the extent is honoured rather than the + -- corner taken as the whole of it. Missing or zero reads as one, + -- which is what a cell with no extent is. + width = math.max(tonumber(where.width) or 1, 1), + height = math.max(tonumber(where.height) or 1, 1), + var = where.var, value = where.value, rows = rows, + } + end + end + + if #coords > 0 then + -- WHICH ROWS HAVE FIRED WHERE THE PLAYER IS STANDING. + -- + -- The memory and its two-part key are Gen3ScriptVM's, and the reasoning + -- there applies here unchanged: a trigger is gated on a var, so the same + -- cell can be asked again with a different answer, but one ROW must not + -- run twice for one visit -- and "somewhere else" cannot mean "asked about + -- a different cell", because a script that walks the player back off the + -- trigger does not report a step. `overworld.cellSerial` counts cell + -- changes however they happen, which is the question this wants to ask. + local firedAt, fired = nil, {} + contribution.onStep = function(game, overworld, x, y) + if overworld.runner:isRunning() then return false end + local here = ("%s|%d,%d"):format(tostring(overworld.cellSerial or 0), x, y) + if firedAt ~= here then firedAt, fired = here, {} end + local Gen4Commands = require("src.script.Gen4Commands") + local ctx = { save = game.save, game = game, overworld = overworld } + for i, coord in ipairs(coords) do + local inside = x >= coord.x and x < coord.x + coord.width + and y >= coord.y and y < coord.y + coord.height + -- ONLY THE VAR SIDE IS RESOLVED. `sub_0203CC14` is + -- `TryGetVar(e.var) == e.value` -- the value is compared RAW, unlike + -- the init frame table two functions up, where BOTH sides go through + -- `TryGetVar`. They look like the same test and they are not, and + -- resolving the value as well would turn any trigger that wants a + -- number at or above 0x4000 into a comparison against a var. + if not fired[i] and inside + and Gen4Commands.valueOf(ctx, coord.var) == (tonumber(coord.value) or 0) then + fired[i] = true + Logger.debug("gen4 coord: %s (%d,%d) row %d fired (var %s == %s)", + mapId, x, y, i, tostring(coord.var), tostring(coord.value)) + overworld.runner:run(coord.rows, { mapId = mapId }) + return true + end + end + -- WHY A TRIGGER THE PLAYER IS STANDING ON DID NOT FIRE. The two ways it + -- can decline look identical from inside the game -- the row already ran + -- this visit, or the var does not hold the value it wants yet -- and a + -- scene that needs both halves of a sequence to land in order is exactly + -- where that matters. Silent unless the player is on a trigger. + for i, coord in ipairs(coords) do + local inside = x >= coord.x and x < coord.x + coord.width + and y >= coord.y and y < coord.y + coord.height + if inside then + local got = Gen4Commands.valueOf(ctx, coord.var) + Logger.debug("gen4 coord: %s (%d,%d) row %d declined -- %s", + mapId, x, y, i, + fired[i] and "already ran this visit" + or ("var %s is %s, wants %s"):format( + tostring(coord.var), tostring(got), + tostring(coord.value))) + end + end + return false + end + end + return next(contribution) and contribution or nil end +-- WHAT AN OBJECT SAYS WHEN YOU PRESS A ON IT. +-- +-- Every earlier generation puts a TEXT constant in the object's own record +-- and `OverworldState:talkTo` reads it as `npc.def.text`. A Gen 4 object has +-- no such thing: it carries a SCRIPT ID, which is an index into its map's own +-- entry-point list, and the list only exists once the scripts have been +-- decoded. So the cache's map objects have no `text` and pressing A on an +-- NPC in Sinnoh reached `showMapText(nil)` -- "no text for Twinleaf Town/nil" +-- in the log, and nothing at all on screen. +-- +-- The join already exists: the link stage resolved every object's script id +-- to a label and filed it under the object's localId. This stamps that label +-- back onto the object record, which is where the engine looks, so the two +-- halves stay one fact. It is done HERE rather than in the extractor because +-- the maps table is written before a single script has been decoded, and a +-- nine-megabyte rewrite to add one string per object would be the wrong +-- trade. +-- +-- Signs are the same shape and are keyed by their index in the map's own +-- list, which is what the extractor filed them under. +function Gen4ScriptVM.bindObjects(data) + local pool = store(data) + if not (pool and pool.maps and data and data.maps) then return 0 end + local stamped = 0 + for mapId, entry in pairs(pool.maps) do + local def = data.maps[mapId] + if type(def) == "table" then + for i, object in ipairs(def.objects or {}) do + -- `index`, not `localId`: a map can carry the same localId twice and + -- the link stage keys by position for exactly that reason. + local key = object.index or i + local label = entry.objects and entry.objects[key] + -- The map's own member first, then the band's block. The two are + -- disjoint by construction -- `place` files a record under `shared` + -- only when the local lookup already failed -- so the order is a + -- statement of precedence rather than a guard against a clash. + if label == nil and entry.shared then + label = sharedLabel(pool, entry.shared.objects + and entry.shared.objects[key]) + end + if label and object.text == nil then + object.text = label + stamped = stamped + 1 + end + end + for i, sign in ipairs(def.signs or {}) do + local key = sign.index or i + local label = entry.signs and entry.signs[key] + if label == nil and entry.shared then + label = sharedLabel(pool, entry.shared.signs + and entry.shared.signs[key]) + end + if label and sign.text == nil then + sign.text = label + stamped = stamped + 1 + end + end + end + end + return stamped +end + function Gen4ScriptVM.register(data, phase) local keep = PHASE_KEYS[phase] local pool = store(data) if not (pool and pool.maps) then return 0 end + -- The labels have to be on the objects before the first press of A, and + -- `talk` is the phase that owns them. + if phase == "talk" or phase == nil then + local stamped = Gen4ScriptVM.bindObjects(data) + Logger.info("gen4 script vm: %d object(s) and sign(s) carry their script " + .. "label", stamped) + end local attached = 0 for mapId, entry in pairs(pool.maps) do local ok, contribution = pcall(contributionFor, data, mapId, entry) @@ -410,6 +1067,1156 @@ end -- `g4_unimplemented` row rather than nothing: a silently dropped command is a -- script that runs and quietly does the wrong thing, which is far harder to -- find than one that reports what it could not do. +-- THE NEXT LAYER DOWN, by how often the cartridge actually asks ------------ +-- +-- An unlowered command is not a stall -- it emits `g4_unimplemented` and the +-- block carries on -- so these were inert rather than blocking. That is also +-- why they are easy to leave: nothing ever breaks loudly. Taken in frequency +-- order across all 8,567 decoded blocks, which is the only honest priority. +-- +-- Every one below is read from its own `ScrCmd_*` in pret rather than from its +-- name. The names mislead in both directions: `getpartymonspecies` takes the +-- SLOT IN A VAR and writes the species to a second var, and `checkmoney` +-- writes a BOOLEAN rather than the amount. + +-- `ScriptContext_Pause(ctx, ScriptContext_CheckABPress)` -- the same wait +-- `waitbutton` performs, and it already has a verb. +L.waitabpress = function(_, s) emit(s, { "g4_wait_button" }) end + +-- `*mapID = ctx->fieldSystem->location->mapHeaderID` -- the HEADER id, which +-- is the number the map def carries as `header`, not the engine's map key. +L.getcurrentmapid = function(ins, s) emit(s, { "g4_get_map_id", ins.args[1] }) end + +-- `*destVar = LCRNG_Next() % upperBound`, and the bound is read THROUGH +-- `ScriptContext_GetVar`, so it may itself be a var. +L.getrandom = function(ins, s) + emit(s, { "g4_get_random", ins.args[1], ins.args[2] }) +end + +-- `Party_HealAllMembers`. The engine already has this verb for four other +-- cartridges and it means the same thing on all five. +L.healparty = function(_, s) emit(s, { "heal_party" }) end + +-- `*destVar = currentMoney < value ? FALSE : TRUE` -- a yes/no, NOT the +-- balance, and `value` is a literal WORD rather than a var. +L.checkmoney = function(ins, s) + emit(s, { "g4_check_money", ins.args[1], ins.args[2] }) +end +L.removemoney = function(ins, s) emit(s, { "g4_remove_money", ins.args[1] }) end + +-- The money box is a HUD this port does not draw. Named so they stop +-- counting as unimplemented, because a noop here is the truth: there is +-- nothing to show or hide. +L.showmoney = function(_, s) emit(s, { "g4_noop", "money box" }) end +L.hidemoney = function(_, s) emit(s, { "g4_noop", "money box" }) end + +-- `u16 *partySlot = GetVarPointer; u16 *destVar = GetVarPointer` -- BOTH are +-- var ids, and the slot is the VALUE HELD IN THE FIRST. An egg reads as +-- SPECIES_NONE rather than as the species inside it. +L.getpartymonspecies = function(ins, s) + emit(s, { "g4_party_species", ins.args[1], ins.args[2] }) +end + +-- `destVar = GetVarPointer; species = GetVar` -- so the species may be a var, +-- and eggs are skipped here too. +L.checkpartyhasspecies = function(ins, s) + emit(s, { "g4_party_has_species", ins.args[1], ins.args[2] }) +end + +-- `SystemVars_GetPlayerStarter` -- which starter the player chose, kept in the +-- system vars rather than derived from the party, because the party can lose +-- it. +L.getplayerstarterspecies = function(ins, s) + emit(s, { "g4_starter_species", ins.args[1] }) +end + +-- THE FIVE ROWS THAT HAND OVER THE FIRST POKEMON, and three of them were +-- unlowered. Route 201's briefcase scene, in full: +-- +-- startchoosestarterscene <- opens the app, PAUSES the script +-- savechosenstarter <- writes VAR_PLAYER_STARTER +-- returntofield +-- getplayerstarterspecies 0x8000 +-- givepokemon 0x8000, 5, 0, 0x800C +-- +-- `src/ui/Gen4StarterSelect` -- the briefcase, built from the cartridge's own +-- `psel_all` model and its 41-frame animation -- had no callers anywhere in +-- the tree. This is the line that opens it. +L.startchoosestarterscene = function(_, s) emit(s, { "g4_choose_starter" }) end +L.savechosenstarter = function(_, s) emit(s, { "g4_save_starter" }) end +-- `givepokemon ` -- the first three are +-- var-or-literal, which matters because the starter arrives as a var. +L.givepokemon = function(ins, s) + emit(s, { "g4_give_pokemon", ins.args[1], ins.args[2], ins.args[3], + ins.args[4] }) +end +-- The rival's and the counterpart's starters are DERIVED from yours rather +-- than stored -- `SystemVars_GetRivalStarter` and +-- `SystemVars_GetPlayerCounterpartStarter` are two `if` ladders over +-- VAR_PLAYER_STARTER and no state at all. +L.bufferrivalstarterspeciesname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "rivalStarter" }) +end +L.bufferplayerstarterspeciesname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "playerStarter" }) +end + +-- `openpokemonnamingscreen ` -- THE NICKNAME PROMPT, and it +-- was unlowered at every one of its five sites: SANDGEM TOWN, Eterna City's +-- Name Rater, the Mining Museum's fossil, Hearthome and Veilstone. Sandgem is +-- the SECOND TOWN, so this is main-path from the first hour. +-- +-- THE OPERAND ORDER IS SLOT THEN DESTINATION, and both are read that way by +-- ScrCmd_OpenPokemonNamingScreen -- `ScriptContext_GetVar` first, then +-- `ScriptContext_GetVarPointer`. The call sites agree without being asked to: +-- three of the five compute the slot as `getpartycount` then `subvar 1` (the +-- member just handed over) and pass it in 0x4000, then compare 0x800C after. +L.openpokemonnamingscreen = function(ins, s) + emit(s, { "g4_name_pokemon", ins.args[1], ins.args[2] }) +end + +-- THE FOUR PEOPLE WHO WILL SWAP A POKEMON WITH YOU, and all five of their +-- commands were unlowered on all four maps. OREBURGH CITY IS ONE OF THEM -- +-- the third town -- which is how tools/gen4_map_reach.lua found this at all: +-- `finishnpctrade` occurs eleven times (far down a list ranked by occurrence) +-- and sits on four maps (near the top of one ranked by reach). +-- +-- THE SCRIPT IS ONE SHAPE ON ALL FOUR, and reading it is what says what each +-- command has to do: +-- +-- initnpctrade 0 Oreburgh, 1 Eterna, +-- 2 Snowpoint, 3 Route 226 +-- setvarfromvar 0x8004, 0x800C <- the slot the party menu returned +-- getpartymonspecies 0x8004, 0x8005 +-- getnpctraderequestedspecies 0x800C +-- comparevartovar 0x8005, 0x800C +-- gotoif NE <"that is not what I asked for"> +-- startnpctrade 0x8004 +-- finishnpctrade +-- setflag +-- +-- So the ONLY thing that decides whether the swap happens is a comparison of +-- two species numbers -- which means `getnpctraderequestedspecies` leaving its +-- var unwritten does not merely fail to ask, it makes the branch read whatever +-- the last comparison left. An unlowered var-writing command is the dangerous +-- kind, and this is the fifth time that sentence has been written in this file. +L.initnpctrade = function(ins, s) emit(s, { "g4_trade_init", ins.args[1] }) end +L.getnpctraderequestedspecies = function(ins, s) + emit(s, { "g4_trade_requested", ins.args[1] }) +end +-- DOES NOT OCCUR IN THE CORPUS -- the four scripts buffer the offered species +-- another way -- and is lowered anyway because it is one line off the same +-- record, and an opcode left unlowered for no reason is a trap for whoever +-- writes the fifth trade. +L.getnpctradespecies = function(ins, s) + emit(s, { "g4_trade_species", ins.args[1] }) +end +L.startnpctrade = function(ins, s) emit(s, { "g4_trade_start", ins.args[1] }) end +L.finishnpctrade = function(_, s) emit(s, { "g4_trade_finish" }) end +-- `openpartymenufortrade` -- FieldSystem_OpenPartyMenu_SelectForTrade, then +-- ScriptContext_Pause. The slot comes back through `getselectedpartyslot`, +-- which until now was a stub answering CANCELLED because nothing in front of +-- it was built. This is the thing in front of it. +L.openpartymenufortrade = function(_, s) emit(s, { "g4_open_party_for_trade" }) end + +-- SMALL STATE THE OPENING READS. Each is two or three lines on the cartridge, +-- and the ones that write a var were the dangerous kind to leave unlowered: +-- the branch after them reads whatever the last comparison left in the +-- register, so an unlowered `countbadgesacquired` does not merely fail to +-- count badges, it makes the next `gotoif` decide at random. +L.giverunningshoes = function(_, s) emit(s, { "g4_running_shoes" }) end +L.gettimeofday = function(ins, s) emit(s, { "g4_time_of_day", ins.args[1] }) end +L.countbadgesacquired = function(ins, s) + emit(s, { "g4_count_badges", ins.args[1] }) +end +L.checkpoketchappregistered = function(ins, s) + emit(s, { "g4_poketch_registered", ins.args[1], ins.args[2] }) +end +L.getsetnationaldexenabled = function(ins, s) + emit(s, { "g4_national_dex", ins.args[1], ins.args[2] }) +end +-- `Sound_PlayBGM(ScriptContext_ReadHalfWord(ctx))` and +-- `Sound_PlayBGM(FieldBGM_GetForMapHeader(...))`. Both verbs already exist on +-- this engine and neither was reaching them. +L.playmusic = function(ins, s) emit(s, { "play_music", ins.args[1] }) end +-- THE SCRIPTED CAMERA. `ApplyFreeCameraMovement` is not an opcode -- the +-- macro expands to `ApplyMovement LOCALID_CAMERA` -- so these four are the +-- whole feature, and the pan itself rides the movement path that already +-- exists. 13 `addfreecamera` sites, 14 `restorecamera`. +L.addfreecamera = function(ins, s) + emit(s, { "g4_add_free_camera", ins.args[1], ins.args[2] }) +end +L.restorecamera = function(_, s) emit(s, { "g4_restore_camera" }) end +L.addcameraoverrideobject = function(ins, s) + emit(s, { "g4_camera_override", ins.args[1], ins.args[2] }) +end +L.removecameraoverrideobject = function(_, s) + emit(s, { "g4_restore_camera" }) +end + +-- DOORS. A Gen 4 door is an NSBCA animation on the door's own NSBMD map prop, +-- played on a tagged one-shot slot with a sound effect +-- (`DoorAnimation_FindDoorAndLoad` searches the loaded props for one of twenty +-- named door models at the given tile, then +-- `MapPropOneShotAnimationManager_PlayAnimationWithSoundEffect`). This port +-- reads NSBMD but not NSBCA, bakes the ground's props into a flat canvas, and +-- has no SE bank for Gen 4 yet -- three separate stages, none of them close. +-- +-- Named rather than left on the unknown-command path, so the log says WHICH +-- feature is absent instead of printing an opcode nobody can look up. The +-- wait is a no-op too: with nothing animating there is nothing to wait for, +-- and holding the script would be a frozen pause rather than a door opening. +L.loaddooranimation = function(_, s) emit(s, { "g4_noop", "door animations" }) end +L.playdooropenanimation = function(_, s) emit(s, { "g4_noop", "door animations" }) end +L.playdoorcloseanimation = function(_, s) emit(s, { "g4_noop", "door animations" }) end +L.unloadanimation = function(_, s) emit(s, { "g4_noop", "door animations" }) end +L.waitforanimation = function(_, s) emit(s, { "g4_noop", "door animations" }) end + +-- `FieldMenuManager_SetHorizontalAnchor` / `SetVerticalAnchor` -- which corner +-- the NEXT script menu is drawn from. This engine's menu places itself, so +-- the anchor has nowhere to land; it is cosmetic either way. +L.setmenuxoriginside = function(_, s) emit(s, { "g4_noop", "menu anchor side" }) end +L.setmenuyoriginside = function(_, s) emit(s, { "g4_noop", "menu anchor side" }) end + +-- `TVInterview_IsEligible`. Lowered rather than skipped for the reason every +-- var-writing command has to be: an unlowered one leaves the comparison +-- register holding the LAST command's answer, so the `gotoif` behind it +-- branches on something unrelated. Answering "no" is both honest -- this port +-- has no TV broadcast system -- and the answer that keeps the scripts quiet. +L.checktvintervieweligible = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "the TV broadcast system" }) +end + +-- CHAPTER TWO, measured the same way the opening was: walking every script +-- block reachable from Sandgem through Jubilife to the Oreburgh gym (327 +-- blocks) left 16 unlowered rows, and only ONE of them stopped anything -- +-- `givebadge`, in the gym leader's own script. +L.givebadge = function(ins, s) emit(s, { "g4_give_badge", ins.args[1] }) end +-- The trainer's own class, which the cartridge derives from their APPEARANCE +-- (`Appearance_CalculateFromTrainerInfo` -> `Appearance_GetData`). This port +-- has no appearance system, so the class comes back as zero and the buffer +-- behind it falls back rather than printing a wrong one. +L.loadtrainerappearances = function(_, s) + emit(s, { "g4_noop", "trainer appearance variants" }) +end +L.gettrainerinfotrainerclass = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "the trainer appearance system" }) +end +L.buffertrainerclassfromappearance = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "trainerClass", 0 }) +end +-- ...and the one that takes a class DIRECTLY, which is real: every trainer row +-- carries `class` and `className`, so the name map is already in the cache. +L.buffertrainerclassnamewitharticle = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "trainerClass", ins.args[2] }) +end +L.capitalizefirstletter = function(ins, s) + emit(s, { "g4_capitalize", ins.args[1] }) +end +-- `GameRecords_IncrementTrainerScore` -- the trainer-card score counters, +-- which this port keeps none of. +L.incrementtrainerscore = function(_, s) emit(s, { "g4_noop", "trainer score records" }) end +L.incrementtrainerscore2 = function(_, s) emit(s, { "g4_noop", "trainer score records" }) end +-- `ScrCmd_Dummy1F9` reads a var and returns. It is a no-op ON THE CARTRIDGE, +-- so this is not a stand-in for anything. +L.dummy1f9 = function(_, s) emit(s, { "g4_noop", "a cartridge no-op (dummy1f9)" }) end +L.playdefaultmusic = function(_, s) emit(s, { "play_default_music" }) end +L.stopmusic = function(_, s) emit(s, { "stop_music" }) end + +-- The journal is Platinum's own diary screen and this port has none. A noop +-- rather than a gap: the scripts that write entries must keep running, and +-- what they write has nowhere to go. +L.givejournal = function(_, s) emit(s, { "g4_noop", "journal" }) end +L.createjournalevent = function(_, s) emit(s, { "g4_noop", "journal entry" }) end + + +-- --------------------------------------------------------------------------- +-- CHAPTER THREE -- the Oreburgh gate to Gardenia's gym +-- --------------------------------------------------------------------------- +-- +-- The reachable set again, from the Oreburgh gate through Jubilife, Route 204, +-- Floaroma, the Valley Windworks, Eterna Forest and Eterna City to the gym: +-- 191 entry points, 610 blocks, 5,230 instructions, 176 unlowered rows across +-- 42 commands. These are the ones that change what a player sees; contests, +-- accessories and the TV are the tail and are left named. + +-- THE BLACKOUT IS ALREADY DONE BY THE TIME THIS ROW RUNS. +-- +-- `BlackOutFromBattle / ReleaseAll / End` is the same three rows at all eight +-- sites: the cartridge hands a LOST scripted battle back to the script and +-- lets the script order the blackout. This port does not -- `OverworldState: +-- afterBattle` heals the party, halves the money and warps to the heal point +-- the moment a battle is lost, exactly as it does for Gen 1-3, so by the time +-- the script resumes the player is already standing in the Pokemon Centre. +-- +-- So this is a no-op because the work HAS BEEN DONE, not because it is +-- missing; implementing it for real would halve the money a second time. +L.blackoutfrombattle = function(_, s) + emit(s, { "g4_noop", "the scripted blackout (the battle teardown has already done it)" }) +end +L.setblackoutwarpid = function(ins, s) + emit(s, { "g4_set_blackout_warp", ins.args[1] }) +end + +-- THE ITEM-PICKUP LINE, which is 96 of the 176 rows on its own and every one +-- of them in `scripts_common` -- so this is not a Floaroma fix, it is every +-- item in the region. `getitempocket` is the dangerous kind of gap: a +-- var-writer left unlowered leaves the comparison register holding the +-- previous command's answer, and the pocket name printed after it is then +-- whatever that happened to be. +L.getitempocket = function(ins, s) + emit(s, { "g4_item_pocket", ins.args[1], ins.args[2] }) +end +L.bufferpocketname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "pocket", ins.args[2] }) +end +L.bufferitemnameplural = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "itemPlural", ins.args[2] }) +end +L.checkitemisplate = function(ins, s) + emit(s, { "g4_item_is_plate", ins.args[1], ins.args[2] }) +end + +L.getpartycount = function(ins, s) emit(s, { "g4_party_count", ins.args[1] }) end +L.countpartynoneggs = function(ins, s) + emit(s, { "g4_party_non_eggs", ins.args[1] }) +end + +-- THE POKETCH, whose registration this port could already READ and had never +-- once WRITTEN: `checkpoketchappregistered` has been lowered since the small- +-- state pass and answers from `save.poketch.registered`, which nothing filled. +-- Every app was therefore unregistered for ever, and the Jubilife scene that +-- hands the watch over is four of the five sites. +L.enablepoketch = function(_, s) emit(s, { "g4_enable_poketch" }) end +L.registerpoketchapp = function(ins, s) + emit(s, { "g4_register_poketch_app", ins.args[1] }) +end +L.bufferpoketchappname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "poketchApp", ins.args[2] }) +end + +-- THE AVATAR. `setplayerstate` is a BITMASK (see the command), and only two +-- values are ever passed: WALKING, which is a dismount, and HEALING, which is +-- the nurse's pose this port draws no differently. `changeplayerstate` is the +-- latch that applies the requested bit -- this port applies it in the setter, +-- so the latch has nothing left to do. +L.setplayerstate = function(ins, s) emit(s, { "g4_player_state", ins.args[1] }) end +L.changeplayerstate = function(_, s) + emit(s, { "g4_noop", "the player-state latch (the state is applied when it is set)" }) +end +L.setplayerbike = function(ins, s) emit(s, { "g4_player_bike", ins.args[1] }) end + +-- MUSIC. `playmusic` already lowers to the shared `play_music`, so `setbgm` +-- goes to the same verb: the cartridge's distinction is "play now" against +-- "play on this map from now on", and without a Gen 4 sequence bank there is +-- nothing on either side of it. The fades and the encounter jingle are noops +-- for the same reason -- `audio.lua` on a Platinum cache is cries and nothing +-- else. +L.setbgm = function(ins, s) emit(s, { "play_music", ins.args[1] }) end +L.fadeoutbgm = function(_, s) emit(s, { "g4_noop", "a BGM fade" }) end +L.playtrainerencounterbgm = function(_, s) + emit(s, { "g4_noop", "the trainer encounter jingle" }) +end + +L.getdayofweek = function(ins, s) emit(s, { "g4_day_of_week", ins.args[1] }) end + +-- THE ETERNA GYM FLOWER CLOCK, and the reason this is a noop rather than a +-- blocker is MEASURED rather than assumed. +-- +-- On the cartridge the clock's two hands are walkways: advancing the clock +-- rotates them and that is how you cross the gym. The obstruction is not in +-- the map at all -- it lives in `PersistedMapFeatures` and the gym_features +-- overlay. Dumping the gym's own permission grid (header 67, matrix 220, +-- chunk 294) shows 775 cells of behaviour NONE, one warp, and NOT ONE blocked +-- or dynamic-collision cell: the floor is a single open disc. +-- +-- So in this port the puzzle is ABSENT, not impassable -- Gardenia is reachable +-- by walking straight at her. And the five `advanceeternagymclock` rows are +-- all AFTER a trainer is beaten and none of them gates a branch (the script +-- counts its own progress in VAR_ETERNA_GYM_TRAINERS_BEATEN), so nothing reads +-- a state this port does not keep. The fidelity gap is real and is recorded in +-- the tracker; the stall is not. +L.advanceeternagymclock = function(_, s) + emit(s, { "g4_noop", "the Eterna Gym flower clock (the gym floor is open here)" }) +end +L.initpersistedmapfeaturesforeternagym = function(_, s) + emit(s, { "g4_noop", "the Eterna Gym persisted map feature" }) +end + +-- THE JUBILIFE TAG BATTLE, which is on the critical path and whose absence is +-- worse than a skipped fight: the scene reads `CheckWonBattle` on the next row +-- and branches to its own blackout on FALSE, so an unlowered battle blacks the +-- player out mid-cutscene. What this port fields, and what it does not, is +-- written out on the command. +L.starttagbattle = function(ins, s) + emit(s, { "g4_start_tag_battle", ins.args[1], ins.args[2], ins.args[3] }) +end + +L.removemoney2 = function(ins, s) emit(s, { "g4_remove_money", ins.args[1] }) end +L.updatemoneydisplay = function(_, s) + emit(s, { "g4_noop", "the money window refresh" }) +end +L.playpokecenterhealinganimation = function(_, s) + emit(s, { "g4_noop", "the Pokemon Centre healing animation" }) +end +-- `ScrCmd_Dummy` -- a no-op on the cartridge too, like `dummy1f9`. +L.dummy = function(_, s) emit(s, { "g4_noop", "a cartridge no-op (dummy)" }) end +-- One site, in `scripts_common`. The port HAS a start menu, but the one it +-- would push is Gen 1/2's, and opening Kanto's menu in Sinnoh is worse than +-- not opening one: a Gen 4 start menu is its own task and is on the tracker. +L.showstartmenu = function(_, s) + emit(s, { "g4_noop", "the scripted start-menu prompt" }) +end + +-- VAR-WRITERS WHOSE FEATURE DOES NOT EXIST HERE, which must still write a zero +-- so the comparison behind them is not reading the previous command's answer. +L.gettrainercardlevel = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the trainer card" }) +end +L.checkpartypokerus = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "Pokerus" }) +end +L.checkdistributionevent = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "Mystery Gift distribution events" }) +end + + +L.buffertmhmmovename = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "tmhmMove", ins.args[2] }) +end +L.giveegg = function(ins, s) + emit(s, { "g4_give_egg", ins.args[1], ins.args[2] }) +end +L.startlegendarybattle = function(ins, s) + emit(s, { "g4_legendary_battle", ins.args[1], ins.args[2] }) +end +-- Event-distributed Pokemon, which cannot exist in a save this port wrote. +-- !! AND THE SAME MISTAKE HERE, WITH A WORSE RESULT. +-- pret reads `GetVarPointer` then `GetVar`: operand 1 is the destination and +-- operand 2 is the species. Passing args[2] as the destination meant the port +-- wrote its zero into a var id taken from the SPECIES operand -- clobbering an +-- unrelated var rather than merely failing to write one. +-- +-- Both of these are the "destination comes first" shape that `scrcmd_party.c`'s +-- four party queries already demonstrated, written up two sections above, and +-- then walked into twice anyway -- on the two commands whose names both contain +-- "fatefulencounter". Reading carefully is not a substitute for a check. +L.findpartyslotwithfatefulencounterspecies = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "fateful-encounter Pokemon" }) +end + +-- FIVE COMMANDS PRET HAS NOT NAMED, and all five turn out to be safe. Read +-- one at a time rather than lumped together, because "unnamed" is not a +-- category: `ScrCmd_2CD` starts a weather task; `32D`, `32E`, `331` and `332` +-- walk the map-object list turning a status flag on or off (the Eterna City +-- and Galactic-building cutscenes hiding and showing their cast). NOT ONE OF +-- THEM WRITES A VAR, which is the only thing that would make a noop dangerous. +L["2cd"] = function(_, s) emit(s, { "g4_noop", "a weather task (scrcmd 2CD)" }) end +L["32d"] = function(_, s) emit(s, { "g4_noop", "an object status flag (scrcmd 32D)" }) end +L["32e"] = function(_, s) emit(s, { "g4_noop", "an object status flag (scrcmd 32E)" }) end +L["331"] = function(_, s) emit(s, { "g4_noop", "an object status flag (scrcmd 331)" }) end +L["332"] = function(_, s) emit(s, { "g4_noop", "an object status flag (scrcmd 332)" }) end + + +L.startfirstbattle = function(ins, s) + emit(s, { "g4_start_first_battle", ins.args[1] }) +end +-- The Sandgem demonstration: `Encounter_NewCatchingTutorial` runs a scripted +-- battle nobody plays -- fixed party, fixed throw, fixed outcome -- and this +-- port has one of those for Gen 1/2 only (`makeDudeDemo`), built around that +-- cartridge's own script. Skipping it costs the player a demonstration and +-- nothing else; the three sites are all on Route 202 and the scene continues. +L.startcatchingtutorial = function(_, s) + emit(s, { "g4_noop", "the catching demonstration" }) +end +L.givepokedex = function(_, s) emit(s, { "g4_give_pokedex" }) end +L.getlocaldexseencount = function(ins, s) + emit(s, { "g4_dex_seen_count", ins.args[1] }) +end +L.checklocaldexcompleted = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Sinnoh dex completion check" }) +end +L.setstepflag = function(_, s) + emit(s, { "g4_noop", "the step-counter freeze (a script already holds the gate)" }) +end +L.clearstepflag = function(_, s) + emit(s, { "g4_noop", "the step-counter freeze (a script already holds the gate)" }) +end +L.incrementgamerecord = function(_, s) + emit(s, { "g4_noop", "the game records" }) +end +L.setinitialvolumeforsequence = function(_, s) + emit(s, { "g4_noop", "a sequence volume (there is no Gen 4 sequence bank)" }) +end + +-- The counterpart's starter, with its article, at Rowan's lab. The species is +-- DERIVED (see `counterpartStarter`) and the article comes from bank 413. +L.bufferplayercounterpartstarterspeciesnamewitharticle = function(ins, s) + emit(s, { "g4_buffer_counterpart_starter_article", ins.args[1] }) +end + + +L.startdestroyobstacleanimation = function(ins, s) + emit(s, { "g4_destroy_obstacle_anim", ins.args[1], ins.args[2] }) +end +L.buffermapname = function(ins, s) + emit(s, { "g4_buffer_map_name", ins.args[1], ins.args[2] }) +end +-- `bufferspeciesnamefromvar `: the species is the SECOND +-- operand and the last two select a form/gender the port does not draw into a +-- name, so only the first two are read. +L.bufferspeciesnamefromvar = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "species", ins.args[2] }) +end +-- THE TRAINER CARD'S APPEARANCE, which is what the cartridge derives a +-- trainer's CLASS from (`Appearance_CalculateFromTrainerInfo`). This port has +-- no appearance system -- see `loadtrainerappearances` above, which is already +-- a noop for the same reason -- so the calculation writes the zero its reader +-- then falls back on, and the setter has nothing to set. +L.calculatetrainerinfoappearance = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "trainer appearance variants" }) +end +L.settrainerinfoappearance = function(_, s) + emit(s, { "g4_noop", "trainer appearance variants" }) +end +-- SWARMS: the daily roaming-species table, which needs a daily-reset system +-- this port does not run for Gen 4. `getswarmmapandspecies` writes TWO vars +-- and both must be written, or the comparison behind either reads the last +-- command's answer. +L.enableswarms = function(_, s) emit(s, { "g4_noop", "daily swarms" }) end +L.getswarmmapandspecies = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "daily swarms" }) + emit(s, { "g4_no_feature", ins.args[2], "daily swarms" }) +end +-- ...AND THE ROAMERS ARE NOT SWARMS, though they sit next to them in the +-- opcode table and in `special_encounter.h`. +-- +-- `activateroamingpokemon ` -- one BYTE, and it is the command that +-- RELEASES one. Eight sites over three maps: ETERNA CITY'S SOUTH HOUSE (slots +-- 3, 4, 5 -- Moltres, Zapdos, Articuno, twice each), FULLMOON ISLAND (slot 1, +-- Cresselia) and VERITY CAVERN (slot 0, MESPRIT -- which is main-path, the +-- moment you look into Lake Verity's water). +-- +-- Unlowered, the release did nothing and every rule behind it had nothing to +-- act on: no roamer, no movement, no encounter, nothing on the Marking Map. +-- Slot 2 is DARKRAI and no script activates it -- that is the Member's Card. +-- +-- The rules are Platinum's own and they are NOT Gen 2's or Gen 3's with +-- different numbers; src/world/Gen4Roamers.lua has the comparison table and +-- the two things I got wrong reading it from memory. +L.activateroamingpokemon = function(ins, s) + emit(s, { "g4_release_roamer", ins.args[1] }) +end + + +-- --------------------------------------------------------------------------- +-- CHAPTER FOUR -- Eterna to Veilstone (271 roots, 835 blocks) +-- --------------------------------------------------------------------------- + +-- THE CYCLING ROAD, which is the only thing in this chapter that could stop a +-- player leaving Eterna. See `g4_check_on_bike` for the gate's own script. +L.checkplayeronbike = function(ins, s) + emit(s, { "g4_check_on_bike", ins.args[1] }) +end +L.forcebicycling = function(ins, s) emit(s, { "g4_force_bike", ins.args[1] }) end +L.setcyclingbgm = function(_, s) + emit(s, { "g4_noop", "the cycling BGM override" }) +end +L.getpreviousmapid = function(ins, s) + emit(s, { "g4_previous_map", ins.args[1] }) +end + +-- PARTY QUERIES, AND THE DESTINATION IS THE FIRST OPERAND ON THREE OF THEM -- +-- the opposite of the way they read aloud. `getpartymonfriendship` is 143 +-- sites across the cartridge, the third commonest unlowered command there was. +L.getpartymonfriendship = function(ins, s) + emit(s, { "g4_mon_friendship", ins.args[1], ins.args[2] }) +end +L.getpartymontype = function(ins, s) + emit(s, { "g4_mon_types", ins.args[1], ins.args[2], ins.args[3] }) +end +L.checkpartymonhasmove = function(ins, s) + emit(s, { "g4_mon_has_move", ins.args[1], ins.args[2], ins.args[3] }) +end +L.getfirstnonegginparty = function(ins, s) + emit(s, { "g4_first_non_egg", ins.args[1] }) +end +-- ...and this one puts the destination SECOND, which is why they are lowered +-- one at a time against `scrcmd_party.c` rather than by pattern. +L.checkpartyhasspecies2 = function(ins, s) + emit(s, { "g4_party_has_species", ins.args[1], ins.args[2] }) +end + +L.startwildbattle = function(ins, s) + emit(s, { "g4_start_wild_battle", ins.args[1], ins.args[2] }) +end +L.getnationaldexseencount = function(ins, s) + emit(s, { "g4_national_dex_seen", ins.args[1] }) +end +L.getselectedpartyslot = function(ins, s) + emit(s, { "g4_selected_party_slot", ins.args[1] }) +end + +-- `bufferitemnamewitharticle` -- bank 393, the item names with their articles +-- already attached, exactly like the species bank 413 above. +L.bufferitemnamewitharticle = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "bank:393", ins.args[2] }) +end + +-- EVERY SINNOH GYM PUZZLE IS A RUNTIME OVERLAY, NOT MAP COLLISION. +-- +-- Measured on three gyms now, not assumed from one. Dumping each gym's own +-- permission grid gives behaviour NONE everywhere plus its warps and NOT ONE +-- blocked or dynamic-collision cell: +-- +-- Eterna header 67 matrix 220 chunk 294 775 open, 1 warp +-- Hearthome header 88 matrix 222 chunk 230 (entrance + trainer rooms) +-- Veilstone header 133 matrix 115 chunk 235 +-- 2,504 open cells across the three, 3 warp entrances, 1 warp panel +-- +-- Gardenia's rotating flower clock, Fantina's quiz doors and Maylene's +-- punching bags all live in `PersistedMapFeatures` and the gym_features +-- overlay, which this port does not have. So the puzzles are ABSENT, not +-- impassable: every one of these gyms can be crossed by walking at the leader. +-- That is a fidelity gap on the tracker and it is NOT a stall, and only the +-- measurement tells the two apart. +L.initpersistedmapfeaturesforhearthomegym = function(_, s) + emit(s, { "g4_noop", "the Hearthome Gym persisted map feature" }) +end +L.initpersistedmapfeaturesforveilstonegym = function(_, s) + emit(s, { "g4_noop", "the Veilstone Gym persisted map feature" }) +end + +-- --------------------------------------------------------------------------- +-- SIDE SYSTEMS THIS PORT DOES NOT HAVE +-- --------------------------------------------------------------------------- +-- +-- Grouped by the feature they belong to rather than by opcode, because that is +-- how they will be built: each block below is one absent system, and every +-- var-writer in them still writes, because an unlowered one leaves the +-- comparison register holding the previous command's answer. + +-- THE UNDERGROUND (the Sinnoh Underground and its goods PC). +L.checkhasroomforgoodsinpc = function(ins, s) + emit(s, { "g4_no_feature", ins.args[3], "the Underground goods PC" }) +end +L.sendgoodtopc = function(ins, s) + emit(s, { "g4_no_feature", ins.args[3], "the Underground goods PC" }) +end +L.getundergroundfossilsunearthed = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Underground" }) +end +L.getundergrounditemsgivenaway = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Underground" }) +end +L.getundergroundtrapsset = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Underground" }) +end +L.getundergroundtalkcounter = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Underground" }) +end +-- The names ARE in the cache even though the system is not: bank 626 plain, +-- 627 with articles (checked, because the line-number rule puts 627 on the +-- WITH_ARTICLES row and it was worth confirming which way round they sit). +L.bufferundergroundgoodsname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "bank:626", ins.args[2] }) +end +L.bufferundergroundgoodsnamewitharticle = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "bank:627", ins.args[2] }) +end + +-- CONTESTS, which is also all that is left in chapters two and three. +L.addcontestbackdrop = function(_, s) emit(s, { "g4_noop", "contest backdrops" }) end +-- `buffercontestantmonname` is deliberately LEFT UNLOWERED: a contestant is a +-- live entrant, not a table row, so there is no bank to read and filling the +-- slot with a blank would hide an absent system instead of reporting it. +L.contestphotohasdata = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "contest photos" }) +end +L.checkhasemptypoffincaseslot = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the poffin case" }) +end + +-- ACCESSORIES (the contest dress-up items). +L.addaccessory = function(_, s) emit(s, { "g4_noop", "contest accessories" }) end +L.canfitaccessory = function(ins, s) + emit(s, { "g4_no_feature", ins.args[3], "contest accessories" }) +end +L.bufferaccessoryname = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "bank:386", ins.args[2] }) +end +L.bufferaccessorynamewitharticle = function(ins, s) + emit(s, { "g4_buffer", ins.args[1], "bank:387", ins.args[2] }) +end + +-- THE MOVE TUTOR at Grandma Wilma's house on Route 210. +L.openmovetutormenu = function(_, s) emit(s, { "g4_noop", "the move tutor" }) end +L.selectmovetutorpokemon = function(_, s) + emit(s, { "g4_noop", "the move tutor" }) +end +L.checklearnedtutormove = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the move tutor" }) +end + +-- AMITY SQUARE's berry-and-accessory man. +L.clearamitysquarestepcount = function(_, s) + emit(s, { "g4_noop", "the Amity Square step count" }) +end +L.getamitysquarestepcount = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Amity Square step count" }) +end +L.calcamitysquarefoundaccessory = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "Amity Square accessories" }) +end +L.calcamitysquareberryandaccessorymanoptionid = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "Amity Square accessories" }) +end +L.checkamitysquaremangiftisaccessory = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "Amity Square accessories" }) +end +L.getamitysquareberryoraccessoryidfromman = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "Amity Square accessories" }) +end + +-- THE POKEMON NEWS PRESS at Solaceon. +L.getrandomseenspecies = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Pokemon News Press" }) +end +L.setnewspressdeadline = function(_, s) + emit(s, { "g4_noop", "the Pokemon News Press" }) +end +L.getnewspressdeadline = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Pokemon News Press" }) +end + +-- ODDS AND ENDS, each read on its own. +L.changedeoxysform = function(_, s) emit(s, { "g4_noop", "Deoxys forms" }) end +L.addtogamerecord = function(_, s) emit(s, { "g4_noop", "the game records" }) end +L.checkdaycarehasegg = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Solaceon day care" }) +end +L.clearspiritombcounter = function(_, s) + emit(s, { "g4_noop", "the Spiritomb counter (it needs the Underground)" }) +end +L.getspiritombcounter = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Spiritomb counter" }) +end +-- FOUR MORE UNNAMED OPCODES, read one at a time as before. `0A8` and `27C` +-- belong to the contest photo path (`0A8` writes a var, so it must); `338` and +-- `339` walk the map-object list in Amity Square and write nothing. +L["0a8"] = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "contest photos (scrcmd 0A8)" }) +end +L["338"] = function(_, s) emit(s, { "g4_noop", "an object query (scrcmd 338)" }) end +L["339"] = function(_, s) emit(s, { "g4_noop", "an object query (scrcmd 339)" }) end + + +-- --------------------------------------------------------------------------- +-- CHAPTERS FIVE AND SIX -- Veilstone to Pastoria; Lake Valor to Canalave +-- --------------------------------------------------------------------------- + +L.getoverworldweather = function(ins, s) + emit(s, { "g4_overworld_weather", ins.args[1] }) +end +L.getpartymonmove = function(ins, s) + emit(s, { "g4_mon_move", ins.args[1], ins.args[2], ins.args[3] }) +end +L.getpartymonmovecount = function(ins, s) + emit(s, { "g4_mon_move_count", ins.args[1], ins.args[2] }) +end +L.findpartyslotwithmove = function(ins, s) + emit(s, { "g4_find_slot_with_move", ins.args[1], ins.args[2] }) +end +L.getpcboxesfreeslotcount = function(ins, s) + emit(s, { "g4_pc_free_slots", ins.args[1] }) +end +L.checkdidnotcapture = function(ins, s) + emit(s, { "g4_did_not_capture", ins.args[1] }) +end + +-- --------------------------------------------------------------------------- +-- A CORRECTION: "every Sinnoh gym puzzle is a runtime overlay" WAS TOO STRONG +-- --------------------------------------------------------------------------- +-- +-- That claim was made from three gyms (Eterna, Hearthome, Veilstone), all of +-- which measure as one open floor. Measuring the rest shows it is false for +-- three others, and the behaviour that makes the difference has a name: +-- +-- behaviour 0x59 DYNAMIC_HEIGHT_COLLISION -- "ask the height system" +-- +-- Censused over all 666 land chunks and 346,819 non-void cells: +-- +-- 942 cells, in 6 chunks, 0.272% of the world -- and NOWHERE ELSE: +-- chunk 225 C02GYM0101 Canalave gym 293 cells +-- chunks 223, 224 C06GYM0101 Pastoria gym 356 cells +-- + 10 H_GROUND, 6 M_GROUND, 10 L_GROUND +-- chunks 296, 297, 298 C08GYM0101/2/3 Sunyshore gym 293 cells +-- +-- So: Eterna, Hearthome and Veilstone keep their whole puzzle in the +-- gym_features overlay, and Canalave, Pastoria and Sunyshore put PART of +-- theirs in the map -- Pastoria's three water levels even have behaviours of +-- their own. +-- +-- WHAT THIS PORT DOES WITH IT: `Gen4Maps.mapDef` turns every non-void cell +-- into collision 0, so a DYNAMIC_HEIGHT_COLLISION cell is ordinary floor. The +-- gyms stay crossable -- still no stall -- but the player walks over water in +-- Pastoria and across the gaps in Canalave and Sunyshore instead of solving +-- them. +-- +-- The blast radius is exactly those three gyms. The behaviour never appears on +-- a route, in a cave or in a building, so treating it as floor cannot let a +-- player walk off a cliff anywhere else -- which is the question worth asking +-- before leaving it alone, and the census is what answers it. +L.initpersistedmapfeaturesforpastoriagym = function(_, s) + emit(s, { "g4_noop", "the Pastoria Gym water level (its cells read as floor here)" }) +end +L.initpersistedmapfeaturesforcanalavegym = function(_, s) + emit(s, { "g4_noop", "the Canalave Gym sliding floor (its cells read as floor here)" }) +end +L.presspastoriagymbutton = function(_, s) + emit(s, { "g4_noop", "the Pastoria Gym water-level button" }) +end + +-- THE GREAT MARSH / SAFARI GAME, one absent system. +L.startendsafarigame = function(_, s) emit(s, { "g4_noop", "the Great Marsh safari game" }) end +L.startgreatmarshlookout = function(_, s) + emit(s, { "g4_noop", "the Great Marsh lookout" }) +end +L.getcurrentsafarigamecaughtnum = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Great Marsh safari game" }) +end +-- !! `setspeciallocation` IS THE LIFT, AND THIS USED TO THROW IT AWAY. +-- +-- The comment here read "it stamps the MET LOCATION on what you catch in the +-- marsh" and the row lowered to a noop. The slot has four readers in the +-- cartridge and the met location is not one of them; the one that matters is +-- `field_control.c` 1011, where a warp with destHeaderID 0xfff and destWarpID +-- 0x100 takes its destination FROM THIS SLOT. Six warps carry that pair and +-- all six are lift cars, so the lift scripts were writing a floor into a +-- command that discarded it: EVERY LIFT IN SINNOH WAS A DEAD END, for two +-- lines of comment. See src/import/Gen4Elevators.lua for the whole of it. +-- +-- `setspeciallocation ` -- the +-- five fields of a `Location`, in that order, all var-or-literal, writing no +-- var. OPERAND 2 IS A WARP INDEX, not an x: `setspeciallocation 14 1 18 2 1` +-- is header 14, warp 1, (18, 2), facing south, and the Veilstone store's +-- middle floors say warp 2 where its ends say warp 1. The coordinates are +-- overwritten from that warp whenever it is not WARP_ID_NONE. +L.setspeciallocation = function(ins, s) + emit(s, { "g4_special_location", ins.args[1], ins.args[2], ins.args[3], + ins.args[4], ins.args[5] }) +end +-- `getfloorsabove ` -- `FieldMenu_GetFloorsAbove(specialLocation)`, so +-- it answers about the floor you GOT ON AT and not the car you are standing +-- in. A var-writer, and the panel branches on it six ways. +L.getfloorsabove = function(ins, s) + emit(s, { "g4_floors_above", ins.args[1] }) +end +-- `bufferfloornumber ` -- `StringTemplate_SetFloorNumber`, both +-- operands BYTES, and the second is an index where ZERO IS THE BASEMENT. +L.bufferfloornumber = function(ins, s) + emit(s, { "g4_buffer_floor", ins.args[1], ins.args[2] }) +end +-- `checkisdepartmentstoreregular ` -- the buy counter against five. +L.checkisdepartmentstoreregular = function(ins, s) + emit(s, { "g4_store_regular", ins.args[1] }) +end +-- `showcurrentfloor ` is the little "Current Floor +-- / 3F" window in the corner of the panel, and THE VAR IS AN INPUT even though +-- the operand is a var POINTER: the window's own task watches it and closes +-- when it turns 0xFFFF, which is what the lift's `setvar VAR_ELEVATOR_..., -1` +-- three lines later is for. So this is the one var-pointer operand in the file +-- that must NOT be written -- `g4_no_feature` would zero the floor count the +-- panel is about to branch on. +-- +-- The window itself is a HUD this port does not draw, the same call this file +-- already makes for the money box. Nothing is lost by it: the window's two +-- lines are bank 361 entries 15 "Current Floor" and 16 "{STRVAR_1}", and the +-- string it interpolates is filled by `bufferfloornumber` above whether or not +-- anything draws it. +L.showcurrentfloor = function(_, s) + emit(s, { "g4_noop", "the lift's current-floor window" }) +end +-- `playelevatoranimation ` -- the car rocking, with +-- `direction` an ELEVATOR_DIR_UP/DOWN out of a var. There is no elevator +-- cutscene in this port and one is not faked; the lift still takes you to the +-- floor, it just arrives without the ride. +L.playelevatoranimation = function(_, s) + emit(s, { "g4_noop", "the elevator animation" }) +end + +-- THE SHARD MOVE TUTOR in the Route 212 house, one absent system. Its +-- var-writers must still write: `checkcanaffordmove` answering a leftover +-- would let a script charge for a move it never taught. +L.checkcanaffordmove = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "the shard move tutor" }) +end +L.checkhaslearnabletutormoves = function(ins, s) + emit(s, { "g4_no_feature", ins.args[3], "the shard move tutor" }) +end +L.getsummaryselectedmoveslot = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the shard move tutor" }) +end +L.opensummaryscreenteachmove = function(_, s) + emit(s, { "g4_noop", "the shard move tutor" }) +end +L.showmovetutormoveselectionmenu = function(_, s) + emit(s, { "g4_noop", "the shard move tutor" }) +end +L.resetmoveslot = function(_, s) emit(s, { "g4_noop", "the shard move tutor" }) end +L.payshardcost = function(_, s) emit(s, { "g4_noop", "the shard move tutor" }) end + +-- THE DEX MILESTONES, none of which this port tracks per-region or per-form. +L.getunownformsseencount = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "Unown form counting" }) +end +L.checknationaldexcompleted = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the National Dex completion check" }) +end +L.checkgamecompleted = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "the Hall of Fame record" }) +end +L.turnonpokedexformdetection = function(_, s) + emit(s, { "g4_noop", "Pokedex form detection" }) +end +L.showdiplomasinnoh = function(_, s) emit(s, { "g4_noop", "the Sinnoh diploma" }) end +L.showdiplomanationaldex = function(_, s) + emit(s, { "g4_noop", "the National Dex diploma" }) +end + +-- PRESENTATION, and the reason each is a no-op is its own. +-- `stopse` stops a sound effect and there is no Gen 4 SE bank at all. +L.stopse = function(_, s) emit(s, { "g4_noop", "a sound effect stop" }) end +-- Canalave's library television and the boat cutscene are both scripted +-- set-pieces with their own screens; the scripts around them continue. +L.startlibrarytv = function(_, s) emit(s, { "g4_noop", "the Canalave library TV" }) end +L.playboatcutscene = function(_, s) emit(s, { "g4_noop", "the boat cutscene" }) end +-- `2b5 ` is `FieldOverworldState_SetExitLocation` -- where a +-- dungeon puts you back out. It writes no var; the port's own `lastOutdoor` +-- already answers the same question for the warps it handles. +L["2b5"] = function(_, s) emit(s, { "g4_noop", "the stored exit location (scrcmd 2B5)" }) end +-- `29f` reads one var and returns without writing anything. +L["29f"] = function(_, s) emit(s, { "g4_noop", "a cartridge no-op (scrcmd 29F)" }) end + + +-- --------------------------------------------------------------------------- +-- CHAPTERS SEVEN AND EIGHT -- and the end of the game +-- --------------------------------------------------------------------------- + +-- THE HALL OF FAME. `cleargame` is `ClearGame(task)`: the induction, the +-- credits, the autosave and the return to the title. The port has had that +-- whole flow since Gen 1 as `record_hall_of_fame` -- Gen 2 lowers its own +-- `HallOfFame` special to the same verb -- so the last three rows of the +-- Sinnoh story are one line. +L.cleargame = function(_, s) emit(s, { "record_hall_of_fame" }) end +L.playhalloffamehealinganimation = function(_, s) + emit(s, { "g4_noop", "the Hall of Fame healing animation" }) +end + +-- !! CORRECTED. These two were briefly lowered to the port's `g4_show_object` +-- and `g4_hide_object` on the reading that `DistWorld_AddMapObjectWithLocalID` +-- merely spawns an object the map already carries. IT DOES NOT, and the check +-- that settled it was to look at the map: +-- +-- Distortion World 1F (header 573, events member 524): 0 objects +-- Distortion World B1F (header 574, events member 0): 0 objects +-- +-- The map's event table is EMPTY. `AddMapObjectWithLocalID` walks +-- `sMapObjectEvents`, a table inside OVERLAY 9, and the 42 ids it holds start +-- at DIST_WORLD_MAP_OBJECT_BASE_LOCAL_ID = 128 and are named CYNTHIA_PORTAL, +-- CYNTHIA_ELEVATOR, MESPRIT, CYRUS, UXIE, AZELF and the boulder-pit triggers. +-- +-- So these are the Distortion World's CAST, not its platforms, and they live +-- in an overlay this port does not extract. Pointing them at show/hide asks +-- the overworld for local id 128 on a map whose object list is empty: it finds +-- nothing and says so, once per id. A no-op is the honest lowering until +-- `sMapObjectEvents` is extracted, which is the real fix and is on the tracker. +L.adddistortionworldmapobject = function(_, s) + emit(s, { "g4_noop", "a Distortion World cast member (its table is in overlay 9)" }) +end +L.deletedistortionworldmapobject = function(_, s) + emit(s, { "g4_noop", "a Distortion World cast member (its table is in overlay 9)" }) +end +L.initpersistedmapfeaturesfordistortionworld = function(_, s) + emit(s, { "g4_noop", "the Distortion World persisted map feature" }) +end +L.finishdistortionworldgiratinashadowevent = function(_, s) + emit(s, { "g4_noop", "the Giratina shadow event" }) +end +L.dodwwarp = function(_, s) emit(s, { "g4_noop", "the Distortion World warp" }) end +L.setpartygiratinaform = function(_, s) + emit(s, { "g4_noop", "Giratina's forms" }) +end + +L.getbattleresult = function(ins, s) + emit(s, { "g4_get_battle_result", ins.args[1] }) +end +L.checkpartyhashelditem = function(ins, s) + emit(s, { "g4_party_has_held_item", ins.args[1], ins.args[2] }) +end +L.setspeciesseen = function(ins, s) + emit(s, { "g4_set_species_seen", ins.args[1] }) +end +-- `waitabpadpress` pauses until A or B. Gen 3 lowers its own `waitbuttonpress` +-- to nothing for the reason that applies here too: this port's text boxes +-- already wait for the button themselves, so a second wait with no box on +-- screen is a hang rather than a pause. +L.waitabpadpress = function(_, s) emit(s, { "g4_noop", "a wait for A or B" }) end + +-- THE PLATFORM LIFTS, and why they are NOT a blocker even though they first +-- looked like one. +-- +-- IRON ISLAND FIRST. B1F-right, B2F-left and B3F each split into two connected +-- components, which reads like a wing the player cannot reach. It is not: +-- dumping B3F cell by cell, component 2 is the ROOM -- 150 CAVE_FLOOR cells and +-- its three warps, east, west and north -- and component 1 is 606 cells of +-- behaviour NONE, the map's unused surround. The room is entered and left by +-- warp and is walkable throughout. +-- +-- `PlatformLift_Trigger` moves a platform between two FLOOR HEIGHTS in the +-- same room; it is a height feature, and this port walks without height. So +-- the lift is scenery here, not a gate. +-- +-- A COMPONENT COUNT IS NOT A MEASUREMENT. What the components CONTAIN is -- +-- which is the difference between this no-op and the Distortion World above. +-- +-- !! AND THAT ARGUED THREE OF THE NINE. There are SIX MORE in the POKEMON +-- LEAGUE -- the four Elite Four elevators, Cynthia's elevator and the +-- Champion's room -- and this no-op has covered them since the day it was +-- written without one of them being looked at. That is the department-store +-- lifts' mistake exactly: a note that is right about what it examined and +-- silent about the rest of what it decides. +-- +-- MEASURED, in the permission grid, for all six: each room is a SHAFT with a +-- warp in the wall at the top (behaviour 0x6E) and a warp on the floor at the +-- bottom, and THE COLUMN BETWEEN THEM IS OPEN FLOOR END TO END -- 13/13, 13/13, +-- 13/13, 13/13, 21/21 and 16/16 tiles of behaviour 0 with no collision bit. The +-- Elite Four are reachable in order without the lift, and Cynthia's room ends +-- in an explicit `Warp` to the Hall of Fame hallway rather than in the +-- platform. See src/import/Gen4PlatformLifts.lua. +L.triggerplatformlift = function(_, s) + emit(s, { "g4_noop", "the platform lift (all nine rooms are walkable without it)" }) +end +L.initpersistedmapfeaturesforplatformlift = function(_, s) + emit(s, { "g4_noop", "the platform lift persisted map feature" }) +end +-- ...BUT THE QUESTION THE SLOT IS ASKED IS ANSWERABLE, and an unlowered +-- var-writer is the dangerous kind -- this is the fifth time that sentence has +-- been needed. `checkplatformliftnotusedwhenenteredmap ` has five +-- sites, all five League elevator rooms, and the `gotoif` behind it gates the +-- room's own coord event through VAR_MAP_LOCAL_0x00. +-- +-- The answer is DID YOU COME IN AT THE BOTTOM: +-- `PersistedMapFeatures_InitForPlatformLift` sets the flag TRUE and clears it +-- only in the six League cases, only when the arrival z is not the room's +-- bottom-floor warp z. Iron Island never clears it. +-- +-- SAID PLAINLY: nothing a player sees changes today, because the trigger this +-- gates is the no-op above. What changes is that the slot is truthful for the +-- height work and the var stops holding the previous comparison. +L.checkplatformliftnotusedwhenenteredmap = function(ins, s) + emit(s, { "g4_platform_lift_bottom", ins.args[1] }) +end + +-- SUNYSHORE'S GEAR GYM, which is one of the three that carry +-- DYNAMIC_HEIGHT_COLLISION cells (293 of them, chunks 296-298) -- so like +-- Canalave and Pastoria its floor reads as ordinary ground here and the puzzle +-- is absent rather than impassable. +L.presssunyshoregymbutton = function(_, s) + emit(s, { "g4_noop", "the Sunyshore Gym gear button" }) +end +L.initpersistedmapfeaturesforsunyshoregym = function(_, s) + emit(s, { "g4_noop", "the Sunyshore Gym persisted map feature" }) +end + +-- `pokemartseal ` -- `SunyshoreMarketDailyStocks[martID]` with +-- MART_TYPE_SEAL. THE SAME SHAPE AS `pokemartspecialties` AND REFUSED FOR THE +-- SAME REASON: it indexes a second stock table that is not extracted, and +-- seals are a ball-decoration system this port does not have. 35 sites, all of +-- them Sunyshore. Opening a common mart in its place would sell Potions under +-- a seal sign. +L.pokemartseal = function(_, s) emit(s, { "g4_pokemart", 0, "specialty" }) end + +-- THE LAKE GUARDIAN CONTAINMENT UNITS in the Galactic HQ control room, the +-- Spear Pillar set-pieces, and the rest -- each read on its own. +L.initlakeguardiancontainmentunits = function(_, s) + emit(s, { "g4_noop", "the lake guardian containment units" }) +end +L.deactivatelakeguardiancontainmentunits = function(_, s) + emit(s, { "g4_noop", "the lake guardian containment units" }) +end +L.sethiddenlocation = function(_, s) + emit(s, { "g4_noop", "a hidden location marker" }) +end +-- !! THE DESTINATION IS OPERAND 1, AND THIS PASSED OPERAND 2. +-- `checkpartyhasfatefulencounterregigigas` takes ONE operand and pret reads it +-- with `GetVarPointer` -- it is the destination. Passing args[2] handed the +-- command NIL, so nothing was written at any of its 9 sites and the `gotoif` +-- behind each one branched on the previous command's answer. Caught by comparing +-- pret's operand KINDS against the arg indices this file passes. +L.checkpartyhasfatefulencounterregigigas = function(ins, s) + emit(s, { "g4_no_feature", ins.args[1], "fateful-encounter Regigigas" }) +end +-- `noop` is named that on the cartridge too. +L.noop = function(_, s) emit(s, { "g4_noop", "a cartridge no-op" }) end +-- FOUR MORE UNNAMED COMMANDS, and reading them one at a time paid for itself: +-- THREE ARE NO-OPS AND ONE WRITES A VAR. +-- +-- 18C GetVar localID, GetVar dir -- writes nothing +-- 2B6 GetVar localID, ReadByte -- writes nothing +-- 2FB no operands at all -- writes nothing +-- 20D ReadByte, then GetVarPointer -- WRITES A VAR +-- +-- A first pass had all four as no-ops on the strength of "they are set-piece +-- effects". The grep that produced that had landed on a NEIGHBOURING function +-- for two of them -- `ScrCmd_2FB` reads nothing, but the lines under it belong +-- to `ScrCmd_CheckABPress`, which does. Matching each definition exactly is +-- what separated them, and 20D would have left its five Spear Pillar sites +-- branching on the previous command's answer. +L["18c"] = function(_, s) emit(s, { "g4_noop", "a Spear Pillar effect (scrcmd 18C)" }) end +L["2fb"] = function(_, s) emit(s, { "g4_noop", "a Spear Pillar cue (scrcmd 2FB)" }) end +L["2b6"] = function(_, s) emit(s, { "g4_noop", "an Iron Island cue (scrcmd 2B6)" }) end +L["20d"] = function(ins, s) + emit(s, { "g4_no_feature", ins.args[2], "a Spear Pillar effect (scrcmd 20D)" }) +end + + +L.getgameversion = function(ins, s) emit(s, { "g4_game_version", ins.args[1] }) end +L.getleaguevictories = function(ins, s) + emit(s, { "g4_league_victories", ins.args[1] }) +end +L.getpartymonevtotal = function(ins, s) + emit(s, { "g4_mon_ev_total", ins.args[1], ins.args[2] }) +end +L.getpartymonribbon = function(ins, s) + emit(s, { "g4_get_mon_ribbon", ins.args[1], ins.args[2], ins.args[3] }) +end +L.setpartymonribbon = function(ins, s) + emit(s, { "g4_set_mon_ribbon", ins.args[1], ins.args[2] }) +end +-- `showobject` / `hideobject` are the OTHER pair -- `MapObjMan_LocalMapObjByIndex` +-- then a visibility flag, where `addobject`/`removeobject` add and delete. The +-- port's show and hide do exactly this, and the add/delete pair was already +-- pointed at them; these two were simply never lowered. +L.showobject = function(ins, s) emit(s, { "g4_show_object", ins.args[1] }) end +L.hideobject = function(ins, s) emit(s, { "g4_hide_object", ins.args[1] }) end +L.resetdistortionworldpersistedcameraangles = function(_, s) + emit(s, { "g4_noop", "the Distortion World camera angles" }) +end +L.setsubscene63 = function(_, s) emit(s, { "g4_noop", "a subscene change" }) end + +-- `startgiratinaoriginbattle ` is `Encounter_NewVsGiratinaOrigin` +-- -- the same call shape as `startlegendarybattle` with the Origin Forme set +-- on the way in. This port models no forms (see `setpartygiratinaform`, a +-- no-op just above), so it fights the species it is handed, which is the same +-- Pokemon in its other shape. +L.startgiratinaoriginbattle = function(ins, s) + emit(s, { "g4_legendary_battle", ins.args[1], ins.args[2] }) +end +L.startdistortionworldgiratinashadowevent = function(_, s) + emit(s, { "g4_noop", "the Giratina shadow event" }) +end + function Gen4ScriptVM.lower(instructions, state) local s = state or {} s.out = s.out or {} diff --git a/src/ui/Gen4MainMenu.lua b/src/ui/Gen4MainMenu.lua index 53adf6f83..d21004e46 100644 --- a/src/ui/Gen4MainMenu.lua +++ b/src/ui/Gen4MainMenu.lua @@ -230,19 +230,25 @@ function Gen4MainMenu:hasPokedex() return next(dex.owned or {}) ~= nil end +-- `tx, ty, tw` are the window's CONTENT rect, which is what the cartridge's +-- own coordinates are in: RenderContinueOption prints at x = 32 and +-- y = TEXT_LINES(i) INSIDE the window, and the frame is drawn outside it. function Gen4MainMenu:drawContinue(tx, ty, tw) local L = self.layout - local inner = (tx + 1) * 8 - local right = (tx + tw - 1) * 8 - local y = (ty + 1) * 8 + local left = tx * 8 + local right = (tx + tw) * 8 + -- Line 0 is the word CONTINUE itself, printed by the caller; the summary + -- starts on line 1, exactly as the cartridge's loop does. + local line = 1 for _, row in ipairs(self.continueRows) do if not (row.needsPokedex and not self:hasPokedex()) then local value = self:value(row.value) - Font.draw(tostring(row.label or ""), inner + L.margin - 8, y) + local y = ty * 8 + line * L.linePixels + Font.draw(tostring(row.label or ""), left + L.margin, y) -- Right-aligned with the same margin the labels are inset by, which is -- what PrintRightAlignedWithMargin does: one number, used on both sides. - Font.draw(value, right - L.margin + 8 - Font.width(value), y) - y = y + L.linePixels + Font.draw(value, right - L.margin - Font.width(value), y) + line = line + 1 end end end @@ -258,51 +264,69 @@ function Gen4MainMenu:draw() local glyphH = Font.glyphHeight() local inset = math.max(0, math.floor((L.linePixels - glyphH) / 2)) - -- CENTRED VERTICALLY WHEN THE ROWS DO NOT FILL THE SCREEN. + -- THE WINDOW THE PLAYER SEES IS THE FRAME AROUND THE CONTENT, and drawing + -- the content rect alone is why the boxes were half the height they should + -- be. Reported twice: "the tiles are too small", then "the boxes + -- surrounding the text are still too small thry should match the rom". -- - -- The cartridge starts its first window at y = 1 and never has to think - -- about this, because its menu is EIGHT rows -- six of them link features - -- this port does not offer -- and CONTINUE's window alone is ten tiles. - -- With no save and no link rows the stack is three short windows, which at - -- the cartridge's own y = 1 sit in the top third of the screen and leave the - -- rest empty: the layout is right and it reads as broken. Reported as "the - -- tiles are too small". The geometry below is still the cartridge's; only - -- where the block starts is this port's. - local used = 0 - for _, item in ipairs(self.items) do - used = used + (item.lines or 1) * L.lineTiles + L.gap + -- `Window_DrawStandardFrame` -> `DrawStandardWindowFrame` (render_window.c) + -- lays the frame at `x - 1 .. x + width` and `y - 1 .. y + height`, one tile + -- outside the window on every side, and `RenderOptions` advances by + -- `height + 2` with the comment "Add 2 to account for the window border". + -- So a one-line option is 2 content tiles and FOUR visible ones -- 32 px, + -- not 16 -- and the column is 28 tiles wide, not 26: x = 3, width = 26, + -- frame from tile 2 to tile 29, which is 16 px to 240 px and centred on a + -- 256 px screen. Drawn as the content rect it was 208 px wide starting at + -- 24, which is neither the right size nor centred. + -- + -- Everything below is in the cartridge's own numbers; only the cursor is + -- this port's, because Platinum marks the focused option by swapping its + -- frame tiles (FOCUSED_OPTION_FRAME_BASE_TILE) rather than by drawing one. + local tops = {} + local ty = L.firstY + for i, item in ipairs(self.items) do + tops[i] = ty + ty = ty + (item.lines or 1) * L.lineTiles + L.gap end - used = used - L.gap local screenTiles = math.floor(H / 8) - local y = L.firstY - if used + L.firstY * 2 < screenTiles then - y = math.max(L.firstY, math.floor((screenTiles - used) / 2)) - end + + -- ...AND THE COLUMN CAN BE TALLER THAN THE SCREEN, on the cartridge too: + -- CONTINUE alone is 12 visible tiles and eight options do not fit in 24, + -- which is what Platinum's scroll arrows are for. Keeping the selected + -- window on screen is the same answer; dropping the rows that fall past the + -- bottom edge -- which is what the old `break` did -- makes EXIT + -- unreachable the moment a save exists. + local selTop = tops[self.index] or L.firstY + local selH = (self.items[self.index] and self.items[self.index].lines or 1) + * L.lineTiles + local scroll = 0 + local bottomEdge = selTop + selH + 1 + if bottomEdge > screenTiles then scroll = bottomEdge - screenTiles end + if selTop - 1 - scroll < 0 then scroll = selTop - 1 end for i, item in ipairs(self.items) do - -- CONTINUE is five lines whether or not every one of them is filled; the - -- others are one. `lines * lineTiles` is TEXT_LINES_TILES. local th = (item.lines or 1) * L.lineTiles - Font.drawBox(L.optionX, y, L.optionWidth, th) + local y = tops[i] - scroll + -- Wholly off either edge: not drawn at all, rather than clipped into a + -- half window. + if y + th + 1 > 0 and y - 1 < screenTiles then + Font.drawBox(L.optionX - 1, y - 1, L.optionWidth + 2, th + 2) - -- DRAWN AT WHITE, not at black. Platinum's font page is PRE-TINTED: the - -- sheet bakes the letter dark and its shadow light, and Font.drawCode blits - -- it as it stands when no style is pushed. Multiplying it by black -- which - -- is what every Game Boy screen in this engine does, because its glyphs are - -- a mask -- would paint the shadow black as well and thicken every letter. - Font.draw(item.label, (L.optionX + 1) * 8, y * 8 + inset) - if item.key == "continue" then - self:drawContinue(L.optionX, y, L.optionWidth) - end - if i == self.index then - Font.drawCode(Theme.cursor, L.optionX * 8, y * 8 + inset) + -- DRAWN AT WHITE, not at black. Platinum's font page is PRE-TINTED: the + -- sheet bakes the letter dark and its shadow light, and Font.drawCode blits + -- it as it stands when no style is pushed. Multiplying it by black -- which + -- is what every Game Boy screen in this engine does, because its glyphs are + -- a mask -- would paint the shadow black as well and thicken every letter. + Font.draw(item.label, L.optionX * 8, y * 8 + inset) + if item.key == "continue" then + self:drawContinue(L.optionX, y, L.optionWidth) + end + if i == self.index then + -- In the frame's own left column, so the label keeps the cartridge's + -- content origin rather than being pushed a tile right to make room. + Font.drawCode(Theme.cursor, (L.optionX - 1) * 8, y * 8 + inset) + end end - - y = y + th + L.gap - -- Off the bottom rather than drawn over the edge. A mod that adds rows - -- can overrun 24 tiles, and a half-drawn window is worse than a missing - -- one. - if y * 8 >= H then break end end end diff --git a/src/ui/Gen4NamingScreen.lua b/src/ui/Gen4NamingScreen.lua new file mode 100644 index 000000000..be456caf6 --- /dev/null +++ b/src/ui/Gen4NamingScreen.lua @@ -0,0 +1,448 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- Platinum's KEYBOARD, which was falling back to the Game Boy's. +-- +-- Reported from play: "the keyboard where you type your name or your pokemons +-- nickname is also not correct for gen4 platinum its falling back to gen1". +-- It was: nothing in GEN4_ALIASES named `NamingScreen`, so every prompt -- +-- the player's name, the rival's, a nickname, a box -- opened Kanto's. +-- +-- THE GRID IS THE CARTRIDGE'S, read out of applications/naming_screen.c +-- rather than eyeballed: SIX ROWS OF THIRTEEN, where row 0 is the HOME ROW of +-- buttons and rows 1 to 5 are the characters. `NamingScreen_LoadKeyboardLayout` +-- builds exactly that -- `sHomeRowLayouts[page]` into row 0 and +-- `sCharCodes[page][0..4]` into the rest -- and the three English pages are +-- UPPER, lower and OTHERS. +-- +-- THE HOME ROW REPEATS ITS BUTTONS ACROSS CELLS, and that is not padding: it +-- is how a button two or three cells wide is navigated with a d-pad. UPPER +-- takes cells 1-2, lower 3-4, OTHERS 5-6, the space/skip key 7-8, BACK 9-11 +-- and OK 12-13. Kept as the cartridge writes it, so the cursor moves through +-- them the way it does on hardware. +-- +-- THE PICTURES ARE THE CARTRIDGE'S NOW, and so is the geometry. Reported from +-- play after the first version of this screen: it "still needs a lot of work +-- before it matches the platinum rom". It did, and the reason was that +-- `/data/namein.narc` had never been opened -- so the layout was Platinum's and +-- everything a player looks at was a guess. `Gen4Naming` reads it now, and +-- with it the screen stops guessing: +-- +-- * THE BACKDROP AND THE PANEL are composed pictures, one panel per page. +-- * THE PANEL SITS WHERE THE APP PARKS IT. Its layer rests at background +-- offset (-11, -80), and an offset scrolls the VIEW, so the picture is at +-- screen (11, 80). +-- * THE CHARACTER GRID IS THIRTEEN BY FIVE, not thirteen by six, in cells +-- SIXTEEN BY NINETEEN, not sixteen square. `Window_Add(..., 2, 1, 26, 12, +-- ...)` is the rectangle and `NamingScreen_InitializeCharsGraphics` is the +-- pitch: five `PrintChars` calls at `i * 19 + 4`. The home row is not in +-- that window at all -- it is sprites, above the panel. +-- * THE KEYBOARD IS A CHECKERBOARD, painted by code in two palette indices +-- per page rather than stored in the tilemap, which is why opening the +-- archive alone would still have left a frame with nothing in it. +-- +-- WHAT IS STILL NOT THE CARTRIDGE'S, said plainly rather than quietly skipped: +-- the home row's BUTTON ART and the CURSOR. Both are the sprite cell bank at +-- members 10/12/14, and composing one is a different job from composing a +-- tilemap. They are the engine's own frames, drawn at the cartridge's own +-- positions. + +local Font = require("src.render.Font") +local Logger = require("src.core.Logger") +local Strings = require("src.core.Strings") + +local Gen4NamingScreen = {} +Gen4NamingScreen.__index = Gen4NamingScreen +Gen4NamingScreen.isOpaque = true + +local W, H = 256, 192 + +Gen4NamingScreen.ROWS = 6 +Gen4NamingScreen.COLS = 13 + +-- The home row, cell for cell. A repeated name is one button spanning those +-- cells; the drawing merges them and the cursor does not. +local HOME = { + "upper", "upper", "lower", "lower", "others", "others", + "space", "space", "back", "back", "back", "ok", "ok", +} + +-- WHAT EACH BUTTON SAYS, AND THESE WORDS ARE THE PORT'S. The cartridge's home +-- row is six wordless pictures out of the sprite bank, which is not composed +-- here -- so there is nothing to copy and something has to be written. They +-- are short because the buttons are two cells wide (three for BACK), and a +-- label that does not fit its own button is the fault this screen was reported +-- for in the first place. +local LABEL = { + upper = "A-Z", lower = "a-z", others = "SYM", + space = "SPC", back = "BACK", ok = "OK", +} + +-- The three English pages, five rows of thirteen each. `sCharCodesUpper0..4` +-- and their lower and OTHERS counterparts, with the cartridge's CHAR_SPACE +-- written as an empty cell -- a blank key is a real key on this keyboard and +-- pressing it types nothing, which is what the cartridge does with it. +local PAGES = { + { + id = "upper", label = "UPPER", + rows = { + { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "", ",", "." }, + { "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "", "'", "-" }, + { "U", "V", "W", "X", "Y", "Z", "", "", "", "", "", "♂", "♀" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "", "", "" }, + }, + }, + { + id = "lower", label = "lower", + rows = { + { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "", ",", "." }, + { "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "", "'", "-" }, + { "u", "v", "w", "x", "y", "z", "", "", "", "", "", "♂", "♀" }, + { "", "", "", "", "", "", "", "", "", "", "", "", "" }, + { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "", "", "" }, + }, + }, + { + id = "others", label = "OTHERS", + rows = { + { ",", ".", ":", ";", "!", "?", "", "", "", "♂", "♀", "", "" }, + { "\"", "\"", "'", "'", "(", ")", "", "", "", "", "", "", "" }, + { "…", "·", "~", "@", "#", "%", "+", "-", "*", "/", "=", "", "" }, + { "◎", "○", "□", "△", "◇", "♠", "♥", "♦", "♣", "★", "♪", "", "" }, + { "☀", "☁", "☂", "☃", "☺", "☻", "☹", "☻", "Z", "↑", "↓", "", "" }, + }, + }, +} + +-- WHERE EVERYTHING SITS, and every number is the cartridge's. +-- +-- The previous version of this file put the grid at (24, 64) on sixteen-square +-- cells and said so in a comment about multiples of eight. The multiples of +-- eight were a real fix -- `Font.drawBox` takes TILES and `Font.draw` takes +-- PIXELS, and a layout that is not a whole number of tiles puts every box a +-- fraction of a tile from the text inside it, which is what "text is outside of +-- boxes" was. But it was a fix to a layout that was invented. This one is +-- read, and it is not all multiples of eight, because the cartridge's is not: +-- the rows are NINETEEN pixels. The boxes are gone with the guess, so nothing +-- rounds any more. +local PANEL_X, PANEL_Y = 11, 80 +local GRID_X, GRID_Y = PANEL_X + 2 * 8, PANEL_Y + 1 * 8 -- 27, 88 +local CELL_W, CELL_H = 16, 19 +local CHAR_ROWS = 5 +local GLYPH_INSET = 4 + +-- The home row, at the y its sprites use and on the keyboard's own column +-- pitch from the x its first sprite uses. See Gen4Naming for why those two +-- numbers are the whole arrangement. +local HOME_X, HOME_Y, HOME_H = 4, 0x44, 16 + +-- THE PROMPT AND THE TYPED NAME ARE ON THE OTHER SCREEN on hardware: the +-- keyboard is the top screen and `LoadMessageBoxGraphics` puts the message box +-- on BG_LAYER_SUB_0. With one screen they go above the keyboard, in the space +-- the panel does not use, and those two positions are this port's and are the +-- only positions on this screen that are. +local TITLE_Y = 8 +local ENTRY_Y = 32 + +-- The checkerboard, when the cache has no colours for it. Deliberately drab: +-- a stand-in that looks like a choice is a stand-in nobody replaces. +local FALLBACK_BG = { 0.24, 0.27, 0.36 } +local FALLBACK_ALT = { 0.19, 0.22, 0.30 } + +function Gen4NamingScreen:uiSize() return W, H end +function Gen4NamingScreen:wantsFillScale() return true end +function Gen4NamingScreen:wantsEdgeBleed() return false end + +function Gen4NamingScreen:sgbPalettes() + local P = require("src.render.PaletteFX") + return { P.trueColorZone(0, 0, math.ceil(W / 8) - 1, math.ceil(H / 8) - 1) } +end + +function Gen4NamingScreen.new(game, opts) + opts = opts or {} + local self = setmetatable({}, Gen4NamingScreen) + self.game = game + -- The same options the Game Boy screen takes, because the alias has to serve + -- every existing call site unchanged. + self.title = opts.title or Strings("YOUR NAME?") + self.maxLen = opts.maxLen or 7 + self.onDone = opts.onDone + self.kind = opts.kind + self.species = opts.species or (opts.mon and opts.mon.species) + + self.glyphs = {} + for ch in tostring(opts.default or ""):gmatch("[%z\1-\127\194-\244][\128-\191]*") do + if #self.glyphs < self.maxLen then self.glyphs[#self.glyphs + 1] = ch end + end + + self.page = 1 + self.row, self.col = 1, 1 -- 1 is the home row; 2..6 are the characters + + self.art = (game.data or {}).gen4_naming or nil + self.cache = {} + if not self.art then + Logger.warn("gen4 naming screen: this cache carries no `gen4_naming` " + .. "record -- the keyboard is drawn in the engine's own frame") + end + return self +end + +-- One of the cache's pictures. The record is `{ path, width, height, ... }`. +function Gen4NamingScreen:img(entry) + local path = (type(entry) == "table" and entry.path) or entry + if type(path) ~= "string" then return nil end + if self.cache[path] == nil then + local ok, image = pcall(require("src.render.Assets").image, path) + self.cache[path] = ok and image or false + if self.cache[path] then self.cache[path]:setFilter("nearest", "nearest") end + end + return self.cache[path] or nil +end + +-- The two colours this page's checkerboard is painted in. `bgColour` and +-- `altColour` are INDICES into the window's palette row and `colours` is that +-- row, so a cache with the pictures but no palette still gets a keyboard -- +-- in the fallback colours, which is visibly a fallback. +function Gen4NamingScreen:checkerColours() + local art = self.art or {} + local list = art.colours + local function colour(indices, fallback) + local index = indices and indices[self.page] + local rgb = index and list and list[index + 1] + if type(rgb) == "table" and rgb[1] then return rgb end + return fallback + end + return colour(art.bgColour, FALLBACK_BG), colour(art.altColour, FALLBACK_ALT) +end + +-- What is in a cell, as { kind = "button"|"char", value = ... }. +function Gen4NamingScreen:cell(row, col) + if row == 1 then + local id = HOME[col] + return id and { kind = "button", value = id } or nil + end + local page = PAGES[self.page] + local line = page and page.rows[row - 1] + local ch = line and line[col] + if ch == nil then return nil end + return { kind = "char", value = ch } +end + +function Gen4NamingScreen:close(name) + self.game.stack:pop() + if self.onDone then self.onDone(name) end +end + +function Gen4NamingScreen:typed() + return table.concat(self.glyphs) +end + +function Gen4NamingScreen:press(cell) + if not cell then return end + if cell.kind == "char" then + -- A BLANK KEY IS A REAL KEY and types nothing, which is what the + -- cartridge's CHAR_SPACE cells do in the middle of a page. + if cell.value ~= "" and #self.glyphs < self.maxLen then + self.glyphs[#self.glyphs + 1] = cell.value + end + return + end + local id = cell.value + if id == "upper" then self.page = 1 + elseif id == "lower" then self.page = 2 + elseif id == "others" then self.page = 3 + elseif id == "space" then + if #self.glyphs < self.maxLen then self.glyphs[#self.glyphs + 1] = " " end + elseif id == "back" then + if #self.glyphs > 0 then self.glyphs[#self.glyphs] = nil end + elseif id == "ok" then + self:close(self:typed()) + end +end + +function Gen4NamingScreen:move(dx, dy) + local rows, cols = Gen4NamingScreen.ROWS, Gen4NamingScreen.COLS + if dy ~= 0 then + self.row = (self.row - 1 + dy) % rows + 1 + end + if dx ~= 0 then + if self.row == 1 then + -- OFF THE BUTTON IN ONE STEP. A button three cells wide would otherwise + -- take three presses to leave, which is not how it behaves on hardware: + -- the cursor sits on the BUTTON, so moving means moving to the next one. + local id = HOME[self.col] + local col = self.col + repeat + col = (col - 1 + dx) % cols + 1 + until HOME[col] ~= id or col == self.col + self.col = col + else + self.col = (self.col - 1 + dx) % cols + 1 + end + end + -- Landing on the home row from a character row keeps the column, which can + -- be in the middle of a wide button; that is fine, because the button is + -- selected by span rather than by its first cell. +end + +function Gen4NamingScreen:update() + local input = self.game.input + if not input then return end + if input:wasPressed("left") then self:move(-1, 0) end + if input:wasPressed("right") then self:move(1, 0) end + if input:wasPressed("up") then self:move(0, -1) end + if input:wasPressed("down") then self:move(0, 1) end + if input:wasPressed("a") then self:press(self:cell(self.row, self.col)) end + if input:wasPressed("b") then + if #self.glyphs > 0 then self.glyphs[#self.glyphs] = nil end + end + if input:wasPressed("start") then self:close(self:typed()) end +end + +-- ------------------------------------------------------------------- draw -- + +-- The selection, and the page you are on, drawn BEHIND whatever sits in the +-- cell so neither one covers the other. Colours only; the frame is already +-- there. +-- A BOX IN PIXELS. `Font.drawBox` takes TILE coordinates, and this screen's +-- rows are nineteen pixels tall because the cartridge's are -- so a tile box +-- cannot land on one. Rounding the cells to eight to suit the box is what the +-- previous version did, and it made the layout wrong in order to make the +-- drawing tidy. The box is drawn in pixels instead. +local function frame(x, y, w, h) + local g = love.graphics + g.setColor(0.08, 0.10, 0.16, 0.72) + g.rectangle("fill", x, y, w, h) + g.setColor(0.86, 0.88, 0.94, 1) + g.rectangle("line", x + 0.5, y + 0.5, w - 1, h - 1) + g.setColor(1, 1, 1, 1) +end + +local function highlight(x, y, w, h, selected, active) + local g = love.graphics + if selected then + g.setColor(0.98, 0.83, 0.30, 0.85) + elseif active then + g.setColor(0.35, 0.47, 0.78, 0.60) + else + return + end + g.rectangle("fill", x + 1, y + 1, w - 2, h - 2) + g.setColor(1, 1, 1, 1) +end + +-- THE HOME ROW, in the engine's frame because its art is a sprite bank this +-- port does not compose -- but at the cartridge's own y and on the keyboard's +-- own column pitch, so the six buttons land within a few pixels of where their +-- sprites do. See Gen4Naming.HOME_SPRITE_X for that comparison written out. +function Gen4NamingScreen:drawHomeRow() + local col = 1 + while col <= Gen4NamingScreen.COLS do + local id = HOME[col] + local span = 0 + while HOME[col + span] == id do span = span + 1 end + local x = HOME_X + (col - 1) * CELL_W + local w = span * CELL_W + local selected = self.row == 1 and self.col >= col and self.col < col + span + local active = (id == PAGES[self.page].id) + frame(x, HOME_Y, w, HOME_H) + -- The selection is a HIGHLIGHT, not a ">" in front of the word. Prefixing + -- it pushed every label one glyph right and out of its own button, and on + -- the widest labels pushed the last letter out entirely -- so the thing + -- meant to show where you are was itself putting text outside the boxes. + highlight(x, HOME_Y, w, HOME_H, selected, active) + local label = LABEL[id] or "" + -- Centred in its own button, and measured rather than assumed: a clip here + -- would mean the label did not fit, which is the fault this screen was + -- reported for, so it is worth seeing if it ever happens. + local width = Font.width(label) + Font.draw(label, x + math.floor((w - width) / 2), HOME_Y + 2) + col = col + span + end +end + +-- THE CHECKERBOARD, exactly as `NamingScreen_InitializeCharsGraphics` paints +-- it: the whole window in one colour, then 16x19 rectangles of the other over +-- the ODD columns of rows 0, 2 and 4 and the EVEN columns of rows 1 and 3. +function Gen4NamingScreen:drawChecker() + local g = love.graphics + local base, alt = self:checkerColours() + local cols = Gen4NamingScreen.COLS + g.setColor(base[1], base[2], base[3], 1) + g.rectangle("fill", GRID_X, GRID_Y, cols * CELL_W, CHAR_ROWS * CELL_H) + g.setColor(alt[1], alt[2], alt[3], 1) + for row = 0, CHAR_ROWS - 1 do + -- Rows 0, 2, 4 start on the second column; rows 1 and 3 start on the first. + for col = (row % 2 == 0) and 1 or 0, cols - 1, 2 do + g.rectangle("fill", GRID_X + col * CELL_W, GRID_Y + row * CELL_H, + CELL_W, CELL_H) + end + end + g.setColor(1, 1, 1, 1) +end + +function Gen4NamingScreen:draw() + local g = love.graphics + local art = self.art or {} + + -- The backdrop. A flat fill when the cache has none, so a pre-`naming` + -- cache still gets a readable screen rather than whatever was behind it. + local background = self:img(art.background) + if background then + g.setColor(1, 1, 1, 1) + g.draw(background, 0, 0) + else + g.setColor(0.13, 0.16, 0.27, 1) + g.rectangle("fill", 0, 0, W, H) + g.setColor(1, 1, 1, 1) + end + + -- The prompt and the typed name, which are the bottom screen's on hardware. + Font.draw(self.title, 16, TITLE_Y) + local shown = {} + for i = 1, self.maxLen do shown[i] = self.glyphs[i] or "_" end + frame(8, ENTRY_Y - 5, W - 16, 22) + Font.draw(table.concat(shown, " "), 16, ENTRY_Y) + + -- The panel for THIS page, at the offset the app parks its layer at. The + -- checkerboard goes on top of it, inside the window it frames. + local panel = self:img((art.panels or {})[self.page]) + if panel then + g.setColor(1, 1, 1, 1) + g.draw(panel, PANEL_X, PANEL_Y) + end + self:drawChecker() + if not panel then + frame(GRID_X - 2, GRID_Y - 2, Gen4NamingScreen.COLS * CELL_W + 4, + CHAR_ROWS * CELL_H + 4) + end + + for row = 2, Gen4NamingScreen.ROWS do + local y = GRID_Y + (row - 2) * CELL_H + for col = 1, Gen4NamingScreen.COLS do + local cell = self:cell(row, col) + local x = GRID_X + (col - 1) * CELL_W + -- Highlight first, glyph second: drawing the cursor as a GLYPH put it in + -- the same cell as the letter it was pointing at, so the two drew on top + -- of each other. + highlight(x, y, CELL_W, CELL_H, self.row == row and self.col == col, false) + if cell and cell.value ~= "" then + local width = Font.width(cell.value) + Font.draw(cell.value, x + math.floor((CELL_W - width) / 2), + y + GLYPH_INSET) + end + end + end + + -- LAST, because on hardware they are sprites and sprites draw over + -- backgrounds: the buttons sit at y = 68 and the panel starts at 80, so a + -- button drawn first would have its bottom four pixels covered by the panel. + self:drawHomeRow() + g.setColor(1, 1, 1, 1) +end + +return Gen4NamingScreen diff --git a/src/ui/Gen4PartyMenu.lua b/src/ui/Gen4PartyMenu.lua index 11a4745d8..503ba9541 100644 --- a/src/ui/Gen4PartyMenu.lua +++ b/src/ui/Gen4PartyMenu.lua @@ -23,8 +23,14 @@ -- * EVERYTHING IN A BATTLE still goes to the Gen 3 screen, which already -- answers SHIFT, forced switches and an item's target. The alias does not -- list `battle`, so those pushes are declined here and served there. --- * SO DOES TM TEACHING and the Frontier's team order, for the same reason: --- each needs words this cartridge's cache does not carry yet. +-- * TM TEACHING IS THIS SCREEN NOW. The old note here said it needed words +-- the cache does not carry; it carries them -- bank 453 -- and what the +-- gap actually cost was a CRASH, not a wrong-looking list. See the +-- `tmhm` note in Screens.lua. +-- * THE FRONTIER'S TEAM ORDER is still not served, and for a reason that +-- has nothing to do with words: the only caller in the port that pushes +-- `chooseOrder` is a GEN 3 script special, so no Platinum cache ever +-- sends one. -- * GIVE/TAKE AN ITEM is not offered. `BagMenu.giveItem` is published and -- would serve it; what is missing is Platinum's own word for it, and a -- menu entry in the engine's English on a screen that is otherwise the @@ -71,11 +77,36 @@ function Gen4PartyMenu.new(game, opts) self.pickOnly = opts.pickOnly self.forceSwitch = opts.forceSwitch self.keepOpen = opts.keepOpen + -- THE BATTLE THAT OPENED THIS SCREEN, and what it changes. + -- + -- Reported from play: the party screen in a Platinum battle was KANTO'S. + -- The alias in Screens.lua left `battle` out on purpose -- the reasoning is + -- in the header above -- but a declined Gen 4 push does not fall through to + -- Hoenn's screen on a Gen 4 cache: Screens.resolveId returns early unless + -- isGen3(game), so it fell all the way to the Game Boy one. + -- + -- The screen serves it now, and the one thing that had to change to make + -- that honest is the submenu. Out of a battle the first row is SUMMARY and + -- SWITCH reorders the party. IN a battle, pressing POKeMON and choosing a + -- member has to SEND IT OUT -- reordering would be a dead end, which is + -- exactly what the header warns against serving. + self.battle = opts.battle + -- THE MACHINE THAT IS OPEN. `{ move, kind }`, put there by BagMenu.useOn + -- for any item with a `machine` record -- so this arrives on every cache, + -- and used to be the one key that made the whole push fall to Kanto's list. + self.tmhm = opts.tmhm self.index = 1 self.t = 0 self.cache = {} self.icons = {} self.art = ((game.data or {}).gen4_graphics or {}).screens or {} + -- The cartridge's own words. Nothing here falls back to English except + -- through Strings(), which is the engine's own translation seam. + self.words = (((game.data or {}).gen4_menus or {}).partyMenu or {}).text or {} + if self.tmhm and not self.words.able then + Logger.warn("gen4 party: this cache carries no party-screen words -- " + .. "the machine prompt falls back to the engine's own") + end if not self.art["party/menu"] then Logger.warn("gen4 party: this cache carries no party screen art -- " .. "the panels will be drawn in the engine's own frame") @@ -83,6 +114,39 @@ function Gen4PartyMenu.new(game, opts) return self end +function Gen4PartyMenu:word(key, fallback) + local said = self.words[key] + if type(said) ~= "string" or said == "" then return Strings(fallback) end + return said +end + +-- CAN THIS POKEMON LEARN THE MACHINE THAT IS OPEN? +-- +-- The same scan ItemEffects.use makes when it actually teaches, so the word on +-- screen can never disagree with what pressing A does -- which is the rule the +-- Gen 3 screen states and the only thing that keeps an ABLE! from being +-- followed by a refusal. +function Gen4PartyMenu:canLearn(mon) + local data = self.game.data + local def = data.pokemon and data.pokemon[mon.species] + for _, move in ipairs((def and def.tmhm) or {}) do + if move == self.tmhm.move then return true end + end + return false +end + +-- ...and which of the three words that is. A Pokemon that already knows the +-- move is told so rather than offered it, which is the order ItemEffects tests +-- them in as well. +function Gen4PartyMenu:learnWord(mon) + for _, slot in ipairs(mon.moves or {}) do + local id = (type(slot) == "table" and (slot.id or slot.move)) or slot + if id == self.tmhm.move then return self:word("learned", "LEARNED") end + end + if self:canLearn(mon) then return self:word("able", "ABLE!") end + return self:word("unable", "UNABLE!") +end + function Gen4PartyMenu:img(key) local rec = self.art[key] local path = (type(rec) == "table" and rec.path) or rec @@ -124,7 +188,9 @@ end function Gen4PartyMenu:choose() if self.index > #self:party() then if self.switchFrom then self.switchFrom = nil return end - if self.onSwitch and not (self.pickOnly or self.forceSwitch) then + -- CANCEL is the same refusal as B and takes the same route; see update(). + if self.onSwitch and not (self.pickOnly or self.forceSwitch) + and not self.battle then return self:handOff(nil) end return self:close() @@ -146,7 +212,14 @@ end function Gen4PartyMenu:runAction(action) local mon = self:party()[self.index] self.submenu = nil - if action == "summary" and mon then + if action == "send" and mon then + -- Straight back to the caller. Whether this member MAY be sent out is the + -- caller's question and it already asks it: BattleState's own onSwitch + -- rejects an egg, a fainted member and one already standing on the field, + -- says so, and reopens this screen. Duplicating those three tests here + -- would be a second place for them to drift. + return self:handOff(mon) + elseif action == "summary" and mon then require("src.ui.Screens").push(self.game, "SummaryMenu", mon) elseif action == "switch" then self.switchFrom = self.index @@ -154,8 +227,16 @@ function Gen4PartyMenu:runAction(action) end Gen4PartyMenu.ACTIONS = { "summary", "switch", "cancel" } +-- In a battle the top row sends the member out; the party order is not +-- something the cartridge lets you rearrange mid-fight either. +Gen4PartyMenu.BATTLE_ACTIONS = { "send", "summary", "cancel" } + +function Gen4PartyMenu:actions() + return self.battle and Gen4PartyMenu.BATTLE_ACTIONS or Gen4PartyMenu.ACTIONS +end function Gen4PartyMenu:actionLabel(action) + if action == "send" then return Strings("SEND OUT") end if action == "summary" then return Strings("SUMMARY") end if action == "switch" then return Strings("SWITCH") end return Strings("CANCEL") @@ -167,13 +248,14 @@ function Gen4PartyMenu:update(dt) if not input then return end if self.submenu then - local n = #Gen4PartyMenu.ACTIONS + local actions = self:actions() + local n = #actions if input:wasPressed("up") then self.submenu = (self.submenu - 2) % n + 1 elseif input:wasPressed("down") then self.submenu = self.submenu % n + 1 elseif input:wasPressed("a") then - self:runAction(Gen4PartyMenu.ACTIONS[self.submenu]) + self:runAction(actions[self.submenu]) elseif input:wasPressed("b") then self.submenu = nil end @@ -193,7 +275,19 @@ function Gen4PartyMenu:update(dt) self:choose() elseif input:wasPressed("b") or input:wasPressed("start") then if self.switchFrom then self.switchFrom = nil - elseif self.onSwitch and not (self.pickOnly or self.forceSwitch) then + -- B IN A BATTLE IS "BACK TO THE MENU", NOT "I PICK NOTHING". + -- + -- Out of a battle, handing the answer back as nil is how a caller learns + -- the player cancelled, and that is right. IN a battle it crashed: the + -- battle's own onSwitch is written for a Pokemon and went straight into + -- `mon.hp`. Reported from play as a crash on backing out of the party + -- screen. + -- + -- The battle already knows what to do when this screen simply closes -- + -- `afterQueue` put it back in the menu phase before it opened -- so + -- closing is both the safe answer and the correct one. + elseif self.onSwitch and not (self.pickOnly or self.forceSwitch) + and not self.battle then self:handOff(nil) else self:close() @@ -277,9 +371,20 @@ function Gen4PartyMenu:drawSlot(i, mon) local hp = tonumber(mon.hp) or 0 local max = tonumber(mon.maxHp) or tonumber(mon.maxhp) or 0 + -- WITH A MACHINE OPEN THE PANEL ANSWERS THE QUESTION instead of showing the + -- numbers: what is being chosen is whether this Pokemon can learn the move, + -- and its current HP has nothing to do with that. THE BAR STAYS -- it is + -- the only thing left saying which of them is hurt, and a player picking a + -- target still wants to know. + if self.tmhm then + local word = self:learnWord(mon) + Font.draw(word, at.x + SLOT_W - Font.width(word) - 6, at.y + 18) + end if max > 0 then - local text = ("%d/%d"):format(hp, max) - Font.draw(text, at.x + SLOT_W - Font.width(text) - 6, at.y + 18) + if not self.tmhm then + local text = ("%d/%d"):format(hp, max) + Font.draw(text, at.x + SLOT_W - Font.width(text) - 6, at.y + 18) + end local full = SLOT_W - 48 local share = math.max(0, math.min(1, hp / max)) g.setColor(0.10, 0.12, 0.16, 1) @@ -315,13 +420,34 @@ function Gen4PartyMenu:draw() Font.drawCode(Theme.cursor, CANCEL.x + 2, CANCEL.y + 6) end + -- "Teach which Pokemon?" where CANCEL's word is, because with a machine open + -- the strip along the bottom is the question rather than a row to land on. + -- The CANCEL box is still drawn and still selectable -- backing out of a + -- teach is the same press it always was. + if self.tmhm then + -- RIGHT-ALIGNED AGAINST THE STRIP'S FAR EDGE and cut to whatever CANCEL + -- leaves, because the face is proportional and the question is a whole + -- sentence: placed at a fixed column it runs through CANCEL on exactly the + -- wordings that are long enough to matter. The same budget rule the Gen 3 + -- panels were rewritten around. + local prompt = self:word("teachWhich", "Teach which POKéMON?") + local taken = 12 + Font.width(Strings("CANCEL")) + 12 + local room = CANCEL.w - taken - 12 + if room > 0 then + local fitted = Font.fit(prompt, room) + Font.draw(fitted, CANCEL.x + CANCEL.w - Font.width(fitted) - 12, + CANCEL.y + 6) + end + end + if self.submenu then - local n = #Gen4PartyMenu.ACTIONS + local actions = self:actions() + local n = #actions local boxW, rowH = 80, 16 local x, y = W - boxW - 8, H - (n * rowH) - 20 Font.drawBox(math.floor(x / 8), math.floor(y / 8), math.floor(boxW / 8), math.floor((n * rowH + 12) / 8)) - for i, action in ipairs(Gen4PartyMenu.ACTIONS) do + for i, action in ipairs(actions) do local ry = y + 6 + (i - 1) * rowH if i == self.submenu then Font.drawCode(Theme.cursor, x + 4, ry) end Font.draw(self:actionLabel(action), x + 16, ry) diff --git a/src/ui/Gen4Pokedex.lua b/src/ui/Gen4Pokedex.lua new file mode 100644 index 000000000..aad27879f --- /dev/null +++ b/src/ui/Gen4Pokedex.lua @@ -0,0 +1,313 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- Platinum's POKEDEX, which was the last screen on the reported fault list +-- still falling back to Kanto's: "neither is the pokedex, or the pokemon party +-- menu or the bag theyre looking like gen1 still". The party menu and the bag +-- were fixed by the module list; this one was not, and was deliberately left +-- alone afterwards, because THE ART COMPOSED BLANK and a Gen 4 Pokedex drawn +-- on it would have been a black screen where Kanto's at least showed something. +-- +-- The composition is fixed now -- see `Gen4Dex`, and `Gen4Graphics.stamp` for +-- the thing the planner could not express -- so this is the screen. +-- +-- TWO PAGES, as the cartridge has: the LIST, and the ENTRY that A opens on it. +-- The entry page is the cartridge's own picture; the list is not, and that is +-- said plainly rather than hidden. `scroll_main_background` and the scroll +-- wheel are a third composition again (a wheel of sprites over a scrolling +-- background) and are not composed here. +-- +-- WHAT THE PAGE SAYS IS THE CARTRIDGE'S TOO, including the three things the +-- species table does not carry: Platinum stores height, weight and the +-- category line as pre-formatted STRINGS, one per species, and the `dex` stage +-- now carries all three. Nothing on this page is computed from a number this +-- port chose how to round. + +local Assets = require("src.render.Assets") +local Font = require("src.render.Font") +local Logger = require("src.core.Logger") +local Sprites = require("src.pokemon.Sprites") +local Strings = require("src.core.Strings") + +local Gen4Pokedex = {} +Gen4Pokedex.__index = Gen4Pokedex +Gen4Pokedex.isOpaque = true + +local W, H = 256, 192 + +-- The list page, which is this port's and says so. +local LIST = { x = 16, y = 28, pitch = 16, rows = 9 } + +-- Where the entry page's words go, when the cache has no layout of its own. +-- Every number is `Gen4Dex.LAYOUT`'s; they are repeated here only so a cache +-- imported before the `dex` stage still lands its text somewhere sensible. +local FALLBACK_LAYOUT = { + sprite = { x = 48, y = 72 }, + nameNumber = { x = 172, y = 32 }, + category = { x = 114, y = 44 }, + heightLabel = { x = 152, y = 88 }, + heightValue = { x = 184, y = 88 }, + weightLabel = { x = 152, y = 104 }, + weightValue = { x = 184, y = 104 }, + entry = { centre = 128, y = 136, maxWidth = 240, overflowX = 8 }, + footprint = { x = 96, y = 64, size = 48 }, +} + +-- The sprite's position is the CENTRE on hardware -- `PokemonSprite` is an +-- OAM object and its x/y are its middle -- so an 80x80 picture drawn from its +-- top-left has to be offset by half of itself. +local SPRITE_SIZE = 80 + +function Gen4Pokedex:uiSize() return W, H end +function Gen4Pokedex:wantsFillScale() return true end +function Gen4Pokedex:wantsEdgeBleed() return false end + +function Gen4Pokedex:sgbPalettes() + local P = require("src.render.PaletteFX") + return { P.trueColorZone(0, 0, math.ceil(W / 8) - 1, math.ceil(H / 8) - 1) } +end + +function Gen4Pokedex.new(game, opts) + opts = opts or {} + local self = setmetatable({}, Gen4Pokedex) + self.game = game + self.onCancel = opts.onCancel + self.cache = {} + self.art = (game.data or {}).gen4_dex or nil + if not self.art then + Logger.warn("gen4 pokedex: this cache carries no `gen4_dex` record -- the " + .. "entry page is drawn in the engine's own frame") + end + + self.entries = self:listing() + self.index = 1 + self.top = 1 + self.page = "list" + self.scroll = 0 + return self +end + +-- ------------------------------------------------------------------ data -- + +-- The listing, in NATIONAL ORDER, which for Gen 4 is the species id itself: +-- Platinum numbers its species 1..493 in national order, so there is no +-- separate `dex` field to read and nothing to sort by. The Sinnoh order is a +-- different table (`/poketool/pl_pokezukan.narc`) and is not extracted, so +-- the mode switch the cartridge offers is not here either. +function Gen4Pokedex:listing() + local data = self.game.data or {} + local mons = data.pokemon or {} + local out = {} + for id = 1, (data.constants or {}).dexSize or 493 do + if mons[id] then out[#out + 1] = id end + end + return out +end + +function Gen4Pokedex:species() + return self.entries[self.index] +end + +function Gen4Pokedex:def(species) + return (self.game.data.pokemon or {})[species or self:species()] +end + +-- Seen and caught, from the save the rest of the engine already keeps. +function Gen4Pokedex:status(species) + local dex = (self.game.save or {}).pokedex or {} + local owned = (dex.owned or {})[species] + if owned then return "owned" end + if (dex.seen or {})[species] then return "seen" end + return nil +end + +-- ---------------------------------------------------------------- pictures -- + +function Gen4Pokedex:img(entry) + local path = (type(entry) == "table" and entry.path) or entry + if type(path) ~= "string" then return nil end + if self.cache[path] == nil then + local ok, image = pcall(Assets.image, path) + self.cache[path] = ok and image or false + if self.cache[path] then self.cache[path]:setFilter("nearest", "nearest") end + end + return self.cache[path] or nil +end + +function Gen4Pokedex:layout() + return (self.art and self.art.layout) or FALLBACK_LAYOUT +end + +-- ------------------------------------------------------------------ input -- + +function Gen4Pokedex:close() + self.game.stack:pop() + if self.onCancel then self.onCancel() end +end + +function Gen4Pokedex:move(delta) + local count = #self.entries + if count == 0 then return end + self.index = (self.index - 1 + delta) % count + 1 + if self.index < self.top then self.top = self.index end + if self.index > self.top + LIST.rows - 1 then + self.top = self.index - LIST.rows + 1 + end +end + +function Gen4Pokedex:update() + local input = self.game.input + if not input then return end + + if self.page == "entry" then + if input:wasPressed("up") then self.scroll = math.max(0, self.scroll - 1) + elseif input:wasPressed("down") then self.scroll = self.scroll + 1 + elseif input:wasPressed("left") then self:move(-1); self.scroll = 0 + elseif input:wasPressed("right") then self:move(1); self.scroll = 0 + elseif input:wasPressed("b") or input:wasPressed("a") + or input:wasPressed("start") then + self.page, self.scroll = "list", 0 + end + return + end + + if input:wasPressed("up") then self:move(-1) + elseif input:wasPressed("down") then self:move(1) + elseif input:wasPressed("left") then self:move(-LIST.rows) + elseif input:wasPressed("right") then self:move(LIST.rows) + elseif input:wasPressed("a") then + -- ONLY A SEEN SPECIES HAS A PAGE. The cartridge draws the entry for an + -- unseen one as an empty frame rather than refusing to open it, but it + -- also never lets the cursor rest on one that is not in the listing; this + -- port lists everything, so the refusal is here instead of a page with + -- nothing on it. + if self:status(self:species()) then self.page = "entry" end + elseif input:wasPressed("b") or input:wasPressed("start") then + self:close() + end +end + +-- ------------------------------------------------------------------- draw -- + +function Gen4Pokedex:drawList() + local g = love.graphics + g.setColor(0.08, 0.14, 0.24, 1) + g.rectangle("fill", 0, 0, W, H) + g.setColor(1, 1, 1, 1) + + local words = (self.art or {}).words or {} + local seen, owned = 0, 0 + for _, id in ipairs(self.entries) do + local state = self:status(id) + if state then seen = seen + 1 end + if state == "owned" then owned = owned + 1 end + end + Font.draw(("%s %d %s %d"):format(words.seen or Strings("SEEN"), seen, + words.obtained or Strings("OWN"), owned), + 16, 10) + + for row = 0, LIST.rows - 1 do + local at = self.top + row + local id = self.entries[at] + if id then + local y = LIST.y + row * LIST.pitch + local def = self:def(id) + local state = self:status(id) + local name = state and (def and def.name or tostring(id)) + or ("-"):rep(8) + if at == self.index then + g.setColor(0.98, 0.83, 0.30, 0.85) + g.rectangle("fill", LIST.x - 6, y - 2, W - 2 * LIST.x + 12, + LIST.pitch - 2) + g.setColor(1, 1, 1, 1) + end + Font.draw(("%03d"):format(id), LIST.x, y) + Font.draw(tostring(name), LIST.x + 40, y) + if state == "owned" then Font.draw("*", LIST.x - 14, y) end + end + end + g.setColor(1, 1, 1, 1) +end + +function Gen4Pokedex:drawEntry() + local g = love.graphics + local art = self.art or {} + local L = self:layout() + local species = self:species() + local def = self:def(species) + + local page = self:img(art.entry) + if page then + g.setColor(1, 1, 1, 1) + g.draw(page, 0, 0) + else + g.setColor(0.10, 0.16, 0.26, 1) + g.rectangle("fill", 0, 0, W, H) + g.setColor(1, 1, 1, 1) + end + + -- The Pokemon, centred on the position the app gives its sprite. + local path = species and Sprites.path(self.game.data, species, "front", + { kind = "dex" }) + local image = path and self:img(path) + if image then + local iw, ih = image:getDimensions() + g.setColor(1, 1, 1, 1) + g.draw(image, L.sprite.x - SPRITE_SIZE / 2, L.sprite.y - SPRITE_SIZE / 2, + 0, SPRITE_SIZE / iw, SPRITE_SIZE / ih) + end + + local words = art.words or {} + Font.draw(("%03d %s"):format(species or 0, (def and def.name) or "?"), + L.nameNumber.x - 60, L.nameNumber.y) + + local category = (art.category or {})[species] + if category then Font.draw(category, L.category.x, L.category.y) end + + Font.draw(words.height or "HT", L.heightLabel.x, L.heightLabel.y) + Font.draw((art.height or {})[species] or "???", + L.heightValue.x, L.heightValue.y) + Font.draw(words.weight or "WT", L.weightLabel.x, L.weightLabel.y) + Font.draw((art.weight or {})[species] or "???", + L.weightValue.x, L.weightValue.y) + + -- The entry text. The cartridge centres it on x = 128 and drops to x = 8 + -- when it is wider than 240 -- its own overflow rule, kept rather than + -- replaced by a clamp. + local entry = (def and def.dexEntry) or "" + local lines = {} + for line in (tostring(entry) .. "\n"):gmatch("([^\n]*)\n") do + lines[#lines + 1] = line + end + local maxLines = 3 + if self.scroll > math.max(0, #lines - maxLines) then + self.scroll = math.max(0, #lines - maxLines) + end + for i = 1, maxLines do + local line = lines[self.scroll + i] + if line then + local width = Font.width(line) + local x = (width < L.entry.maxWidth) + and (L.entry.centre - math.floor(width / 2)) or L.entry.overflowX + Font.draw(line, x, L.entry.y + (i - 1) * 14) + end + end + + -- The banner, on its own layer over the page, exactly as the app draws it. + local banner = self:img(art.banner) + if banner then + g.setColor(1, 1, 1, 1) + g.draw(banner, 0, 0) + end + g.setColor(1, 1, 1, 1) +end + +function Gen4Pokedex:draw() + if self.page == "entry" then return self:drawEntry() end + self:drawList() +end + +return Gen4Pokedex diff --git a/src/ui/Gen4Poketch.lua b/src/ui/Gen4Poketch.lua new file mode 100644 index 000000000..bd0f03d8c --- /dev/null +++ b/src/ui/Gen4Poketch.lua @@ -0,0 +1,382 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- The POKETCH, which is the thing the bottom screen mostly shows -- and the +-- first line of the original brief: "Instead of having two screens for the +-- poketch and bottom screen allow users to switch between the two with a +-- button". `SecondScreen` answers where it goes; this is what goes there. +-- +-- TWENTY-FIVE APPS, SEVEN OF THEM ALIVE, and the difference is visible on +-- screen rather than hidden. The `menus` stage already pairs every app's name +-- with its description and its face, and marks the seven this port does +-- something with; the other eighteen still appear and still wear their own +-- picture, because an app that is drawn and inert is a thing a player can see +-- is unfinished, and an app that is silently missing from the list is not. +-- +-- WHY THE SEVEN ARE THE SEVEN: each one needs only what this port already has +-- -- a clock, the party, a step count, a number to keep. The Marking Map +-- wants the Sinnoh map and roamer positions; the Berry Searcher wants the +-- berry plots; the Dowsing Machine wants hidden-item placement; the Matchup +-- Checker wants the type chart applied to a live opponent. Those are not +-- drawing problems, and starting them here would put four half-features on the +-- watch instead of seven whole ones. +-- +-- THE KEYS ARE THE PORT'S, and that is stated rather than implied. Platinum +-- changes app by tapping the arrows on the touch screen; there is no L/R +-- binding to copy. Here the second screen is raised with one button and the +-- app cycles with another, both ordinary actions, so both are rebindable +-- through the controls menu like everything else. + +local Assets = require("src.render.Assets") +local Font = require("src.render.Font") +local Logger = require("src.core.Logger") +local SecondScreen = require("src.ui.SecondScreen") +local Strings = require("src.core.Strings") + +local Gen4Poketch = {} +Gen4Poketch.__index = Gen4Poketch + +local W, H = 256, 192 + +-- The watch face inside the bottom screen. The cartridge's own `poketch_border` +-- is a full-screen picture with the face cut out of it, so the apps draw into +-- the hole rather than being placed against nothing. +local FACE = { x = 48, y = 40, w = 160, h = 112 } + +-- Where the digital watch's four digits sit, and the colon between them. +local DIGIT = { x = 66, y = 74, w = 24, h = 32, gap = 4, colon = 12 } + +-- NOT OPAQUE. The Poketch is a second screen, not a screen that replaces the +-- first: on the corner mode the world is still there behind it, and on swap the +-- world is what the main screen is still showing. +Gen4Poketch.isOpaque = false + +function Gen4Poketch:uiSize() return W, H end +function Gen4Poketch:wantsFillScale() return true end +function Gen4Poketch:wantsEdgeBleed() return false end + +function Gen4Poketch.new(game, opts) + opts = opts or {} + local self = setmetatable({}, Gen4Poketch) + self.game = game + self.onCancel = opts.onCancel + self.cache = {} + self.art = ((game.data or {}).gen4_graphics or {}).screens or {} + + local record = ((game.data or {}).gen4_menus or {}).poketch + self.apps = (record and record.apps) or nil + if not self.apps then + Logger.warn("gen4 poketch: this cache carries no poketch record -- " + .. "re-import to get the app list") + self.apps = {} + end + self.border = record and record.border or "poketch/poketch_border" + self.unavailable = record and record.unavailable or "poketch/unavailable" + + -- WHERE IT WAS LAST TIME. Which app you had up is a thing to keep, and it + -- is kept on the save rather than on the session for the same reason the + -- counter is: closing the watch is not meant to reset it. + local store = self:store() + self.index = math.max(1, math.min(#self.apps, store.app or 1)) + self.flash = 0 + return self +end + +-- The Poketch's own corner of the save. Created on demand so a save from +-- before this screen existed grows it the first time the watch is opened. +function Gen4Poketch:store() + local save = self.game.save + if not save then return {} end + save.poketch = save.poketch or {} + return save.poketch +end + +-- ---------------------------------------------------------------- pictures -- + +function Gen4Poketch:img(key) + local rec = self.art[key] + local path = (type(rec) == "table" and rec.path) or rec + if type(path) ~= "string" then return nil end + if self.cache[path] == nil then + local ok, image = pcall(Assets.image, path) + self.cache[path] = ok and image or false + if self.cache[path] then self.cache[path]:setFilter("nearest", "nearest") end + end + return self.cache[path] or nil +end + +function Gen4Poketch:app() + return self.apps[self.index] +end + +-- ------------------------------------------------------------------ input -- + +function Gen4Poketch:close() + self.game.stack:pop() + if self.onCancel then self.onCancel() end +end + +function Gen4Poketch:cycle(delta) + local count = #self.apps + if count == 0 then return end + self.index = (self.index - 1 + delta) % count + 1 + self:store().app = self.index +end + +function Gen4Poketch:update() + local input = self.game.input + if not input then return end + self.flash = (self.flash + 1) % 60 + + if input:wasPressed("r") or input:wasPressed("right") then return self:cycle(1) end + if input:wasPressed("left") then return self:cycle(-1) end + if input:wasPressed("b") or input:wasPressed("l") + or input:wasPressed("start") then + return self:close() + end + + local app = self:app() + local name = app and app.name + if not (app and app.live) then return end + + if input:wasPressed("a") then + if name == "Counter" then + local store = self:store() + store.counter = ((store.counter or 0) + 1) % 10000 + elseif name == "Coin Toss" then + -- The port's own coin. `love.math.random` is the engine's generator + -- everywhere else; using it here keeps one source of randomness. + self:store().coin = (love.math.random(2) == 1) and "heads" or "tails" + end + elseif input:wasPressed("select") then + if name == "Counter" then self:store().counter = 0 + elseif name == "Pedometer" then self:store().steps = 0 end + end +end + +-- ------------------------------------------------------------------ apps -- + +local function clockNow() + local ok, t = pcall(os.date, "*t") + if ok and type(t) == "table" then return t end + return { hour = 0, min = 0, day = 1, month = 1, year = 2000, wday = 1 } +end + +function Gen4Poketch:drawDigit(value, x, y) + local image = self:img(("poketch/digits_%02d"):format(value % 10)) + if image then + local iw, ih = image:getDimensions() + love.graphics.setColor(1, 1, 1, 1) + love.graphics.draw(image, x, y, 0, DIGIT.w / iw, DIGIT.h / ih) + return + end + Font.draw(tostring(value % 10), x + 6, y + 10) +end + +function Gen4Poketch:drawDigitalWatch() + local now = clockNow() + local x = DIGIT.x + for _, value in ipairs({ math.floor(now.hour / 10), now.hour % 10 }) do + self:drawDigit(value, x, DIGIT.y) + x = x + DIGIT.w + DIGIT.gap + end + -- The colon blinks once a second on hardware; the frame clock is what this + -- port has, so it blinks on the half-second of a sixty-frame cycle. + if self.flash < 30 then + Font.draw(":", x + 2, DIGIT.y + 10) + end + x = x + DIGIT.colon + for _, value in ipairs({ math.floor(now.min / 10), now.min % 10 }) do + self:drawDigit(value, x, DIGIT.y) + x = x + DIGIT.w + DIGIT.gap + end +end + +function Gen4Poketch:drawAnalogWatch() + local g = love.graphics + local now = clockNow() + local cx, cy = FACE.x + FACE.w / 2, FACE.y + FACE.h / 2 + local radius = math.min(FACE.w, FACE.h) / 2 - 8 + g.setColor(0.18, 0.22, 0.18, 1) + for tick = 0, 11 do + local a = tick * math.pi / 6 + g.rectangle("fill", cx + math.sin(a) * radius - 1, + cy - math.cos(a) * radius - 1, 2, 2) + end + -- The minute hand from the minute, and the hour hand from BOTH -- an hour + -- hand that jumps on the hour instead of creeping is the tell that it was + -- drawn from the hour alone. + local minuteAngle = (now.min / 60) * math.pi * 2 + local hourAngle = ((now.hour % 12) / 12 + now.min / 720) * math.pi * 2 + g.setLineWidth(2) + g.line(cx, cy, cx + math.sin(hourAngle) * radius * 0.55, + cy - math.cos(hourAngle) * radius * 0.55) + g.setLineWidth(1) + g.line(cx, cy, cx + math.sin(minuteAngle) * radius * 0.85, + cy - math.cos(minuteAngle) * radius * 0.85) + g.setColor(1, 1, 1, 1) +end + +local MONTHS = { "JAN", "FEB", "MAR", "APR", "MAY", "JUN", + "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" } + +function Gen4Poketch:drawCalendar() + local g = love.graphics + local now = clockNow() + local month = math.max(1, math.min(12, now.month or 1)) + Font.draw(("%s %d"):format(MONTHS[month], now.year or 0), FACE.x + 40, FACE.y + 4) + + -- Which weekday the first of the month falls on, from the weekday of today + -- and today's date -- no calendar arithmetic of this port's own, because + -- `os.date` already knows and a hand-rolled day-of-week is a bug waiting for + -- a leap year. + local firstCol = ((now.wday or 1) - 1 - ((now.day or 1) - 1) % 7) % 7 + local daysIn = os.date("*t", os.time({ year = now.year, month = month % 12 + 1, + day = 1, hour = 12 }) - 86400).day + + local cw, ch = 20, 14 + local ox, oy = FACE.x + 12, FACE.y + 22 + for day = 1, daysIn do + local cell = firstCol + day - 1 + local col, row = cell % 7, math.floor(cell / 7) + local x, y = ox + col * cw, oy + row * ch + if day == now.day then + g.setColor(0.98, 0.83, 0.30, 0.8) + g.rectangle("fill", x - 1, y - 1, cw - 2, ch - 2) + g.setColor(1, 1, 1, 1) + end + Font.draw(tostring(day), x + (day < 10 and 5 or 1), y) + end + g.setColor(1, 1, 1, 1) +end + +function Gen4Poketch:drawCounter() + local value = self:store().counter or 0 + local x = DIGIT.x + for _, place in ipairs({ 1000, 100, 10, 1 }) do + self:drawDigit(math.floor(value / place) % 10, x, DIGIT.y) + x = x + DIGIT.w + DIGIT.gap + end + Font.draw(Strings("A + SELECT 0"), FACE.x + 16, FACE.y + FACE.h - 16) +end + +function Gen4Poketch:drawCoinToss() + local face = self:store().coin + local label = (face == "heads") and Strings("HEADS") + or (face == "tails") and Strings("TAILS") or Strings("A TO TOSS") + local width = Font.width(label) + Font.draw(label, FACE.x + math.floor((FACE.w - width) / 2), + FACE.y + FACE.h / 2 - 6) +end + +function Gen4Poketch:drawPedometer() + local value = math.floor(self:store().steps or 0) + local x = DIGIT.x + for _, place in ipairs({ 1000, 100, 10, 1 }) do + self:drawDigit(math.floor(value / place) % 10, x, DIGIT.y) + x = x + DIGIT.w + DIGIT.gap + end + Font.draw(Strings("SELECT 0"), FACE.x + 48, FACE.y + FACE.h - 16) +end + +function Gen4Poketch:drawPartyStatus() + local g = love.graphics + local party = (self.game.save or {}).party or {} + local mons = (self.game.data or {}).pokemon or {} + for i = 1, 6 do + local mon = party[i] + local col, row = (i - 1) % 2, math.floor((i - 1) / 2) + local x = FACE.x + 8 + col * 76 + local y = FACE.y + 8 + row * 32 + if mon then + local def = mons[mon.species] + Font.draw(((def and def.name) or tostring(mon.species)):sub(1, 9), x, y) + local hp = math.max(0, tonumber(mon.hp) or 0) + local max = math.max(1, tonumber((mon.stats or {}).hp) or hp) + local ratio = math.min(1, hp / max) + g.setColor(0.12, 0.14, 0.12, 1) + g.rectangle("fill", x, y + 12, 64, 6) + -- Green, amber, red at the cartridge's own thresholds: a bar that is + -- one colour is a bar that tells you nothing at a glance, which is the + -- entire point of this app. + if ratio > 0.5 then g.setColor(0.36, 0.82, 0.36, 1) + elseif ratio > 0.2 then g.setColor(0.94, 0.78, 0.24, 1) + else g.setColor(0.90, 0.30, 0.28, 1) end + g.rectangle("fill", x, y + 12, math.floor(64 * ratio), 6) + g.setColor(1, 1, 1, 1) + end + end + g.setColor(1, 1, 1, 1) +end + +local DRAW = { + ["Digital Watch"] = Gen4Poketch.drawDigitalWatch, + ["Analog Watch"] = Gen4Poketch.drawAnalogWatch, + ["Calendar"] = Gen4Poketch.drawCalendar, + ["Counter"] = Gen4Poketch.drawCounter, + ["Coin Toss"] = Gen4Poketch.drawCoinToss, + ["Pedometer"] = Gen4Poketch.drawPedometer, + ["Pokémon List"] = Gen4Poketch.drawPartyStatus, +} + +-- ------------------------------------------------------------------- draw -- + +function Gen4Poketch:drawWatch() + local g = love.graphics + local app = self:app() + + local border = self:img(self.border) + if border then + g.setColor(1, 1, 1, 1) + g.draw(border, 0, 0) + else + g.setColor(0.10, 0.13, 0.18, 1) + g.rectangle("fill", 0, 0, W, H) + g.setColor(0.55, 0.72, 0.42, 1) + g.rectangle("fill", FACE.x, FACE.y, FACE.w, FACE.h) + g.setColor(1, 1, 1, 1) + end + + -- The app's own face, under whatever it draws on top of it. + local face = app and app.art and self:img(app.art) + if face then + g.setColor(1, 1, 1, 1) + g.draw(face, 0, 0) + end + + if app then + local body = app.name and DRAW[app.name] + if body then + body(self) + else + -- AN APP WITH NO BEHAVIOUR SAYS SO, on the cartridge's own screen for + -- exactly this. A blank face would read as a bug in the app. + local blank = self:img(self.unavailable) + if blank then + g.setColor(1, 1, 1, 0.85) + g.draw(blank, 0, 0) + g.setColor(1, 1, 1, 1) + end + local label = app.name or Strings("APP") + Font.draw(label, FACE.x + 8, FACE.y + 8) + Font.draw(Strings("NOT BUILT YET"), FACE.x + 8, FACE.y + 24) + end + end + + -- Which app, and that there are others. + if #self.apps > 0 then + Font.draw(("%d/%d"):format(self.index, #self.apps), 8, H - 16) + end + g.setColor(1, 1, 1, 1) +end + +function Gen4Poketch:draw() + if SecondScreen.mode(self.game) == "off" then return self:drawWatch() end + SecondScreen.drawFrame(self.game) + SecondScreen.draw(self.game, function() self:drawWatch() end) +end + +return Gen4Poketch diff --git a/src/ui/Gen4RowanIntro.lua b/src/ui/Gen4RowanIntro.lua index 1b10ce928..3d8c7cf07 100644 --- a/src/ui/Gen4RowanIntro.lua +++ b/src/ui/Gen4RowanIntro.lua @@ -26,6 +26,21 @@ -- the player is not holding is worse than one they never saw. `gen4_intro` -- carries both so a mod can put them back. -- +-- TWO SCENES ARE NOT WORDS, and both were reported missing from play. +-- +-- * THE POKE BALL. "in the intro rowan isnt thorwing out a pokemon like he +-- does in the rom". He does: the ball's button is pushed in over three +-- pieces of art, the screen flashes four times, and a BUNEARY -- the +-- species' own battle front sprite, already in this cache -- rises out of +-- it on a parabola, hops right, hops left and settles. Every number in +-- that sentence is below, taken from the app's own arithmetic. +-- * THE GENDER CHOICE. "the players sprites when selecting boy or girl +-- arent animated like they should be". Both avatars stand on screen at +-- once and THE ONE YOU ARE POINTING AT IS RUNNING -- the four "poses" +-- `Gen4IntroScene` extracts as boy_1..boy_4 and girl_1..girl_4 are a +-- four-frame run cycle, so nothing had to be added to the cache to play +-- it. The other one holds still and is dimmed. +-- -- PAGE BREAKS ARE IN THE TEXT ALREADY. Gen 4 writes 0x25BC for "wait, then -- clear" and 0x25BD for "wait, then scroll", and the decoder renders them as -- CR and FF -- so a page is a split on those characters rather than something @@ -35,7 +50,9 @@ local Assets = require("src.render.Assets") local Font = require("src.render.Font") local Logger = require("src.core.Logger") local Screens = require("src.ui.Screens") +local Sprites = require("src.pokemon.Sprites") local Strings = require("src.core.Strings") +local Theme = require("src.ui.Theme") local Gen4RowanIntro = {} Gen4RowanIntro.__index = Gen4RowanIntro @@ -43,12 +60,124 @@ Gen4RowanIntro.isOpaque = true local W, H = 256, 192 --- The dialogue box, in tiles. Full width, eight tiles tall at the bottom, --- which is where every Gen 4 message sits. -local BOX = { tx = 0, ty = 16, tw = 32, th = 8 } -local TEXT_X = (BOX.tx + 2) * 8 -local TEXT_Y = (BOX.ty + 1) * 8 + 4 -local LINE_H = 14 +-- PLATINUM'S OWN MESSAGE BOX, and it used to be a hand-placed rectangle. +-- +-- The cartridge's dialogue window is (2, 19) 27x4 tiles -- the TEXT INTERIOR -- +-- with DrawMessageBoxFrame reaching two tiles left, three right, one row above +-- and one below, so the box is the full 32-tile width at rows 18..23. This is +-- that rect in the port's convention (interior plus one tile of border), which +-- is what Font.drawDialogueBox expands. `{ 0, 16, 32, 8 }` was two rows too +-- tall and, once the frame reader was fixed to reach past its rect, one tile +-- off the screen on each side. +local BOX = { tx = 1, ty = 18, tw = 29, th = 6 } +-- The interior's own origin, and two lines of sixteen: FONT_MESSAGE is +-- maxLetterHeight 16 with lineSpacing 0, and a four-tile window is 32 tall. +local TEXT_X = 16 +local TEXT_Y = 152 +local LINE_H = 16 + +-- --------------------------------------------------------------------------- +-- The release, in the numbers the cartridge uses +-- --------------------------------------------------------------------------- + +-- The push-in: the app loads the next tile sheet, sets `animDelayUpdateCounter` +-- to 4 and decrements it once a frame before the next load, so each picture is +-- on screen for five frames. +local BALL_FRAME_HOLD = 5 + +-- How many of them there are. Spelled out rather than taken from the cache, +-- because a cache written before the ball was extracted would otherwise report +-- zero and skip the push-in silently; and spelled out rather than borrowed from +-- some other table that happens to have three entries, which is an invariant +-- that is almost true. It is `#Gen4IntroScene.BALL.frames`. +local BALL_PICTURES = 3 + +-- THE FLASH IS FOUR BRIGHTNESS RAMPS, not "it goes white". +-- `BrightnessController_StartTransition(stepCount, target, start, ...)` -- the +-- TARGET comes before the START, which is exactly the kind of argument order a +-- reader assumes and gets backwards -- is called with (1, 16, 0), (1, 0, 16), +-- (4, 16, 0), and then (16, 0, 16) as the Pokemon spawns. 16 is full white and +-- a step is a frame: white in one frame, out in one, in over four, and out over +-- sixteen WHILE the Pokemon is already on screen. +local BALL_FLASHES = { + { steps = 1, from = 0, to = 16 }, + { steps = 1, from = 16, to = 0 }, + { steps = 4, from = 0, to = 16 }, +} +local BALL_SPAWN_FLASH = { steps = 16, from = 16, to = 0 } +local FLASH_MAX = 16 + +-- IT IS A BUNEARY. `RowanIntro_LoadBunearySprite` builds an ordinary +-- PokemonSpriteTemplate for SPECIES_BUNEARY, FACE_FRONT, so the picture is the +-- species' own front sprite out of pl_pokegra rather than anything stored in +-- the intro archive -- which is why this needs no new art. +local MON_SPECIES = 427 + +-- Where it sits: `Bg_LoadToTilemapRect(..., 11, 9, 10, 10)`, a 10x10-tile +-- (80x80) picture with its top-left at tile (11, 9) of the main screen. +local MON_X, MON_Y, MON_SIZE = 11 * 8, 9 * 8, 10 * 8 + +-- The release glow. The sprite's palette is blended toward 0x6a3c -- BGR555 +-- (28, 17, 26), a pink-white -- with weight `counter / 3` out of 16, counting +-- down from 48. So it is a solid silhouette for the first three frames and has +-- its own colours back after forty-eight. The flash's plane mask is +-- BG0|BG1|BG3 and the Pokemon is on BG2, so this blend is the ONLY thing +-- whitening it: the flash deliberately leaves it alone. +local GLOW = { 28 / 31, 17 / 31, 26 / 31 } +local GLOW_FRAMES, GLOW_DIVISOR = 48, 3 + +-- THE ARC, as the app computes it rather than as a curve that looks similar. +-- Each phase is a parabola in its own frame counter, +-- +-- y = base + coeff * 9 * t - floor(9 * t * t / divisor) +-- +-- in INTEGER arithmetic, and a phase ends the first frame y comes back down to +-- zero having been positive. The rise is halved and clamped before it is used +-- (`newYOffset >> 1`, capped at 8 * 18); the two hops are not. +-- +-- A BACKGROUND OFFSET IS NOT A POSITION. The hardware scrolls the view, so a +-- larger offset moves the picture UP: every reader below is `MON_Y - offset`. +local ARC = { + { base = -8 * 13, coeff = 9, divisor = 2, dx = 1, half = true, cap = 8 * 18 }, + { base = 0, coeff = 3, divisor = 3, dx = -2 }, + { base = 0, coeff = 3, divisor = 3, dx = 4 }, +} + +-- THE PORT HAS ONE SCREEN AND THE CARTRIDGE HAS TWO, and this is where that +-- costs something. Before the arc above, the app spends three frames moving a +-- SECOND copy of the Pokemon up the BOTTOM screen; the arc then plays on the +-- top one, starting from below its own screen. On hardware that reads as one +-- continuous rise across the gap between the screens. On one screen it is the +-- same motion twice -- the Pokemon would leave upward and then re-enter from +-- below -- so only those three frames' horizontal drift is kept, and the arc, +-- which already begins off the bottom, is the whole of what is played. +local RISE_DRIFT = 6 + +local SETTLE_FRAMES, GAP_FRAMES = 40, 30 + +-- Every layer fade in this app is sixteen frames: the blend alpha walks 0 to 16 +-- or 16 to 0, one step per frame. +local FADE_FRAMES = 16 + +-- --------------------------------------------------------------------------- +-- The gender choice +-- --------------------------------------------------------------------------- + +-- `RowanIntro_AnimateAvatarRun` cycles the SELECTED side through intro members +-- 9, 10, 11, 12 (boy) or 14, 15, 16, 17 (girl), which is precisely +-- Gen4IntroScene's boy_1..boy_4 and girl_1..girl_4. +local RUN = { + boy = { "boy_1", "boy_2", "boy_3", "boy_4" }, + girl = { "girl_1", "girl_2", "girl_3", "girl_4" }, +} +local RUN_HOLD = 5 -- counter = 4, decremented before the swap +local DIM = 6 / 16 -- G2_SetBlendAlpha(..., 6, 10) + +-- The boy's layer is offset -48 and the girl's +48, and an offset moves the +-- picture the other way -- so the boy stands 48 pixels RIGHT of centre and the +-- girl 48 LEFT. On confirm the chosen one slides back four pixels a frame. +local SPREAD = 8 * 6 +local CENTRE_STEP = 4 function Gen4RowanIntro:uiSize() return W, H end function Gen4RowanIntro:wantsFillScale() return true end @@ -94,7 +223,11 @@ function Gen4RowanIntro:pagesOf(text) if type(text) ~= "string" or text == "" then return { "" } end text = self:fill(text) local pages = {} - for page in (text .. "\r"):gmatch("([^\r\f]*)[\r\f]") do + -- "\v" and "\f" are the two waits the cartridge writes -- scroll-and-wait + -- and clear-and-wait. This screen puts its words up a page at a time, so + -- both are a page break here. ("\v" was "\r" until the decoder was + -- corrected; see Gen4Text.) + for page in (text .. "\v"):gmatch("([^\v\f]*)[\v\f]") do page = page:gsub("^%s+", ""):gsub("%s+$", "") if page ~= "" then pages[#pages + 1] = page end end @@ -154,6 +287,12 @@ function Gen4RowanIntro:beginStep(n) if not step then return self:finish() end self.pages = self:pagesOf((self.rec.text or {})[step.text]) self.page = 1 + -- A step that is a SCENE and not just words. The ball is on screen while its + -- line is read -- the app fades it in before the text -- so the state is armed + -- here and only starts moving when the last page is confirmed. + if step.scene == "ball" then + self.ball = { stage = "wait", frame = 1, hold = 0, t = 0, flash = 1 } + end end -- A page turned, or the step's question asked once its last page is read. @@ -172,8 +311,22 @@ function Gen4RowanIntro:advance() return end local step = self:currentStep() + -- The ball's line has been read: push the button in. The script does NOT + -- advance here -- the release plays on this step and the next line, "they + -- live alongside us", is the step after it. + if self.ball and self.ball.stage == "wait" then + self.ball.stage = "push" + return + end + -- ...and that next line has now been read with the Pokemon still standing + -- there, so this is where it is put away. + if self.mon and not self.putaway then + self.putaway = { t = 0 } + return + end if step and step.ask == "gender" and not self.answers.genderPicked then self.phase = "gender" + self.gender = self:newGenderState() return end if step and step.ask == "name" and not self.answers.name then @@ -250,7 +403,232 @@ function Gen4RowanIntro:chooseGender(which) pcall(function() avatar:refreshForm(self.game.data) end) end self.phase = "rowan" - self:say(which == "girl" and "confirmGirl" or "confirmBoy") + self.gender = nil + self:beginStep(self.step + 1) +end + +-- ------------------------------------------------------------- the release -- + +-- A brightness ramp's value at frame `t`, in the app's own 0..16. +local function ramp(spec, t) + if t >= spec.steps then return spec.to end + return spec.from + (spec.to - spec.from) * t / spec.steps +end + +-- How white the screen is right now, 0..1. Nil when nothing is flashing, so +-- the caller does not paint a transparent rectangle every frame of the game. +function Gen4RowanIntro:flash() + local b = self.ball + if not b then return nil end + if b.stage == "flash" then + return ramp(BALL_FLASHES[b.flash] or BALL_FLASHES[#BALL_FLASHES], b.t) + / FLASH_MAX + end + if b.stage == "spawn" then + return ramp(BALL_SPAWN_FLASH, b.t) / FLASH_MAX + end + return nil +end + +-- One frame of the parabola. Returns true when the last phase has finished. +function Gen4RowanIntro:tickArc() + local m = self.mon + local spec = ARC[m.phase] + if not spec then return true end + local y = spec.base + spec.coeff * 9 * m.t + - math.floor(9 * m.t * m.t / spec.divisor) + -- The phase ends the first frame the parabola comes back down through zero, + -- and the app SNAPS the offset to zero rather than letting it land wherever + -- the integer arithmetic put it -- which is why the Pokemon finishes exactly + -- on the ground each time instead of a pixel or two into it. + if m.carry > 0 and y <= 0 then + m.oy = 0 + m.carry = 0 + m.t = 0 + m.phase = m.phase + 1 + return ARC[m.phase] == nil + end + m.t = m.t + 1 + m.carry = y + m.ox = m.ox + spec.dx + if spec.half then + y = math.floor(y / 2) + if y > spec.cap then y = spec.cap end + end + m.oy = y + return false +end + +function Gen4RowanIntro:spawnMon() + self.ball.stage = "spawn" + self.ball.t = 0 + self.mon = { + ox = RISE_DRIFT, oy = ARC[1].base, + phase = 1, t = 0, carry = 0, glow = GLOW_FRAMES, + } +end + +function Gen4RowanIntro:tickBall() + local b = self.ball + if b.stage == "push" then + if b.hold > 0 then + b.hold = b.hold - 1 + else + b.frame = b.frame + 1 + if b.frame > BALL_PICTURES then + b.stage, b.t, b.flash = "flash", 0, 1 + else + b.hold = BALL_FRAME_HOLD - 1 + end + end + return + end + + if b.stage == "flash" then + b.t = b.t + 1 + local spec = BALL_FLASHES[b.flash] + if not spec or b.t >= spec.steps then + b.flash = b.flash + 1 + b.t = 0 + if b.flash > #BALL_FLASHES then return self:spawnMon() end + end + return + end + + if b.stage == "spawn" then + b.t = b.t + 1 + if self.mon.glow > 0 then self.mon.glow = self.mon.glow - 1 end + if self:tickArc() then b.stage, b.t = "settle", 0 end + return + end + + if b.stage == "settle" then + b.t = b.t + 1 + if b.t >= SETTLE_FRAMES then + -- The ball is finished; the Pokemon stays for the next line. + self.ball = nil + self:beginStep(self.step + 1) + end + end +end + +-- The Pokemon is put away: a sixteen-frame layer fade and then a pause before +-- Rowan speaks again. +function Gen4RowanIntro:tickPutAway() + local p = self.putaway + p.t = p.t + 1 + if p.t == FADE_FRAMES then self.mon = nil end + if p.t >= FADE_FRAMES + GAP_FRAMES then + self.putaway = nil + self:beginStep(self.step + 1) + end +end + +-- Buneary's own front sprite, out of the species table. Nil on a cache that +-- has no sprite for it, which costs the picture and not the sequence. +function Gen4RowanIntro:monImage() + if self.monImageCache ~= nil then return self.monImageCache or nil end + local path = Sprites.path(self.game.data, MON_SPECIES, "front", + { kind = "intro" }) + self.monImageCache = path and self:img(path) or false + return self.monImageCache or nil +end + +-- -------------------------------------------------------- the two avatars -- + +function Gen4RowanIntro:newGenderState() + return { + stage = "fadeIn", t = 0, shift = SPREAD, + boy = { frame = 1, hold = 0 }, + girl = { frame = 1, hold = 0 }, + } +end + +function Gen4RowanIntro:tickRun() + local side = self.gender[self.answers.gender] + if not side then return end + if side.hold > 0 then + side.hold = side.hold - 1 + else + side.frame = side.frame % #RUN.boy + 1 + side.hold = RUN_HOLD - 1 + end +end + +function Gen4RowanIntro:updateGender() + local G = self.gender + local input = self.game.input + if not (G and input) then return end + + if G.stage == "fadeIn" then + G.t = G.t + 1 + -- One fade each, in the app's order: the boy, then the girl. + if G.t >= FADE_FRAMES * 2 then G.stage, G.t = "choose", 0 end + return + end + + if G.stage == "choose" then + self:tickRun() + if input:wasPressed("left") or input:wasPressed("right") then + self.answers.gender = (self.answers.gender == "boy") and "girl" or "boy" + elseif input:wasPressed("a") then + G.stage, G.t = "fadeOther", 0 + end + return + end + + if G.stage == "fadeOther" then + G.t = G.t + 1 + if G.t >= FADE_FRAMES then G.stage, G.t = "centre", 0 end + return + end + + if G.stage == "centre" then + G.shift = math.max(0, G.shift - CENTRE_STEP) + if G.shift == 0 then + G.stage, G.yesno, G.yes = "confirm", false, true + self.pages = self:pagesOf((self.rec.text or {})[ + (self.answers.gender == "girl") and "confirmGirl" or "confirmBoy"]) + self.page = 1 + end + return + end + + if G.stage == "confirm" then + if G.yesno then + if input:wasPressed("up") or input:wasPressed("down") + or input:wasPressed("left") or input:wasPressed("right") then + G.yes = not G.yes + elseif input:wasPressed("a") then + if G.yes then return self:chooseGender(self.answers.gender) end + G.stage, G.t = "again", 0 + elseif input:wasPressed("b") then + G.stage, G.t = "again", 0 + end + return + end + if input:wasPressed("a") or input:wasPressed("b") + or input:wasPressed("start") then + if self.page < #self.pages then + self.page = self.page + 1 + else + G.yesno = true + end + end + return + end + + if G.stage == "again" then + -- NO: the chosen one fades out and the pair comes back, which is the app's + -- RI_STATE_GENDR_REPEAT returning to the same prep state it started in. + G.t = G.t + 1 + if G.t >= FADE_FRAMES then + self.gender = self:newGenderState() + self.pages = self:pagesOf((self.rec.text or {})[ + (self:currentStep() or {}).text]) + self.page = 1 + end + end end function Gen4RowanIntro:finish() @@ -266,14 +644,12 @@ function Gen4RowanIntro:update() local input = self.game.input if not input then return end - if self.phase == "gender" then - if input:wasPressed("left") or input:wasPressed("right") then - self.answers.gender = (self.answers.gender == "boy") and "girl" or "boy" - elseif input:wasPressed("a") then - self:chooseGender(self.answers.gender) - end - return - end + -- The two animated scenes run on the frame clock and take no input while they + -- are playing, which is what the app does: every one of these states is + -- driven by a counter and reads no keys. + if self.putaway then return self:tickPutAway() end + if self.ball and self.ball.stage ~= "wait" then return self:tickBall() end + if self.phase == "gender" then return self:updateGender() end if input:wasPressed("a") or input:wasPressed("b") or input:wasPressed("start") then @@ -287,6 +663,74 @@ end -- ------------------------------------------------------------------ draw -- +-- Both avatars, and only the one you are pointing at is moving. +function Gen4RowanIntro:drawGender() + local g = love.graphics + local G = self.gender + if not G then return end + local chosen = self.answers.gender + for _, side in ipairs({ "boy", "girl" }) do + local alpha = 1 + if G.stage == "fadeIn" then + -- The boy fades in first and the girl second, each over its own sixteen + -- frames, which is two separate RowanIntro_FadeBgLayer calls. + local start = (side == "boy") and 0 or FADE_FRAMES + alpha = math.max(0, math.min(1, (G.t - start) / FADE_FRAMES)) + elseif side ~= chosen then + if G.stage == "choose" then + alpha = DIM + elseif G.stage == "fadeOther" then + alpha = DIM * (1 - G.t / FADE_FRAMES) + else + alpha = 0 + end + elseif G.stage == "again" then + alpha = 1 - G.t / FADE_FRAMES + end + if alpha > 0 then + local frame = RUN[side][(G[side] or {}).frame or 1] + local figure = self:figure(frame) + or self:figure((self.rec.role or {})[side] or frame) + if figure then + g.setColor(1, 1, 1, alpha) + g.draw(figure, (side == "boy") and G.shift or -G.shift, 0) + end + end + end + g.setColor(1, 1, 1, 1) +end + +-- The Pokemon, tinted toward the release colour by however much of the blend is +-- left. Two passes rather than one: multiplying the sprite by a colour can +-- only darken it, and the cartridge is REPLACING its palette with that colour, +-- so the second pass is additive and the first is scaled down to match -- which +-- gives pixel * (1 - w) + glow * w exactly, with the sprite's own alpha as the +-- mask both times. +function Gen4RowanIntro:drawMon(alpha) + local m = self.mon + if not m then return end + local image = self:monImage() + if not image then return end + local g = love.graphics + local x = MON_X - m.ox + local y = MON_Y - m.oy + local iw, ih = image:getDimensions() + local sx = (iw > 0) and (MON_SIZE / iw) or 1 + local sy = (ih > 0) and (MON_SIZE / ih) or 1 + local w = math.floor(m.glow / GLOW_DIVISOR) / FLASH_MAX + if w > 1 then w = 1 end + g.setColor(1 - w, 1 - w, 1 - w, alpha) + g.draw(image, x, y, 0, sx, sy) + if w > 0 then + local mode, alphaMode = g.getBlendMode() + g.setBlendMode("add", "alphamultiply") + g.setColor(GLOW[1] * w, GLOW[2] * w, GLOW[3] * w, alpha) + g.draw(image, x, y, 0, sx, sy) + g.setBlendMode(mode, alphaMode) + end + g.setColor(1, 1, 1, 1) +end + function Gen4RowanIntro:drawScene() local g = love.graphics if self.phase == "tv" then @@ -314,18 +758,7 @@ function Gen4RowanIntro:drawScene() end if self.phase == "gender" then - -- Both characters, the chosen one lit and the other dimmed. They are - -- full-screen pictures rather than sprites, so they cannot sit side by - -- side without cutting one of them up; showing one at a time with LEFT - -- and RIGHT to swap is the honest version of the cartridge's two buttons. - local role = self.rec.role or {} - local key = (self.answers.gender == "girl") and (role.girl or "girl_1") - or (role.boy or "boy_1") - local figure = self:figure(key) - if figure then - g.setColor(1, 1, 1, 1) - g.draw(figure, 0, 0) - end + self:drawGender() return end @@ -339,6 +772,34 @@ function Gen4RowanIntro:drawScene() g.draw(figure, 0, 0) end end + + -- THE BALL SITS ON TOP OF THE SCENE, not instead of it. + -- + -- This used to draw the ball picture and RETURN, on the reading that it + -- "owns the screen because on the cartridge it owns a screen". That reading + -- survived only because the picture was wrong: intro member 40's tilemap was + -- composed without the tile base its sheet is loaded at, so what came out + -- was a full-screen field of one repeated tile -- something that really did + -- look like it owned the screen. See Gen4IntroScene.BALL.tileFirst. + -- + -- Composed correctly it is a 42x42 BUTTON on transparency, centred: three + -- pictures of the ball's button being pushed in and lighting up, the third + -- yellow. Drawn alone that is a black screen with a button on it; drawn + -- last, over Rowan and his backdrop, it is the step the cartridge plays with + -- the two screens side by side. + -- + -- No ball art at all -- a cache imported before the ball was extracted -- + -- still plays the release, because the Pokemon is the species' own sprite + -- and does not come from this archive. + local ball = self.ball + if ball and (ball.stage == "wait" or ball.stage == "push" + or ball.stage == "flash") then + local picture = self:img((self.rec.ball or {})[ball.frame]) + if picture then + g.setColor(1, 1, 1, 1) + g.draw(picture, 0, 0) + end + end end function Gen4RowanIntro:draw() @@ -359,15 +820,43 @@ function Gen4RowanIntro:draw() local page = self.pages and self.pages[self.page] or "" local y = TEXT_Y for line in (tostring(page) .. "\n"):gmatch("([^\n]*)\n") do - if y > (BOX.ty + BOX.th - 1) * 8 then break end + -- The interior is two lines; the third would land on the bottom border. + if y >= TEXT_Y + LINE_H * 2 then break end Font.draw(line, TEXT_X, y) y = y + LINE_H end - if self.phase == "gender" then - local label = (self.answers.gender == "girl") and Strings("GIRL") - or Strings("BOY") - Font.draw(label, W - 64, (BOX.ty - 3) * 8) + -- The yes/no the app puts up after the confirm line. `{YESNO 0}` is stripped + -- out of the text upstream precisely because the box is drawn rather than + -- printed. + local G = self.gender + if G and G.stage == "confirm" and G.yesno then + local bx, by, bw, bh = 24, 6, 7, 6 + Font.drawBox(bx, by, bw, bh) + local words = self.rec.text or {} + Font.draw(words.yes or Strings("YES"), (bx + 2) * 8, (by + 1) * 8 + 3) + Font.draw(words.no or Strings("NO"), (bx + 2) * 8, (by + 3) * 8 + 3) + Font.drawCode(Theme.cursor, (bx + 1) * 8, + (by + (G.yes and 1 or 3)) * 8 + 3) + end + + -- THE FLASH IS OVER EVERYTHING, text included: its plane mask is BG0|BG1|BG3 + -- and BG0 is the layer the message box lives on. The Pokemon is on BG2 and + -- is deliberately NOT in that mask, so it is drawn after this. + local flash = self:flash() + if flash and flash > 0 then + g.setColor(1, 1, 1, math.min(1, flash)) + g.rectangle("fill", 0, 0, W, H) + end + -- ...so it is drawn HERE, once, after the flash rectangle, whatever stage the + -- scene is in. Drawing it in drawScene as well is the double-draw that made + -- the glow pass land twice. + if self.mon then + local alpha = 1 + if self.putaway then + alpha = math.max(0, 1 - self.putaway.t / FADE_FRAMES) + end + self:drawMon(alpha) end g.setColor(1, 1, 1, 1) end diff --git a/src/ui/Gen4StartMenu.lua b/src/ui/Gen4StartMenu.lua new file mode 100644 index 000000000..d2f686b12 --- /dev/null +++ b/src/ui/Gen4StartMenu.lua @@ -0,0 +1,334 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- Platinum's START MENU, and the second half of the original brief: +-- +-- "instead of showing the start menu on the bottom screen have a start menu +-- on the main screen like the other games have the choice to switch between +-- the two styles." +-- +-- BOTH STYLES, and the switch is a row on the OPTIONS screen rather than a boot +-- flag, so it can be changed mid-game: +-- +-- MAIN the menu is on the main screen, which is where Red through Emerald +-- put theirs. Default, because it makes Platinum continuous with the +-- rest of this launcher's library and muscle memory carries over. +-- BOTTOM the authentic arrangement. It goes through `SecondScreen`, so on +-- the inset mode it appears in the corner panel and is clickable +-- there, and on swap it takes the window. +-- +-- WHAT IS THE CARTRIDGE'S: +-- +-- * THE ROWS AND THEIR ORDER, from `StartMenu_MakeOptionList` rather than +-- from the enum -- the two differ. The list is built RETIRE, CHAT, +-- POKEDEX, POKEMON, BAG, TRAINER CASE, SAVE, OPTIONS, EXIT, each added only +-- if its hide flag is clear, so an ordinary field menu is the last seven. +-- * THE WORDS, bank 367. TRAINER CASE's entry is a TEMPLATE and not a word +-- -- `{STRVAR_1 3, 0, 0}`, filled with the player's name -- so printing it +-- raw would put a control code on the menu. +-- * THE ICONS. `animIdx = option * ICON_ANIM_COUNT` is the mapping, and a +-- FEMALE player's BAG is group 9, which is why the sheet has ten cells for +-- nine options. +-- * THE GEOMETRY: the panel at tile (20, 1), eleven tiles wide and three per +-- row; the icons centred at x = 174 and the cursor at x = 204, both at +-- y = 20 + 24 * i. +-- +-- WHAT IS NOT: which rows are AVAILABLE. Platinum hides a row behind a save +-- flag this port's Gen 4 save does not carry yet, so the Pokedex and party rows +-- are gated on the same conditions the engine's own start menu uses -- the dex +-- being handed over, and the party not being empty -- rather than on a flag +-- that would always read false and hide them forever. + +local Assets = require("src.render.Assets") +local Font = require("src.render.Font") +local Logger = require("src.core.Logger") +local Screens = require("src.ui.Screens") +local SecondScreen = require("src.ui.SecondScreen") +local Strings = require("src.core.Strings") + +local Gen4StartMenu = {} +Gen4StartMenu.__index = Gen4StartMenu + +local W, H = 256, 192 + +-- Used when the cache carries no `startMenu` record: the same seven rows in the +-- same order, so a pre-`menus` cache gets a working menu with the engine's +-- words rather than an empty panel. +local FALLBACK_ROWS = { + { id = "pokedex", label = "POKéDEX" }, + { id = "pokemon", label = "POKéMON" }, + { id = "bag", label = "BAG" }, + { id = "trainerCase", label = "", playerName = true }, + { id = "save", label = "SAVE" }, + { id = "options", label = "OPTIONS" }, + { id = "exit", label = "EXIT" }, +} + +local FALLBACK_LAYOUT = { + panelX = 160, panelY = 8, panelW = 88, rowTiles = 3, + pitch = 24, iconX = 174, cursorX = 204, firstY = 20, +} + +function Gen4StartMenu:uiSize() return W, H end +function Gen4StartMenu:wantsFillScale() return true end +function Gen4StartMenu:wantsEdgeBleed() return false end + +-- NOT opaque: the start menu sits over the world on every other version in this +-- launcher and it does here too, in both styles -- on `bottom` the world is +-- what the main screen is still showing. +Gen4StartMenu.isOpaque = false + +function Gen4StartMenu.new(game, opts) + opts = opts or {} + local self = setmetatable({}, Gen4StartMenu) + self.game = game + self.onCancel = opts.onCancel + self.cache = {} + + local menus = (game.data or {}).gen4_menus or {} + local record = menus.startMenu or {} + self.layout = record.layout or FALLBACK_LAYOUT + self.art = ((game.data or {}).gen4_graphics or {}).screens or {} + + local source = record.rows + if not source or #source == 0 then + Logger.warn("gen4 start menu: this cache carries no start-menu record -- " + .. "falling back to the engine's own words") + source = FALLBACK_ROWS + end + + self.rows = {} + for _, row in ipairs(source) do + if not row.hidden and self:available(row.id) then + self.rows[#self.rows + 1] = { + id = row.id, + label = self:labelFor(row), + icon = self:iconFor(row), + } + end + end + self.index = 1 + return self +end + +-- ------------------------------------------------------------------ rows -- + +-- Whether a row belongs on the menu at all. See the header: Platinum's own +-- hide flags are not in this port's Gen 4 save, so these are the engine's +-- conditions, which answer the same questions. +function Gen4StartMenu:available(id) + if id == "pokedex" then + local ok, Flags = pcall(require, "src.script.Flags") + if ok and Flags.hasPokedex then return Flags.hasPokedex(self.game.save) end + return true + end + if id == "pokemon" then + return #((self.game.save or {}).party or {}) > 0 + end + return true +end + +function Gen4StartMenu:labelFor(row) + if row.playerName then + local player = ((self.game.save or {}).player or {}) + return tostring(player.name or Strings("PLAYER")) + end + local label = row.label + if type(label) ~= "string" or label == "" then return row.id:upper() end + -- A leftover control code would print as braces; the only template on this + -- menu is handled above, so anything still carrying one is a row this port + -- does not know how to fill and its own name is the honest stand-in. + if label:find("{") then return row.id:upper() end + return label +end + +-- THE FEMALE BAG IS A DIFFERENT ICON, which is one line in the cartridge and +-- would be a silently wrong picture here. +function Gen4StartMenu:iconFor(row) + local index = row.icon + if index == nil then return nil end + if row.femaleIcon then + local gender = ((self.game.save or {}).player or {}).gender + if gender == "girl" or gender == "female" then index = row.femaleIcon end + end + return index +end + +-- ---------------------------------------------------------------- pictures -- + +function Gen4StartMenu:img(key) + local rec = self.art[key] + local path = (type(rec) == "table" and rec.path) or rec + if type(path) ~= "string" then return nil end + if self.cache[path] == nil then + local ok, image = pcall(Assets.image, path) + self.cache[path] = ok and image or false + if self.cache[path] then self.cache[path]:setFilter("nearest", "nearest") end + end + return self.cache[path] or nil +end + +function Gen4StartMenu:icon(index) + if index == nil then return nil end + return self:img(("menu/icons_%02d"):format(index)) +end + +-- ------------------------------------------------------------------ input -- + +function Gen4StartMenu:style() + local options = (self.game.save or {}).options or {} + return (options.gen4StartMenuStyle == "bottom") and "bottom" or "main" +end + +function Gen4StartMenu:close() + self.game.stack:pop() + if self.onCancel then self.onCancel() end +end + +function Gen4StartMenu:reopen() + return function() Screens.push(self.game, "StartMenu") end +end + +function Gen4StartMenu:select() + local row = self.rows[self.index] + if not row then return end + local reopen = self:reopen() + local id = row.id + if id == "exit" then return self:close() end + self.game.stack:pop() + if id == "pokedex" then + Screens.push(self.game, "PokedexMenu", { onCancel = reopen }) + elseif id == "pokemon" then + Screens.push(self.game, "PartyMenu", { onCancel = reopen }) + elseif id == "bag" then + Screens.push(self.game, "BagMenu", { onCancel = reopen }) + elseif id == "trainerCase" then + Screens.push(self.game, "TrainerCard", { onCancel = reopen }) + elseif id == "options" then + Screens.push(self.game, "OptionsMenu", { onCancel = reopen }) + elseif id == "save" then + self:engineAction(Strings("SAVE"), reopen) + else + Logger.warn("gen4 start menu: '%s' has no screen yet", tostring(id)) + if self.onCancel then self.onCancel() end + end +end + +-- SAVE IS THE ENGINE'S, deliberately and not by omission. It is the one row +-- with a consequence -- the panel, the confirmation, the "now saving" beat, the +-- write and the failure message -- and all of that already exists, correct, in +-- `StartMenu`. Re-implementing it here would give this port two save flows +-- that can disagree, and the one that disagrees would be the one nobody tests. +-- +-- So the row is fetched FROM the engine's own menu by its label and its action +-- is run. If the engine's menu has no such row on this cartridge, that is said +-- rather than silently doing nothing on a keypress. +function Gen4StartMenu:engineAction(label, reopen) + local ok, menu = pcall(require("src.ui.StartMenu").new, self.game) + local item + if ok and type(menu) == "table" then + for _, candidate in ipairs(menu.items or {}) do + if candidate.label == label then item = candidate break end + end + end + if item and item.onSelect then + -- The engine's rows re-open the ENGINE's start menu on cancel; this one + -- has to come back here instead, which is what `reopen` is. + local okRun, err = pcall(item.onSelect) + if okRun then return end + Logger.warn("gen4 start menu: the engine's '%s' row raised (%s)", + tostring(label), tostring(err)) + else + Logger.warn("gen4 start menu: the engine's start menu has no '%s' row on " + .. "this cartridge", tostring(label)) + end + if reopen then reopen() end +end + +function Gen4StartMenu:update() + local input = self.game.input + if not input then return end + local count = #self.rows + if count == 0 then return self:close() end + if input:wasPressed("up") then + self.index = (self.index - 2) % count + 1 + elseif input:wasPressed("down") then + self.index = self.index % count + 1 + elseif input:wasPressed("a") then + self:select() + elseif input:wasPressed("b") or input:wasPressed("start") then + self:close() + end +end + +-- ------------------------------------------------------------------- draw -- + +function Gen4StartMenu:drawPanel() + local g = love.graphics + local L = self.layout + local rows = #self.rows + local h = rows * L.pitch + 8 + + Font.drawBox(math.floor(L.panelX / 8), math.floor(L.panelY / 8), + math.floor(L.panelW / 8), rows * L.rowTiles) + + for i, row in ipairs(self.rows) do + local y = L.firstY + (i - 1) * L.pitch + local selected = (i == self.index) + + -- The cursor first: on hardware it is a sprite behind the row, and drawing + -- it after the label would cover the label. + if selected then + local cursor = self:img("menu/cursor") + if cursor then + local cw, ch = cursor:getDimensions() + g.setColor(1, 1, 1, 1) + g.draw(cursor, L.cursorX - cw / 2, y - ch / 2) + else + g.setColor(0.98, 0.83, 0.30, 0.55) + g.rectangle("fill", L.panelX + 4, y - 10, L.panelW - 8, 20) + g.setColor(1, 1, 1, 1) + end + end + + local icon = self:icon(row.icon) + if icon then + local iw, ih = icon:getDimensions() + -- Grey when it is not the row you are on, colour when it is: the + -- cartridge swaps the sprite's palette (PALETTE_GRAYSCALE / + -- PALETTE_COLORED) rather than its picture, and one composed picture is + -- all this port has, so the difference is carried in the tint. + if selected then g.setColor(1, 1, 1, 1) else g.setColor(0.62, 0.64, 0.68, 1) end + g.draw(icon, L.iconX - iw / 2, y - ih / 2) + g.setColor(1, 1, 1, 1) + end + + local label = row.label or "" + local width = Font.width(label) + -- Right-aligned into the panel, clear of the icon column: the icons are + -- centred at 174 and the panel ends at panelX + panelW, so the words sit in + -- what is left rather than on top of the pictures. + local right = L.panelX + L.panelW - 6 + local x = right - width + local floor = L.iconX + 14 + if x < floor then x = floor end + Font.draw(label, x, y - 6) + end + g.setColor(1, 1, 1, 1) +end + +function Gen4StartMenu:draw() + if self:style() == "bottom" and SecondScreen.mode(self.game) ~= "off" then + -- The authentic arrangement, through the second-screen surface -- so on + -- `inset` the menu is in the corner panel and on `swap` it takes the + -- window, and this file does not have to know which. + SecondScreen.drawFrame(self.game) + return SecondScreen.draw(self.game, function() self:drawPanel() end) + end + self:drawPanel() +end + +return Gen4StartMenu diff --git a/src/ui/Gen4StarterSelect.lua b/src/ui/Gen4StarterSelect.lua index 127cbcd76..808dc2c1f 100644 --- a/src/ui/Gen4StarterSelect.lua +++ b/src/ui/Gen4StarterSelect.lua @@ -19,8 +19,11 @@ -- * THE LIFT ON THE SELECTED BALL. The cartridge has a 73-frame animation -- per ball for this and they are extracted; what it does with them is app -- code rather than data, so this raises the chosen one instead. --- * THE CAMERA. Distance and pitch are chosen to frame the posed model; --- the cartridge's camera comes from its own movement steps. +-- AND THE CAMERA IS NO LONGER ONE OF THEM. It used to be: "distance and pitch +-- are chosen to frame the posed model", plus a slow endless orbit. Every one +-- of those numbers is stated outright in `choose_starter_app.c` -- see the +-- camera block below -- and the cartridge's yaw is ZERO AND STAYS ZERO, so the +-- turntable was not a liberty, it was a thing the game does not do. -- -- AND WHAT USED TO BE HERE. An earlier version of this screen placed the -- three balls itself -- a spread measured off the case's inside floor, evenly @@ -43,27 +46,84 @@ Gen4StarterSelect.isOpaque = true local W, H = 256, 192 --- The message box, in tiles: full width, at the bottom, as every Gen 4 line is. -local BOX = { tx = 0, ty = 16, tw = 32, th = 8 } -local TEXT_X = (BOX.tx + 2) * 8 -local TEXT_Y = (BOX.ty + 1) * 8 + 4 -local LINE_H = 14 - --- THE MODEL IS Z-UP. `psel_all` was exported with the vertical axis last -- --- its lid reaches y = 116 in what the case model calls depth -- while the --- engine's camera assumes y is up. This is the rotation between them, applied --- to the scene rather than to the geometry so the cartridge's numbers stay the --- cartridge's numbers. -local Z_UP_TO_Y_UP = { - 1, 0, 0, 0, - 0, 0, 1, 0, - 0, -1, 0, 0, - 0, 0, 0, 1, -} - -local CAMERA_PITCH = 0.55 -local CAMERA_DISTANCE = 1.15 -- multiplied by the posed model's own extent -local SPIN_PER_FRAME = 0.004 +-- PLATINUM'S OWN MESSAGE BOX, and it used to be a hand-placed rectangle. +-- +-- The cartridge's dialogue window is (2, 19) 27x4 tiles -- the TEXT INTERIOR -- +-- with DrawMessageBoxFrame reaching two tiles left, three right, one row above +-- and one below, so the box is the full 32-tile width at rows 18..23. This is +-- that rect in the port's convention (interior plus one tile of border), which +-- is what Font.drawDialogueBox expands. `{ 0, 16, 32, 8 }` was two rows too +-- tall and, once the frame reader was fixed to reach past its rect, one tile +-- off the screen on each side. +local BOX = { tx = 1, ty = 18, tw = 29, th = 6 } +-- The interior's own origin, and two lines of sixteen: FONT_MESSAGE is +-- maxLetterHeight 16 with lineSpacing 0, and a four-tile window is 32 tall. +local TEXT_X = 16 +local TEXT_Y = 152 +local LINE_H = 16 + +-- !! THE MODEL IS Y-UP, AND THIS FILE USED TO ROTATE IT AS THOUGH IT WERE NOT. +-- +-- There was a `Z_UP_TO_Y_UP` here, a 90-degree turn about X applied to the +-- whole scene, justified as "`psel_all` was exported with the vertical axis +-- last -- its lid reaches y = 116 in what the case model calls depth". The +-- 116 is real and the reading of it was wrong: it is the SECOND component of +-- psel_all's box, which is Y. (`psel_trunk` -- the case on its own, in its own +-- rest pose with the lid already swung back -- is the model that reaches 116 in +-- Z, and that is where the observation came from.) +-- +-- THREE INDEPENDENT THINGS SAY Y IS UP, and any one of them settles it: +-- +-- * `pmsel_bg`, the ground it stands on, measures +-- lo = (-160, 0, -304) and hi = (160, 0, 208) -- 320 by 512 units of floor +-- with EXACTLY ZERO THICKNESS IN Y. A plane flat in an axis is a plane of +-- constant height in that axis. +-- * `SetupCamera` ends with `Camera_SetUp(&(VecFx32){0, FX32_ONE, 0})`. +-- The cartridge states its up vector and it is +Y. +-- * The header of this very file already knew. It records the balls at +-- x = -30, 0 and +30 "with the middle one 6 units nearer the floor", and +-- the node translations are (-30, 50, 0), (0, 44, 0), (30, 50, 0): the six +-- units are in Y, so Y is the axis the floor is measured along. +-- +-- Rotated, the case lay on its back, the floor stood up as a slab across the +-- corner, and the camera -- see below -- was underneath it looking up. +-- +-- THE CAMERA, EVERY NUMBER OF IT FROM `choose_starter_app.c`. +-- +-- `SetupCamera` opens the scene with target (0,0,0), distance 300, angle.x +-- `(-30 * 0xffff) / 360`, angle.y ZERO, fovY `(22 * 0xffff) / 360`. +-- `StartCameraMovement` then runs ONCE, over six steps, before "These are Poke +-- Balls!" is printed: angle.x -30 -> -50 degrees, distance 300 -> 200, and the +-- target's z 0 -> 36. `AdvanceStarterMovement` is linear in the step count. +-- +-- TWO CONVENTIONS TO GET RIGHT, both checked rather than assumed: +-- +-- * 22 IS THE HALF ANGLE. `NNS_G3dGlbPerspective` takes sin and cos of the +-- fov and forms `cos/sin` for the y scale, i.e. 1/tan(fov) where the +-- standard matrix has 1/tan(full/2). The orthographic branch of +-- `Camera_ComputeProjectionMatrix` says the same thing out loud: +-- `top = tan(fovY) * distance`, which is a half-height. So the full +-- vertical field of view is 44 degrees, which is what +-- `Gen4Model.perspective` takes. +-- * `Gen4Model.orbit` PUTS THE EYE BELOW THE TARGET FOR A POSITIVE PITCH. +-- Evaluated rather than reasoned about: orbit({0,0,0}, 300, 0, rad(-30)) +-- gives eye (0, 150, 259.8), and `Camera_AdjustPositionAroundTarget` +-- computes exactly that from angle.x = -30. So the cartridge's own signed +-- number is handed straight to `orbit` and the two agree to the decimal. +-- The old code passed +0.55, which is the same shot from underneath. +-- +-- The clip planes corroborate the whole reading: the cartridge's own +-- CAMERA_DEFAULT_NEAR_CLIP 150 and FAR_CLIP 900 fit this scene at these +-- distances with room to spare (measured 174.8 to 406.7 from the eye across +-- both camera stages) -- and they would not if the scale or the distances were +-- wrong, so they are used here as stated. +local FOV_Y = math.rad(44) +local NEAR_CLIP, FAR_CLIP = 150, 900 +local CAMERA_FROM = { pitch = math.rad(-30), distance = 300, targetZ = 0 } +local CAMERA_TO = { pitch = math.rad(-50), distance = 200, targetZ = 36 } +local CAMERA_STEPS = 6 + +-- Straight up is Y, which is the whole point of the block above. local SELECTED_LIFT = 12.0 local FRAME_STEP = 1 -- animation frames per engine frame @@ -90,14 +150,6 @@ local function multiply(a, b) return out end -local function apply(m, p) - return { - m[1] * p[1] + m[2] * p[2] + m[3] * p[3] + m[4], - m[5] * p[1] + m[6] * p[2] + m[7] * p[3] + m[8], - m[9] * p[1] + m[10] * p[2] + m[11] * p[3] + m[12], - } -end - local function named(list, name) for _, item in ipairs(list or {}) do if item.name == name then return item end @@ -112,7 +164,9 @@ function Gen4StarterSelect.new(game, opts) self.onChoose = opts.onChoose self.onCancel = opts.onCancel self.index = 1 - self.spin = 0 + -- Which of the camera move's six steps has been taken. It runs once, when + -- the case finishes opening, and then stays where it stopped. + self.camStep = 0 self.frame = 0 self.phase = "opening" @@ -188,10 +242,12 @@ function Gen4StarterSelect:poseNow() local track = tracks and tracks[node] local m = track and Gen4Anim.unpackFrame(track.matrices, frame) if m and lifted[node] then - -- Straight up in the model's own space, which is its third axis. + -- Straight up, which is Y -- the translation at index 8, not 12. The + -- lift used to go on Z and so moved the chosen ball TOWARDS the player + -- across the floor rather than off it. m = { m[1], m[2], m[3], m[4], - m[5], m[6], m[7], m[8], - m[9], m[10], m[11], m[12] + SELECTED_LIFT, + m[5], m[6], m[7], m[8] + SELECTED_LIFT, + m[9], m[10], m[11], m[12], 0, 0, 0, 1 } end return m @@ -208,7 +264,11 @@ function Gen4StarterSelect:pagesOf(text) -- text style for yet; dropped rather than printed as `{COLOR 3}`. text = text:gsub("{COLOR %d+}", "") local pages = {} - for page in (text .. "\r"):gmatch("([^\r\f]*)[\r\f]") do + -- "\v" and "\f" are the two waits the cartridge writes -- scroll-and-wait + -- and clear-and-wait. This screen puts its words up a page at a time, so + -- both are a page break here. ("\v" was "\r" until the decoder was + -- corrected; see Gen4Text.) + for page in (text .. "\v"):gmatch("([^\v\f]*)[\v\f]") do page = page:gsub("^%s+", ""):gsub("%s+$", "") if page ~= "" then pages[#pages + 1] = page end end @@ -243,8 +303,12 @@ function Gen4StarterSelect:confirm() end function Gen4StarterSelect:update() - self.spin = self.spin + SPIN_PER_FRAME if self.unavailable then return self:close() end + -- The camera move, once the case is open. Six steps and then done, exactly + -- as `AdvanceCameraMovement` runs it -- not a turntable. + if self.phase ~= "opening" and self.camStep < CAMERA_STEPS then + self.camStep = self.camStep + 1 + end local input = self.game.input if not input then return end if not self.pages then self:say(self:currentText()) end @@ -324,13 +388,19 @@ function Gen4StarterSelect:drawScene() g.clear(0, 0, 0, 0, true, true) local pose = self:poseNow() - local centre, distance = self.scene:framing(pose) - centre = apply(Z_UP_TO_Y_UP, centre) - local projection = Gen4Model.perspective(math.rad(38), W / H, 1, 4000) - local view = Gen4Model.orbit(centre, distance * CAMERA_DISTANCE, - self.spin, CAMERA_PITCH) - local viewProjection = multiply(projection, multiply(view, Z_UP_TO_Y_UP)) + -- The cartridge's two camera stages, linearly between them, and NOTHING + -- derived from the model. `framing` is right for a model this screen has + -- never seen before; it is the wrong answer when the game states the shot. + local k = math.min(self.camStep, CAMERA_STEPS) / CAMERA_STEPS + local function lerp(a, b) return a + (b - a) * k end + local target = { 0, 0, lerp(CAMERA_FROM.targetZ, CAMERA_TO.targetZ) } + + local projection = Gen4Model.perspective(FOV_Y, W / H, NEAR_CLIP, FAR_CLIP) + local view = Gen4Model.orbit(target, + lerp(CAMERA_FROM.distance, CAMERA_TO.distance), + 0, lerp(CAMERA_FROM.pitch, CAMERA_TO.pitch)) + local viewProjection = multiply(projection, view) if self.ground then self.ground:draw(viewProjection) end self.scene:draw(viewProjection, pose) @@ -359,7 +429,8 @@ function Gen4StarterSelect:draw() local page = self.pages and self.pages[self.page] or "" local y = TEXT_Y for line in (tostring(page) .. "\n"):gmatch("([^\n]*)\n") do - if y > (BOX.ty + BOX.th - 1) * 8 then break end + -- The interior is two lines; the third would land on the bottom border. + if y >= TEXT_Y + LINE_H * 2 then break end Font.draw(line, TEXT_X, y) y = y + LINE_H end diff --git a/src/ui/Gen4SummaryMenu.lua b/src/ui/Gen4SummaryMenu.lua index 880d4e7d4..44f2d99e0 100644 --- a/src/ui/Gen4SummaryMenu.lua +++ b/src/ui/Gen4SummaryMenu.lua @@ -25,9 +25,15 @@ -- bank and are not drawn: contest stats and ribbons are not modelled by this -- engine, and an empty page carrying the cartridge's own title on it would -- claim they were. +-- +-- THE POKEMON'S PICTURE is drawn from `PICTURE` below. The screen had declared +-- a slot for it since it was written and never drawn into it, so every summary +-- page in Sinnoh was a page of numbers with an empty plate beside them. local Font = require("src.render.Font") local Logger = require("src.core.Logger") +local Party = require("src.pokemon.Party") +local Sprites = require("src.pokemon.Sprites") local Strings = require("src.core.Strings") local Gen4SummaryMenu = {} @@ -38,12 +44,33 @@ local W, H = 256, 192 local FALLBACK_LAYOUT = { label = { x = 112 }, value = { x = 180 }, - name = { x = 8, y = 42 }, picture = { x = 20, y = 70 }, + name = { x = 8, y = 42 }, picture = { x = 52, y = 104, plate = 64 }, info = { first = 40, pitch = 16, rows = 7 }, skills = { first = 40, pitch = 16, rows = 6, ability = 144, abilityText = 162 }, moves = { first = 50, pitch = 32, rows = 4 }, } +-- WHERE THE POKEMON GOES. Both numbers are the cartridge's and both are +-- stated twice; the derivation is written out in `Gen4Menus.SUMMARY_LAYOUT`, +-- which is where an import gets them from. Repeated here so a cache that +-- predates the picture being drawn at all still puts it in the right place. +Gen4SummaryMenu.PICTURE = { x = 52, y = 104, plate = 64 } + +-- THE SPRITE IS 80 SQUARE AND THE PLATE UNDER IT IS 64, so the Pokemon +-- overhangs its plate on every side. Not a scale: the cartridge draws the +-- pokegra cell at 1:1 (MON_AFFINE_SCALE(1)) and lets it overflow. +Gen4SummaryMenu.PICTURE_SIZE = 80 + +-- AN EGG IS NOT A SPECIES ROW. pl_otherpoke files the two eggs under species +-- 0, so they land in `gen4_species_sprites.forms` rather than on any +-- `data.pokemon` row. The key is `Gen4Otherpoke.key`'s own format, +-- ("%03d_%s_%s"):format(species, name, form), and tools/gen4_summary_check.lua +-- asserts this string against that function so the spelling cannot drift. +-- The Manaphy egg is extracted under `000_egg_manaphy` and is deliberately NOT +-- named here: nothing in this port marks an egg as Manaphy's yet, so a +-- constant for it would be a key nothing could ever choose. +Gen4SummaryMenu.EGG_KEY = "000_egg_base" + function Gen4SummaryMenu:uiSize() return W, H end function Gen4SummaryMenu:wantsFillScale() return true end function Gen4SummaryMenu:wantsEdgeBleed() return false end @@ -92,10 +119,11 @@ function Gen4SummaryMenu:word(key, fallback) return (text:gsub("{COLOR %d+}", "")) end -function Gen4SummaryMenu:img(key) - local rec = self.art[key] - local path = (type(rec) == "table" and rec.path) or rec - if type(path) ~= "string" then return nil end +-- One loader, by PATH. The page art arrives as an art key and the Pokemon's +-- picture as a path off the species row, so the key lookup is the wrapper and +-- this is the part both share. +function Gen4SummaryMenu:image(path) + if type(path) ~= "string" or path == "" then return nil end if self.cache[path] == nil then local ok, img = pcall(require("src.render.Assets").image, path) self.cache[path] = ok and img or false @@ -104,6 +132,11 @@ function Gen4SummaryMenu:img(key) return self.cache[path] or nil end +function Gen4SummaryMenu:img(key) + local rec = self.art[key] + return self:image((type(rec) == "table" and rec.path) or rec) +end + function Gen4SummaryMenu:close() self.game.stack:pop() if self.onCancel then self.onCancel() end @@ -224,6 +257,71 @@ function Gen4SummaryMenu:drawMoves() end end +-- A cache imported before any of this carries the PLATE'S TOP-LEFT under +-- `picture` rather than the sprite's centre, and the two cannot be told apart +-- by their values. `plate` is what marks the new shape -- and the fallback is +-- the cartridge's own pair, so an old cache lands in the right place anyway +-- rather than eight pixels up and to the left of it. +function Gen4SummaryMenu:pictureSpot() + local spot = self.layout.picture + if type(spot) == "table" and tonumber(spot.plate) then return spot end + return Gen4SummaryMenu.PICTURE +end + +-- The picture, and whether it is mirrored. +-- +-- IT IS MIRRORED, AND THAT IS THE CARTRIDGE'S DOING: +-- `monSprite.flip = SpeciesData_GetFormValue(.., SPECIES_DATA_FLIP_SPRITE) ^ 1` +-- (3d_anim.c 337), so the summary reverses every species whose flag is CLEAR +-- -- 480 of the 508 personal records -- and leaves the twenty-eight that are +-- set alone. +-- +-- WHAT THE FLAG IS NOT is a facing: the pictures say so outright. Torterra +-- has it SET and Bulbasaur CLEAR, and both are drawn facing left, so it cannot +-- mean "this art happens to point the other way". +-- +-- WHAT IT READS AS is "do not reverse this one", and the members that settle +-- it are the ones a mirror would FALSIFY: UNOWN, whose sprite is a LETTER; +-- SPINDA, whose spots are the whole point of it; the Poliwag line's spiral; +-- Teddiursa's crescent. Stated as a reading and not a derivation, because the +-- twenty-eight are not all obvious from outside the art team -- Torterra and +-- Chimchar are in the set and I cannot say why. The CONSEQUENCE is what +-- matters here and it is not in doubt: those species come up facing the other +-- way from the rest of the party, on the cartridge as well as here. +-- +-- The byte has been in the cache the whole time: Gen4Species.parse reads it as +-- `flipSprite` off the top bit of the byte that carries bodyColor, and nothing +-- had ever read it back. On a Gen 1-3 cache there is no such field, and +-- `not nil` is true -- which would mirror Kanto -- so the mirror is asked for +-- only where the field EXISTS, and the caller says which. +function Gen4SummaryMenu:pictureArt() + local mon, data = self.mon, self.game.data + if not (mon and data) then return nil, false end + if Party.isEgg(mon) then + -- No flip: an egg has no personal record to read a flag out of, and it is + -- drawn facing nowhere. + local forms = (data.gen4_species_sprites or {}).forms or {} + local rec = forms[Gen4SummaryMenu.EGG_KEY] + return self:image(type(rec) == "table" and rec.front or nil), false + end + local path = Sprites.path(data, mon.species, "front", + { mon = mon, kind = "summary" }) + local def = data.pokemon and data.pokemon[mon.species] + local flip = def ~= nil and def.flipSprite ~= nil and not def.flipSprite + return self:image(path), flip +end + +function Gen4SummaryMenu:drawPicture() + local image, flip = self:pictureArt() + if not image then return end + local spot = self:pictureSpot() + local w, h = image:getDimensions() + love.graphics.setColor(1, 1, 1, 1) + -- Drawn from its own centre so the mirror turns it about the middle of the + -- plate rather than sliding it a picture's width to the left. + love.graphics.draw(image, spot.x, spot.y, 0, flip and -1 or 1, 1, w / 2, h / 2) +end + function Gen4SummaryMenu:draw() local g = love.graphics g.setColor(0.08, 0.09, 0.14, 1) @@ -239,6 +337,11 @@ function Gen4SummaryMenu:draw() return end + -- The Pokemon itself, on every page: the cartridge only ever takes it down + -- for the move-info sub-mode, which scrolls the whole left column away and + -- is not a page this port draws. + self:drawPicture() + -- The title, and the name and level in the bar the art leaves for them. if page and page.title then Font.draw(tostring(page.title), 8, 8) diff --git a/src/ui/Gen4Title.lua b/src/ui/Gen4Title.lua index 046b589d5..02e5ce7c6 100644 --- a/src/ui/Gen4Title.lua +++ b/src/ui/Gen4Title.lua @@ -31,6 +31,9 @@ local Font = require("src.render.Font") local Music = require("src.core.Music") local Screens = require("src.ui.Screens") local Strings = require("src.core.Strings") +local Gen4Anim = require("src.import.Gen4Anim") +local Gen4Model = require("src.render.Gen4Model") +local Logger = require("src.core.Logger") local Gen4Title = {} Gen4Title.__index = Gen4Title @@ -53,11 +56,128 @@ local W, H = 256, 192 -- rather than a crash. local FALLBACK_SPLIT = 129 +-- THE BAND PRESS START GETS, and it has to be taken out of the screen before +-- the two panels are measured rather than found afterwards. +-- +-- The comment below used to say PRESS START is drawn "in the copyright strip +-- where nothing else is", and that was true of the strip and false of the +-- copyright: the four (c) lines are 56 rows and they are centred in that +-- strip, so `H - 20` lands on the third of them. On screen the words sat +-- across "(c)1995-2009 GAME FREAK inc.", which is what was reported. +-- +-- Fourteen rows, because that is exactly what the screen has spare: the +-- logo's content is 122 rows and the copyright's 56, and 122 + 56 + 14 is +-- 192. The two panels therefore keep every row they need and PRESS START +-- gets the slack instead of borrowing a panel's. +local PRESS_BAND = 14 + -- Frames, engine step. The cartridge fades the logo up out of the border -- field; the beats here are that fade and nothing invented around it. local T_FADE = 24 local T_READY = 40 +-- --------------------------------------------------------------------------- +-- THE INTRO, ON THE CARTRIDGE'S OWN FRAME COUNTS +-- --------------------------------------------------------------------------- +-- +-- `TitleScreen_ShowIntro` is eleven states and every number below is one of +-- its delays, read out of applications/title_screen.c rather than timed off a +-- video. In order: fade in from black, hold nine seconds while the portal +-- turns, two white flashes, a fade out to white, the logo's layer on and +-- Giratina's animation started, a beat of black, the slow reveal, and the +-- camera moving in -- and the logo and the copyright are the LAST things to +-- appear, which is why the title is a sequence and not a picture. +local TIMELINE = { + { name = "fadeIn", frames = 15 }, -- FADE_FROM_BLACK, step 3 + { name = "portal", frames = 267 }, -- the delay in that same state + { name = "flashUp1", frames = 10 }, -- two white flashes, 10 frames each + { name = "flashDown1", frames = 10 }, + { name = "flashUp2", frames = 10 }, + { name = "flashDown2", frames = 10 }, + { name = "toWhite", frames = 5 }, -- WAIT_AND_FADE_TO_WHITE_2, step 2 + { name = "fromWhite", frames = 16 }, -- logo BG2 on, the animation starts + { name = "hold", frames = 10 }, -- main to black + { name = "reveal", frames = 48 }, -- FADE_MAIN_FROM_BLACK, step 1 + { name = "camera", frames = 60 }, -- TITLE_CAM_MOVE_IN_FRAMES +} + +local INTRO_FRAMES = 0 +for _, step in ipairs(TIMELINE) do INTRO_FRAMES = INTRO_FRAMES + step.frames end + +-- How long the inputs stay dead after arriving with no intro, so a button +-- held through the menu cannot fall straight back through the title. +local INPUT_DISABLE_FRAMES = 30 + +-- Idle frames before the title goes back to the opening. On the cartridge +-- that is `TITLE_SCREEN_REPLAY_OPENING_FRAMES`: the title is an ATTRACT LOOP, +-- not a still, and a player who walks away gets the cutscene again. This port +-- has no cutscene yet, so it replays the part it does have -- the title's own +-- intro -- which is the same loop with one shot missing rather than a loop +-- that does not exist. +local REPLAY_FRAMES = 900 + +-- THE TITLE CAMERA, both ends of it. Interpolated linearly over the sixty +-- frames of the move -- `TitleScreen_UpdateTitleCam` adds (end - start) / 60 +-- every frame, which is a straight line -- with the target fixed throughout. +local CAM_START_EYE = { 0, 192, 600 } +local CAM_END_EYE = { -64, 192, 484 } +local CAM_TARGET = { 0, 100, -18 } +-- THE CARTRIDGE'S FOV IS A HALF-ANGLE, and reading it as the whole one drew +-- Giratina at twice his size -- a close-up of one gold stripe filling the +-- screen, which is what was reported. +-- +-- `Camera_Init` keeps `sinFovY` and `cosFovY` of the value passed in, and +-- `Camera_ComputeProjectionMatrix`'s orthographic branch is what settles it: +-- `top = tan(fovY) * distance`, and `top` is the HALF height of the frustum. +-- So the full vertical angle is twice the 15.996 degrees the title screen +-- hands `Camera_InitWithTargetAndPosition`. +local CAM_FOV = math.rad(15.996 * 2) + +-- CLIP Y POINTS THE OTHER WAY INTO A CANVAS. +-- +-- Reported: "Giratina is showing ... upside down". A custom `position()` in a +-- LOVE shader returns clip coordinates directly, which bypasses the projection +-- LOVE would otherwise set up for the target -- and a canvas's framebuffer +-- counts its rows the opposite way round from the screen. `Gen4Model.orbit` +-- does not hit this because the starter select composes it with a Z-up-to-Y-up +-- rotation that inverts the axis on the way past; a plain `lookAt` has nothing +-- to hide it. +-- +-- Negating clip Y rather than the up vector on purpose: flipping `up` would +-- also swap the handedness of the side vector and mirror him left to right, +-- which trades one wrong picture for another. +local FLIP_Y = { + 1, 0, 0, 0, + 0, -1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1, +} + +-- HOW DARK GIRATINA IS. +-- +-- On the cartridge he is a shape in a portal, not a lit model: the title runs +-- its own light through `light1State`, which starts at DEFAULT, goes BRIGHTEN +-- on each white flash of the intro and DARKEN after it. None of that lighting +-- model is ported, and drawing the textures at full strength is why he came +-- out "in full color" instead. +-- +-- So this is a TINT standing in for a light, and it is one number rather than +-- a pretence at the real thing. It follows the same beats the cartridge's +-- light does, which is the part that is actually the cartridge's. +-- HE IS A SILHOUETTE, and that is the reported correction rather than a +-- preference: "hes usually a sillouette compare the rom". A third of full +-- strength still reads as a brown and gold Giratina; the cartridge's is a dark +-- shape in the portal with the light behind him, and the flashes are what +-- briefly show his colours. +local GIRA_DARK = 0.12 +local GIRA_LIT = 1.0 + +-- WHETHER THE NEXT TITLE PLAYS ITS INTRO. `gSystem.showTitleScreenIntro` on +-- the cartridge: set when the opening cutscene has just run (or the attract +-- timer fired), cleared when the player skipped it. Module state rather than +-- an option, because it is a fact about this boot and not a preference. +Gen4Title.showIntro = true + function Gen4Title:uiSize() return W, H end function Gen4Title:wantsFillScale() return true end function Gen4Title:wantsEdgeBleed() return false end @@ -78,9 +198,69 @@ function Gen4Title.new(game, opts) self.frame = 0 self.blink = 0 self.opened = false + + -- GIRATINA, WHICH IS THE CENTREPIECE AND WAS THE ONE THING NAMED AS ABSENT. + -- + -- `titledemo.narc` member 1 is `title_gira`: four shapes, 996 triangles, + -- carrying its own textures, with a 121-frame joint animation beside it in + -- member 2. Both are paired BY NAME rather than by position, because they + -- sit in different members and nothing else says they belong together -- + -- the same rule the starter case is loaded under. + local set = ((game.data or {}).gen4_models or {}).sets + set = set and set.title + if set then + for _, record in ipairs(set.models or {}) do + if record.name == "title_gira" then + self.gira = Gen4Model.new(record) + end + end + for _, anim in ipairs(set.animations or {}) do + if anim.name == "title_gira" and anim.tracks then + self.giraTracks = {} + for _, track in ipairs(anim.tracks) do + self.giraTracks[track.index] = track + end + self.giraFrames = anim.frames or 1 + end + end + end + if not self.gira then + -- Named, not silent: a cache from before the title archive was extracted + -- still shows the logo, and the difference has to be visible in the log + -- rather than looking like a render that failed. + Logger.warn("gen4 title: this cache carries no `title_gira` model -- the " + .. "logo will be shown with nothing behind it") + end + + -- A title reached from the menu is not a title reached from the opening. + self.intro = Gen4Title.showIntro and self.gira ~= nil + Gen4Title.showIntro = false + self.lockout = self.intro and 0 or INPUT_DISABLE_FRAMES + return self end +-- Which beat of the intro this frame is, and how far through it. +-- Returns nil once the intro is over, which is what every `if self.intro` +-- below tests. +function Gen4Title:beat() + if not self.intro then return nil end + local at = self.frame + for _, step in ipairs(TIMELINE) do + if at < step.frames then + return step.name, (step.frames > 0) and (at / step.frames) or 1 + end + at = at - step.frames + end + return nil +end + +-- How far into the intro the logo and the copyright are allowed to be drawn: +-- the cartridge turns their layers on at the END of the camera move. +function Gen4Title:panelsVisible() + return (not self.intro) or self.frame >= INTRO_FRAMES +end + -- The picture, and the record that says where its artwork sits inside it. -- The record is `{ path, width, height, content = { x, y, w, h } }`; an older -- cache wrote a bare path string, which still resolves and simply has no box. @@ -100,13 +280,19 @@ end -- How tall the logo panel is. Both halves are sized by what must fit in them, -- and the rows neither needs are split between them. +-- How tall the logo panel is, and where the copyright panel ends. +-- +-- Three bands now, not two: the logo, the copyright, and the row PRESS START +-- is drawn on. A cache with no content boxes keeps the old fallback and the +-- old behaviour. function Gen4Title:split() local _, logoBox = self:img("logo") local _, copyBox = self:img("copyright") - if not (logoBox and copyBox) then return FALLBACK_SPLIT end - local slack = H - logoBox.h - copyBox.h - if slack < 0 then return FALLBACK_SPLIT end - return logoBox.h + math.floor(slack / 2) + if not (logoBox and copyBox) then return FALLBACK_SPLIT, H - PRESS_BAND end + local usable = H - PRESS_BAND + local slack = usable - logoBox.h - copyBox.h + if slack < 0 then return FALLBACK_SPLIT, H - PRESS_BAND end + return logoBox.h + math.floor(slack / 2), usable end -- The title theme, if the audio stage has run. Gen 4 songs are not extracted @@ -138,10 +324,35 @@ function Gen4Title:update() if self.opened then self:resume() end self.frame = self.frame + 1 self.blink = (self.blink + 1) % 90 + if self.lockout > 0 then self.lockout = self.lockout - 1 end + -- The intro is over when its last beat is, and the frame counter restarts so + -- the logo's own fade and the prompt's timing read from there. + if self.intro and self.frame >= INTRO_FRAMES then + self.intro = false + self.frame = 0 + end + -- The attract loop. + if not self.intro and self.gira and self.frame >= REPLAY_FRAMES then + self.intro = true + self.frame = 0 + self.lockout = 0 + end local input = self.game.input if not input then return end if input:wasPressed("start") or input:wasPressed("a") then - if self.frame < T_READY then + if self.lockout > 0 then + -- Deliberately swallowed: the cartridge kills input for thirty frames + -- after a title it did not introduce. + return + end + if self.intro then + -- THIS PORT'S, AND SAID SO. Platinum does not let you out of the title + -- intro at all -- only the opening cutscene before it is skippable -- but + -- a window the player just alt-tabbed back into is not an attract mode, + -- and eight seconds with no way past reads as a hang. + self.intro = false + self.frame = T_READY + elseif self.frame < T_READY then -- skip the fade rather than swallowing the press self.frame = T_READY else @@ -150,6 +361,68 @@ function Gen4Title:update() end end +-- ------------------------------------------------------------------ giratina + +-- Where the camera is this frame. Fixed at the start of the shot until the +-- move begins, then a straight line to the end over sixty frames. +function Gen4Title:cameraEye() + local name, progress = self:beat() + local k = 0 + if name == "camera" then k = progress + elseif name == nil then k = 1 end + return { + CAM_START_EYE[1] + (CAM_END_EYE[1] - CAM_START_EYE[1]) * k, + CAM_START_EYE[2] + (CAM_END_EYE[2] - CAM_START_EYE[2]) * k, + CAM_START_EYE[3] + (CAM_END_EYE[3] - CAM_START_EYE[3]) * k, + } +end + +-- The animation frame Giratina is on. It does not start until the cartridge +-- starts it -- `GIRATINA_ANIM_STATE_PLAY` is set in the state that fades the +-- main screen back from white -- so before that it holds on frame zero and +-- the portal alone is moving. +function Gen4Title:giraFrame() + if not self.giraFrames or self.giraFrames < 1 then return 0 end + if not self.intro then return self.frame % self.giraFrames end + local before = 0 + for _, step in ipairs(TIMELINE) do + if step.name == "fromWhite" then break end + before = before + step.frames + end + if self.frame < before then return 0 end + return (self.frame - before) % self.giraFrames +end + +-- The model, into a canvas of its own with a depth buffer -- the UI surface +-- has none, and a 996-triangle model drawn without one comes out inside out. +function Gen4Title:drawGiratina() + if not self.gira or self.noDepth then return nil end + if not self.colour then + self.colour, self.depth = Gen4Model.newTarget(W, H) + if not self.colour then self.noDepth = true return nil end + end + + local g = love.graphics + local previous = { g.getCanvas() } + g.setCanvas({ self.colour, depthstencil = self.depth }) + g.clear(0, 0, 0, 0, true, true) + + local frame = self:giraFrame() + local tracks = self.giraTracks + local pose = self.gira:posed(function(node) + local track = tracks and tracks[node] + return track and Gen4Anim.unpackFrame(track.matrices, frame) or nil + end) + + local projection = Gen4Model.perspective(CAM_FOV, W / H, 1, 4000) + local view = Gen4Model.lookAt(self:cameraEye(), CAM_TARGET) + self.gira:draw(Gen4Model.multiply(FLIP_Y, + Gen4Model.multiply(projection, view)), pose) + + g.setCanvas(previous[1] and previous or nil) + return self.colour +end + -- Draw a picture's content box into a band, centred vertically in it. Where -- no box was measured the sheet is drawn as it stands, clipped to the band. local function drawInBand(img, box, top, height, alpha) @@ -167,54 +440,123 @@ local function drawInBand(img, box, top, height, alpha) g.setColor(1, 1, 1, 1) end +-- The white and black the intro fades through, as one number. +-- +-- Positive is white over the scene and negative is black, which lets the whole +-- eleven-state sequence be one lookup instead of two flags: every one of its +-- beats is a ramp between the picture and one of those two colours. +-- The light on Giratina, following `light1State`: DEFAULT while the portal +-- turns, BRIGHTEN through each white flash, DARKEN after it. +function Gen4Title:giraLight() + local name, k = self:beat() + if name == "flashUp1" or name == "flashUp2" or name == "toWhite" then + return GIRA_DARK + (GIRA_LIT - GIRA_DARK) * k + end + if name == "flashDown1" or name == "flashDown2" then + return GIRA_DARK + (GIRA_LIT - GIRA_DARK) * (1 - k) + end + return GIRA_DARK +end + +function Gen4Title:veil() + local name, k = self:beat() + if name == nil then return 0 end + if name == "fadeIn" then return -(1 - k) end + if name == "portal" then return 0 end + if name == "flashUp1" or name == "flashUp2" then return k end + if name == "flashDown1" or name == "flashDown2" then return 1 - k end + if name == "toWhite" then return k end + if name == "fromWhite" then return 1 - k end + if name == "hold" then return -1 end + if name == "reveal" then return -(1 - k) end + return 0 +end + function Gen4Title:draw() local g = love.graphics g.setColor(0, 0, 0, 1) g.rectangle("fill", 0, 0, W, H) - local split = self:split() + local split, footer = self:split() + local panels = self:panelsVisible() - -- the logo panel: the border field first, clipped at the seam + -- THE LAYER ORDER IS THE CARTRIDGE'S: the field is the backdrop, Giratina is + -- drawn into it, and the logo goes on top of both. `ToggleGiratinaBgLayer` + -- comes on before the camera move and `ToggleLogoLayer` only at the end of + -- it, which is the order below. + -- + -- The field is clipped at the seam during the title proper and covers the + -- whole screen during the intro, when there is no copyright panel yet. local border = self:img("topBorder") if border then g.setColor(1, 1, 1, 1) + local cut = panels and split or H g.setScissor() local sx, sy = g.transformPoint(0, 0) - local ex, ey = g.transformPoint(W, split) + local ex, ey = g.transformPoint(W, cut) g.setScissor(math.floor(sx), math.floor(sy), math.max(0, math.ceil(ex - sx)), math.max(0, math.ceil(ey - sy))) g.draw(border, 0, 0) g.setScissor() end + local scene = self:drawGiratina() + if scene then + local lit = self:giraLight() + g.setColor(lit, lit, lit, 1) + g.draw(scene, 0, 0) + g.setColor(1, 1, 1, 1) + end + local logo, logoBox = self:img("logo") - if logo then + if logo and panels then drawInBand(logo, logoBox, 0, split, math.min(1, self.frame / T_FADE)) end -- the copyright strip + -- The dark field runs to the bottom of the screen -- PRESS START sits ON it + -- -- but the copyright is confined to its own band above the footer. + -- `and ... or nil` AROUND A TWO-VALUE CALL KEEPS ONLY THE FIRST, and that + -- is what put a black bar across the bottom of the title. + -- + -- `img` returns the picture AND its measured content box. Wrapping the call + -- in `panels and ... or nil` truncates the expression to one value, so + -- `copyBox` came back nil, `drawInBand` fell to its no-box branch and drew + -- the sheet from row 0 -- and the copyright's four lines live at rows 64 to + -- 119 of a 256-row sheet, so what landed in the band was the empty top of + -- it. The picture was there and the wrong 56 rows of it were shown. local bottom = self:img("bottomBorder") - if bottom then + if panels and bottom then g.setColor(1, 1, 1, 1) local iw, ih = bottom:getDimensions() local quad = g.newQuad(0, 0, math.min(W, iw), math.min(H - split, ih), iw, ih) g.draw(bottom, quad, 0, split) end local copyright, copyBox = self:img("copyright") - if copyright then - drawInBand(copyright, copyBox, split, H - split, 1) + if panels and copyright then + drawInBand(copyright, copyBox, split, math.max(0, footer - split), 1) end -- PRESS START is this port's, not the cartridge's -- Platinum simply waits. -- A window with no hardware START button needs to say which key opens the - -- menu, and it is drawn in the copyright strip where nothing else is. - if self.frame >= T_READY and self.blink < 60 then + -- menu, and it gets the footer band of its own rather than the copyright's + -- rows. + if panels and self.frame >= T_READY and self.blink < 60 then g.setColor(1, 1, 1, 1) local text = Strings("PRESS START") local width = Font.width(text) - Font.draw(text, math.floor((W - width) / 2), H - 20) + local y = footer + math.floor((H - footer - Font.glyphHeight()) / 2) + Font.draw(text, math.floor((W - width) / 2), math.max(footer, y)) end g.setColor(1, 1, 1, 1) + + -- ...and the intro's fade over the lot of it. + local veil = self:veil() + if veil ~= 0 then + if veil > 0 then g.setColor(1, 1, 1, veil) else g.setColor(0, 0, 0, -veil) end + g.rectangle("fill", 0, 0, W, H) + g.setColor(1, 1, 1, 1) + end end return Gen4Title diff --git a/src/ui/OptionsMenu.lua b/src/ui/OptionsMenu.lua index 7e189fcb7..31cd8527c 100644 --- a/src/ui/OptionsMenu.lua +++ b/src/ui/OptionsMenu.lua @@ -72,9 +72,11 @@ local function rulesetIds(game) end local function rulesetIndex(game, ids) - local constants = game.data and game.data.constants + -- The same fallback the battle uses, from the same place. When these two + -- disagreed the row showed GEN 1 FAITHFUL on a cartridge that was about to + -- fight under it -- which was true, and was the bug rather than the display. local cur = game.save.options.ruleset - or (constants and constants.defaultRuleset) or "gen1_faithful" + or require("src.battle.RulesetDefaults").defaultFor(game) for i, id in ipairs(ids) do if id == cur then return i end end @@ -574,6 +576,104 @@ local function buildRows(game) -- with it rather than at the end of the list where a mod's own -- ui.options.rows additions land. Nothing registered means nothing -- spliced, so a vanilla install sees the list it always had. + -- THE SECOND SCREEN, and only where there is one. + -- + -- From the original brief: a button to switch between the screens, or an + -- inset panel in the top-right with a hotkey and an adjustable size, and a + -- choice of where the start menu lives. Three rows, and they exist only on + -- a dual-screen cartridge -- `SecondScreen.available` is the single gate, so + -- no Gen 1-3 list gains a row and no Gen 1-3 draw path gains a branch. + local SecondScreen = require("src.ui.SecondScreen") + local Gen4Camera = require("src.render.Gen4Camera") + if SecondScreen.available(game) then + local MODE_LABEL = { + swap = Strings("SWAP"), inset = Strings("CORNER"), off = Strings("OFF"), + } + rows[#rows + 1] = { id = "secondScreenMode", label = Strings("2ND SCREEN"), + value = function(g) + return MODE_LABEL[SecondScreen.mode(g)] or Strings("SWAP") + end, + step = function(g) + local modes = SecondScreen.MODES + local current = SecondScreen.mode(g) + local at = 1 + for i, name in ipairs(modes) do if name == current then at = i end end + g.save.options.secondScreenMode = modes[at % #modes + 1] + return true + end } + -- ...AND WHETHER IT IS SHOWING RIGHT NOW, which is a different question + -- from which SHAPE it takes and needed a control of its own. + -- + -- Reported from play: "its still showing the large second screen options + -- when i have it turned off rather than the ones we planned". The only way + -- to put the bottom screen away was the L hotkey -- which works, but is a + -- REBINDABLE key with no label anywhere, so "turned off" could just as + -- easily have meant this menu, and this menu had nothing to say about it. + -- A setting the player is expected to change needs a row they can read. + -- + -- It is the same flag L toggles, so the two never disagree. + rows[#rows + 1] = { id = "secondScreenStowed", + label = Strings("BATTLE MENU"), + value = function(g) + if SecondScreen.mode(g) == "off" then return Strings("--") end + return SecondScreen.stowed(g) and Strings("STRIP") or Strings("2ND") + end, + step = function(g) + if SecondScreen.mode(g) == "off" then return false end + SecondScreen.toggleStow(g) + return true + end } + -- The size row only means anything in the corner mode, where there is a + -- panel to resize; on SWAP the bottom screen is the window. It is shown + -- either way and says so, rather than appearing and disappearing under the + -- cursor as the mode above it changes. + rows[#rows + 1] = { id = "secondScreenScale", label = Strings("2ND SIZE"), + value = function(g) + if SecondScreen.mode(g) ~= "inset" then return Strings("--") end + local scale = SecondScreen.scale(g) + return Strings("%d%%", math.floor(scale * 100 + 0.5)) + end, + step = function(g) + local _, at = SecondScreen.scale(g) + g.save.options.secondScreenScale = at % #SecondScreen.SCALES + 1 + return true + end } + -- HOW FAR THE FIELD CAMERA LEANS. + -- + -- "CARTRIDGE" is the map header's own `cameraType` -- one of Platinum's + -- seventeen, transcribed in `src/render/Gen4Camera.lua`, which is between + -- 40.6 and 78.4 degrees depending on where the player is standing. The + -- fixed angles are for a player who wants the flat overhead view back (90) + -- or more lean than Sinnoh ever uses. + -- + -- Changing this re-bakes every chunk on screen, because the pitch is baked + -- into them; that is one frame's hitch and then nothing. + rows[#rows + 1] = { id = "gen4CameraTilt", label = Strings("CAM TILT"), + value = function(g) + local chosen = Gen4Camera.sync(g) + if chosen == "cartridge" then return Strings("CARTRIDGE") end + return Strings("%d°", chosen) + end, + step = function(g) + local _, at = Gen4Camera.sync(g) + local next_ = at % #Gen4Camera.TILTS + 1 + g.save.options.gen4CameraTilt = next_ + Gen4Camera.setTilt(next_) + return true + end } + rows[#rows + 1] = { id = "startMenuStyle", label = Strings("START MENU"), + value = function(g) + return (g.save.options.gen4StartMenuStyle == "bottom") + and Strings("2ND SCREEN") or Strings("MAIN") + end, + step = function(g) + local o = g.save.options + o.gen4StartMenuStyle = + (o.gen4StartMenuStyle == "bottom") and "main" or "bottom" + return true + end } + end + local pipelineRows = Pipelines.rows(game) if pipelineRows[1] then local merged = {} diff --git a/src/ui/Screens.lua b/src/ui/Screens.lua index 57d76da65..38b881777 100644 --- a/src/ui/Screens.lua +++ b/src/ui/Screens.lua @@ -199,21 +199,80 @@ local GEN4_ALIASES = { BagMenu = { id = "Gen4BagMenu", opts = { onCancel = true, battle = true, onPick = true, pick = true, pocket = true } }, - -- THE FIELD PARTY MENU, and only that. `battle` is deliberately absent: - -- every in-battle push carries it, and the Gen 3 screen already answers - -- SHIFT, forced switches and an item's target out of Emerald's own words. - -- So are `tmhm`, `chooseOrder` and `onOrder`, each of which needs words this - -- cartridge's cache does not carry. A declined push is Hoenn's screen doing - -- the job; a served one that cannot finish it is a dead end. + -- THE PARTY MENU, IN A BATTLE TOO. + -- + -- `battle` used to be deliberately absent here, on the reasoning that a + -- declined push would be served by the Gen 3 screen, which already answers + -- SHIFT, forced switches and an item's target. IT WOULD NOT. Look at + -- `resolveId` below: once the Gen 4 alias declines it reaches + -- `if not isGen3(game) then return id, arg end` and hands back the GAME BOY + -- id, because a Platinum cache is not a Hoenn one. So every in-battle + -- POKeMON press on Platinum opened KANTO'S party list -- reported from play, + -- and the same shape as the keyboard and the Pokedex before it. + -- + -- What made serving it honest rather than a dead end is that Gen4PartyMenu's + -- submenu now offers SEND OUT in a battle instead of SWITCH; whether the + -- member MAY go out is BattleState's own onSwitch, which already rejects an + -- egg, a fainted member and one already on the field. + -- + -- `tmhm` IS SERVED NOW, AND ITS ABSENCE WAS NOT COSMETIC. + -- + -- The note here used to say it needed words the cache does not carry. It + -- carries them: bank 453 has ABLE!, UNABLE!, LEARNED and "Teach which + -- Pokemon?", and Gen4Menus.PARTY_BANK says how that was settled. What the + -- absence actually cost was worse than a wrong-looking screen -- the push + -- was declined, `resolveId` handed back the GAME BOY id, and whichever + -- screen served it then called ItemEffects.use, which scans + -- `speciesDef.tmhm` with a bare ipairs. A Gen 4 cache had no such list. SO + -- USING A TM IN SINNOH RAISED. Both halves are fixed: the extractor unpacks + -- the cartridge's machine mask into that list, and this alias stops + -- declining the push. + -- + -- STILL ABSENT, and the reason is now a different one: `chooseOrder` and + -- `onOrder` are pushed by ONE caller in the whole port, Gen3Commands' + -- chooseParty, which is a Gen 3 script special. NOTHING ON A GEN 4 CACHE + -- PUSHES THEM, so listing them here would serve a push that never arrives. + -- (The words are there too -- 154 ENTER, 155 NO ENTRY, 169..174 + -- FIRST..SIXTH -- so the day a Gen 4 command needs it, only the screen has + -- to be written.) PartyMenu = { id = "Gen4PartyMenu", opts = { onCancel = true, onSwitch = true, pickOnly = true, - forceSwitch = true, keepOpen = true } }, + forceSwitch = true, keepOpen = true, + battle = true, tmhm = true } }, -- The summary is pushed with the Pokemon itself, which `servedBy` reads as -- `mon`. `choose` -- the move-learn screen asking which move to forget -- -- is NOT listed: that page needs the cartridge's own forget flow, and until -- it exists the Gen 3 screen answers it. SummaryMenu = { id = "Gen4SummaryMenu", opts = { onCancel = true, mon = true } }, + -- THE KEYBOARD, which had no entry at all -- so every name the player types + -- opened Kanto's, on a Platinum save. Reported as "the keyboard where you + -- type your name or your pokemons nickname is also not correct for gen4 + -- platinum its falling back to gen1". + -- + -- Every option the Game Boy screen takes is listed, because `servedBy` + -- declines a push carrying a key the alias does not name and a naming + -- screen is pushed from a dozen places with different halves of this set: + -- the intro asks for a player name with `presets`, a nickname prompt passes + -- `mon` and `species`, a box rename passes only `default`. + NamingScreen = { id = "Gen4NamingScreen", + opts = { title = true, presets = true, maxLen = true, + default = true, onDone = true, kind = true, + species = true, mon = true } }, + -- THE POKEDEX, which was the last of the four screens reported as "looking + -- like gen1 still" without an entry here. It was left without one on + -- purpose: its art composed blank, and a Gen 4 Pokedex drawn on a blank page + -- would have been worse than Kanto's. The `dex` stage composes it now. + PokedexMenu = { id = "Gen4Pokedex", opts = { onCancel = true } }, + -- THE START MENU, which is the other half of the original brief: Platinum's + -- own rows and icons, on the MAIN screen by default like every other version + -- in this launcher, with a row on OPTIONS to move it to the second screen. + -- + -- `servedBy` sees a bare push with no options at all from the field, which + -- is why `opts` is empty rather than absent -- an alias with no opts table + -- declines every push that carries one, and the Safari and Bug Contest + -- pushes do not carry any either. + StartMenu = { id = "Gen4StartMenu", opts = { onCancel = true } }, } local function isGen4(game) diff --git a/src/ui/SecondScreen.lua b/src/ui/SecondScreen.lua new file mode 100644 index 000000000..1acc69964 --- /dev/null +++ b/src/ui/SecondScreen.lua @@ -0,0 +1,201 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- THE SECOND SCREEN, and it is never a second window. +-- +-- From the original brief: "Instead of having two screens for the poketch and +-- bottom screen allow users to switch between the two with a button or have the +-- choice of using a button to show the bottom screen in the top right corner +-- with a hotkey and change its size and interact with it there." +-- +-- The game runs in ONE window, like every other version in this launcher, and +-- the player chooses how the bottom screen reaches them. This module owns that +-- choice and nothing else: it answers WHERE the bottom screen is right now, in +-- the same 256x192 space every Gen 4 screen already draws in, and it wraps a +-- draw so a screen can be written once and appear in either place. +-- +-- IT DOES NOT OWN THE STACK. A screen that wants to be a bottom-screen screen +-- asks for the transform and draws itself; nothing here pushes, pops, or knows +-- what is on the stack. That is deliberate: the alternative -- a manager that +-- decides which screens are "bottom screen" ones -- puts a second, invisible +-- stack next to the real one, and the first disagreement between them is a +-- screen that cannot be closed. +-- +-- THE MODES +-- +-- swap the bottom screen takes the whole window when it is up. Works at +-- any window size and on a phone, and the DS's own split costs +-- nothing here because the bottom screen is almost never needed +-- DURING an action -- it is a thing you stop to look at. +-- inset a panel in the TOP-RIGHT corner over the main screen, raised and +-- lowered with a hotkey, interactive in place, and resizable. +-- off Gen 1-3, and Gen 4 for a player who wants no second surface at +-- all. Every caller degrades to drawing on the main screen. +-- +-- NOTHING HERE IS REACHABLE FOR GEN 1-3 and no Gen 1-3 draw path gains a +-- branch: `SecondScreen.mode` returns "off" for them, and "off" is the case +-- every caller already has to handle. + +local SecondScreen = {} + +-- The DS's own screen, which is also the space every Gen 4 screen in this port +-- is written in -- so an inset panel is a scale of the picture and not a +-- different layout. +local W, H = 256, 192 + +SecondScreen.MODES = { "swap", "inset", "off" } + +-- How big the inset panel is, as a fraction of the window. The brief asks for +-- this to be adjustable, so it is a setting and not a constant; these are the +-- stops the options row cycles through. +SecondScreen.SCALES = { 0.35, 0.45, 0.55, 0.70 } +SecondScreen.DEFAULT_SCALE = 2 -- 0.45 + +-- How far the panel sits from the window's edge, in main-screen pixels. +local MARGIN = 6 + +local function options(game) + return (game and game.save and game.save.options) or {} +end + +-- Whether this cartridge has a second screen at all. One question, asked in +-- one place, so no caller has to know how it is answered. +function SecondScreen.available(game) + local data = game and game.data + if data and data.isGen4Cache then return true end + local ok, V = pcall(require, "src.core.GameVersion") + if not ok then return false end + if V.isDualScreen then + local okDual, dual = pcall(V.isDualScreen, V.get()) + if okDual then return dual and true or false end + end + return (V.generation and V.generation(V.get()) == 4) and true or false +end + +function SecondScreen.mode(game) + if not SecondScreen.available(game) then return "off" end + local mode = options(game).secondScreenMode + for _, name in ipairs(SecondScreen.MODES) do + if mode == name then return mode end + end + return "swap" +end + +function SecondScreen.scale(game) + local at = tonumber(options(game).secondScreenScale) + or SecondScreen.DEFAULT_SCALE + at = math.max(1, math.min(#SecondScreen.SCALES, math.floor(at))) + return SecondScreen.SCALES[at], at +end + +-- Where the bottom screen is, in main-screen pixels: x, y, and the scale its +-- own 256x192 is drawn at. Nil when there is no second surface, which is the +-- caller's cue to draw on the main screen as usual. +function SecondScreen.rect(game) + local mode = SecondScreen.mode(game) + if mode == "off" then return nil end + if mode == "swap" then return 0, 0, 1 end + local scale = SecondScreen.scale(game) + local w = W * scale + return W - w - MARGIN, MARGIN, scale +end + +-- Is the bottom screen currently up? On `swap` it is whatever the player last +-- toggled; on `inset` the same, because the panel is raised and lowered with +-- the same hotkey. Stored on the game rather than the save: which screen you +-- were looking at is not a thing to persist across a load. +function SecondScreen.raised(game) + return game and game.secondScreenUp and true or false +end + +function SecondScreen.toggle(game) + if not game or SecondScreen.mode(game) == "off" then return false end + game.secondScreenUp = not game.secondScreenUp + return game.secondScreenUp +end + +-- PUT AWAY, WHICH IS NOT THE SAME QUESTION AS `raised`. +-- +-- `raised` is transient and belongs to whatever is on the bottom surface right +-- now: the Poketch sets it when it opens and clears it when it closes. That is +-- the right shape for a screen you open, and the WRONG shape for a screen that +-- is simply on -- a battle's menu is not something the player opens, it is +-- where the menu lives until they say otherwise. +-- +-- So this is the player's standing answer to "do I want the bottom screen at +-- all", kept in the SAVE rather than on the session because it is a preference +-- and not a state. `mode == "off"` is still the stronger statement -- no second +-- surface ever; this one is "not just now". +-- +-- The two must not be folded together. They were, briefly, and the bug that +-- came out of it is worth remembering: a player who had opened the Poketch +-- once in the field left `secondScreenUp` false behind them, and every battle +-- afterwards came up with the menu stowed for no reason they could see. +function SecondScreen.stowed(game) + if SecondScreen.mode(game) == "off" then return true end + return options(game).secondScreenStowed and true or false +end + +function SecondScreen.stow(game, away) + if not (game and game.save and game.save.options) then return false end + if SecondScreen.mode(game) == "off" then return true end + game.save.options.secondScreenStowed = away and true or nil + return SecondScreen.stowed(game) +end + +function SecondScreen.toggleStow(game) + return SecondScreen.stow(game, not SecondScreen.stowed(game)) +end + +-- Run `body` with the coordinate system moved onto the bottom screen. +-- +-- The transform is pushed and popped around the call rather than left for the +-- caller to undo, because a screen that forgets to undo it moves everything +-- drawn after it -- including screens that have nothing to do with this one. +function SecondScreen.draw(game, body) + local x, y, scale = SecondScreen.rect(game) + local g = love.graphics + if not x then return body() end + g.push() + g.translate(x, y) + g.scale(scale, scale) + local ok, err = pcall(body) + g.pop() + if not ok then error(err, 0) end +end + +-- The panel's own frame, drawn around an inset so it reads as a second screen +-- rather than as part of the first. Nothing on `swap`, where the bottom screen +-- IS the window. +function SecondScreen.drawFrame(game) + local x, y, scale = SecondScreen.rect(game) + if not x or scale >= 1 then return end + local g = love.graphics + local w, h = W * scale, H * scale + g.setColor(0, 0, 0, 0.55) + g.rectangle("fill", x - 2, y - 2, w + 4, h + 4) + g.setColor(0.80, 0.84, 0.92, 1) + g.rectangle("line", x - 1.5, y - 1.5, w + 3, h + 3) + g.setColor(1, 1, 1, 1) +end + +-- POINTER ROUTING. A click inside the panel belongs to the bottom screen and +-- must arrive there in the BOTTOM SCREEN's coordinates, not the window's -- +-- which is the whole of "interact with it there". Returns nil when the point +-- is not the second screen's, so a caller can fall through to the field. +function SecondScreen.toLocal(game, px, py) + local x, y, scale = SecondScreen.rect(game) + if not x or not SecondScreen.raised(game) then return nil end + local lx, ly = (px - x) / scale, (py - y) / scale + if lx < 0 or ly < 0 or lx >= W or ly >= H then return nil end + return lx, ly +end + +function SecondScreen.contains(game, px, py) + return SecondScreen.toLocal(game, px, py) ~= nil +end + +return SecondScreen diff --git a/src/ui/Theme.lua b/src/ui/Theme.lua index 216133e87..408a503fd 100644 --- a/src/ui/Theme.lua +++ b/src/ui/Theme.lua @@ -37,6 +37,16 @@ local Theme = { -- -- A theme whose box fits the classic screen gets the classic screen, so Gen 1 -- and Gen 2 are byte-identical. +-- THE SMALLEST REAL SCREEN THE TEXT BOX FITS ON. +-- +-- A surface is a whole screen, not a bounding box, so the answer is picked +-- from the screens these games are actually drawn on rather than rounded up to +-- the box's own size. In order, because each one contains the one before it. +local SCREENS = { + { 240, 160 }, -- Game Boy Advance + { 256, 192 }, -- Nintendo DS +} + function Theme.uiSize() local Renderer = require("src.render.Renderer") local box = Theme.textBox or {} @@ -45,8 +55,17 @@ function Theme.uiSize() if needW <= Renderer.WIDTH and needH <= Renderer.HEIGHT then return Renderer.WIDTH, Renderer.HEIGHT end - -- a surface is a whole screen, not a bounding box - return 240, 160 + -- THE DS STEP, and why it was missing. This used to end at the GBA screen, + -- which is 160 rows: Sinnoh's dialogue box sits at tiles 18..23, needs 192, + -- and so was asked to fit in a surface a full tile-and-a-half too short. + -- Reported from play as the box not fitting the bottom of the screen, with + -- the text spilling out of it. Gen 1, 2 and 3 are untouched -- their boxes + -- still stop at the first screen they fit on, which is the one they always + -- got. + for _, screen in ipairs(SCREENS) do + if needW <= screen[1] and needH <= screen[2] then return screen[1], screen[2] end + end + return SCREENS[#SCREENS][1], SCREENS[#SCREENS][2] end function Theme.load(data) diff --git a/src/world/Collision.lua b/src/world/Collision.lua index e36628972..372b08e5a 100644 --- a/src/world/Collision.lua +++ b/src/world/Collision.lua @@ -74,9 +74,35 @@ end -- into these cells so that the two casts can see each other (see -- OverworldState:updateCast). A mover meeting its own proxy is meeting -- itself, which is why the owner is tested alongside the entity. +-- AN OBJECT A SCRIPT TOOK OFF THE MAP IS NOT STILL STANDING THERE. +-- +-- `hidden` was read by the DRAW pass and by nothing else, so a script's +-- `RemoveObject` made a character invisible and left their tile blocked for +-- the rest of the session. Reported from play: *"he greets me at the door but +-- it won't let me in his house after"* -- Twinleaf's rival stands ON the warp +-- into his own house (the cartridge puts him there so he blocks it during his +-- scene), and the scene ends by removing him. He went invisible; the doorway +-- stayed shut. The same wall answered A, which is where the log's +-- "no text for Twinleaf Town/nil" came from: pressing A at the door talked to +-- somebody who was no longer in the game. +-- +-- BURIED IS THE EXCEPTION AND IT IS NOT AN EDGE CASE. Route 113's trainers +-- are under the ash: invisible and genuinely in the way, and they rise when +-- they spot you. `buried` is kept precisely so "a script hid this" can be +-- told from "this is covered up", so it is the one hidden thing that still +-- blocks. +-- +-- The engine already took this view in one place -- a seam proxy is built with +-- `passable = body.passable or body.hidden` -- so this is that rule applied +-- where it was missing rather than a new one. +local function entityAbsent(e) + return e.hidden and not e.buried +end +Collision.entityAbsent = entityAbsent + function Collision.occupied(entities, cx, cy, ignore) for _, e in ipairs(entities) do - if e ~= ignore and e.of ~= ignore and not e.passable then + if e ~= ignore and e.of ~= ignore and not e.passable and not entityAbsent(e) then if entityBlocks(e, cx, cy) then return e end diff --git a/src/world/Gen4Follower.lua b/src/world/Gen4Follower.lua new file mode 100644 index 000000000..0c37eed5e --- /dev/null +++ b/src/world/Gen4Follower.lua @@ -0,0 +1,402 @@ +-- THE GEN 4 PARTNER -- the character who walks behind you and crosses maps +-- with you (pokeplatinum src/scrcmd.c ScrCmd_SetMovementType + +-- ScrCmd_SetObjectFlagIsPersistent + SystemFlag_SetHasPartner, and +-- src/map_object.c sub_0206184C, which is where the crossing actually +-- happens). +-- +-- WHY THIS EXISTS AT ALL, and it is not a nicety. Platinum's opening does +-- not work without it. Route 201's `Route201_SetRivalPartner` ends with +-- +-- SetHasPartner +-- SetMovementType LOCALID_RIVAL, MOVEMENT_TYPE_FOLLOW_PLAYER +-- SetObjectFlagIsPersistent LOCALID_RIVAL, TRUE +-- +-- and from that line Barry IS the follower. Verity Lakefront's coord event +-- then addresses him as LOCALID_FOLLOWER (0xF2), not by his Route 201 local +-- id, and Verity Lakefront's own event file carries exactly ONE object -- a +-- signpost. With no follower on the map that `ApplyMovement` walks nobody, +-- the `WaitMovement` behind it never returns, and the input gate stays shut +-- with nothing on screen. Reported from play as "when we get to lake verity +-- dawn and professor are supposed to be there but they aren't", and named in +-- the log as +-- +-- gen4 move: no object with localId 242 on L01 -- the movement is dropped +-- and whatever waits on it will wait forever (live localIds: 0) +-- +-- WHAT THE CARTRIDGE DOES, in three separable pieces, because the scripts +-- set them separately and clear them separately: +-- +-- * MOVEMENT_TYPE_FOLLOW_PLAYER (48) is what makes an object TRAIL. It is +-- set by `setmovementtype`, which rewrites the LIVE actor -- a different +-- command from `setobjecteventmovementtype`, which rewrites the map's +-- stored template and is the one this port already had. Thirty script +-- sites use the live one and none of them were lowered. +-- * MAP_OBJ_STATUS_PERSISTENT is what makes it SURVIVE A MAP CHANGE. +-- `sub_0206184C` deletes every object whose header id is not the new +-- map's unless this bit is on. +-- * FLAG_HAS_PARTNER (0x961) is the SAVE'S memory of it, which other +-- systems read -- and which `ClearHasPartner` alone ends, with no +-- movement-type change behind it. Lake Verity Low Water does precisely +-- that, so a release keyed only on the movement type would leave Barry +-- trailing through the Cyrus scene. +-- +-- Seven partners use this in the finished game -- Barry, Cheryl, Riley, +-- Marley, Mira, Buck and the Amity Square pet -- across 16 `sethaspartner` +-- and 22 `clearhaspartner` sites. +-- +-- THE TRAIL ITSELF is PikachuFollower's, which is already proven in this +-- engine: the follower is sent to the cell the player is VACATING the frame +-- the player commits a step, not the frame it lands, so it rests exactly one +-- cell behind instead of two. What is dropped is everything Yellow-specific +-- -- ledge hops, idle rolls, happiness, the emotion bubbles. +-- +-- PASSABLE, and that is a deliberate departure. The cartridge's partner is +-- a solid map object that shuffles out of the way when you walk into it; the +-- shuffle is a behaviour this engine has no seam for, and without it a solid +-- follower in a corridor is a softlock. Walk into it and it simply trails +-- to the cell you vacated, exactly as Yellow's Pikachu does. + +local GameVersion = require("src.core.GameVersion") +local Logger = require("src.core.Logger") + +local Gen4Follower = {} + +-- MOVEMENT_TYPE_FOLLOW_PLAYER, read off generated/movement_types.txt as a +-- zero-based enum (MOVEMENT_TYPE_NONE is 0, so line N is N - 1). +Gen4Follower.FOLLOW_PLAYER = 48 +-- MOVEMENT_TYPE_FOLLOW_PARTNER_TRAINER -- the double-follow of a partner who +-- has their own partner. Treated the same here; nothing in the game sets it +-- on a character this engine spawns, and trailing is trailing. +Gen4Follower.FOLLOW_PARTNER = 50 + +-- FLAG_HAS_PARTNER, from the same enum walk over generated/vars_flags.txt +-- that every other Gen 4 flag id in this port comes from, spelled the way +-- Gen4ScriptVM.flagName spells one so `checkflag` and this agree. +Gen4Follower.PARTNER_FLAG = "FLAG_G4_0961" + +-- A synthetic object index for the respawned follower, clear of any map's +-- real objects (the largest object count on any Platinum map is 45). +local INDEX = 240 + +local function isGen4() + local ok, yes = pcall(GameVersion.isGen4) + return ok and yes +end + +-- ------------------------------------------------------------------ +-- the record +-- ------------------------------------------------------------------ + +-- What the follower needs to be rebuilt on a map that has never heard of it: +-- the art, the local id scripts address it by on its home map, and its home +-- map itself (so re-entering that map can hand the real object back rather +-- than standing a copy next to it). +function Gen4Follower.record(save) + return save and save.gen4Follower or nil +end + +function Gen4Follower.hasPartner(save) + return not not (save and save.flags and save.flags[Gen4Follower.PARTNER_FLAG]) +end + +function Gen4Follower.setPartner(save, on) + if not save then return end + save.flags = save.flags or {} + save.flags[Gen4Follower.PARTNER_FLAG] = on and true or false +end + +-- ------------------------------------------------------------------ +-- finding it +-- ------------------------------------------------------------------ + +-- The live follower, which is what `LOCALID_FOLLOWER` resolves to. Marked on +-- the entity rather than derived from the def's movement type: a respawned +-- follower has no map template at all, and the cartridge's own lookup +-- (`MapObjMan_GetLocalMapObjByMovementType`) asks the LIVE object the same +-- way. +function Gen4Follower.current(ow) + if not ow then return nil end + for _, e in ipairs(ow.entities or {}) do + if e.gen4Follower then return e end + end + return nil +end + +-- ------------------------------------------------------------------ +-- becoming, and ceasing to be, the follower +-- ------------------------------------------------------------------ +-- +-- These three take the SAVE rather than the game, because their caller is +-- `Gen4Commands`, which has no `Game` in scope at all -- it reaches everything +-- through `ctx.save` and `ctx.overworld`. `onMapEntered` and `update` below +-- take the game, because rebuilding an NPC needs `game.data` and their caller +-- is `OverworldController`, where it is in scope. + +local function defOf(entity) + return entity and entity.def or nil +end + +-- `setmovementtype , MOVEMENT_TYPE_FOLLOW_PLAYER`. The entity is already +-- on the map -- every one of the eight sites sets it on a character standing +-- in front of the player -- so this marks the actor and writes down enough to +-- rebuild it elsewhere. +function Gen4Follower.adopt(save, ow, entity) + if not (entity and ow) then return end + local def = defOf(entity) + local previous = Gen4Follower.current(ow) + if previous and previous ~= entity then previous.gen4Follower = nil end + entity.gen4Follower = true + entity.passable = true + if not save then return end + save.gen4Follower = { + localId = def and def.localId, + mapId = ow.map and ow.map.id, + sprite = def and def.sprite, + spriteName = def and def.spriteName, + graphicsId = def and def.graphicsId, + big = entity.big or nil, + facing = entity.facing or "down", + -- Not persistent until a script says so. Barry's script says so on the + -- next line, and Amity Square's pet never does -- it is a partner that + -- stays on its one map. + persistent = save.gen4Follower and save.gen4Follower.persistent or false, + } +end + +-- `setmovementtype , `, and `clearhaspartner`. The ACTOR +-- stays where it is -- `ClearHasPartner` does not delete anybody, and on the +-- map that owns it the object event is still an object event -- so only the +-- trailing stops. +function Gen4Follower.release(save, ow) + local live = Gen4Follower.current(ow) + if live then + live.gen4Follower = nil + live.goalX, live.goalY = nil, nil + -- A RESPAWNED follower has no business on the map once it stops + -- following: it is a copy this engine stood there, not one of the map's + -- own objects. One that was adopted from a real object stays. + if live.gen4FollowerSpawned and ow then + for _, list in ipairs({ ow.npcs or {}, ow.entities or {} }) do + for i = #list, 1, -1 do + if list[i] == live then table.remove(list, i) end + end + end + end + end + if ow then ow.gen4FollowTrail = nil end + if save then save.gen4Follower = nil end +end + +-- `setobjectflagispersistent , ` -- the bit that decides whether +-- the object survives a map change. Only meaningful for the follower here: +-- every other object this engine spawns is rebuilt from its own map's +-- template anyway, so a persistence bit on one of those has nothing to do. +function Gen4Follower.setPersistent(save, ow, entity, on) + local record = save and save.gen4Follower + local live = Gen4Follower.current(ow) + if not (record and live and entity == live) then return end + record.persistent = on and true or false +end + +-- ------------------------------------------------------------------ +-- crossing a map seam +-- ------------------------------------------------------------------ + +-- The cell the follower appears on when it arrives on a new map: directly +-- behind the player, or the player's own cell when that is blocked -- it +-- trails out on the next step either way. Same rule PikachuFollower uses, +-- and for the same reason: the player has just walked in, so the cell they +-- came from is the one the follower was standing on. +local function spawnCell(ow) + local p = ow.player + local dx = p.facing == "left" and 1 or p.facing == "right" and -1 or 0 + local dy = p.facing == "up" and 1 or p.facing == "down" and -1 or 0 + local bx, by = p.cellX + dx, p.cellY + dy + if ow.map and ow.map:inBounds(bx, by) and ow.map:isWalkableCell(bx, by) then + return bx, by + end + return p.cellX, p.cellY +end + +local warnedNoArt = false + +local function spawnFollower(game, ow, record) + local NPC = require("src.world.NPC") + local x, y = spawnCell(ow) + if not record.sprite then + -- No art means no follower, and standing an invisible body behind the + -- player would be worse than none: it would answer `LOCALID_FOLLOWER` + -- and walk scenes nobody can see. + if not warnedNoArt then + warnedNoArt = true + Logger.warn("gen4 follower: the partner recorded on %s carries no " + .. "sprite, so it cannot be rebuilt on %s -- any scene " + .. "addressing LOCALID_FOLLOWER there will find nobody", + tostring(record.mapId), tostring(ow.map and ow.map.id)) + end + return nil + end + local npc = NPC.new(game.data, ow.map.id, { + index = INDEX, + localId = record.localId, + sprite = record.sprite, + spriteName = record.spriteName, + graphicsId = record.graphicsId, + big = record.big, + x = x, y = y, + -- MOVEMENT_TYPE_NONE rather than FOLLOW_PLAYER: the template's movement + -- type is what NPC:update reads to decide what to do when nobody is + -- driving, and this file drives it -- a wander type here would fight the + -- trail. It is moot in practice: NPC.new reads the type through + -- `constants.gen3MovementTypes`, which a Gen 4 cache does not carry at + -- all, so every Gen 4 NPC already falls through to standing still. + movementType = 0, + direction = 1, + }) + npc.facing = record.facing or "down" + npc.gen4Follower = true + npc.gen4FollowerSpawned = true + npc.passable = true + table.insert(ow.npcs, npc) + table.insert(ow.entities, npc) + return npc +end + +-- Called from OverworldState:setMap, after rebuildEntities has stood the new +-- map's own cast up. +function Gen4Follower.onMapEntered(game, ow) + if not (ow and ow.map) then return end + ow.gen4FollowTrail = nil + if not isGen4() then return end + local save = game and game.save + local record = save and save.gen4Follower + if not record then return end + + -- THE MAP'S OWN OBJECT WINS. Lake Verity Low Water carries Barry as a real + -- object event and its entry scene addresses him by his local id there; so + -- does Route 201 when you walk back onto it. Standing a second copy beside + -- the real one would put two Barrys on screen and let `LOCALID_FOLLOWER` + -- pick the wrong one. + if record.localId then + for _, e in ipairs(ow.entities or {}) do + local lid = e.localId or (e.def and e.def.localId) + if lid == record.localId and not e.hidden then + e.gen4Follower = true + e.passable = true + e.gen4FollowerSpawned = nil + return + end + end + end + + -- Not persistent means it does not cross: Amity Square's pet is a partner + -- for one map and the cartridge deletes it at the door. + if not record.persistent then + save.gen4Follower = nil + return + end + spawnFollower(game, ow, record) +end + +-- A connection crossing translates every cell rather than rebuilding the map, +-- so the trail's remembered cell has to move with it -- the same rebase +-- PikachuFollower needs, and for the same reason. +function Gen4Follower.rebase(ow, dx, dy) + local trail = ow and ow.gen4FollowTrail + if not trail then return end + trail.x, trail.y = trail.x + dx, trail.y + dy + local npc = Gen4Follower.current(ow) + if npc and npc.goalX then + npc.goalX, npc.goalY = npc.goalX + dx, npc.goalY + dy + end +end + +-- ------------------------------------------------------------------ +-- the trail +-- ------------------------------------------------------------------ + +function Gen4Follower.update(game, ow) + if not (ow and ow.map and isGen4()) then return end + local npc = Gen4Follower.current(ow) + if not npc then return end + local p = ow.player + if not p then return end + + -- A SCRIPT OWNS THE FOLLOWER WHILE IT RUNS. Every scene that addresses + -- LOCALID_FOLLOWER walks it deliberately -- Verity Lakefront marches it + -- north into the lake -- and a trail running underneath would drag it back + -- toward the player mid-cutscene. The record of where the player is stays + -- current so the trail resumes without a lurch. + local scripted = (ow.runner and ow.runner:isRunning()) + or #(ow.scriptMoves or {}) > 0 + local trail = ow.gen4FollowTrail + if not trail then + trail = { x = p.cellX, y = p.cellY } + ow.gen4FollowTrail = trail + end + if scripted then + trail.x, trail.y = p.targetX or p.cellX, p.targetY or p.cellY + npc.goalX, npc.goalY = nil, nil + return + end + + -- The step is handed over the frame the player COMMITS it, not the frame it + -- lands: targetX/Y is the committed destination while a step is in flight + -- and nil while standing, so the follower walks into the cell the player is + -- vacating during that same step and rests exactly one cell behind. + local destX = p.targetX or p.cellX + local destY = p.targetY or p.cellY + if destX ~= trail.x or destY ~= trail.y then + npc.goalX, npc.goalY = trail.x, trail.y + trail.x, trail.y = destX, destY + end + + if npc.moving then return end + if not npc.goalX then return end + local gx, gy = npc.goalX, npc.goalY + if npc.cellX == gx and npc.cellY == gy then + npc.goalX, npc.goalY = nil, nil + return + end + + -- Fell more than a screen behind -- a warp, a scripted teleport, a scene + -- that moved the player without a step. Snap rather than walk a diagonal + -- staircase across the map. + local far = math.abs(npc.cellX - gx) + math.abs(npc.cellY - gy) + if far > 6 then + npc.cellX, npc.cellY = gx, gy + npc.px, npc.py = gx * 16, gy * 16 + npc.goalX, npc.goalY = nil, nil + return + end + + local dir + if npc.cellX < gx then dir = "right" + elseif npc.cellX > gx then dir = "left" + elseif npc.cellY < gy then dir = "down" + else dir = "up" end + npc.facing = dir + npc.targetX = npc.cellX + (dir == "right" and 1 or dir == "left" and -1 or 0) + npc.targetY = npc.cellY + (dir == "down" and 1 or dir == "up" and -1 or 0) + -- The player's own step length, halved while more than one cell behind so a + -- gap opened by a run or a scene closes again. + local stepLen = p.stepFramesCur or p.stepFrames or 16 + if far > 1 then stepLen = math.max(1, math.floor(stepLen / 2)) end + npc.stepFrames = stepLen + npc.moving = true + npc.progress = 0 + -- This frame's npc:update loop already ran (OverworldState:update walks + -- self.npcs, then calls here), so burn the step's first frame now -- + -- otherwise the step costs a frame more than the player's and the follower + -- trails a pixel further every tile. + npc:update(ow.map, ow.entities) +end + +-- The record has to follow the save, and a save written before this stage +-- simply has no partner -- which is correct for every point in the game +-- except the seven escort scenes. +function Gen4Follower.serialize(save) + return save and save.gen4Follower or nil +end + +return Gen4Follower diff --git a/src/world/Gen4Roamers.lua b/src/world/Gen4Roamers.lua new file mode 100644 index 000000000..9005992b6 --- /dev/null +++ b/src/world/Gen4Roamers.lua @@ -0,0 +1,572 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- src/world/Gen4Roamers.lua -- SINNOH'S SIX THAT WILL NOT STAND STILL. +-- +-- `activateroamingpokemon` was unlowered, on three maps: ETERNA CITY'S SOUTH +-- HOUSE (the Kanto birds, once the National Dex is in), FULLMOON ISLAND +-- (Cresselia) and VERITY CAVERN (Mesprit, the moment you look into the lake). +-- Mesprit is main-path. So the command that RELEASES a roamer did nothing, and +-- with nothing released every rule below had nothing to act on. +-- +-- THE THIRD SIBLING, AND IT IS NOT EITHER OF THE OTHER TWO. `RoamMons.lua` is +-- Crystal's three beasts and `Gen3Roamers.lua` is Hoenn's one, and Platinum +-- shares the SHAPE with both and the RULES with neither. Copying either one +-- would have been wrong in a way nothing would report: +-- +-- Gen 2 Gen 3 GEN 4 +-- slots 3 1 6 +-- meeting it 75/256, then 1 in 4 on its 1 IN 2 on its map +-- 1 of 3 slots map (see below) +-- moving every map load every map load MAP CONNECTION ONLY +-- where it moves any route a 20-node graph A 29-NODE GRAPH +-- long hop never 1 load in 16 1 move in 16 +-- avoids nothing the map 3 loads THE MAP YOU JUST +-- ago CAME FROM +-- +-- THE ODDS DIFFERENCE IS THE ONE THAT MATTERS. Gen 2 rolls a SLOT first and +-- then asks where that one is, so three beasts on your route are no likelier +-- than one. Gen 4 does it the other way round -- `TryEncounterRoamer` collects +-- every active roamer ON YOUR MAP, and only then spends a flat +-- `LCRNG_RandMod(2)`. So with the three birds loose on one route the chance of +-- meeting SOMETHING is still one in two, and the three of them split it. Read +-- as Gen 2's rule it would have been 75/256 x 1/6 per bird; read as Gen 4's it +-- is 1/2 x 1/3. That is a factor of five, and no crash anywhere. +-- +-- ...AND ROAMERS CANNOT APPEAR IN A POKE RADAR PATCH OR A DOUBLE BATTLE, which +-- the cartridge says in a comment above the call and this file honours through +-- the caller. + +local Gen4Roamers = {} + +-- --------------------------------------------------------------------------- +-- THE SIX SLOTS +-- +-- `RoamingPokemon_ActivateSlot` is a switch on the slot with the species and +-- the level in each arm -- no table to extract, so transcribed, and the slot +-- numbers are `generated/roaming_slots.txt` in order. +-- +-- DARKRAI IS SLOT 2 AND NO SCRIPT EVER ACTIVATES IT. Measured over the whole +-- corpus: the eight `activateroamingpokemon` rows are slots 3, 4, 5 (Eterna's +-- south house, twice each) and 1 and 0. Darkrai's slot exists, the switch has +-- an arm for it, and the thing that fills it is the Member's Card event rather +-- than a field script. Kept in the table because the slot is real; nothing +-- here reaches it. +Gen4Roamers.SLOTS = { + [0] = { name = "MESPRIT", species = 481, level = 50 }, + [1] = { name = "CRESSELIA", species = 488, level = 50 }, + [2] = { name = "DARKRAI", species = 491, level = 40 }, + [3] = { name = "MOLTRES", species = 146, level = 60 }, + [4] = { name = "ZAPDOS", species = 145, level = 60 }, + [5] = { name = "ARTICUNO", species = 144, level = 60 }, +} +Gen4Roamers.SLOT_COUNT = 6 + +-- --------------------------------------------------------------------------- +-- THE TWENTY-NINE PLACES +-- +-- `RoamingPokemonRoutes[RI_MAX]`, in enum order, as MAP HEADER IDS. The list +-- is every numbered route in Sinnoh plus two outdoor stretches that are not +-- routes at all -- Valley Windworks and Fuego Ironworks. +-- +-- TWENTY-NINE FOR TWENTY-NINE ON THE LABEL, checked against the cache, and the +-- port's own internal names confirm the transcription a second way because +-- THEY CARRY THE ROUTE NUMBER: 342 is R201, 343 is R202, 395 is R222. Three +-- rows would catch a wrong list -- +-- +-- * ROUTE_220 is header 467 and its internal name is **W220**, not R220: a +-- water route, seventy ids past Route 222's 395. +-- * ROUTE_205_NORTH is 349, not 348 -- the two halves of Route 205 are not +-- adjacent ids. +-- * the last two are D02 and D04, dungeon-prefixed, because the Windworks +-- and the Ironworks are outdoor maps attached to buildings. +-- +-- And every one of the 29 carries a wild-encounter table, which it has to: +-- a roamer is met INSTEAD of an ordinary wild encounter, so a place with no +-- encounters is a place a roamer can hide forever. +Gen4Roamers.ROUTES = { + [0] = { header = 342, map = "R201", what = "Route 201" }, + [1] = { header = 343, map = "R202", what = "Route 202" }, + [2] = { header = 344, map = "R203", what = "Route 203" }, + [3] = { header = 345, map = "R204A", what = "Route 204 south" }, + [4] = { header = 346, map = "R204B", what = "Route 204 north" }, + [5] = { header = 347, map = "R205A", what = "Route 205 south" }, + [6] = { header = 349, map = "R205B", what = "Route 205 north" }, + [7] = { header = 350, map = "R206", what = "Route 206" }, + [8] = { header = 353, map = "R207", what = "Route 207" }, + [9] = { header = 354, map = "R208", what = "Route 208" }, + [10] = { header = 356, map = "R209", what = "Route 209" }, + [11] = { header = 362, map = "R210A", what = "Route 210 south" }, + [12] = { header = 363, map = "R210B", what = "Route 210 north" }, + [13] = { header = 365, map = "R211A", what = "Route 211 west" }, + [14] = { header = 366, map = "R211B", what = "Route 211 east" }, + [15] = { header = 367, map = "R212A", what = "Route 212 north" }, + [16] = { header = 371, map = "R212B", what = "Route 212 south" }, + [17] = { header = 373, map = "R213", what = "Route 213" }, + [18] = { header = 380, map = "R214", what = "Route 214" }, + [19] = { header = 382, map = "R215", what = "Route 215" }, + [20] = { header = 383, map = "R216", what = "Route 216" }, + [21] = { header = 385, map = "R217", what = "Route 217" }, + [22] = { header = 388, map = "R218", what = "Route 218" }, + [23] = { header = 391, map = "R219", what = "Route 219" }, + [24] = { header = 467, map = "W220", what = "Route 220" }, + [25] = { header = 392, map = "R221", what = "Route 221" }, + [26] = { header = 395, map = "R222", what = "Route 222" }, + [27] = { header = 200, map = "D02", what = "Valley Windworks, outside" }, + [28] = { header = 204, map = "D04", what = "Fuego Ironworks, outside" }, +} +Gen4Roamers.ROUTE_COUNT = 29 + +-- --------------------------------------------------------------------------- +-- WHERE IT CAN GO NEXT +-- +-- `sNearbyRoutes[RI_MAX]`, and the cartridge's own comment says what it means: +-- *"Includes adjacent routes as well as routes connected to adjacent towns"* -- +-- so Route 202's five neighbours are the two off Sandgem and all three off +-- Jubilife, not just the two it physically touches. +-- +-- !! IT IS NOT SYMMETRIC, AND IT MUST NOT BE TIDIED. Two edges go one way: +-- +-- 6 -> 9 Route 205 north lists Route 208 (Eterna City between them) +-- and Route 208's own row does not list 205 north back +-- 13 -> 6 Route 211 west lists Route 205 north, and 205 north's row +-- does not list 211 west back +-- +-- The first is written in pret as a BARE `9` rather than `RI_ROUTE_208`, which +-- is what makes it easy to lose in transcription. Building the graph +-- symmetrically would invent two edges and drop none; building it from one +-- direction only would drop two. Either way a roamer's movement would be +-- subtly wrong in a way no crash reports, so the check asserts THESE TWO +-- asymmetries and no others. +-- +-- 78 directed edges over 29 nodes, every node reachable from every other. +Gen4Roamers.NEARBY = { + [0] = { 1, 23 }, + [1] = { 0, 2, 3, 22, 23 }, + [2] = { 1, 3, 8, 22 }, + [3] = { 1, 2, 4, 22 }, + [4] = { 3, 5 }, + [5] = { 4, 6, 27, 28 }, + [6] = { 5, 7, 9 }, + [7] = { 6, 8, 13 }, + [8] = { 2, 7, 9 }, + [9] = { 8, 10, 15 }, + [10] = { 9, 11, 15 }, + [11] = { 10, 12, 19 }, + [12] = { 11, 14 }, + [13] = { 6, 7, 14, 20 }, + [14] = { 12, 13, 20 }, + [15] = { 9, 10, 16 }, + [16] = { 15, 17 }, + [17] = { 16, 18, 26 }, + [18] = { 17, 19, 26 }, + [19] = { 11, 18 }, + [20] = { 13, 14, 21 }, + [21] = { 20 }, + [22] = { 1, 2, 3 }, + [23] = { 0, 1, 24 }, + [24] = { 23, 25 }, + [25] = { 24 }, + [26] = { 17, 18 }, + [27] = { 5 }, + [28] = { 5 }, +} + +-- The two one-way edges, named so the check can assert them rather than +-- rediscover them. +Gen4Roamers.ONE_WAY = { { 6, 9 }, { 13, 6 } } + +-- `LCRNG_RandMod(16) == 0` in RoamingPokemon_MoveAllLocations. +Gen4Roamers.LONG_HOP_ONE_IN = 16 +-- `LCRNG_RandMod(2) == 0` returns FALSE in TryEncounterRoamer, so a roamer on +-- your map is met on one wild encounter in two. +Gen4Roamers.MEET_ONE_IN = 2 + +-- --------------------------------------------------------------------------- +-- the save + +local function held(save, make) + if type(save) ~= "table" then return nil end + if make then save.gen4Roamers = save.gen4Roamers or {} end + local all = save.gen4Roamers + if type(all) ~= "table" then return nil end + return all +end + +local function randInt(rng, n) + if n <= 0 then return 0 end + rng = rng or (love and love.math and love.math.random) or math.random + return rng(0, n - 1) +end + +-- Header id -> the engine's map id, cached per dataset the way +-- `Gen4Commands.mapForHeader` does. Kept weak so a dataset swap does not pin +-- the old one. +local headerIndex = setmetatable({}, { __mode = "k" }) + +function Gen4Roamers.mapForHeader(data, header) + local maps = data and data.maps + if not maps then return nil end + local index = headerIndex[maps] + if not index then + index = {} + for id, def in pairs(maps) do + if type(def) == "table" and def.header then index[def.header] = id end + end + headerIndex[maps] = index + end + return index[tonumber(header) or -1] +end + +-- The map id a route index names, through the cache rather than the table's +-- own `map` field -- that field is PROVENANCE for the check, and resolving +-- through the header is what a mod that renames a map needs. +function Gen4Roamers.mapOf(data, routeIndex) + local row = Gen4Roamers.ROUTES[tonumber(routeIndex) or -1] + if not row then return nil end + return Gen4Roamers.mapForHeader(data, row.header) or row.map +end + +function Gen4Roamers.all(save) + return held(save) or {} +end + +-- One roamer's record, or nil when that slot is not roaming. +function Gen4Roamers.active(save, slot) + local all = held(save) + local it = all and all[tonumber(slot) or -1] + if type(it) ~= "table" or it.active ~= true or not it.species then + return nil + end + return it +end + +function Gen4Roamers.anyActive(save) + for slot = 0, Gen4Roamers.SLOT_COUNT - 1 do + if Gen4Roamers.active(save, slot) then return true end + end + return false +end + +-- --------------------------------------------------------------------------- +-- releasing one +-- +-- `RoamingPokemon_ActivateSlot`: the species and level come off the switch, +-- the IVs and personality off a Pokemon made ONCE and thrown away -- the +-- cartridge keeps only its combined IVs and its personality, and rebuilds the +-- same individual from them at every meeting. Current HP starts at MAX HP, not +-- at zero: Gen 4 stores a real number here where Gen 2 and Gen 3 store zero to +-- mean "make fresh stats", so a Gen 4 roamer's HP field is meaningful from the +-- first frame. +-- +-- ...AND THEN IT IS IMMEDIATELY MOVED. The last line of ActivateSlot is +-- `MoveRoamerRandom`, so a roamer is never released onto the route the table +-- happens to have it on -- it starts somewhere random that is not the map the +-- player just came from. +function Gen4Roamers.activate(data, save, slot, rng) + slot = math.floor(tonumber(slot) or -1) + local def = Gen4Roamers.SLOTS[slot] + if not (def and save) then return nil end + local all = held(save, true) + local Stats = require("src.pokemon.Stats") + local roll = rng or (love and love.math and love.math.random) or math.random + local it = { + slot = slot, + name = def.name, + species = def.species, + level = def.level, + active = true, + status = nil, + } + it.personality = roll(0, 65535) * 65536 + roll(0, 65535) + local okIvs, ivs = pcall(function() return Stats.randomIVs(roll) end) + it.ivs = okIvs and ivs or nil + -- MAX HP, which needs the species record; without one the field is left nil + -- and the battle makes a fresh one, which is the same fallback Gen 2 uses. + local okHp, hp = pcall(function() + local mon = require("src.pokemon.Pokemon").new(data, def.species, def.level) + return mon and mon.stats and mon.stats.hp or nil + end) + it.hp = (okHp and tonumber(hp)) or nil + all[slot] = it + -- the release ends with a random hop, and it avoids the map the player came + -- from just as an ordinary move does + Gen4Roamers.hop(data, save, slot, rng) + return it +end + +-- --------------------------------------------------------------------------- +-- moving + +-- A REROLL-UNTIL-ALLOWED IS A UNIFORM PICK OVER THE ALLOWED SET, and writing +-- it as the second thing rather than the first is the difference between exact +-- and nearly. +-- +-- Both movement functions in the cartridge are `while (TRUE) { pick; if (ok) +-- break; }`. Transcribing that literally needs a loop bound -- and a bounded +-- reroll has a tail where it gives up and LEAVES THE ROAMER WHERE IT WAS, which +-- the cartridge never does. I wrote it that way first and the check caught it: +-- a step that was supposed to refuse one map returned "stayed put", which +-- satisfied "did not go to the forbidden map" for the wrong reason. +-- +-- Filtering first is the same distribution -- a uniform reroll that rejects a +-- fixed subset is uniform over the complement -- and it terminates by +-- construction. +local function pickAllowed(data, candidates, rng, ...) + local banned = {} + for i = 1, select("#", ...) do + local v = select(i, ...) + if v ~= nil then banned[v] = true end + end + local allowed = {} + for _, index in ipairs(candidates) do + local map = Gen4Roamers.mapOf(data, index) + if map and not banned[map] then + allowed[#allowed + 1] = { index = index, map = map } + end + end + if #allowed == 0 then return nil end + return allowed[randInt(rng, #allowed) + 1] +end + +local EVERYWHERE = nil +local function everywhere() + if not EVERYWHERE then + EVERYWHERE = {} + for i = 0, Gen4Roamers.ROUTE_COUNT - 1 do EVERYWHERE[#EVERYWHERE + 1] = i end + end + return EVERYWHERE +end + +-- `MoveRoamerRandom`: anywhere among the 29 that is neither where it stands nor +-- the map the player just left. +-- +-- A FRESH ROAMER'S "WHERE IT STANDS" IS ROUTE 201, not nowhere: the save's +-- `roamerRouteIndexes` starts zeroed, so the first hop after +-- `RoamingPokemon_ActivateSlot` is excluding index 0 whether or not the roamer +-- was ever there. Mirrored rather than tidied -- it makes Route 201 very +-- slightly less likely as a starting place, and that is the cartridge's +-- behaviour. +function Gen4Roamers.hop(data, save, slot, rng) + local it = Gen4Roamers.active(save, slot) or (held(save) or {})[slot] + if type(it) ~= "table" then return nil end + local hereMap = Gen4Roamers.mapOf(data, tonumber(it.route) or 0) + local choice = pickAllowed(data, everywhere(), rng, + Gen4Roamers.previousMap(save), hereMap) + if not choice then return it.map end + it.route, it.map = choice.index, choice.map + return choice.map +end + +-- `MoveRoamerNearby`: one step along the graph, refusing the map the player +-- just came from -- and NOT refusing where it stands, because a neighbour list +-- never contains its own node (checked: no self-loops). +-- +-- THE ONE-NEIGHBOUR CASE FALLS BACK TO THE LONG HOP, which is the cartridge's +-- own branch and not a safety net: Route 217, Route 221, Valley Windworks and +-- Fuego Ironworks have exactly one neighbour each, so a roamer on any of the +-- four whose single exit is the map the player just left has nowhere legal to +-- step. `MoveRoamerNearby` handles that with `numPossibilities == 1` and calls +-- `MoveRoamerRandom`; the multi-neighbour arm does not need it, because only +-- one map is ever forbidden. +function Gen4Roamers.stepNearby(data, save, slot, rng) + local it = Gen4Roamers.active(save, slot) + if not it then return nil end + local here = tonumber(it.route) + local list = here and Gen4Roamers.NEARBY[here] + if not (list and #list > 0) then + return Gen4Roamers.hop(data, save, slot, rng) + end + local choice = pickAllowed(data, list, rng, Gen4Roamers.previousMap(save)) + if not choice then return Gen4Roamers.hop(data, save, slot, rng) end + it.route, it.map = choice.index, choice.map + return choice.map +end + +-- --------------------------------------------------------------------------- +-- where the player has been +-- +-- `PlayerRecentRoutes` is two fields and the struct comment says what for: +-- *"Used to prevent roamers from trolling you by moving to the route you just +-- left"*. `SpecialEncounter_UpdateRecentRoutes` only shifts when the map +-- CHANGES, so walking out of a building and back in does not consume the +-- memory. +-- +-- ...AND IT IS ONLY KEPT WHILE SOMETHING IS ROAMING +-- (`RoamingPokemon_UpdatePlayerRecentRoutes` guards on +-- `AnyRoamersActive`), which matters: the first map you enter after releasing +-- one is `current`, and `previous` is whatever it was when the last roamer +-- retired. +function Gen4Roamers.previousMap(save) + local all = held(save) + local r = all and all.recent + return type(r) == "table" and r.previous or nil +end + +function Gen4Roamers.noteMap(save, mapId) + if not Gen4Roamers.anyActive(save) then return false end + local all = held(save, true) + all.recent = all.recent or {} + local r = all.recent + if r.current ~= mapId then + r.previous, r.current = r.current, mapId + return true + end + return false +end + +-- ONE MAP CONNECTION, ALL SLOTS. `FieldSystem_InitFlagsOnMapChange` calls +-- this; `FieldSystem_InitFlagsWarp` DOES NOT -- so a roamer hops when you walk +-- across a route boundary and stays put when you go through a door. Getting +-- that backwards would move every roamer several times per Pokemon Centre +-- visit. +-- +-- One move in sixteen leaves the graph entirely. +function Gen4Roamers.moveAll(data, save, rng) + if not Gen4Roamers.anyActive(save) then return 0 end + local moved = 0 + for slot = 0, Gen4Roamers.SLOT_COUNT - 1 do + if Gen4Roamers.active(save, slot) then + if randInt(rng, Gen4Roamers.LONG_HOP_ONE_IN) == 0 then + Gen4Roamers.hop(data, save, slot, rng) + else + Gen4Roamers.stepNearby(data, save, slot, rng) + end + moved = moved + 1 + end + end + return moved +end + +-- Fly and Teleport: `RoamingPokemon_RandomizeAllLocations`, the long hop for +-- everything at once. Not the ordinary move -- you cannot follow a roamer by +-- flying after it. +function Gen4Roamers.randomizeAll(data, save, rng) + local n = 0 + for slot = 0, Gen4Roamers.SLOT_COUNT - 1 do + if Gen4Roamers.active(save, slot) then + Gen4Roamers.hop(data, save, slot, rng) + n = n + 1 + end + end + return n +end + +-- --------------------------------------------------------------------------- +-- meeting one +-- +-- `TryEncounterRoamer`: gather every active roamer on this map, then ONE flat +-- coin. Presence decides whether a roll happens at all; the count only decides +-- which one you get. See the table at the top for why this is not Gen 2's +-- rule with different numbers. +-- +-- The caller has already decided a wild encounter is happening, and a roamer +-- REPLACES it. +function Gen4Roamers.check(data, save, mapId, rng) + if mapId == nil then return nil end + local here = {} + for slot = 0, Gen4Roamers.SLOT_COUNT - 1 do + local it = Gen4Roamers.active(save, slot) + if it and it.map == mapId then here[#here + 1] = slot end + end + if #here == 0 then return nil end + if randInt(rng, Gen4Roamers.MEET_ONE_IN) == 0 then return nil end + local slot = here[randInt(rng, #here) + 1] + return slot, Gen4Roamers.active(save, slot) +end + +function Gen4Roamers.encounterFor(slot, it) + if type(it) ~= "table" then return nil end + return { + species = it.species, + level = math.floor(tonumber(it.level) or 50), + roamerHP = math.floor(tonumber(it.hp) or 0), + -- the same individual every meeting, from the two numbers the cartridge + -- keeps (AddRoamerToEnemyParty -> Pokemon_InitAndCalcStats) + roamerSeed = it.personality and { personality = it.personality, + ivs = it.ivs } or nil, + roamerStatus = it.status, + roamerSlot = slot, + } +end + +-- --------------------------------------------------------------------------- +-- after the fight +-- +-- !! AND THIS RUNS AFTER EVERY WILD BATTLE, NOT ONLY A ROAMER'S. +-- `RoamerAfterBattle_UpdateRoamers` is `encounter.c` state 4, on the way out of +-- any wild encounter, and it does two things a first reading would miss: +-- +-- * MET ONE -> write its HP and status back (or retire it), AND THEN EVERY +-- ROAMER STANDING ON THIS MAP LEAVES -- `MoveRoamersOffMap`, a long hop +-- each, not just the one you fought. +-- * MET AN ORDINARY WILD -> `LCRNG_RandMod(100) < 30`, and on that 30% EVERY +-- ROAMER ON THIS MAP LEAVES ANYWAY. +-- +-- I wrote the opposite of both of those from memory before reading the file, +-- which is this port's recurring fault in one line. The second rule in +-- particular is not guessable: grinding ordinary encounters on a roamer's route +-- scares it off three times in ten, so the way to corner one is to meet it, not +-- to stand in the grass beside it. +-- +-- Retiring is `BATTLE_RESULT_WIN` with the roamer's HP at zero, or +-- `BATTLE_RESULT_CAPTURED_MON`; anything else is an escape and keeps the +-- damage. Fleeing does NOT heal it -- that is the whole point of a hunt. +Gen4Roamers.LEAVE_AFTER_WILD_PERCENT = 30 + +function Gen4Roamers.remember(save, slot, hp, status) + local it = Gen4Roamers.active(save, slot) + if not it then return false end + it.hp = math.max(1, math.floor(tonumber(hp) or 0)) + it.status = status or nil + return true +end + +-- Caught or knocked out: `ROAMER_DATA_ACTIVE = 0`, which stops the movement, +-- the encounter and the Marking Map's dot together. +function Gen4Roamers.retire(save, slot) + local all = held(save) + local it = all and all[tonumber(slot) or -1] + if type(it) ~= "table" then return false end + it.active = false + return true +end + +-- `MoveRoamersOffMap`: every active roamer whose map is this one takes a long +-- hop. The ones elsewhere are untouched. +function Gen4Roamers.clearMap(data, save, mapId, rng) + local n = 0 + for slot = 0, Gen4Roamers.SLOT_COUNT - 1 do + local it = Gen4Roamers.active(save, slot) + if it and it.map == mapId then + Gen4Roamers.hop(data, save, slot, rng) + n = n + 1 + end + end + return n +end + +-- The whole of `RoamerAfterBattle_UpdateRoamers`, in one call the caller makes +-- after ANY wild battle. `slot` is nil when the battle was an ordinary wild. +function Gen4Roamers.afterBattle(data, save, mapId, slot, hp, status, gone, rng) + if not Gen4Roamers.anyActive(save) then return nil end + if slot == nil then + -- the 30% that is easy to miss + local roll = rng or (love and love.math and love.math.random) or math.random + if roll(0, 99) < Gen4Roamers.LEAVE_AFTER_WILD_PERCENT then + return Gen4Roamers.clearMap(data, save, mapId, rng), "scared" + end + return 0, "stayed" + end + if gone then + Gen4Roamers.retire(save, slot) + else + Gen4Roamers.remember(save, slot, hp, status) + end + return Gen4Roamers.clearMap(data, save, mapId, rng), "met" +end + +return Gen4Roamers diff --git a/src/world/Map.lua b/src/world/Map.lua index a73339028..5903de188 100644 --- a/src/world/Map.lua +++ b/src/world/Map.lua @@ -120,7 +120,20 @@ end -- GetTileAndCoordsInFrontOfPlayer / collision checks read the neighbor -- strip's tile bytes the same way. function Map.defCellTile(def, tilesetDef, cx, cy) - if not (def and tilesetDef and tilesetDef.blocks) then return nil end + -- `blocks` IS ONLY NEEDED BY THE LAST PATH IN HERE. + -- + -- A tileset's `blocks` is the Game Boy metatile table, and the branch below + -- that reads it is the last of three. Demanding it up front refused the + -- other two for any tileset that does not carry one -- which is every Gen 4 + -- tileset, because Sinnoh's collision is per CELL and the stand-in carries a + -- `collision` table and `blockCells = 1` instead. + -- + -- That is the whole of *"still can't walk out of twinleaf, invisible wall"*: + -- `defPassable` asks this for the neighbour's cell during an edge crossing, + -- got nil, and read nil as a wall -- so every seam in Sinnoh was shut. It is + -- the same shape as the Littleroot/Route 101 bug the comment in + -- `defPassable` describes, one layer further down. + if not (def and tilesetDef) then return nil end local function blockAt(bx, by) if bx < 0 or by < 0 or bx >= def.width or by >= def.height then return def.borderBlock @@ -149,6 +162,8 @@ function Map.defCellTile(def, tilesetDef, cx, cy) return tilesetDef.collision[blockId * cells * cells + (cx % cells) + (cy % cells) * cells + 1] or 0xFF end + -- ...and HERE is where it is genuinely required. + if not tilesetDef.blocks then return nil end local tx, ty = cx * 2, cy * 2 + 1 local bx, by = math.floor(tx / tiles), math.floor(ty / tiles) local id = blockAt(bx, by) @@ -228,7 +243,10 @@ function Map.defPassable(def, tilesetDef, cx, cy, surfing) if cx < 0 or cy < 0 or cx >= w or cy >= h then return false end return (cells[cy * w + cx + 1] or 0) == 0 end - if not (def and tilesetDef and tilesetDef.blocks and tilesetDef.walkable) then + -- A per-cell `collision` table answers this just as well as a metatile + -- `blocks` table does, and Gen 4 ships the former and not the latter. + if not (def and tilesetDef and tilesetDef.walkable + and (tilesetDef.blocks or tilesetDef.collision)) then -- Gen2 connections to maps with no walkable data: allow the crossing. return GameVersion.isGen2() end @@ -432,6 +450,8 @@ function Map.new(def, tilesetDef) -- only non-walkable marker so walls/boundaries are blocked but floors open. self.gen2BorderBlock = (GameVersion.isGen2() and next(self.walkable) == nil) and (def.borderBlock or 0) or nil + -- Off the map is off the map, on Gen 4 only. See isWalkableCell. + self.voidOutsideMap = (def.generation == 4) or nil self.doorTiles = {} for _, t in ipairs(tilesetDef.doorTiles or {}) do self.doorTiles[t] = true end self.warpTiles = {} @@ -754,6 +774,27 @@ function Map:isWalkableCell(cx, cy) -- passable. A cave mouth is a warp cell, so the sealed entrance was -- walkable on that line alone no matter what the script had written. if self:patchedImpassable(cx, cy) then return false end + -- ...AND SECOND: A GEN 4 MAP HAS NO BORDER TO WALK ON. + -- + -- Gen 1-3 tile a border metatile outside the map and the player is allowed + -- to stand on it for a step, because that is how a map CONNECTION works -- + -- you walk onto the border and the seam hands you to the neighbour. Gen 4 + -- has neither: Sinnoh's overworld is one seamless matrix, its interiors are + -- sealed rooms, and `Gen4Maps.mapDef` sets `borderBlock = 0` with the note + -- "every cell outside the map reads as void, which is what the border is". + -- + -- Block 0 is not void. On the stand-in tileset it is ordinary ground, and + -- ordinary ground is walkable -- so the player walked off the edge of + -- Twinleaf Town and kept going, over terrain the ground renderer happily + -- draws (it draws whole chunks of the shared matrix, not the map's crop) and + -- nothing owns. Reported as "im able to walk outside of the boundaries + -- still". + -- + -- This is the edge, not the destination: a Gen 4 map that is a REGION of a + -- shared matrix should hand the player to whichever header owns the next + -- chunk -- the matrix carries that array -- and until that exists the honest + -- answer at the boundary is a wall rather than a field of nothing. + if self.voidOutsideMap and not self:inBounds(cx, cy) then return false end if self.walkable[self:cellTile(cx, cy)] then return true end if self.gen2BorderBlock ~= nil then -- Border-block heuristic: any block other than the border block is walkable diff --git a/src/world/MapLoader.lua b/src/world/MapLoader.lua index 245193cb6..f0a6b0ce5 100644 --- a/src/world/MapLoader.lua +++ b/src/world/MapLoader.lua @@ -61,10 +61,56 @@ function MapLoader.tilesetFor(data, def) return nil end +-- A MAP THAT POINTS AT A SHARED GRID INSTEAD OF CARRYING ONE. +-- +-- Gen 4 splits its collision the way Gen 3 splits its layouts: a grid is built +-- once per MATRIX and a map that does not own its matrix outright references +-- it, because the 30x30 Sinnoh overworld is 921,600 cells and inlining it once +-- per building standing on it took the extraction from 4 seconds to 22. +-- +-- NOTHING EVER READ THE OTHER SIDE OF THAT SPLIT. `map_layouts` is written by +-- the Gen 4 extractor and, at run time, is only ever touched by one Gen 3 +-- script command. `Map` reads `def.blocks` and nothing else -- so **291 of +-- the 593 Gen 4 maps had no collision data at all**, which is what "collisions +-- dont seem to be correct in the overworld" is: not a wrong grid, an absent +-- one. +-- +-- Resolved here rather than in `Map` because this is the one place that has +-- both the def and the dataset, and written BACK ONTO THE DEF rather than onto +-- a copy: half the engine compares `map.def` against `data.maps[id]` by +-- identity, and a copy would quietly become a second map. Idempotent, so a +-- reload costs nothing. +function MapLoader.resolveBlocks(data, def) + if not def or type(def.blocks) == "string" then return def end + local layout = data and data.map_layouts and data.map_layouts[def.layout] + local source = layout and layout.blocks + if type(source) ~= "string" then return def end + + local stride = layout.width or def.width or 0 + local rows = layout.height or def.height or 0 + local w = def.width or stride + local h = def.height or rows + local ox, oy = def.originX or 0, def.originY or 0 + if ox == 0 and oy == 0 and w == stride and h == rows then + def.blocks = source + else + -- A region of the shared grid: take its own rows out of it. + local out = {} + for y = 0, h - 1 do + local at = ((oy + y) * stride + ox) * 2 + out[#out + 1] = source:sub(at + 1, at + w * 2) + end + def.blocks = table.concat(out) + end + if def.borderBlock == nil then def.borderBlock = layout.borderBlock end + return def +end + local function build(data, mapId) local def = data.maps[mapId] assert(def, "unknown map: " .. tostring(mapId) .. " (not in the maps registry)") + MapLoader.resolveBlocks(data, def) local tilesetDef = MapLoader.tilesetFor(data, def) assert(tilesetDef, ("map %s wants unknown tileset: %s (not in the " .. "tilesets registry)"):format(tostring(mapId), tostring(def.tileset))) diff --git a/src/world/NPC-1.lua b/src/world/NPC-1.lua new file mode 100644 index 000000000..b43f3e566 --- /dev/null +++ b/src/world/NPC-1.lua @@ -0,0 +1,988 @@ +-- Map object (NPC/item) built from a generated object_event entry. +-- STAY objects keep their facing; WALK objects wander randomly within the +-- roam constraint (ANY_DIR / UP_DOWN / LEFT_RIGHT), like the original. + +local Assets = require("src.render.Assets") +local Collision = require("src.world.Collision") +local SpriteRenderer = require("src.render.SpriteRenderer") + +local NPC = {} +NPC.__index = NPC + +local STEP_FRAMES = 16 + +local FACING_FROM_RANGE = { + DOWN = "down", UP = "up", LEFT = "left", RIGHT = "right", +} + +-- How long an object on a fixed circuit waits between steps. The cartridge +-- walks these on the object's ordinary step timer rather than a roll, so this +-- is a hold and not a range: a random one would make a circuit wander in time +-- even while it kept its shape. +local SEQUENCE_HOLD = 16 + +local ROAM_DIRS = { + ANY_DIR = { "up", "down", "left", "right" }, + UP_DOWN = { "up", "down" }, + LEFT_RIGHT = { "left", "right" }, +} + +-- The compass, for Gen 3's two ROTATE movement types. Clockwise as the +-- player sees it: up, right, down, left. +local ROTATION = { + cw = { "up", "right", "down", "left" }, + ccw = { "up", "left", "down", "right" }, +} + +-- Gen2 spinners. `_MovementSpinNextFacing` walks a fixed four-entry table +-- (engine/overworld/map_objects.asm .facings_clockwise / +-- .facings_counterclockwise), indexed by the CURRENT facing, and holds each +-- one for $10 frames. The two random spinners just roll a facing and hold it +-- for `Random and $7f` (slow) or `and $1f` (fast) frames; the fast one +-- additionally refuses to roll the facing it is already showing, flipping +-- both direction bits instead -- which is the XOR below. +local SPIN_NEXT = { + SPIN_CW = { down = "left", left = "right", right = "up", up = "down" }, + SPIN_CCW = { down = "right", right = "left", left = "up", up = "down" }, +} +local SPIN_FLIP = { down = "right", up = "left", left = "up", right = "down" } +local SPIN_DIRS = { "down", "up", "left", "right" } + +local FALLBACK_SPRITE = { + id = "SPRITE_FALLBACK", + source = "runtime fallback", + image = "assets/generated/sprites/placeholder.png", + frames = 6, + walker = true, +} + +-- An object_event sprite byte of $F0 or more indexes wVariableSprites instead +-- of OverworldSprites (GetMonSprite.Variable, 05:$4303), and the map's own +-- `variablesprite` callback fills the slot in -- that is how Route 36's +-- Sudowoodo gets its sheet. An unset slot resolves to sprite id 1, the same +-- fallback the routine takes when the slot reads zero. +local byIndexCache = { sprites = nil, map = nil } + +local function spriteByIndex(sprites, index) + if byIndexCache.sprites ~= sprites then + local map = {} + for _, def in pairs(sprites) do + if type(def) == "table" and def.index then map[def.index] = def end + end + byIndexCache.sprites, byIndexCache.map = sprites, map + end + return byIndexCache.map[index] +end + +-- Named variable-sprite slots (SPRITE_VARS $F0+). Copycat is $FB = slot 11. +local VAR_SPRITE_SLOTS = { + SPRITE_COPYCAT = 11, -- $FB - $F0 + SPRITE_CONSOLE = 0, + SPRITE_DOLL_1 = 1, + SPRITE_DOLL_2 = 2, + SPRITE_BIG_DOLL = 3, + SPRITE_WEIRD_TREE = 4, -- Sudowoodo + SPRITE_OLIVINE_RIVAL = 5, + SPRITE_AZALEA_ROCKET = 6, + SPRITE_FUCHSIA_GYM_1 = 7, + SPRITE_FUCHSIA_GYM_2 = 8, + SPRITE_FUCHSIA_GYM_3 = 9, + SPRITE_FUCHSIA_GYM_4 = 10, + SPRITE_JANINE_IMPERSONATOR = 12, +} + +-- Default sheet when the slot has never been assigned (Copycat = LASS) +local VAR_SPRITE_DEFAULTS = { + [11] = 0x28, -- SPRITE_LASS + [4] = 0x5D, -- SPRITE_FRUIT_TREE (Sudowoodo until script) +} + +-- Find a standing overworld sheet by several keying conventions the +-- extractor has used across imports (SPRITE_LASS, lass, index 0x28, …). +local function findSheet(sprites, names, index) + if type(sprites) ~= "table" then return nil end + for _, n in ipairs(names or {}) do + local def = sprites[n] + if type(def) == "table" and def.image then return def end + -- lowercase path-style keys some imports still carry + local low = type(n) == "string" and n:lower():gsub("^sprite_", "") or n + def = sprites[low] or sprites[tostring(low)] + if type(def) == "table" and def.image then return def end + end + if index then + local def = spriteByIndex(sprites, index) + if def and def.image then return def end + def = sprites[string.format("SPRITE_%02X", index)] + or sprites[string.format("SPRITE_%d", index)] + or sprites[index] + if type(def) == "table" and def.image then return def end + end + return nil +end + +-- Does this id name a wVariableSprites SLOT rather than an OverworldSprites +-- row? It has to be asked BEFORE data.sprites is consulted by name: the +-- extractor emits an entry for every id a map object mentions, and one with no +-- sheet of its own is handed placeholder_sprite.png -- which then won the +-- direct lookup in resolveSpriteDef and left Route 36's Sudowoodo and Route +-- 37's Twins Ann & Anne (both SPRITE_WEIRD_TREE = slot 4) as blue placeholder +-- people whatever the slot actually held. +local function isVariableSpriteId(spriteId) + if type(spriteId) ~= "string" then return false end + if VAR_SPRITE_SLOTS[spriteId] then return true end + return spriteId:match("^SPRITE_VAR_%d+$") ~= nil +end + +-- Which wVariableSprites slot does this object_event sprite id name, if any? +-- One answer to that question, so OverworldState:refreshVariableSprite cannot +-- disagree with resolveVariableSprite below about which objects a +-- `variablesprite` assignment repaints. Only five of the thirteen slots ever +-- reach the runtime spelled SPRITE_VAR_nn -- the extractor names the rest +-- after what they hold (SPRITE_WEIRD_TREE, SPRITE_OLIVINE_RIVAL, +-- SPRITE_AZALEA_ROCKET, SPRITE_COPYCAT, SPRITE_JANINE_IMPERSONATOR) -- and +-- those five ARE the ones scripts reassign mid-scene. nil = not a slot. +function NPC.variableSpriteSlot(spriteId) + if type(spriteId) ~= "string" then return nil end + local slot = tonumber(spriteId:match("^SPRITE_VAR_(%d+)$")) + if slot then return slot end + slot = VAR_SPRITE_SLOTS[spriteId] + if slot then return slot end + -- raw $F0-$FF spellings, the same last resort resolveVariableSprite takes + local tail = spriteId:match("^SPRITE_(%x+)$") + local hex = tail and tonumber(tail, 16) or nil + if hex and hex >= 0xF0 then return hex - 0xF0 end + return nil +end + +local function resolveVariableSprite(data, sprites, spriteId) + local slot = tonumber(spriteId:match("^SPRITE_VAR_(%d+)$")) + if not slot then + slot = VAR_SPRITE_SLOTS[spriteId] + end + -- Also accept raw $F0-$FF as SPRITE_%02X style. + -- tonumber(nil, 16) THROWS ("string expected, got nil") where tonumber(nil) + -- merely returns nil, so the match has to be tested before it is converted. + -- Any ordinary name whose tail is not all hex digits (SPRITE_ROCKET, + -- SPRITE_GRAMPS, ...) reaches here whenever its sheet is missing from + -- data.sprites, and used to take the whole map load down with it -- that is + -- the Goldenrod-during-the-takeover crash. + if not slot then + local tail = spriteId:match("^SPRITE_(%x+)$") + local hex = tail and tonumber(tail, 16) or nil + if hex and hex >= 0xF0 then slot = hex - 0xF0 end + end + if not slot then return nil end + + local save = nil + pcall(function() + local Game = require("src.core.Game") + save = Game.save or (Game.getSave and Game.getSave()) + end) + local assigned = save and save.gen2VarSprites and save.gen2VarSprites[slot] + if not assigned then + local defaults = data and data.map_scripts and data.map_scripts.varSprites + assigned = defaults and defaults[slot] + end + if not assigned then + assigned = VAR_SPRITE_DEFAULTS[slot] + end + + -- assigned may be a numeric OverworldSprites index OR a SPRITE_* name + if type(assigned) == "string" then + local byName = findSheet(sprites, { assigned, assigned:upper(), assigned:lower() }) + if byName then return byName end + end + if type(assigned) == "number" then + local byIdx = findSheet(sprites, nil, assigned) + if byIdx then return byIdx end + end + + -- Copycat ($FB / slot 11) always defaults to the LASS sheet — there is no + -- separate copycat.png in the ROM (Copycat uses SPRITE_LASS via variablesprite). + if slot == 11 or spriteId == "SPRITE_COPYCAT" then + local lass = findSheet(sprites, { + "SPRITE_LASS", "SPRITE_TWIN", "lass", "twin", + }, 0x28) + if lass then return lass end + -- Fabricate a sheet pointing at the extracted file so she is never a + -- grey placeholder when lass.png exists on disk. + return { + id = "SPRITE_LASS", + image = "assets/generated/sprites/lass.png", + frames = 6, + walker = true, + index = 0x28, + } + end + + return spriteByIndex(sprites, (type(assigned) == "number" and assigned) or 1) +end + +-- Sprite bytes $E0/$E1 read the day-care mons' species live +-- (GetMonSprite.BreedMon1/2), so the Day-Care's yard object wears whatever is +-- boarded there. With the pen empty the routine returns sprite id 1. +local function resolveBreedSprite(sprites, spriteId) + local slot = spriteId:match("^SPRITE_MON_BREED_(%d)$") + if not slot then return nil end + local save = require("src.core.Game").save + local mon = require("src.pokemon.DayCare").mon(save, tonumber(slot)) + or (save and save.daycare and save.daycare.mon) + local species = mon and tonumber(tostring(mon.species):match("(%d+)$")) + return (species and sprites[string.format("SPRITE_MON_%03d", species)]) + or spriteByIndex(sprites, 1) +end + +-- pret renamed Silver→Rival; some extracts still emit one name or the other. +-- Prefer a real sheet over falling through to whatever pairs() returns first +-- (that was how Misty could paint as the green fruit-tree sheet). +local SPRITE_ALIASES = { + SPRITE_SILVER = { "SPRITE_RIVAL" }, + SPRITE_RIVAL = { "SPRITE_SILVER" }, + SPRITE_RED = { "SPRITE_CHRIS" }, + SPRITE_RED_BIKE = { "SPRITE_CHRIS_BIKE" }, + SPRITE_CHRIS = { "SPRITE_RED" }, + SPRITE_CHRIS_BIKE = { "SPRITE_RED_BIKE" }, + SPRITE_COPYCAT = { "SPRITE_LASS", "SPRITE_TWIN" }, +} + +-- OverworldSprites row index (= object_event sprite byte) for story NPCs +-- when the named sheet is missing after a partial extract. +-- Indices match pret/pokegold constants/sprite_constants.asm. +local SPRITE_INDEX_FALLBACK = { + SPRITE_SILVER = 4, + SPRITE_RIVAL = 4, + SPRITE_MISTY = 0x1D, + SPRITE_BLUE = 7, + SPRITE_RED_KANTO = 6, + SPRITE_ROCKET = 0x35, + SPRITE_COPYCAT = 0x28, -- default LASS; variablesprite may swap to CHRIS + SPRITE_SUPER_NERD = 0x2B, + SPRITE_COOLTRAINER_M = 0x23, + SPRITE_COOLTRAINER_F = 0x24, + SPRITE_BUG_CATCHER = 0x25, + SPRITE_TWIN = 0x26, -- Route 37 twins, etc. + SPRITE_YOUNGSTER = 0x27, + SPRITE_LASS = 0x28, + SPRITE_TEACHER = 0x29, + SPRITE_BEAUTY = 0x2A, -- Route 37 / common trainers + SPRITE_GRAMPS = 0x2F, + SPRITE_GRANNY = 0x30, + SPRITE_FRUIT_TREE = 0x5D, + SPRITE_SURF = 0x53, + SPRITE_SURFING_PIKACHU = 0x34, + SPRITE_ROCKER = 0x2C, + SPRITE_POKEFAN_M = 0x2D, + SPRITE_POKEFAN_F = 0x2E, + -- Kanto post-game / special overworld actors + SPRITE_BIG_SNORLAX = 0x33, -- pret SPRITE_BIG_SNORLAX; not mon-icon $6C + SPRITE_SLOWPOKE = 0x45, -- Azalea Town, after the well + SPRITE_SUDOWOODO = 0x52, + SPRITE_WEIRD_TREE = 0x5D, -- pre-reveal default = fruit tree sheet + SPRITE_GYM_GUIDE = 0x48, + SPRITE_OFFICER = 0x43, + SPRITE_JANINE = 0x0A, + SPRITE_SURGE = 0x1F, + SPRITE_ERIKA = 0x20, + SPRITE_SABRINA = 0x22, + SPRITE_BROCK = 0x1A, + -- Mon-icon sheets ($80+, SpriteMons order), not OverworldSprites rows + SPRITE_SNORLAX = 0x9F, + SPRITE_MACHOP = 0x9A, +} + +-- Fabricate a sheet pointing at an extracted file so common NPCs are never +-- grey placeholders when the png exists on disk but the registry key missed. +-- +-- The file name is the extractor's own convention: RomExtractorGen2 writes +-- each OverworldSprites row to "sprites/" .. :lower() .. ".png". +-- `frames` follows what the extractor actually writes: frames = height / 16, +-- where height comes from the gap to the next sheet capped by the sprite +-- kind. Sudowoodo is a STANDING_SPRITE that spans 128 bytes -> 32px -> 2 +-- frames, and Slowpoke / fruit trees are STILL_SPRITEs at 1. Claiming the +-- walking default of 6 would build quads off the bottom of the sheet. +local DISK_SHEET_FALLBACK = { + SPRITE_LASS = { file = "lass.png", index = 0x28 }, + SPRITE_TWIN = { file = "twin.png", index = 0x26 }, + SPRITE_BEAUTY = { file = "beauty.png", index = 0x2A }, + SPRITE_TEACHER = { file = "teacher.png", index = 0x29 }, + SPRITE_YOUNGSTER = { file = "youngster.png", index = 0x27 }, + SPRITE_COOLTRAINER_F = { file = "cooltrainerf.png", index = 0x24 }, + SPRITE_COOLTRAINER_M = { file = "cooltrainerm.png", index = 0x23 }, + SPRITE_SLOWPOKE = { file = "slowpoke.png", index = 0x45, frames = 1 }, + SPRITE_SUDOWOODO = { file = "sudowoodo.png", index = 0x52, frames = 2 }, + SPRITE_FRUIT_TREE = { file = "fruittree.png", index = 0x5D, frames = 1 }, +} + +-- Only ever hand back a fabricated sheet whose png is actually there. This +-- fallback is reached precisely when the sheet was NOT extracted, which is +-- also when the file is most likely absent -- and SpriteRenderer.new -> +-- Assets.image -> love.graphics.newImage raises on a missing path, so an +-- unchecked guess turns a cosmetic miss into a hard crash on map load. +local function diskSheet(spriteId) + local tip = DISK_SHEET_FALLBACK[spriteId] + if not tip then return nil end + local path = "assets/generated/sprites/" .. tip.file + if not Assets.exists(path) then return nil end + local frames = tip.frames or 6 + return { + id = spriteId, + image = path, + frames = frames, + walker = frames >= 6, + index = tip.index, + } +end + +-- WHO IS STANDING IN A GEN 3 RUN-TIME SLOT. +-- +-- Graphics ids 240-255 are OBJ_EVENT_GFX_VAR_0..F: not characters, slots that +-- a map's own script fills with `setvar VAR_OBJ_GFX_ID_n, `. The import +-- has no row for them and puts a stand-in in each, so a direct lookup by name +-- finds a sheet with an image -- the wrong person's -- and wins. The +-- assignment has to be asked FIRST or the placeholder always beats it. +-- +-- Route 103's rival is the reported case: her id is 240, Route 103's +-- ON_TRANSITION picks Brendan or May by the player's own gender, and until +-- that runs OverworldState.objectVisible keeps her off the map entirely. +local function gen3AssignedSprite(sprites, spriteId) + if type(spriteId) ~= "string" then return nil end + local id = tonumber(spriteId:match("^SPRITE_G3_(%d+)$")) + if not (id and id >= 240 and id <= 255) then return nil end + local save + pcall(function() + local Game = require("src.core.Game") + save = Game.save or (Game.getSave and Game.getSave()) + end) + local assigned + pcall(function() + assigned = require("src.script.Gen3Commands").objectSprite(save, id - 240) + end) + assigned = tonumber(assigned) + if not assigned then return nil end + local row = sprites[("SPRITE_G3_%03d"):format(assigned)] + if type(row) == "table" and row.image then return row end + return nil +end + +local function resolveSpriteDef(data, spriteId) + local sprites = (data and data.sprites) or {} + local assigned = gen3AssignedSprite(sprites, spriteId) + if assigned then return assigned end + -- Copycat is never a real sheet in the ROM: object events use $FB and the + -- map callback (or our default) remaps the slot to SPRITE_LASS (lass.png). + if spriteId == "SPRITE_COPYCAT" or spriteId == 0xFB then + local lass = findSheet(sprites, { + "SPRITE_LASS", "SPRITE_TWIN", "lass", "twin", + }, 0x28) + if lass and lass.image then return lass end + return { + id = "SPRITE_LASS", + image = "assets/generated/sprites/lass.png", + frames = 6, walker = true, index = 0x28, + } + end + -- Sudowoodo post-reveal sheet by direct id. The OverworldSprites row is + -- $52 (pret SPRITE_SUDOWOODO) -- $6D is not a sprite constant at all, and + -- looking it up is why the revealed tree came back as a placeholder. + if spriteId == "SPRITE_SUDOWOODO" or spriteId == 0x52 then + local s = findSheet(sprites, { + "SPRITE_SUDOWOODO", "sudowoodo", "Sudowoodo", + }, 0x52) + if s and s.image then return s end + local fabricated = diskSheet("SPRITE_SUDOWOODO") + if fabricated then return fabricated end + end + -- Variable-sprite ids resolve through their SLOT first; see isVariableSpriteId. + if isVariableSpriteId(spriteId) then + local fromSlot = resolveVariableSprite(data, sprites, spriteId) + if fromSlot and fromSlot.image then return fromSlot end + end + local spriteDef = type(spriteId) == "string" and sprites[spriteId] or nil + if spriteDef and spriteDef.image then return spriteDef end + if type(spriteId) == "string" then + spriteDef = resolveVariableSprite(data, sprites, spriteId) + or resolveBreedSprite(sprites, spriteId) + if spriteDef and spriteDef.image then return spriteDef end + local aliases = SPRITE_ALIASES[spriteId] + if aliases then + for _, alt in ipairs(aliases) do + if sprites[alt] and sprites[alt].image then return sprites[alt] end + end + end + local index = SPRITE_INDEX_FALLBACK[spriteId] + if index then + spriteDef = spriteByIndex(sprites, index) + if spriteDef and spriteDef.image then return spriteDef end + -- Some extracts only key sheets as SPRITE_%02X / SPRITE_%d + local hex = sprites[string.format("SPRITE_%02X", index)] + or sprites[string.format("SPRITE_%d", index)] + or sprites[index] + if hex and type(hex) == "table" and hex.image then return hex end + end + -- Disk path last-resort for common overworld sheets (Route 37 girls, etc.) + local fabricated = diskSheet(spriteId) + if fabricated then return fabricated end + -- Never accept the fruit-tree sheet for a named story NPC: that is how + -- Misty / Rocket became the green "boundary bush" on Route 25. + if spriteId == "SPRITE_FRUIT_TREE" or spriteId == "SPRITE_BUSH" then + if sprites.SPRITE_RED then return sprites.SPRITE_RED end + end + end + -- Never pick a random sheet (pairs iteration used to hand Misty the tree). + if sprites.SPRITE_RED and sprites.SPRITE_RED.image then return sprites.SPRITE_RED end + if sprites.SPRITE_CHRIS and sprites.SPRITE_CHRIS.image then return sprites.SPRITE_CHRIS end + sprites.SPRITE_FALLBACK = sprites.SPRITE_FALLBACK or FALLBACK_SPRITE + return sprites.SPRITE_FALLBACK +end + + +-- Force big-doll ids through to SpriteRenderer even if the sheet was looked +-- up by index (id string may otherwise be SPRITE_33 / a mon icon). +local function withBigFlag(spriteDef, spriteId, objDef) + if not spriteDef then return spriteDef end + local big = (objDef and objDef.big) + or spriteId == "SPRITE_BIG_SNORLAX" + or spriteId == "SPRITE_BIG_LAPRAS" + or (spriteDef.id == "SPRITE_BIG_SNORLAX") + or (spriteDef.id == "SPRITE_BIG_LAPRAS") + if not big then return spriteDef end + return setmetatable({ + big = true, + id = (spriteId == "SPRITE_BIG_LAPRAS" or spriteDef.id == "SPRITE_BIG_LAPRAS") + and "SPRITE_BIG_LAPRAS" or "SPRITE_BIG_SNORLAX", + frames = 1, + walker = false, + }, { __index = spriteDef }) +end + +-- Published so the MAP EDITOR draws the same sheet the world does. +-- +-- The resolution above is not a lookup, it is a pile of hard-won special +-- cases: Copycat is never a real sheet, Sudowoodo's row is $52 and not $6D, +-- variable-sprite ids resolve through their SLOT, several imports key sheets +-- only as SPRITE_%02X, and the fruit-tree sheet must never be accepted for a +-- named story NPC. An editor that looked sprites up by name would get the +-- placeholder for every one of those and show a map full of blue boxes that +-- the game draws people on -- so it asks this instead. +NPC.resolveSpriteDef = resolveSpriteDef + +function NPC.new(data, mapId, objDef) + local self = setmetatable({}, NPC) + self.def = objDef + self.id = string.format("%s_obj_%d", mapId, objDef.index) + self.sprite = SpriteRenderer.new(withBigFlag(resolveSpriteDef(data, objDef.sprite), objDef.sprite, objDef), self.id) + -- 2x2 footprint for Snorlax / Lapras dolls (Collision.occupied reads this) + self.big = (self.sprite and self.sprite.big) or objDef.big + or objDef.sprite == "SPRITE_BIG_SNORLAX" + or objDef.sprite == "SPRITE_BIG_LAPRAS" + or false + -- object_event coordinates are already walk-grid cells + self.cellX, self.cellY = objDef.x, objDef.y + self.px, self.py = self.cellX * 16, self.cellY * 16 + -- A GEN 3 OBJECT SAYS ALL OF THIS WITH ONE BYTE. + -- + -- Gen 2 carries `movement` and `range` as strings and every line below + -- reads them; a Gen 3 template carries `movementType`, and what that number + -- means lives in three tables on the cartridge that the extractor turns + -- into constants.gen3MovementTypes. Read it once here rather than teaching + -- each line a second spelling. + -- + -- nil for a Gen 2 object, and for a Gen 3 one whose type is past the end of + -- the table -- in which case the Gen 2 reads below apply to fields it does + -- not have and it stands still facing south, which is the old behaviour and + -- a reasonable thing for an object nothing knows about to do. + local g3 = nil + if objDef.movementType and data and data.constants + and data.constants.gen3MovementTypes then + g3 = data.constants.gen3MovementTypes[objDef.movementType] + end + + -- INVISIBLE FROM THE MOMENT IT SPAWNS. + -- + -- Reported from play: "all kekleons are visible without using the scope". + -- Emerald's invisible KECLEON are ordinary object events wearing the + -- ordinary KECLEON sprite; what hides them is their MOVEMENT TYPE, whose + -- step-0 callback sets the object's own invisible bit and does nothing + -- else. The importer finds that type by walking the callbacks and looking + -- for the instructions that set the bit -- exactly one of the eighty-one + -- reaches them. + -- + -- It still BLOCKS, and that is the cartridge's behaviour rather than an + -- oversight: DoesObjectCollideWithObjectAt reads the object's active flag, + -- its coordinates and its elevation and never looks at whether it can be + -- seen. Talking to it still runs its script too -- which is the whole + -- point, because that script is what asks whether you have the DEVON + -- SCOPE. + -- + -- Distinct from `buried`: a buried trainer rises when they spot you and + -- stays up; one of these only ever becomes visible because its own script + -- said so. + -- + -- Asked BOTH ways on purpose. `gen3HiddenMovement` is the derivation's own + -- answer -- the one type of the eighty-one whose step 0 sets the bit -- and + -- `hides` is that answer stamped on the type for convenience. A template + -- whose movement type is past the end of the table has no `g3` at all, and + -- the number still tells the truth about it. + local hiddenType = data and data.constants and data.constants.gen3HiddenMovement + if (g3 and g3.hides) or (hiddenType and objDef.movementType == hiddenType) then + self.hidden = true + self.gen3Hidden = true + end + + -- WHICH LEVEL IT IS STANDING ON, seeded from its own template. + -- + -- Reported from play: "some sprites that are on bridges are appearing under + -- them like steven on the bridge next to the kekleon". The engine has had + -- the whole rule since the player's own bridge bug was fixed -- an object + -- whose elevation is 4 draws OVER the covering layer and one at 3 draws + -- under it -- and NPCs simply never got an elevation to look up. + -- + -- It cannot be read off the cell either, and that is the point: + -- ObjectEventUpdateElevation refuses to write elevation 15, and a bridge + -- SPAN is 15 on the map grid. So an NPC standing on a bridge would never + -- learn anything from the ground under it. The cartridge seeds BOTH + -- elevation nibbles from the template byte at spawn + -- (InitObjectEventStateFromTemplate) and the deck's own walkers keep it. + -- Every one of Steven's nine appearances in Hoenn is template elevation 3 + -- except the Route 120 bridge, which is 4 -- the data says outright which + -- objects belong on top of something. + self.gen3Elevation = tonumber(objDef.elevation) + if self.gen3Elevation == 0 or self.gen3Elevation == 15 then + -- the two wildcards mean "match anything" and "under a bridge", and + -- neither is a level to be drawn at + self.gen3Elevation = nil + end + + -- A GEN 4 OBJECT STATES ITS FACING AND NOTHING WAS READING IT. + -- + -- `g3` above is HOENN's movement-type table, and a Platinum cache has no + -- `constants.gen3MovementTypes` at all -- so on Sinnoh `g3` is nil, `range` + -- is nil too (a Gen 4 template spells its wander box as `movementRangeX` / + -- `movementRangeZ`), and EVERY object in the region fell through to the + -- final "down". + -- + -- The value is right there on the def. `ObjectEvent.dir` is a `FaceDirection` + -- (`include/location.h`: FACE_UP 0, FACE_DOWN 1, FACE_LEFT 2, FACE_RIGHT 3), + -- which is the SAME four-value order `Gen4Movement.DIR` already uses for a + -- movement action -- so this is one table rather than a second convention. + -- + -- CENSUSED over all 3,555 object events in the cartridge, and the census is + -- what says the field is an enum rather than a number: exactly four values + -- occur -- 1,836 up, 921 down, 415 left, 383 right -- and nothing else. So + -- 2,634 of 3,555 objects (74%) stood facing the wrong way, which is every + -- shopkeeper behind a counter, every guard at a gate, and the guitarist who + -- is supposed to be watching Twinleaf's north exit. + -- + -- GEN 4 ONLY BY CONSTRUCTION: `direction` is written by RomExtractorGen4 and + -- by no other extractor, so a Gen 1/Gen 2/Gen 3 def cannot reach this line + -- with one, and Hoenn's own answer still wins where it has one. + local GEN4_FACING = { [0] = "up", [1] = "down", [2] = "left", [3] = "right" } + self.facing = (g3 and g3.facing) + or GEN4_FACING[tonumber(objDef.direction) or -1] + or FACING_FROM_RANGE[objDef.range] or "down" + -- Movement scripts can ask for the object's original direction. Imported + -- Gen 3 defs spell that as a movement type rather than a `facing` field, so + -- retain both the initial resolved direction and the current type here. + self.spawnFacing = self.facing + self.gen3MovementType = objDef.movementType + -- A fixed sheet frame from the extractor (polished's ball/cut/fruit + -- sheet: cut trees are frame 1, fruit trees frame 2). The renderer + -- draws exactly this 16x16 row and skips facing entirely -- a tree has + -- no directions to turn to. + self.fixedFrame = objDef.frame + self.moving = false + self.progress = 0 + self.stepFlip = false + self.frozen = false -- scripts freeze NPCs while talking + self.wanders = (g3 and g3.wanders == true) or objDef.movement == "WALK" + -- A FIXED CIRCUIT, which is not wandering (#419/#246). + -- + -- Reported from play: PEEKO "is supposed to be chasing him around his + -- table in his house like it does in the rom". Twenty-five of Emerald's + -- movement types walk the same four directions in a set order, forever -- + -- one tile each, round and round -- and the import reads that order off + -- the four-byte direction table the type's own step callback names. An + -- object with one of them is NOT a wanderer and must not be rolled for. + self.sequence = g3 and type(g3.sequence) == "table" and #g3.sequence == 4 + and g3.sequence or nil + self.sequenceAt = 0 + -- SPRITEMOVEDATA_SPINRANDOM_* / _SPIN_CLOCKWISE / _SPIN_COUNTERCLOCKWISE + self.spins = objDef.movement == "SPIN" and (objDef.range or "SPIN_SLOW") or nil + if g3 then + -- Gen 3's wander axis is a property of the movement TYPE (the up/down + -- and left/right pairs each share one step callback); the box it wanders + -- inside is the template's own, which is why the type is not enough on + -- its own to stop an NPC walking out of the room. + self.roamDirs = (g3.axis == "vertical" and ROAM_DIRS.UP_DOWN) + or (g3.axis == "horizontal" and ROAM_DIRS.LEFT_RIGHT) + or ROAM_DIRS.ANY_DIR + -- THE BOX IS PER AXIS, AND ZERO MEANS "NO LIMIT ON THIS ONE". + -- + -- IsCoordOutsideObjectEventMovementRange tests the two axes separately + -- and skips the test entirely for an axis whose range is 0 -- `if + -- (objectEvent->rangeX != 0)`, then the same for Y. So zero is not "stay + -- on your tile", it is "this axis is unbounded". + -- + -- Both halves were wrong here, in opposite directions. A box was applied + -- only when EITHER range was non-zero, and then it applied BOTH -- so an + -- object free to walk three cells east and west but given no Y range was + -- pinned to its row, and an object given no range at all wandered the + -- whole map. Reading the axes apart is what the cartridge does. + self.roamOriginX, self.roamOriginY = objDef.x, objDef.y + local rx, ry = objDef.movementRangeX or 0, objDef.movementRangeY or 0 + self.roamRangeX = rx > 0 and rx or nil + self.roamRangeY = ry > 0 and ry or nil + -- ...and the ones that do not walk at all but DO turn: 697 objects in + -- Hoenn, which is more than wander. `turns` is the set of directions + -- the cartridge's own callback cycles; `look` picks from it at random + -- rather than in order, and `rotate` walks the compass one way round. + self.turns = g3.turns + self.looksAround = g3.look + self.rotates = g3.rotate + else + self.roamDirs = ROAM_DIRS[objDef.range] or ROAM_DIRS.ANY_DIR + end + self.timer = love.math.random(30, 120) + return self +end + +-- CHANGING AN OBJECT'S MOVEMENT TYPE AFTER IT IS ALREADY STANDING THERE. +-- +-- Reported from play, of Littleroot: "mom looks the wrong way". She does, +-- and so does everybody else a script re-poses, because `setobjectmovementtype` +-- did nothing at all: it wrote `npc.gen3MovementType` and NOTHING IN THE +-- ENGINE READ THAT FIELD. One byte decides an object's facing, whether it +-- wanders and on which axis, whether it turns in place or walks a circuit -- +-- see NPC.new -- and none of it was being re-derived. +-- +-- The cartridge writes the TEMPLATE rather than the live object +-- (SetObjEventTemplateMovementType), which sounds like it would not take +-- effect until the next map load. It does take effect now, because the +-- scripts that call it are ON_TRANSITION callbacks and those run BEFORE the +-- map's objects are built. This port spawns its objects earlier, so the +-- live object is re-posed here as well as the template being remembered +-- (Gen3Commands.g3_movement_type keeps the other half) -- which lands in the +-- same place from the player's side, and keeps working for the scripts that +-- call it mid-scene. +-- +-- The wander box is re-anchored to where the object is standing NOW, not to +-- the cell in its map definition: a script that re-poses somebody has almost +-- always just moved them, and the cartridge re-reads the template it has +-- likewise just rewritten. +function NPC:setMovementType(data, movementType) + local id = tonumber(movementType) + if not id then return false end + self.gen3MovementType = id + local c = data and data.constants + local g3 = c and c.gen3MovementTypes and c.gen3MovementTypes[id] + local hiddenType = c and c.gen3HiddenMovement + if (g3 and g3.hides) or (hiddenType and id == hiddenType) then + self.hidden, self.gen3Hidden = true, true + elseif self.gen3Hidden then + self.hidden, self.gen3Hidden = false, nil + end + if not g3 then return false end + self.facing = g3.facing or self.facing + self.wanders = g3.wanders == true + self.sequence = type(g3.sequence) == "table" and #g3.sequence == 4 + and g3.sequence or nil + self.sequenceAt = 0 + self.roamDirs = (g3.axis == "vertical" and ROAM_DIRS.UP_DOWN) + or (g3.axis == "horizontal" and ROAM_DIRS.LEFT_RIGHT) + or ROAM_DIRS.ANY_DIR + self.roamOriginX, self.roamOriginY = self.cellX, self.cellY + self.turns = g3.turns + self.looksAround = g3.look + self.rotates = g3.rotate + -- a re-pose lands the object on its cell: a half-finished step belongs to + -- the behaviour it has just stopped having + self.moving = false + self.progress = 0 + self.targetX, self.targetY = nil, nil + self.px, self.py = self.cellX * 16, self.cellY * 16 + return true +end + +-- Re-resolve the sheet after a `variablesprite` assignment: a map's callback +-- can fill the slot in after its objects have already been built. +function NPC:refreshSprite(data) + self.sprite = SpriteRenderer.new(withBigFlag(resolveSpriteDef(data, self.def.sprite), self.def.sprite, self.def), self.id) +end + +-- Gen 3 stores an object's current elevation separately from its template. +-- The template is only the initial hint (and is still needed for bridge +-- objects); ordinary objects must pick up the elevation of the cell they are +-- standing on before Collision.canMove checks their next step. Without this +-- sync every NPC had a nil elevation, so the Gen 3 elevation guard was +-- bypassed and wanderers could step from dry land into water or across a +-- bridge seam. +function NPC:updateElevation(map) + if not (map and map.cellElevation) then return end + local at = map:cellElevation(self.cellX, self.cellY) + if at == nil then return end + -- 0 matches anything and 15 means "under a bridge"; neither replaces the + -- elevation the object already carries. A cache imported before object + -- elevations were written still gets the template value as its fallback. + if at ~= 0 and at ~= 15 then + self.elevation = at + elseif self.elevation == nil then + self.elevation = self.gen3Elevation + end +end + +function NPC:facePlayer(player) local dx = player.cellX - self.cellX + local dy = player.cellY - self.cellY + if math.abs(dx) > math.abs(dy) then + self.facing = dx > 0 and "right" or "left" + else + self.facing = dy > 0 and "down" or "up" + end +end + +-- movement_tree_shake (ShakeHeadbuttTree, 23:$4A8E): the object jitters in +-- place without leaving its cell. Sudowoodo does this when talked to without +-- the SQUIRTBOTTLE, and a headbutt tree does it when struck. +function NPC:shake(frames, onDone) + self.shakeFrames = frames or 32 + self.shakeDone = onDone +end + +function NPC:update(map, entities) + -- Keep the mover's standing elevation current before every collision test. + -- This is deliberately lazy so pooled neighbours and scripted placements + -- follow the same rule without needing a second rebuild pass. + self:updateElevation(map) + if self.shakeFrames then + self.shakeFrames = self.shakeFrames - 1 + self.px = self.cellX * 16 + (math.floor(self.shakeFrames / 2) % 2 == 0 and 1 or -1) + if self.shakeFrames <= 0 then + self.shakeFrames = nil + self.px = self.cellX * 16 + local done = self.shakeDone + self.shakeDone = nil + if done then done() end + end + return + end + -- self.stepFrames overrides the shared 16-frame walk for an object whose + -- step has to stay in phase with something else: Yellow's follower + -- Pikachu takes the player's own step length, halved while it is more + -- than a cell behind (FastPikachuFollow, engine/pikachu/ + -- pikachu_follow.asm). self.hopStep is the same file's $5-$8 hop + -- command: two cells of travel inside one step's frames + -- (DoubleAddPikachuStepVectorToScreenPixelCoords), which is why the + -- pixel span doubles while the frame count does not. Nothing else sets + -- either field, so every other object keeps the constant (#410, #409). + local stepLen = self.stepFrames or STEP_FRAMES + local span = self.hopStep and 2 or 1 + if self.moving then + self.progress = self.progress + 1 + -- NPC_CHANGE_FACING: animate the walk cycle in place, no translation + -- (movement.asm ChangeFacingDirection zeroes the delta); px/py stay + -- pinned to the current cell while walkPhase() cycles. + if self.marching then + if self.progress >= stepLen then + self.progress = 0 + self.moving = false + self.marching = false + self.stepFlip = not self.stepFlip + end + return + end + -- the STEP's direction rather than the nose's -- see Collision.stepDelta + local dx, dy = Collision.stepDelta(self) + -- 1px per frame at the default length; a shortened step scales instead, + -- so the cell still lands on a 16px boundary (Player:update does the + -- same for the bicycle) + local moved = math.floor(self.progress * 16 * span / stepLen) + self.px = self.cellX * 16 + dx * moved + self.py = self.cellY * 16 + dy * moved + if self.progress >= stepLen then + self.cellX, self.cellY = self.targetX, self.targetY + self.targetX, self.targetY = nil, nil + self.px, self.py = self.cellX * 16, self.cellY * 16 + self.moving = false + self.hopStep = nil + self.stepFlip = not self.stepFlip + self:updateElevation(map) + end + return + end + if self.frozen then return end + -- AND THE FREEZE A SCRIPT PUTS ON EVERY OBJECT ON THE MAP (#405). + -- + -- Reported from play, of the Birch rescue: the little girl "walks around + -- freely" through the whole scene. She is an ordinary wandering object + -- event, and on the cartridge she stops dead the moment the script runs + -- its `lockall`: ScrCmd_lockall (gScriptCmdTable[$69]) calls + -- FreezeObjectEvents (097494), which walks all sixteen object-event slots + -- and freezes every active one that is not the player's own. + -- + -- Distinct from `frozen` above, which is the one-object freeze a talk puts + -- on whoever is being talked to: a talk's unfreeze must not lift a scene's. + -- An object already walking a scripted movement is never frozen either -- + -- FreezeObjectEvent (097404) returns at once if the held-movement bit is + -- set -- which is why applymovement still moves people mid-cutscene. + if self.gen3ScriptFrozen then return end + if self.spins then + -- Spinners never leave their cell, so this is the whole behaviour: turn + -- on a timer. A script that freezes the object (talking to it, a + -- cutscene) stops the spin, exactly as SPRITEMOVEFN is suspended while + -- STEP_TYPE_SCRIPT owns the object. + self.timer = self.timer - 1 + if self.timer > 0 then return end + local kind = self.spins + if kind == "SPIN_CW" or kind == "SPIN_CCW" then + self.facing = SPIN_NEXT[kind][self.facing] or "down" + self.timer = 16 + elseif kind == "SPIN_FAST" then + local pick = SPIN_DIRS[love.math.random(4)] + if pick == self.facing then pick = SPIN_FLIP[pick] or pick end + self.facing = pick + self.timer = love.math.random(1, 32) + else + self.facing = SPIN_DIRS[love.math.random(4)] + self.timer = love.math.random(1, 128) + end + return + end + -- STANDING STILL IS NOT DOING NOTHING. + -- + -- A LOOK_AROUND guard glances about; a FACE_DOWN_AND_UP trainer watches two + -- ways in turn; a ROTATE_CLOCKWISE one walks the compass. None of them + -- takes a step, so all of them fell through the wander gate below and stood + -- frozen -- 697 objects in the region, against 311 that wander. + if self.turns or self.rotates then + self.timer = self.timer - 1 + if self.timer > 0 then return end + self.timer = love.math.random(60, 150) + if self.rotates then + local ring = ROTATION[self.rotates] + local at = 1 + for i, dir in ipairs(ring) do if dir == self.facing then at = i end end + self.facing = ring[(at % #ring) + 1] + elseif self.looksAround then + self.facing = self.turns[love.math.random(#self.turns)] + else + -- in order, and round: two-way types alternate, three-way types cycle + local at = 1 + for i, dir in ipairs(self.turns) do if dir == self.facing then at = i end end + self.facing = self.turns[(at % #self.turns) + 1] + end + return + end + -- THE FIXED CIRCUIT, taken in order and with no dice rolled. + -- + -- The difference from wandering is the whole point: a wanderer picks a + -- direction, often only turns, and stays inside its template's box; one of + -- these takes the next direction on its list and walks a tile, and its box + -- is its own route. Blocked, it faces that way and waits -- which is what + -- the cartridge does too, and what keeps the circuit in step when the + -- player stands in its path instead of it giving up and drifting. + if self.sequence then + self.timer = self.timer - 1 + if self.timer > 0 then return end + self.timer = SEQUENCE_HOLD + local dir = self.sequence[(self.sequenceAt % 4) + 1] + self.facing = dir + local tx, ty = Collision.target(self.cellX, self.cellY, dir) + if Collision.canMove(map, entities, self, dir) and not map:warpAtCell(tx, ty) then + self.targetX, self.targetY = tx, ty + self.moving = true + self.progress = 0 + self.sequenceAt = self.sequenceAt + 1 + end + return + end + if not self.wanders then return end + self.timer = self.timer - 1 + if self.timer > 0 then return end + self.timer = love.math.random(30, 180) + local dir = self.roamDirs[love.math.random(#self.roamDirs)] + self.facing = dir + if love.math.random() < 0.5 then return end -- sometimes just turn + -- never wander onto warps, so NPCs don't walk out of the map + local tx, ty = Collision.target(self.cellX, self.cellY, dir) + if map:warpAtCell(tx, ty) then return end + -- GEN 3 KEEPS THE OBJECT IN ITS BOX. A Gen 2 object wanders wherever the + -- collision lets it; a Gen 3 template states a movement range in cells + -- around where it started, and an NPC that ignores it drifts across the + -- room over a few minutes and ends up somewhere the scripts do not expect + -- it -- worst on the wide routes, where nothing stops it for a long time. + -- ...each axis judged on its own, and an axis with no range not judged + if self.roamOriginX then + if self.roamRangeX + and math.abs(tx - self.roamOriginX) > self.roamRangeX then + return + end + if self.roamRangeY + and math.abs(ty - self.roamOriginY) > self.roamRangeY then + return + end + end + if Collision.canMove(map, entities, self, dir) then + self.targetX, self.targetY = tx, ty + self.moving = true + self.progress = 0 + end +end + +function NPC:walkPhase() + if not self.moving then return 0 end + -- A SHEET WHOSE STEP IS HELD, not cycled. + -- + -- Emerald writes most walk animations as four beats -- step, stand, step, + -- stand -- and this phase is what reproduces them. A handful are written + -- as one beat that jumps to itself, which says the opposite: show the step + -- frame for the whole movement. Rayquaza leaving the Sky Pillar is the one + -- in Hoenn; his stand is the coil, so cycling made him coil and uncoil over + -- and over as he flew. The import marks those sheets (`holdStep`). + -- + -- Gen 1 and Gen 2 sheets never carry the flag, so their walk is untouched. + local def = self.sprite and self.sprite.def + if def and def.holdStep then return 1 end + local p = self.progress % 16 + return (p >= 4 and p < 12) and 1 or 0 +end + +-- Same contract as Player:pose -- the sheet, position, facing and step +-- phase this frame renders to -- so a render pipeline can pose an NPC +-- without caring which kind of entity it is. An NPC never hops, so the +-- trailing hop flag is always false. +function NPC:pose() + -- movement_set_sliding: the object keeps its standing frame while it moves, + -- so it glides rather than walks (Ice Path boulders, the Kimono Girls). + -- Visual-only x2 (FRLG ship departure). Collision, scripts and terrain + -- remain at the map object, matching the cartridge's stationary object. + return self.sprite, self.px + (self.shiftPx or 0), self.py, self.facing, + self.sliding and 0 or self:walkPhase(), self.stepFlip, false +end + +function NPC:draw(camX, camY) + local sprite, px, py, facing, phase, flip = self:pose() + if self.fixedFrame then + sprite:drawFixedFrame(px, py, camX, camY, self.fixedFrame) + return + end + sprite:draw(px, py, camX, camY, facing, phase, flip) +end + +-- WHAT THE WATER SHOWS BACK, on its own pass. +-- +-- Drawn BEFORE the sprites and before the map's top layer rather than with +-- the character, because a reflection is the one thing that has to end up +-- UNDER the ground: reported from play as "the twins are reflected onto the +-- deck instead of below it" and "they need to be obfuscated by the ground". +-- A character standing on a bridge is drawn AFTER the top layer so the deck +-- does not bury them -- and their reflection has to be on the other side of +-- that same layer, which it cannot be if it is drawn with them. +function NPC:drawReflection(camX, camY) + if not self.reflects then return end + local sprite, px, py, facing, phase, flip = self:pose() + if sprite and sprite.reflect then + sprite:reflect(px, py, camX, camY, facing, phase, flip, + self.reflectStill) + end +end + +return NPC diff --git a/src/world/NPC.lua b/src/world/NPC.lua index 46525e654..b43f3e566 100644 --- a/src/world/NPC.lua +++ b/src/world/NPC.lua @@ -553,7 +553,33 @@ function NPC.new(data, mapId, objDef) self.gen3Elevation = nil end - self.facing = (g3 and g3.facing) or FACING_FROM_RANGE[objDef.range] or "down" + -- A GEN 4 OBJECT STATES ITS FACING AND NOTHING WAS READING IT. + -- + -- `g3` above is HOENN's movement-type table, and a Platinum cache has no + -- `constants.gen3MovementTypes` at all -- so on Sinnoh `g3` is nil, `range` + -- is nil too (a Gen 4 template spells its wander box as `movementRangeX` / + -- `movementRangeZ`), and EVERY object in the region fell through to the + -- final "down". + -- + -- The value is right there on the def. `ObjectEvent.dir` is a `FaceDirection` + -- (`include/location.h`: FACE_UP 0, FACE_DOWN 1, FACE_LEFT 2, FACE_RIGHT 3), + -- which is the SAME four-value order `Gen4Movement.DIR` already uses for a + -- movement action -- so this is one table rather than a second convention. + -- + -- CENSUSED over all 3,555 object events in the cartridge, and the census is + -- what says the field is an enum rather than a number: exactly four values + -- occur -- 1,836 up, 921 down, 415 left, 383 right -- and nothing else. So + -- 2,634 of 3,555 objects (74%) stood facing the wrong way, which is every + -- shopkeeper behind a counter, every guard at a gate, and the guitarist who + -- is supposed to be watching Twinleaf's north exit. + -- + -- GEN 4 ONLY BY CONSTRUCTION: `direction` is written by RomExtractorGen4 and + -- by no other extractor, so a Gen 1/Gen 2/Gen 3 def cannot reach this line + -- with one, and Hoenn's own answer still wins where it has one. + local GEN4_FACING = { [0] = "up", [1] = "down", [2] = "left", [3] = "right" } + self.facing = (g3 and g3.facing) + or GEN4_FACING[tonumber(objDef.direction) or -1] + or FACING_FROM_RANGE[objDef.range] or "down" -- Movement scripts can ask for the object's original direction. Imported -- Gen 3 defs spell that as a movement type rather than a `facing` field, so -- retain both the initial resolved direction and the current type here. diff --git a/src/world/OverworldController.lua b/src/world/OverworldController.lua index dbc0c718d..987925f01 100644 --- a/src/world/OverworldController.lua +++ b/src/world/OverworldController.lua @@ -473,6 +473,83 @@ OverworldState.objectVisible = objectVisible -- exposed for tests + reuse -- `save` is passed rather than read off the Game upvalue: this runs while -- neighbour strips are built too, and a test can hand it a save without -- standing a whole game up. +-- AN OBJECT WHOSE SPRITE IS A VARIABLE. +-- +-- `MapObject_GetFieldSystemGraphicsID` (map_object.c): +-- +-- if (graphicsID >= OBJ_EVENT_GFX_VAR_0 && graphicsID <= OBJ_EVENT_GFX_VAR_F) { +-- graphicsID -= OBJ_EVENT_GFX_VAR_0; +-- graphicsID = FieldSystem_GetGraphicsID(fieldSystem, graphicsID); +-- } +-- +-- Sixteen graphics ids are not pictures at all: they name a VAR that holds the +-- real id, and a map's entry script fills it in. Lake Verity's counterpart is +-- the one that matters first -- `LakeVerity_OnTransition` reads the player's +-- gender and writes `SetVar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_PLAYER_F` or `_M`, +-- because the character standing beside Rowan is whichever of Dawn and Lucas +-- the player is not. The port stored the sentinel as a literal id and never +-- resolved it, so she had no sprite and did not appear. Reported from play: +-- *"dawn and professor are supposed to be there but they aren't"*. +-- +-- THE CONSTANTS ARE DERIVED, NOT GUESSED. Walking `generated/vars_flags.txt` +-- as an enum -- a bare name takes the next id, `A = B` aliases B -- reproduces +-- the flag ids exactly (the rival mother's 497 and Lake Verity's Galactic 448 +-- both match the cache), and the vars come out a uniform 0x3000 low against two +-- known values, so a script var id is the table id plus 0x3000: +-- +-- OBJ_EVENT_GFX_VAR_0 = 101 .. OBJ_EVENT_GFX_VAR_F = 116 +-- VAR_OBJ_GFX_ID_0 = 0x1020 + 0x3000 = 0x4020 +-- +-- and `Gen4ObjectGfx.name(101)` answers "var_0", which closes the loop. +local GFX_VAR_FIRST, GFX_VAR_LAST, GFX_VAR_BASE = 101, 116, 0x4020 +local gfxVarReported = {} + +-- A RESOLVED ID IS NOT A SPRITE. The def carries both, and they do not +-- coincide: a graphics id is a key into the cartridge's own lookup table and +-- the sprite is named after the ARCHIVE MEMBER it lands on (140 -> mom -> +-- SPRITE_G4_119). Both hops are needed, and both are the extractor's own -- +-- `Gen4ObjectGfx.name` and `gen4_overworld.sprites[name].member`. +local function gen4SpriteFor(data, graphicsId) + local ok, Gfx = pcall(require, "src.import.Gen4ObjectGfx") + local name = ok and Gfx and Gfx.name(graphicsId) or nil + local sprites = data and data.gen4_overworld and data.gen4_overworld.sprites + local record = name and sprites and sprites[name] + local member = record and tonumber(record.member) + if not member then return nil, name end + return ("SPRITE_G4_%03d"):format(member), name +end + +local function resolveGraphicsVar(save, obj) + local id = tonumber(obj and obj.graphicsId) + if not id or id < GFX_VAR_FIRST or id > GFX_VAR_LAST then return obj end + local data = Game and Game.data + local vars = save and save.gen4Vars + local slot = GFX_VAR_BASE + (id - GFX_VAR_FIRST) + local resolved = vars and tonumber(vars[slot]) + local sprite, name = nil, nil + if resolved and resolved ~= 0 then sprite, name = gen4SpriteFor(data, resolved) end + if not sprite then + -- SAY SO, once per slot. An unfilled slot is the map's entry script not + -- having run yet, which is an ORDERING fault and looks exactly like a + -- missing sprite from the outside. Left as it was rather than guessed at: + -- a wrong character standing in for Dawn is worse than no character. + if not gfxVarReported[slot] then + gfxVarReported[slot] = true + Logger.warn("gen4 object: graphics id %d is var_%d (var 0x%04X) and it " + .. "holds %s -- this object keeps the placeholder and will " + .. "not draw", id, id - GFX_VAR_FIRST, slot, + resolved and tostring(resolved) or "nothing yet") + end + return obj + end + local copy = {} + for k, v in pairs(obj) do copy[k] = v end + copy.graphicsId, copy.sprite, copy.spriteName = resolved, sprite, name + copy.noSprite = nil + return copy +end +OverworldState.resolveGraphicsVar = resolveGraphicsVar + local function objectHome(save, mapId, obj) save = save or (Game and Game.save) local homes = save and save.gen3ObjectHomes and save.gen3ObjectHomes[mapId] @@ -485,18 +562,29 @@ local function objectHome(save, mapId, obj) -- arrival and she is facing her map definition's way again the moment you -- walk out and back in. local posed = home and home.movementType - if not (placed or posed) then return obj end + if not (placed or posed) then return resolveGraphicsVar(save, obj) end local moved = {} for k, v in pairs(obj) do moved[k] = v end if placed then moved.x, moved.y = home.x, home.y end if posed then moved.movementType = home.movementType end - return moved + return resolveGraphicsVar(save, moved) end OverworldState.objectHome = objectHome -- exposed for tests local function pooledNPC(pool, data, mapId, obj) local key = mapId .. "_obj_" .. obj.index local npc = pool[key] + -- ...AND A POOLED ONE WHOSE SPRITE HAS SINCE BEEN DECIDED IS STALE. + -- + -- The pool is keyed by map and object index, which is right for everything + -- whose art is fixed. An object drawn from a graphics VAR is not: the map's + -- entry script chooses it, so the same index can legitimately be Dawn on one + -- visit and Lucas on another, and handing back the NPC built before the var + -- was filled would keep the placeholder for the rest of the session. + if npc then + local want = objectHome(nil, mapId, obj) + if want and npc.def and want.sprite ~= npc.def.sprite then npc = nil end + end if not npc then npc = NPC.new(data, mapId, objectHome(nil, mapId, obj)) -- A BURIED TRAINER IS NOT ON SCREEN UNTIL THEY NOTICE YOU. @@ -709,6 +797,20 @@ local DATA_DERIVED = { function OverworldState:enter(mapId, x, y, facing) Game = require("src.core.Game") Game.overworld = self + -- THE SAVED CAMERA TILT, taken up before the first map is built. + -- + -- `Gen4Camera` holds the choice in the module rather than reading the save, + -- because the thing that needs it -- `Gen4Ground`, built by + -- `MapLoader.load(data, mapId)` -- is never handed a game. That left one + -- gap: nothing read the SAVED value at boot, so a player who chose 60 + -- degrees last session got the cartridge's own pitch until they opened + -- OPTIONS once. This is the moment that gap closes, and it is the same + -- moment the cartridge-changed reset below happens for the same reason: it + -- is the one place every path into the world goes through. + -- + -- A no-op on every other generation: the option is only ever written by the + -- Gen 4 OPTIONS row, and `sync` leaves the default alone when it is absent. + require("src.render.Gen4Camera").sync(Game) -- ...and this is the moment to notice the cartridge changed. Not in -- bootGame: the map editor's Play and any future path into the world reach -- here too, and a reset that lives beside the thing it protects cannot be @@ -1257,10 +1359,24 @@ function OverworldState:setMap(mapId, x, y, facing, opts) self.pendingSeamMusic = nil -- a fresh map owns no leftover extras: start from nothing, then derive self.entities = nil + -- ...INCLUDING THE SCRIPTED CAMERA. Its body is one of the entities about + -- to be thrown away, and a stale reference would leave `cameraTarget` + -- pointing at a corpse -- the view frozen on a cell of the map the player + -- just left. The cartridge is no kinder: a free camera does not survive a + -- map change either, because the object it tracks is deleted with the rest. + self.gen4Camera = nil self:rebuildEntities() -- Yellow's companion Pikachu trails the player (never in -- self.entities: it does not block movement, pikachu_follow.asm) require("src.world.PikachuFollower").onMapEntered(Game, self, opts) + -- ...and Sinnoh's partner, who is a different animal: an escort character + -- who trails the player AND CROSSES MAP SEAMS WITH THEM. Barry is marked + -- MAP_OBJ_STATUS_PERSISTENT on Route 201 and Verity Lakefront's arrival + -- scene then addresses him as LOCALID_FOLLOWER -- on a map whose event file + -- carries one signpost and nothing else. This is where he is stood back up. + -- After rebuildEntities, so the map's own cast is already there to be + -- adopted when the map owns a real object for him. + require("src.world.Gen4Follower").onMapEntered(Game, self) -- opts.keepMusic: the Oak-escort warp keeps MUSIC_MEET_PROF_OAK -- playing into the lab (BIT_NO_MAP_MUSIC in wStatusFlags7); @@ -1320,7 +1436,9 @@ function OverworldState:setMap(mapId, x, y, facing, opts) -- snap the camera immediately: the overworld doesn't update while a -- Transition is on top, so a stale camera would show the new map at -- the old scroll position for the whole fade-in - self.camera:follow(self.player.px, self.player.py, + self.camera.groundScale = self:groundSin() + local camTarget = self:cameraTarget() + self.camera:follow(camTarget.px, camTarget.py, Game.renderer:worldViewSize()) -- ...AND THE REMATCH ROLL, which happens HERE and not on the step. @@ -1392,6 +1510,40 @@ function OverworldState:setMap(mapId, x, y, facing, opts) end) end + -- ...AND SINNOH'S SIX, WHICH MOVE ON A DIFFERENT BEAT FROM BOTH. + -- + -- Gen 2's beasts and Hoenn's one hop on EVERY map load. Platinum's do not: + -- `FieldSystem_InitFlagsOnMapChange` calls + -- `RoamingPokemon_UpdatePlayerRecentRoutes` and then + -- `RoamingPokemon_MoveAllLocations`, while `FieldSystem_InitFlagsWarp` calls + -- only the first. So a Sinnoh roamer moves when you WALK ACROSS A MAP + -- BOUNDARY and stays put when you go through a door. + -- + -- Getting that backwards would move all six several times per Pokemon Centre + -- visit, which is not a crash and not visible in a log -- it just makes a + -- roamer impossible to corner. `via` is derived the same way the + -- `map.entered` event above derives it, so the two cannot disagree. + -- + -- The RECENT-ROUTE memory is updated on both, because the cartridge does: + -- that is the "do not hop onto the map the player just left" list, and a + -- door counts as having left. + if GameVersion.isGen4() and Game and Game.save then + local via = (opts and opts.via) + or (opts and opts.seamless and "connection") + or (fromMapId and "warp" or "boot") + pcall(function() + local Roamers = require("src.world.Gen4Roamers") + Roamers.noteMap(Game.save, mapId) + if via == "connection" then + local moved = Roamers.moveAll(Game.data, Game.save) + if moved > 0 then + Logger.debug("gen4 roamers: %d moved on the connection into %s", + moved, tostring(mapId)) + end + end + end) + end + -- map-enter hooks (hand-ported map scripts, e.g. Victory Road barriers). -- fromMapId lets elevators seed a valid walk-out floor when the ROM -- car warps still point at a missing map (Silph's UNUSED_MAP_ED) and @@ -1997,6 +2149,23 @@ function OverworldState:bikeAllowed(mapId) local def = Game.data.maps[mapId] return (def and def.allowCycling) == true end + -- ...AND SINNOH PUTS IT IN THE MAP HEADER TOO, under its own name. + -- + -- `Gen4MapHeaders.parse` has always read `allowBike` out of the header flags + -- word, and the maps module carries it on all 593 rows -- so the exact + -- cartridge answer was in the cache and nothing asked. Without this arm a + -- Gen 4 cache fell through to the GEN 1 branch below, whose `bikeRiding` + -- table is a list of KANTO map ids and Kanto tileset names; a Platinum cache + -- writes no such table at all, so the bike was allowed on whatever + -- `Map.isOutdoor` happened to say rather than where Sinnoh allows it. + -- + -- This matters beyond the sprite: both Cycling Road gates turn the player + -- away unless `checkplayeronbike` answers yes, and Route 206 is the road + -- south out of Eterna. + if GameVersion.isGen4() then + local def = Game.data.maps[mapId] + return (def and def.allowBike) == true + end local br = Game.data.field.bikeRiding if not br then return Map.isOutdoor(self.map.def) end for _, m in ipairs(br.maps) do @@ -3190,6 +3359,7 @@ function OverworldState:update(dt) npc:update(self.map, cast) end require("src.world.PikachuFollower").update(Game, self) + require("src.world.Gen4Follower").update(Game, self) for _, g in ipairs(self.ghosts) do -- the same reasoning as ghostCell: a ghost that names no neighbour is @@ -3289,7 +3459,31 @@ function OverworldState:update(dt) local why = {} if self.runner:isRunning() then why[#why + 1] = "a script is running" end if #self.scriptMoves > 0 then - why[#why + 1] = ("%d scripted move(s) queued"):format(#self.scriptMoves) + -- NAME THEM, because the count alone is not a lead. + -- + -- A queue that will not drain is one specific move on one specific + -- walker, and "1 scripted move(s) queued" is the same line whether the + -- walker never started, never finished, or is waiting on a pause that + -- cannot tick. Those are three different bugs. This is the guitarist + -- scene in Twinleaf: the move is queued against a real entity -- the + -- `gen4 move: no object with localId` warning never fires -- so what + -- is left to learn is which of its parts is stuck, and that is exactly + -- what these fields say. + local parts = {} + for i, mv in ipairs(self.scriptMoves) do + local e = mv.entity + parts[#parts + 1] = ("[%d] %s dir=%s remaining=%s pause=%s " + .. "moving=%s cell=%s,%s target=%s,%s"):format( + i, + tostring(e and (e.id or (e == self.player and "PLAYER") or "?") + or "NO ENTITY"), + tostring(mv.dir), tostring(mv.remaining), tostring(mv.pause), + tostring(e and e.moving), tostring(e and e.cellX), + tostring(e and e.cellY), tostring(e and e.targetX), + tostring(e and e.targetY)) + end + why[#why + 1] = ("%d scripted move(s) queued: %s") + :format(#self.scriptMoves, table.concat(parts, " | ")) end if self.engaging then why[#why + 1] = "a trainer is engaging" end if self.emote then why[#why + 1] = "an emote bubble is up" end @@ -3372,7 +3566,9 @@ function OverworldState:update(dt) self:onStepComplete() end - self.camera:follow(self.player.px, self.player.py, + self.camera.groundScale = self:groundSin() + local camTarget = self:cameraTarget() + self.camera:follow(camTarget.px, camTarget.py, Game.renderer:worldViewSize()) -- pan_camera offset rides on top of the follow; the ramp resumes its @@ -4009,6 +4205,29 @@ function OverworldState:handleInput() Screens.push(Game, screens.startMenu or "StartMenu") return end + -- THE SECOND SCREEN'S OWN BUTTON, which is the first line of the original + -- brief: "allow users to switch between the two with a button ... with a + -- hotkey". L raises the Poketch and L or B lowers it again. + -- + -- L rather than SELECT because SELECT is already the registered key item + -- below, and rather than a new binding because L is an action the controls + -- menu already lists -- so it is rebindable without this screen knowing how + -- rebinding works. Gated on the cartridge HAVING a second screen, so no + -- Gen 1-3 press changes behaviour. + if input:wasPressed("l") then + local SecondScreen = require("src.ui.SecondScreen") + if SecondScreen.available(Game) then + Game.secondScreenUp = true + -- By its own id, not through an alias: there is no Game Boy Poketch for + -- `GEN4_ALIASES` to stand in front of, so an alias would be a redirect + -- from a screen that does not exist. + Screens.push(Game, "Gen4Poketch", { + onCancel = function() Game.secondScreenUp = false end, + }) + return + end + end + -- SELECT runs the registered key item without opening the pack. -- -- HOENN REGISTERS TOO, and this was the line that said it could not. The @@ -4583,6 +4802,12 @@ function OverworldState:connectionLanding(dir) if not conn then return nil end local dest = Game.data.maps[conn.map] if not dest then return nil end + -- The seam reads the NEIGHBOUR'S OWN COLLISION, which means the neighbour + -- needs some. A Gen 4 map that references a shared grid instead of carrying + -- one has no `blocks` until it is loaded, and `Map.defPassable` below would + -- read nil and refuse every cell of the seam. Idempotent and a no-op on + -- every other generation. + MapLoader.resolveBlocks(Game.data, dest) local ts = Game.data.tilesets[dest.tileset] if not ts then return nil end local p = self.player @@ -4712,6 +4937,7 @@ function OverworldState:crossConnection(dir, conn, scripted) self.entities[#self.entities + 1] = e end end + self.camera.groundScale = self:groundSin() self.camera:follow(p.px, p.py) p.facing = dir p.targetX, p.targetY = x, y @@ -5419,20 +5645,62 @@ function OverworldState:beginTeleportOut(onDone, opts) escape = opts and opts.escape or nil } end +-- HOW MUCH A MAP PIXEL OF DEPTH IS WORTH ON SCREEN. +-- +-- One everywhere except a Gen 4 map, which is drawn at a pitch and whose +-- ground is `sin(pitch)` screen pixels per map pixel. The camera needs it to +-- put the player in the middle of the screen (`Camera:follow`), and it is read +-- from the ground itself rather than from the camera table so the two can +-- never disagree about which pitch is in force. +-- WHO THE CAMERA IS LOOKING AT, which is not always the player. +-- +-- A Gen 4 cutscene pans by standing an INVISIBLE map object where it wants the +-- view and walking it: `ScrCmd_AddFreeCamera` creates one with +-- OBJ_EVENT_GFX_INVISIBLE and points `Camera_TrackTarget` at its position, +-- `ApplyFreeCameraMovement` (which is just `ApplyMovement LOCALID_CAMERA`) +-- walks it, and `ScrCmd_RestoreCamera` deletes it and tracks the player again. +-- Lake Verity Low Water's arrival is the first one the player meets: the view +-- leaves the player, finds Cyrus at the water, and comes back. +-- +-- So the whole feature is an entity the script can already walk plus this one +-- decision. `src/script/Gen4Commands` owns the body; nothing else in this +-- file needs to know it exists. +function OverworldState:cameraTarget() + return self.gen4Camera or self.player +end + +function OverworldState:groundSin() + local ground = self.map and self.map.renderer and self.map.renderer.gen4Ground + if not (ground and ground.scale) then return 1 end + local ok, sin = pcall(ground.scale, ground) + sin = ok and tonumber(sin) or nil + if not (sin and sin > 0) then return 1 end + return sin +end + function OverworldState:npcAtCell(cx, cy) for _, npc in ipairs(self.npcs) do - local big = npc.big or (npc.sprite and npc.sprite.big) - or (npc.def and (npc.def.sprite == "SPRITE_BIG_SNORLAX" - or npc.def.sprite == "SPRITE_BIG_LAPRAS" - or npc.def.big)) - if big then - local x, y = npc.cellX, npc.cellY - if x and y and cx >= x and cx <= x + 1 and cy >= y and cy <= y + 1 then + -- SOMEBODY A SCRIPT REMOVED IS NOT THERE TO BE TALKED TO. + -- + -- The same rule `Collision.occupied` applies, for the same reason: the + -- doorway the log reported as "no text for Twinleaf Town/nil" was the + -- rival, removed at the end of his scene and still answering A from the + -- tile he used to stand on. A BURIED trainer is covered up rather than + -- gone, so they still answer -- which is how they spot you. + if not (npc.hidden and not npc.buried) then + local big = npc.big or (npc.sprite and npc.sprite.big) + or (npc.def and (npc.def.sprite == "SPRITE_BIG_SNORLAX" + or npc.def.sprite == "SPRITE_BIG_LAPRAS" + or npc.def.big)) + if big then + local x, y = npc.cellX, npc.cellY + if x and y and cx >= x and cx <= x + 1 and cy >= y and cy <= y + 1 then + return npc + end + elseif (npc.cellX == cx and npc.cellY == cy) or + (npc.targetX == cx and npc.targetY == cy) then return npc end - elseif (npc.cellX == cx and npc.cellY == cy) or - (npc.targetX == cx and npc.targetY == cy) then - return npc end end return nil @@ -9315,6 +9583,20 @@ end function OverworldState:trainerDefeated(npc) if Game.save.defeatedTrainers[npc.id] then return true end + -- A GEN 4 TRAINER IS BEATEN WHEN `settrainerflag` HAS NAMED THEM. + -- + -- The shared trainer script ends `getapproachingtrainerid / setvarfromvar / + -- settrainerflag `, and `Gen4Commands` keeps those in their own table -- + -- `save.gen4TrainerFlags`, a separate bank on the cartridge and a separate + -- table here, so a trainer id cannot collide with a Gen 1-3 event flag. That + -- table is the whole record of the fight and therefore the whole test; without + -- it every trainer in Sinnoh would challenge again on sight, forever. + local gen4Id = npc.def and type(npc.def.trainer) == "table" + and tonumber(npc.def.trainer.id) + if gen4Id then + local flags = Game.save.gen4TrainerFlags + return (flags and flags[gen4Id]) and true or false + end -- A GEN 3 TRAINER IS BEATEN WHEN THEIR OWN FLAG IS SET. -- -- There is no trainer header on this cartridge: the object says it is a @@ -9576,7 +9858,21 @@ function OverworldState:checkTrainerSight() -- The talk-script exclusion is Gen 1/2's -- there, an NPC with authored -- dialogue is a talker rather than a fighter. A Gen 3 trainer's script -- IS the battle, so it must not exclude itself. - local isTrainer = d.gen3Trainer or + -- A GEN 4 TRAINER IS ONE THE BAND SAYS IS ONE. There is no `trainerClass` + -- and no `gen3Trainer` on this cartridge: the object's script id lands in + -- `single_battles` (3000+) or `double_battles` (5000+) and the extractor + -- resolved that at import into `trainer = { id, class, className, party }`. + -- Nothing in this file read it, so all 417 of Sinnoh's trainers fell out of + -- the scan on its very first test and not one of them ever noticed anybody. + -- The talk-script exclusion below must not apply to them for the same + -- reason it does not apply to Gen 3: their script IS the battle. + -- `type(...) == "table"` rather than a bare truth test: Prism's and + -- Polished Crystal's map caches are not staged here to be inventoried, and + -- indexing a NUMBER named `trainer` would take the overworld down on those + -- two rather than simply answering no. Crystal, Gold and FireRed were + -- checked and carry no such field on any of their 4,457 objects. + local gen4Trainer = type(d.trainer) == "table" and d.trainer.id ~= nil + local isTrainer = d.gen3Trainer or gen4Trainer or (d.trainerClass and (d.trainerObject or not mapScripts.talkScript(self.map.id, d.text))) -- A buried trainer you have already beaten is standing in the open: they @@ -9611,8 +9907,25 @@ function OverworldState:checkTrainerSight() -- Route 113, and the eight in Lavaridge Gym -- who stand on the gym's -- sand-hole tiles, where the player arrives from whichever side they -- fell in from, so a single facing would have been meaningless. + -- + -- GEN 4 STATES THE ANSWER AT IMPORT, because its raw type number is not + -- orderable. `GetTrainerType` (trainer_encounter.c) rewrites FACE_SIDES + -- (4) and the four turners and spinners (5-8) to NORMAL (1) before asking + -- about distance, so all five look ONE way despite outnumbering + -- VIEW_ALL_DIRECTIONS (2), which looks four; NONE (0) and UNK_003 (3) + -- match neither branch and never spot at all. Emerald's `>= 2` rule is + -- therefore wrong here on 21 of the 417 objects, and RomExtractorGen4 + -- writes `sightWays` as a COUNT OF DIRECTIONS -- 0, 1 or 4 -- so the + -- collapse happens once, beside the pret reference, instead of being + -- re-derived from a number whose ordering means nothing. local ways = { npc.facing } - if (tonumber(d.gen3TrainerType) or 1) >= 2 then + local sightWays = tonumber(d.sightWays) + if sightWays then + -- 0 is "this kind never spots": the range is irrelevant and saying so + -- here keeps the geometry below from having to know about it. + if sightWays == 0 then range = 0 end + if sightWays >= 4 then ways = { "up", "down", "left", "right" } end + elseif (tonumber(d.gen3TrainerType) or 1) >= 2 then ways = { "up", "down", "left", "right" } end for _, way in ipairs(ways) do @@ -9767,7 +10080,19 @@ function OverworldState:startTrainerApproach(npc, dist, partner) -- header, the battle, the won text, the flags -- and none of those parts -- exist on this cartridge. Here the object's own script does all four, -- starting with the trainerbattle, so the approach hands over to it. - if npc.def and npc.def.gen3Trainer then + -- + -- ...AND SO IS A GEN 4 ONE, for the same reason and through the same rows. + -- The cartridge reaches a spotted trainer through its own approach script + -- (`startapproachingtrainertask` and the wait loop behind it), and this + -- engine synthesizes that walk above rather than lowering those commands -- + -- so what is left for the script to do is exactly what the talk path does: + -- the encounter BGM, the pre-battle line, the battle, the flag. Handing + -- over to the object's own rows is therefore both halves at once, and it is + -- also the only path that knows WHICH trainer this is: `g4_get_trainer_id` + -- reads `ctx.npc.def.trainer.id`, so the one shared block serves all 417. + if npc.def and (npc.def.gen3Trainer + or (type(npc.def.trainer) == "table" + and npc.def.trainer.id)) then local rows = mapScripts.talkScript(self.map.id, npc.def.text) if rows then -- THE SECOND TRAINER RIDES ON THE CONTEXT. @@ -10262,6 +10587,14 @@ end function OverworldState:onStepComplete() local p = self.player + -- THE POKETCH'S PEDOMETER, which is a step counter and has to be counted + -- where steps are. Gated on the cartridge having a second screen at all, so + -- no Gen 1-3 step pays for it, and kept on the save because closing the watch + -- is not meant to reset it. + if require("src.ui.SecondScreen").available(Game) and Game.save then + Game.save.poketch = Game.save.poketch or {} + Game.save.poketch.steps = (Game.save.poketch.steps or 0) + 1 + end -- THE REMATCH STEP COUNTER. -- -- IncrementRematchStepCounter (0x080B215C) runs once per step and only @@ -10694,6 +11027,32 @@ function OverworldState:onStepComplete() enc, roamer = one, "gen3" end end + elseif enc and GameVersion.isGen4() then + -- SINNOH ASKS IN THE OTHER ORDER, and that is the whole difference. + -- + -- Gen 2 rolls a SLOT and then looks at where that one is, so three beasts + -- on your route are no likelier than one. `TryEncounterRoamer` gathers + -- every active roamer ON THIS MAP first and only then spends one flat + -- `LCRNG_RandMod(2)` -- so presence decides whether a coin is flipped at + -- all and the count only decides which one you meet. With Eterna's three + -- birds loose on one route that is 1/2 x 1/3 each, not Gen 2's + -- 75/256 x 1/6: a factor of five, and nothing would have reported it. + -- + -- NO `onWater` TEST HERE. Gen 2 refuses a beast while surfing outright; + -- Gen 4 does not -- its exclusions are Poke Radar patches and double + -- battles, and Route 218, Route 219, Route 220, Route 221 and Route 222 + -- are in the roaming table precisely because a roamer can be met on the + -- water there. + local Roamers = require("src.world.Gen4Roamers") + local slot, it = Roamers.check(Game.data, Game.save, self.map.id, + love.math.random) + if slot then + local one = Roamers.encounterFor(slot, it) + if one and one.species then + enc, roamer = one, "gen4" + self.gen4RoamerSlot = slot + end + end elseif enc and not onWater then local RoamMons = require("src.world.RoamMons") local name, info = RoamMons.check(Game.save, self.map.id, onWater, @@ -10705,6 +11064,14 @@ function OverworldState:onStepComplete() end end end + -- ...AND THE 30% NOBODY WOULD GUESS. `RoamerAfterBattle_UpdateRoamers` runs + -- after EVERY wild battle in Sinnoh, and when the battle was an ORDINARY wild + -- one it still scares every roamer off this map three times in ten. So the + -- slot has to be remembered even when the encounter is not a roamer -- nil + -- is the "ordinary wild" case the rule needs, not the absence of a rule. + if enc and GameVersion.isGen4() and roamer ~= "gen4" then + self.gen4RoamerSlot = nil + end if enc then -- REPEL blocks wild mons weaker than the lead. @@ -11166,7 +11533,34 @@ function OverworldState:afterBattle(result, battle) -- Escaping writes the HP back instead. That is the point of chasing one: -- damage carries between meetings, and a beast on a sliver stays on a -- sliver until you finally land the ball. - if battle and battle.roamer then + -- SINNOH FIRST, BECAUSE IT RUNS WHETHER A ROAMER WAS FOUGHT OR NOT. + -- + -- The other two generations only care about a roamer battle. Platinum's + -- after-battle pass is on the way out of ANY wild encounter and has two arms: + -- met one -> write its HP and status back (or retire it) and then every + -- roamer ON THIS MAP takes a long hop; met an ordinary wild -> a 30% chance + -- they all leave anyway. The second arm is why this sits outside the + -- `battle.roamer` test. + if GameVersion.isGen4() and Game and Game.save and battle + and battle.kind == "wild" then + local slot = (battle.roamer == "gen4") and self.gen4RoamerSlot or nil + local enemy = battle.enemy + local hp = enemy and enemy.mon and enemy.mon.hp or 0 + local status = enemy and enemy.mon and enemy.mon.status + local gone = result == "caught" or result == "win" or hp <= 0 + self.gen4RoamerSlot = nil + pcall(function() + local Roamers = require("src.world.Gen4Roamers") + local left, how = Roamers.afterBattle(Game.data, Game.save, + self.map and self.map.id, + slot, hp, status, gone) + if left and left > 0 then + Logger.debug("gen4 roamers: %d left %s after the battle (%s)", + left, tostring(self.map and self.map.id), tostring(how)) + end + end) + end + if battle and battle.roamer and battle.roamer ~= "gen4" then local enemy = battle.enemy local hp = enemy and enemy.mon and enemy.mon.hp or 0 local gone = result == "caught" or result == "win" or hp <= 0 @@ -11308,6 +11702,16 @@ function OverworldState:takeWarp(warpDef) -- still with a line in the log beats handing MapLoader an id that does not -- exist, which raises under the player's feet. if not destMap then return end + -- GEN 4'S LIFTS REMEMBER THE FLOOR YOU GOT ON AT, and the door you are + -- taking is the only place that knows it. Stepping into a lift car + -- overwrites the special location with the floor being left + -- (field_map_change.c 232), which is how Hearthome's and the Vista + -- Lighthouse's panel-less cars know which way to go, and how walking + -- straight back out of any car returns you here. A no-op on every warp that + -- is not a car door, which is 1,207 of Sinnoh's 1,213. + Warp.noteGen4Entrance(Game.data, Game.save, warpDef, destMap, fromMap, + self.player.cellX, self.player.cellY, + self.player.facing) -- EnterMapWarp stores the warp being left through as the backup, so a -- LAST_WARP door on the far side comes straight back here self.backupWarp = { id = fromMap, x = self.player.cellX, y = self.player.cellY } @@ -12259,9 +12663,40 @@ function OverworldState:updateScriptMoves() goto stepped end end - e.targetX, e.targetY = tx, ty - e.moving = true - e.progress = 0 + -- AN OBJECT EVENT BELONGS TO ITS MAP, AND A SCRIPTED WALK CANNOT + -- POST IT OUT OF ONE. + -- + -- The crossing above is deliberately the player's alone -- the comment + -- there says so, and the cartridge rebuilds its object array per map + -- load for the same reason. But nothing then stopped a non-player + -- walker being stepped off the edge anyway, and off the edge is where + -- an entity stops being updated: its step never completes, `moving` + -- stays true for ever, and the `scriptMoves` queue it sits in never + -- drains. That is a held input gate with nothing on screen, which is + -- exactly what Twinleaf's guitarist produced -- + -- + -- [1] T01_obj_4 dir=up remaining=0 pause=nil moving=true + -- cell=15,-3 target=15,-4 + -- + -- -- once repeated triggers had walked him three tiles north at a time + -- off the top of a 32-tile map. Refusing the step retires the move + -- instead of stranding it, so the scene ends and the gate opens. + local offMapStep = e ~= self.player and self.map and self.map.inBounds + and not self.map:inBounds(tx, ty) + if offMapStep then + if not self.reportedOffMapWalk then + self.reportedOffMapWalk = true + Logger.warn("scripted walk on %s would step %s off %s to %d,%d -- " + .. "refused, and the move is retired so the queue can " + .. "drain", tostring(e.id or "?"), tostring(mv.dir), + tostring(self.map and self.map.id), tx, ty) + end + mv.remaining = 0 + else + e.targetX, e.targetY = tx, ty + e.moving = true + e.progress = 0 + end end mv.remaining = mv.remaining - 1 ::stepped:: @@ -14030,6 +14465,52 @@ function OverworldState:drawWorld() -- the final one. local grassColors = PaletteFX.usesSpriteObp() and PaletteFX.pal(Game.data, self:paletteNameFor(self.map)) or nil + -- WHOEVER IS STANDING ON THE GROUND HAS TO LEAN WITH IT. + -- + -- Gen 4 draws its chunks at the map header's own camera pitch, which means + -- height leans up the screen (`Gen4Camera`, `Gen4Ground`). The tile grid + -- is untouched by that -- the ground plane still maps one to one, which is + -- the whole reason the oblique projection was chosen -- but a character on + -- a hill, a bridge or a flight of steps is drawn at the grid's height and + -- not the terrain's, so they walk THROUGH what they are meant to be on. + -- + -- `rise` is that lift in pixels, and it is zero on every Gen 1/2/3 map and + -- on any Gen 4 map drawn straight down -- `gen4Ground` is nil in the first + -- case and `lean` is 0 in the second, so this costs one nil test a frame + -- for everything that is not Sinnoh. + -- + -- Passing it as a shifted CAMERA rather than a shifted position is what + -- keeps it to one seam: every sprite path in the engine ends in + -- `py - camY`, so lifting the camera lifts the sprite and nothing else has + -- to learn about elevation. + local ground = self.map.renderer and self.map.renderer.gen4Ground + -- WHERE A SPRITE GOES ONCE THE GROUND IS NO LONGER ONE TO ONE. + -- + -- The Gen 4 ground is drawn at the cartridge's own pitch, which COMPRESSES + -- it: a point `z` map pixels down the map lands `z * sin(pitch)` pixels + -- down the screen, and anything standing `h` above the ground rises + -- `h * cos(pitch)`. Every sprite in this engine draws at `py - camY`, so + -- the whole of that projection can be expressed as a per-entity CAMERA + -- OFFSET -- which is the seam this function already was: + -- + -- py - camY' = (py - camY) * sin - rise + -- camY' = camY + (py - camY) * (1 - sin) + rise + -- + -- so the offset added to the camera is `(py - camY) * (1 - sin) + rise`. + -- At pitch 90 sin is 1 and that is exactly `rise`, which is what every + -- other generation and the flat bake get -- no second path, and nothing + -- outside this closure has to learn about the projection. + -- + -- The COLLISION GRID IS UNTOUCHED by any of this. It is in map pixels and + -- stays there; only the picture is projected, which is why a compressed + -- world still walks the same. + local groundSin = ground and ground.scale and select(1, ground:scale()) or 1 + local function riseOf(e) + if not ground then return 0 end + local rise = ground:rise(e.px + (e.shiftPx or 0) + 8, e.py + 8) + if groundSin >= 1 then return rise end + return (e.py - cam.y) * (1 - groundSin) + rise + end for _, g in ipairs(self.ghosts) do g.npc:draw(cam.x - g.ox, cam.y - g.oy) end @@ -14045,10 +14526,24 @@ function OverworldState:drawWorld() -- is planted, grows and is picked without the map reloading, so its -- emptiness is asked at draw time rather than remembered at spawn. local plotEmpty = plotIsEmpty + -- SINNOH'S CHARACTERS STAND ON SOMETHING. Built once per frame rather + -- than per entity, and nil on every other generation -- see + -- `src/render/Gen4Shadows`, and `src/import/Gen4Shadow` for where the + -- cartridge's rules came from. + local shadows = self.gen4Shadows + if shadows == nil then + shadows = require("src.render.Gen4Shadows").forMap(Game.data) or false + self.gen4Shadows = shadows + end local function drawEntity(e) if not (self.flyAnim and self:hasFlyBird() and e == self.player) and not e.hidden and not plotEmpty(e) then - e:draw(cam.x, cam.y) + -- UNDER the sprite, and lifted by the same terrain rise it is, so a + -- character on a slope keeps their feet on it. + if shadows then + shadows:draw(self.map, e, cam.x, cam.y, e == self.player, riseOf(e)) + end + e:draw(cam.x, cam.y + riseOf(e)) -- tall grass overdraws the sprite's feet (GB sprite priority); -- the overdraw is BG tiles, so it rides the shake offset too love.graphics.setColor(1, 1, 1, 1) diff --git a/src/world/Warp.lua b/src/world/Warp.lua index 5990db119..ab8f46196 100644 --- a/src/world/Warp.lua +++ b/src/world/Warp.lua @@ -219,8 +219,45 @@ end -- room later. local GEN3_DYNAMIC_MAP = "MAP_G127_N127" +-- GEN 4 HAS THE SAME SEAM AND THE PORT READ IT AS A HOLE. A warp event whose +-- destination header is 0xfff and whose anchor is 0x100 does not go nowhere: +-- field_control.c 1011 resolves it from the SPECIAL LOCATION, exactly as Gen 3 +-- resolves map group 127. Six warps in Sinnoh carry that pair and all six are +-- LIFT CARS -- Jubilife TV, both Hearthome houses, the Veilstone department +-- store, the Resort Area and the Vista Lighthouse -- so with the pair unread +-- and `setspeciallocation` lowered to a noop, every lift in the region opened +-- onto nothing. The extractor now marks them with this id; see +-- src/import/Gen4Elevators.lua. +local GEN4_DYNAMIC_MAP = "GEN4_SPECIAL_LOCATION" + +-- WARP_ID_NONE is -1 (include/location.h) in a u16 operand: the slot's warp is +-- not a warp and its coordinates are. Gen 3 spells the same rule 0xFF because +-- there the operand is a byte. +local GEN4_WARP_NONE = 0xFFFF + local function resolve(data, warpDef, lastMap, backupWarp, save) local destMap = warpDef.destMap + if destMap == GEN4_DYNAMIC_MAP then + local spot = save and save.gen4SpecialLocation + if spot and spot.map and data.maps[spot.map] then + local destDef = data.maps[spot.map] + -- the warp id places you and the coordinates are then overwritten from + -- it (field_map_change.c 226); the Veilstone store's middle floors name + -- warp 2 where its top and basement name warp 1, so this is not cosmetic + local id = tonumber(spot.warp) + local dw = id and id ~= GEN4_WARP_NONE and destDef.warps + and destDef.warps[id + 1] + if dw then return spot.map, dw.x, dw.y end + if spot.x and spot.y then return spot.map, spot.x, spot.y end + end + -- Same refusal as Gen 3 below, and for the same reason: handing MapLoader + -- an id no dataset has raises under the player's feet, where standing + -- still leaves them in the car with the reason in the log. + require("src.core.Logger").warn( + "gen4 dynamic warp taken with no special location set -- the lift's " + .. "`setspeciallocation` has not run") + return nil + end if destMap == GEN3_DYNAMIC_MAP then local dyn = save and save.gen3DynamicWarp if dyn and dyn.map and data.maps[dyn.map] then @@ -303,6 +340,36 @@ end -- record and the remembered outdoor side the resolution used) local function warped(mapId, x, y) return mapId, x, y end +-- THE LIFT REMEMBERS THE FLOOR YOU GOT ON AT, and it is the same slot. +-- +-- if (warpEvent->destWarpID == 0x100) { +-- *specialLocation = *entranceLocation; +-- } +-- +-- -- field_map_change.c 232, run on ARRIVAL: stepping into a car overwrites +-- the slot with the door you just left. That is the whole of how the +-- two-floor lifts work, because Hearthome's cars and the Vista Lighthouse's +-- have no panel at all -- they ask `getfloorsabove` about the special location +-- and warp you to the other floor. It is also what makes walking straight +-- back out of any car return you to the floor you came from instead of +-- wherever the last lift in the game was sent. +-- +-- Called from the warp the player is TAKING, with the map being left, because +-- the port resolves a destination rather than loading a header and then asking +-- which warp it arrived at. The stored warp id is the cartridge's zero-based +-- event index, which is what `resolve` above adds one to. +function Warp.noteGen4Entrance(data, save, warpDef, destMap, fromMap, x, y, facing) + if not (data and save and warpDef and destMap and fromMap) then return end + local destDef = data.maps and data.maps[destMap] + local arrival = destDef and destDef.warps and destDef.warps[warpDef.destWarp] + if not (arrival and arrival.destMap == GEN4_DYNAMIC_MAP) then return end + save.gen4SpecialLocation = { + map = fromMap, + warp = (tonumber(warpDef.index) or 1) - 1, + x = x, y = y, facing = facing, + } +end + function Warp.destination(data, warpDef, lastMap, backupWarp, save) local destMap, x, y = resolve(data, warpDef, lastMap, backupWarp, save) if destMap == nil then return nil end diff --git a/tools/gen4_battlescene_check.lua b/tools/gen4_battlescene_check.lua new file mode 100644 index 000000000..1764433bf --- /dev/null +++ b/tools/gen4_battlescene_check.lua @@ -0,0 +1,1387 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_battlescene_check.lua -- does every Sinnoh battle have a place to +-- happen. +-- +-- `src/battle/Gen4Battle.lua` answers two questions -- which background and +-- which two platforms -- out of three tables that know nothing about each +-- other: the cartridge's background enum, its terrain enum, and the +-- `gen4_graphics` index the extractor wrote. A name that exists in one and not +-- the others does not raise; it returns nil and the battle is fought on blank +-- paper, which is indistinguishable from the bug this is all meant to fix. +-- +-- THE CHECKS START WITH TWO CANARIES on the tables themselves, +-- because a mistyped enum makes every later check pass against the wrong word. +-- +-- Run: texlua tools/gen4_battlescene_check.lua [assets dir] + +local cacheDir = arg and arg[1] +if not cacheDir then + io.stderr:write("usage: texlua tools/gen4_battlescene_check.lua " + .. " [assets dir]\n") + os.exit(2) +end +local assetsDir = arg and arg[2] + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local inert = setmetatable({}, { __index = function() return function() end end }) +table.insert(package.searchers, 1, function(name) + if name == "src.battle.Gen4Battle" then return nil end + -- ...and the subscreen facts, for the same reason: an inert stand-in + -- would answer every field with a function and the checks below would + -- measure the stand-in rather than the module. + if name == "src.import.Gen4Subscreen" then return nil end + -- ...and the second-screen policy, which the checks drive directly. + if name == "src.ui.SecondScreen" then return nil end + -- ...and the two modules the healthbox's lettering is asserted against: the + -- parts enum, which says which tile the gendered "Lv" is, and the glyph + -- strip, which says what a number is made of. An inert stand-in would + -- answer every field with a function and the checks would pass against it. + if name == "src.import.Gen4HealthboxParts" then return nil end + if name == "src.import.Gen4SpecialChars" then return nil end + -- ...and the frame budgets, because `Gen4Battle.platformSlideElapsed` reads + -- BATTLE_SLIDE_IN_FRAMES out of them. THE STUB CAUGHT ITSELF HERE: with + -- Timing inert that constant answered as a FUNCTION, `tonumber` made it nil, + -- the converter took its "no intro is running" branch and every platform sat + -- settled -- so the two intro checks failed against the stand-in while the + -- module was right. A safe fallback in the module is correct for play and + -- exactly wrong for a measurement, which is the argument for this line. + if name == "src.core.Timing" then return nil end + -- ...and the three modules the type section measures. Same reason, and the + -- same way round: inert answers `TYPES` with a function, and indexing a + -- function is an error rather than a quiet pass, which is the better of the + -- two ways for a stub to be found out. + if name == "src.import.Gen4TypeChart" then return nil end + if name == "src.import.Gen4Species" then return nil end + if name == "src.import.Gen4Moves" then return nil end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local Gen4Battle = require("src.battle.Gen4Battle") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-52s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-52s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end + +local function load(name) + local chunk = loadfile(cacheDir .. "/" .. name .. ".lua") + return chunk and chunk() or nil +end + +local okSub, Sub +local gfx = load("gen4_graphics") +local headers = load("gen4_map_headers") +if not (gfx and headers) then + io.stderr:write("this cache carries no gen4_graphics / gen4_map_headers\n") + os.exit(2) +end + +-- 1-2: THE TABLES THEMSELVES. The enums are 0-based and their lengths are the +-- cartridge's own BACKGROUND_MAX and TERRAIN_MAX; a table one short still +-- answers for every name a map happens to use and hides the gap. +local nb, nt = 0, 0 +for _ in pairs(Gen4Battle.BACKGROUNDS) do nb = nb + 1 end +for _ in pairs(Gen4Battle.TERRAINS) do nt = nt + 1 end +ok(nb == 23, "backgrounds named (BACKGROUND_MAX)", nb, 23) +ok(nt == 24, "terrains named (TERRAIN_MAX)", nt, 24) + +-- 3: every background maps to a terrain, and to one that EXISTS. This is the +-- join `sTerrainForBackground` is, and it is the one place a typo would put a +-- real background on a terrain name nothing has art for. +local unmapped, badTerrain = {}, {} +local terrainNames = {} +for _, name in pairs(Gen4Battle.TERRAINS) do terrainNames[name] = true end +for _, bg in pairs(Gen4Battle.BACKGROUNDS) do + local t = Gen4Battle.TERRAIN_FOR_BACKGROUND[bg] + if not t then unmapped[#unmapped + 1] = bg + elseif not terrainNames[t] then badTerrain[#badTerrain + 1] = bg .. "->" .. t end +end +ok(#unmapped == 0, "backgrounds with no terrain", #unmapped, + #unmapped > 0 and table.concat(unmapped, ",") or 0) +ok(#badTerrain == 0, "terrains named that do not exist", #badTerrain, + #badTerrain > 0 and table.concat(badTerrain, ",") or 0) + +-- 4: every background has art at every time of day it can be asked for. The +-- six outdoor ones take a real offset and the other seventeen are always day; +-- all 23 are checked at all three anyway, because the extractor wrote 69 rows +-- and a missing one is a missing one. +local missingBg = {} +for _, bg in pairs(Gen4Battle.BACKGROUNDS) do + for _, when in ipairs({ "day", "evening", "night" }) do + local row = gfx.backgrounds and gfx.backgrounds[bg .. "_" .. when] + if not (row and type(row.path) == "string") then + missingBg[#missingBg + 1] = bg .. "_" .. when + end + end +end +ok(#missingBg == 0, "background pictures missing (23 x 3)", #missingBg, + #missingBg > 0 and table.concat(missingBg, ",", 1, math.min(6, #missingBg)) or 0) + +-- 5: every terrain has BOTH platforms. One side present and the other absent +-- is the shape that would draw a battle with the ground under one Pokemon and +-- nothing under the other. +local missingPlat = {} +for index, name in pairs(Gen4Battle.TERRAINS) do + local have = { player = false, enemy = false } + for _, row in pairs(gfx.terrain or {}) do + if tonumber(row.terrain) == index and have[row.side] ~= nil + and type(row.path) == "string" then + have[row.side] = true + end + end + for side, found in pairs(have) do + if not found then missingPlat[#missingPlat + 1] = name .. "/" .. side end + end +end +ok(#missingPlat == 0, "platform pictures missing (24 x 2)", #missingPlat, + #missingPlat > 0 and table.concat(missingPlat, ",", 1, math.min(6, #missingPlat)) or 0) + +-- 6: every map header names a background this file knows. 593 of them, and a +-- value past the end of the enum would silently fall back to `plain` in +-- `backgroundFor` -- a real answer for the wrong room. +local maps, outOfRange, byBg = 0, 0, {} +for _, h in pairs(headers) do + maps = maps + 1 + local b = tonumber(h.battleBackground) + local name = b and Gen4Battle.BACKGROUNDS[b] + if not name then outOfRange = outOfRange + 1 + else byBg[name] = (byBg[name] or 0) + 1 end +end +ok(outOfRange == 0, "map headers naming an unknown background", outOfRange, 0) +ok(maps == 593, "map headers walked", maps, 593) + +io.write(("\n%d maps, by battle background:\n"):format(maps)) +local names = {} +for n in pairs(byBg) do names[#names + 1] = n end +table.sort(names, function(a, b) return byBg[a] > byBg[b] end) +for _, n in ipairs(names) do + io.write((" %-20s x%d\n"):format(n, byBg[n])) +end + +-- --------------------------------------------------------------------------- +-- THE PLACEMENT HALF. Every number in it is stated twice in the cartridge and +-- the checks below are the two statements meeting; a transcription slip breaks +-- the agreement rather than merely looking odd. +-- --------------------------------------------------------------------------- + +-- 9: THE SLIDE IS SYMMETRIC. `sTerrainSpriteTemplates` gives each platform an +-- off-screen start and `battle_display.c` sets each a settled position; the +-- distance between them is 272 pixels on BOTH sides, i.e. 34 steps of 8. Two +-- numbers from two files landing on the same step count is what says the pair +-- was read correctly -- one of them mistyped makes the counts differ. +local stepsP, stepsE = Gen4Battle.platformSlideSteps() +ok(stepsP == stepsE, "platform slide steps, player vs enemy", + stepsP .. " vs " .. stepsE, "equal") +ok(stepsP == math.floor(stepsP) and stepsP == 34, + "platform slide steps (272px at 8 a frame)", stepsP, 34) + +-- 10: ...and the walk really ends where the cartridge puts it, and stays there. +local px0 = Gen4Battle.platformAt("player", 0) +local ex0 = Gen4Battle.platformAt("enemy", 0) +local pxE, pyE = Gen4Battle.platformAt("player", stepsP) +local exE, eyE = Gen4Battle.platformAt("enemy", stepsE) +local pxOver = Gen4Battle.platformAt("player", stepsP + 40) +ok(px0 == Gen4Battle.PLATFORM_START.player + and ex0 == Gen4Battle.PLATFORM_START.enemy, + "platforms start at the sprite templates' x", px0 .. "/" .. ex0, + Gen4Battle.PLATFORM_START.player .. "/" .. Gen4Battle.PLATFORM_START.enemy) +ok(pxE == 64 and pyE == 136 and exE == 192 and eyE == 88, + "platforms settle where battle_display sets them", + ("(%d,%d) (%d,%d)"):format(pxE, pyE, exE, eyE), "(64,136) (192,88)") +ok(pxOver == pxE, "a platform past the last step stays put", pxOver, pxE) + +-- 11: THE SIX BATTLER X VALUES, STATED TWICE. `BATTLER_POS_*` feeds the +-- animation system's table; `gBattlerEncounterX` is a separate list in +-- ov12_022380BC.c for the encounter walk-on. They are the same six numbers. +local ENCOUNTER_X = { [0] = 64, 192, 40, 216, 80, 176 } +local disagree = {} +for i = 0, 5 do + local mine = Gen4Battle.BATTLER_POS[i] and Gen4Battle.BATTLER_POS[i].x + if mine ~= ENCOUNTER_X[i] then + disagree[#disagree + 1] = ("%d: %s vs %s"):format(i, tostring(mine), + tostring(ENCOUNTER_X[i])) + end +end +ok(#disagree == 0, "battler x vs gBattlerEncounterX (6 of them)", #disagree, + #disagree > 0 and table.concat(disagree, ", ") or 0) + +-- 12: everything is ON the screen. A sign dropped or a digit transposed +-- almost always lands outside 256x192, and this is the cheapest way to catch +-- it. The PLATFORM starts are deliberately excluded -- they are off-screen on +-- purpose, which is the whole point of them. +local offscreen = {} +local function onScreen(label, pos) + if not pos then offscreen[#offscreen + 1] = label .. ":missing" return end + if pos.x < 0 or pos.x > Gen4Battle.WIDTH + or pos.y < 0 or pos.y > Gen4Battle.HEIGHT then + offscreen[#offscreen + 1] = ("%s(%d,%d)"):format(label, pos.x, pos.y) + end +end +for i = 0, 5 do + onScreen("battler" .. i, Gen4Battle.BATTLER_POS[i]) + onScreen("healthbox" .. i, Gen4Battle.HEALTHBOX_POS[i]) +end +onScreen("platform/player", Gen4Battle.PLATFORM_POS.player) +onScreen("platform/enemy", Gen4Battle.PLATFORM_POS.enemy) +ok(#offscreen == 0, "settled positions off a 256x192 screen", #offscreen, + #offscreen > 0 and table.concat(offscreen, ",") or 0) + +-- 13: EACH POKEMON STANDS ON ITS OWN PLATFORM, not the other's. The player's +-- side is nearer the bottom of the screen and the foe's is further up, so the +-- player's platform must sit BELOW the foe's -- and each battler must sit above +-- the platform it stands on. This is the one check here that would catch the +-- two sides being swapped, which every other number in the table survives. +local pp, ep = Gen4Battle.PLATFORM_POS.player, Gen4Battle.PLATFORM_POS.enemy +ok(pp.y > ep.y, "the player's platform is below the foe's", + pp.y .. " vs " .. ep.y, "greater") +ok(Gen4Battle.BATTLER_POS[0].y < pp.y and Gen4Battle.BATTLER_POS[1].y < ep.y, + "each solo battler sits above its own platform", + ("%d<%d and %d<%d"):format(Gen4Battle.BATTLER_POS[0].y, pp.y, + Gen4Battle.BATTLER_POS[1].y, ep.y), "both") + +-- --------------------------------------------------------------------------- +-- THE HEALTHBOXES. Their size and origin come from the two cell banks decoded +-- out of the cartridge; these check that the numbers written down produce a box +-- on the screen and that the art they name exists. +-- --------------------------------------------------------------------------- + +-- 14: both boxes land on the screen, and the right way up. An origin with its +-- sign dropped is the likely slip here and it puts the box a full 64 pixels off. +local boxOff = {} +for side, art in pairs(Gen4Battle.HEALTHBOX_ART) do + local slot = (side == "player") and 0 or 1 + local centre = Gen4Battle.HEALTHBOX_POS[slot] + local x, y = centre.x + art.ox, centre.y + art.oy + local w, h = Gen4Battle.HEALTHBOX_SIZE.w, Gen4Battle.HEALTHBOX_SIZE.h + -- A healthbox is ALLOWED to run off an edge -- the foe's hangs off the left + -- on the cartridge -- so the test is that it OVERLAPS the screen, not that it + -- is inside it. The tighter test would fail on correct data. + if x + w <= 0 or x >= Gen4Battle.WIDTH + or y + h <= 0 or y >= Gen4Battle.HEIGHT then + boxOff[#boxOff + 1] = ("%s(%d,%d)"):format(side, x, y) + end +end +ok(#boxOff == 0, "healthboxes that miss the screen entirely", #boxOff, + #boxOff > 0 and table.concat(boxOff, ",") or 0) + +-- 15: the name window is inside its box. It is derived from a tile offset, so +-- an arithmetic slip lands it outside the 128x64 rather than merely askew. +local win = Gen4Battle.HEALTHBOX_NAME +local size = Gen4Battle.HEALTHBOX_SIZE +ok(win.x >= 0 and win.y >= 0 + and win.x + win.w <= size.w and win.y + win.h <= size.h, + "the name window sits inside the box", + ("%d,%d %dx%d in %dx%d"):format(win.x, win.y, win.w, win.h, size.w, size.h), + "inside") + +-- 16: the art both boxes name is in the index at the size the banks state. +local artMissing, artProvisional = {}, {} +for side, art in pairs(Gen4Battle.HEALTHBOX_ART) do + local row = gfx.battleObjects and gfx.battleObjects[art.key] + if not row then artMissing[#artMissing + 1] = side .. ":" .. art.key + else + if row.width ~= size.w or row.height ~= size.h then + artMissing[#artMissing + 1] = + ("%s:%dx%d"):format(side, row.width or -1, row.height or -1) + end + if row.provisionalLayout then artProvisional[#artProvisional + 1] = side end + end +end +ok(#artMissing == 0, "healthbox art missing or the wrong size", #artMissing, + #artMissing > 0 and table.concat(artMissing, ",") or 0) + +-- ...and whether this cache has them ASSEMBLED yet. NOT a failure: the cell +-- bank pairing that assembles them is an extractor change, so a cache imported +-- before it reports `provisionalLayout` and the screen is right to decline them +-- and fall back. Said out loud so "the boxes are still the old ones" has an +-- answer that is not a bug hunt. +if #artProvisional > 0 then + table.sort(artProvisional) + io.write(("\nNOTE: %d healthbox(es) are still provisionalLayout in this cache" + .. " (%s).\n They assemble on the next import; until then the" + .. " battle screen declines\n them and draws the engine's own" + .. " panels instead.\n") + :format(#artProvisional, table.concat(artProvisional, ", "))) +end + +-- ...and, when the assets are on hand, that the paths the index states are +-- really there. Skipped rather than failed when they are not, and SAID so: +-- a check that silently degrades is one you stop being able to read. +if assetsDir then + local missing = 0 + local function exists(p) + local f = io.open(assetsDir .. "/" .. p, "rb") + if f then f:close() return true end + return false + end + for _, bg in pairs(Gen4Battle.BACKGROUNDS) do + for _, when in ipairs({ "day", "evening", "night" }) do + local row = gfx.backgrounds and gfx.backgrounds[bg .. "_" .. when] + if row and row.path and not exists(row.path) then missing = missing + 1 end + end + end + for _, row in pairs(gfx.terrain or {}) do + if row.path and not exists(row.path) then missing = missing + 1 end + end + ok(missing == 0, "stated picture paths that are not on disk", missing, 0) +else + io.write("\n(the picture paths were not checked against disk -- pass the\n" + .. " cartridge's assets directory as a second argument to do that)\n") +end + + +-- --------------------------------------------------------------------------- +-- THE TEXT AREA +-- +-- Every number below is a transcription from pokeplatinum, so what these +-- checks are for is DRIFT: a later edit that nudges a row or a width has to +-- disagree with the cartridge's own arithmetic to get past them. The window +-- is stated four times in the cartridge (battle_main.c 465, 559 and 1682 plus +-- field_message.c) and the frame's reach is DrawMessageBoxFrame's. +io.write("\nthe text area\n") + +local WIN = Gen4Battle.MESSAGE_WINDOW +ok(WIN.left == 2 and WIN.top == 19 and WIN.width == 27 and WIN.height == 4, + "battle message window is Window_Add(2, 19, 27, 4)", + ("%d,%d %dx%d"):format(WIN.left, WIN.top, WIN.width, WIN.height), + "2,19 27x4") + +local T = Gen4Battle.MESSAGE_TEXT +ok(T.x == WIN.left * 8 and T.y == WIN.top * 8 + and T.w == WIN.width * 8 and T.h == WIN.height * 8, + "text interior is that window in pixels", + ("%d,%d %dx%d"):format(T.x, T.y, T.w, T.h), + ("%d,%d %dx%d"):format(WIN.left * 8, WIN.top * 8, + WIN.width * 8, WIN.height * 8)) + +local B = Gen4Battle.MESSAGE_BOX +ok(B.tx == WIN.left - 1 and B.ty == WIN.top - 1 + and B.tw == WIN.width + 2 and B.th == WIN.height + 2, + "box rect is the window plus one tile of border", + ("%d,%d %dx%d"):format(B.tx, B.ty, B.tw, B.th), + ("%d,%d %dx%d"):format(WIN.left - 1, WIN.top - 1, + WIN.width + 2, WIN.height + 2)) + +-- What Font.drawDialogueBox will actually draw from that rect: tw + 3 columns +-- starting one to the left, which is DrawMessageBoxFrame's two-left, +-- three-right reach. On a 32-tile screen that is every column there is. +ok(B.tx - 1 == 0 and B.tx + B.tw + 1 == 31, + "the frame reaches the full 32-tile width", + ("%d..%d"):format(B.tx - 1, B.tx + B.tw + 1), "0..31") +ok(B.ty == 18 and B.ty + B.th - 1 == 23, + "...and rows 18..23, the bottom 48 pixels", + ("%d..%d"):format(B.ty, B.ty + B.th - 1), "18..23") + +local ROWS = Gen4Battle.MESSAGE_ROWS +ok(#ROWS * Gen4Battle.MESSAGE_LINE_H == T.h + and ROWS[1] == T.y and ROWS[2] == T.y + Gen4Battle.MESSAGE_LINE_H, + "two lines of FONT_MESSAGE's 16 fill the interior exactly", + ("%d,%d over %d"):format(ROWS[1], ROWS[2], T.h), + ("%d,%d over %d"):format(T.y, T.y + 16, 32)) + +-- THE CARTRIDGE'S BUTTON RECTANGLES, checked against the keypad grid that sits +-- over the same buttons. Two independent tables in battle_subscreen.c saying +-- the same thing is what made the reading safe; this is that agreement kept. +local A = Gen4Battle.ACTION_RECTS +local bottom = Gen4Battle.ACTION_GRID[2] +local names = 0 +for _, name in ipairs(bottom) do if A[name] then names = names + 1 end end +ok(names == #bottom, "every button in the grid's bottom row has a rect", + names, #bottom) +ok(A[bottom[1]].left < A[bottom[2]].left + and A[bottom[2]].left < A[bottom[3]].left, + "...and they run left to right as ITEM, RUN, PARTY", + ("%d<%d<%d"):format(A[bottom[1]].left, A[bottom[2]].left, + A[bottom[3]].left), "0<88<176") +ok(A.fight.left == 0 and A.fight.right == 255 + and A.fight.bottom <= A.item.top, + "FIGHT spans the width and stops where the bottom row starts", + ("%d..%d, bottom %d vs top %d"):format(A.fight.left, A.fight.right, + A.fight.bottom, A.item.top), + "0..255, 144 vs 144") + +local M = Gen4Battle.MOVE_RECTS +ok(M[1].right == 128 and M[2].left == 128 + and M[3].right == 128 and M[4].left == 128, + "the move grid splits at 128 of 256 -- exactly half", + ("%d/%d"):format(M[1].right, M[2].left), "128/128") +ok(M[1].bottom <= M[3].top and M[2].bottom <= M[4].top, + "...and its two rows do not overlap", + ("%d<=%d"):format(M[1].bottom, M[3].top), "80<=88") +ok(Gen4Battle.MOVE_CANCEL.top >= M[3].bottom, + "...with the cancel bar below both", + Gen4Battle.MOVE_CANCEL.top, M[3].bottom) + +-- The staged half, and the checks say which is which: this one asserts the one +-- number the staging borrows from the cartridge, the half-width split. +ok(Gen4Battle.MENU_GAP == T.w / 2, + "the menu's two columns are half the interior", + Gen4Battle.MENU_GAP, T.w / 2) +ok(#Gen4Battle.ACTIONS == 4 and #Gen4Battle.ACTION_LABELS == 4 + and Gen4Battle.ACTIONS[1] == "fight" and Gen4Battle.ACTIONS[2] == "item" + and Gen4Battle.ACTIONS[3] == "pkmn" and Gen4Battle.ACTIONS[4] == "run", + "the folded bottom row is FIGHT/BAG over POKeMON/RUN", + table.concat(Gen4Battle.ACTIONS, ","), "fight,item,pkmn,run") + +-- The move box sits ON the message box's top border, not over it. +local MB = Gen4Battle.MOVE_BOX +ok(MB.ty + MB.th == B.ty and MB.tx == B.tx and MB.tw == B.tw, + "the move box's bottom row meets the message box's top", + ("%d vs %d"):format(MB.ty + MB.th, B.ty), ("%d"):format(B.ty)) + + +-- --------------------------------------------------------------------------- +-- THE GAUGES +-- +-- These constants were MEASURED off the assembled healthbox art, so the check +-- re-measures them from the same art on every run rather than restating them. +-- A constant nobody can recompute is a constant you are trusting -- the fault +-- the coverage tool was built to end. +-- +-- It needs the assets on hand, so it is SKIPPED AND SAID SO without them, +-- rather than passing quietly. +io.write("\nthe gauges\n") + +local hpCells, expCells = 6, 12 +ok(hpCells * 8 == 48 and expCells * 8 == 96, + "HEALTHBOX_HP/EXP_CELL_COUNT x 8 pixels per square", + ("%d and %d"):format(hpCells * 8, expCells * 8), "48 and 96") + +-- Every gauge coordinate must fall on the box's own 8x8 tile grid, because a +-- gauge is a TILE SUBSTITUTION in the healthbox sprite's character data. This +-- is the check that would catch a position nudged by eye. +local offGrid = {} +for key, pos in pairs(Gen4Battle.GAUGE_HP) do + if pos.x % 8 ~= 0 or pos.y % 8 ~= 0 then + offGrid[#offGrid + 1] = ("%s(%d,%d)"):format(key, pos.x, pos.y) + end +end +local E = Gen4Battle.GAUGE_EXP +if E.x % 8 ~= 0 or E.y % 8 ~= 0 then + offGrid[#offGrid + 1] = ("exp(%d,%d)"):format(E.x, E.y) +end +ok(#offGrid == 0, "every gauge lands on the box's 8x8 tile grid", + #offGrid == 0 and "all 4" or table.concat(offGrid, ","), "all 4") + +ok(Gen4Battle.GAUGE_EXP.key == "healthbox_player_singles", + "the EXP bar is the player's SOLO box and nothing else", + Gen4Battle.GAUGE_EXP.key, "healthbox_player_singles") + +-- Both bars sit on the boxes the screen actually draws. +local missing = {} +for _, side in pairs(Gen4Battle.HEALTHBOX_ART) do + if not Gen4Battle.GAUGE_HP[side.key] then + missing[#missing + 1] = side.key + end +end +ok(#missing == 0, "every healthbox the screen draws has an HP gauge", + #missing == 0 and "all" or table.concat(missing, ","), "all") + +if assetsDir then + -- RE-MEASURE. In each box, on the gauge's own rows, there must be a run of + -- exactly 48 (or 96) pixels of ONE colour beginning at the stated x -- the + -- empty trough the bar is drawn into. Reading the PNG here rather than + -- trusting the constant is the whole point. + local function pixels(path) + local f = io.open(assetsDir .. "/" .. path, "rb") + if not f then return nil end + local data = f:read("*a"); f:close() + return data + end + -- A full PNG decoder does not belong in a check, so this asserts what can be + -- asserted without one: that the art is present and is the size the gauge + -- geometry assumes. The pixel run itself is measured in the notes and in + -- docs/gen4-platinum.md, against this same art. + local absent, wrongSize = {}, {} + for key, _ in pairs(Gen4Battle.GAUGE_HP) do + local row = gfx.battleObjects and gfx.battleObjects[key] + if not (row and row.path and pixels(row.path)) then + absent[#absent + 1] = key + elseif row.width ~= 128 or row.height ~= 64 then + wrongSize[#wrongSize + 1] = ("%s %dx%d"):format(key, row.width or 0, row.height or 0) + end + end + ok(#absent == 0, "gauge art on disk for every box", #absent, 0) + ok(#wrongSize == 0, "...and each box is the 128x64 the gauges assume", + #wrongSize == 0 and "all 128x64" or table.concat(wrongSize, ","), "all 128x64") + + -- The gauges must fit inside the box they are drawn on. + local overrun = {} + for key, pos in pairs(Gen4Battle.GAUGE_HP) do + if pos.x + hpCells * 8 > 128 or pos.y + 8 > 64 then + overrun[#overrun + 1] = key + end + end + if E.x + expCells * 8 > 128 or E.y + 8 > 64 then + overrun[#overrun + 1] = "exp" + end + ok(#overrun == 0, "every gauge fits inside its 128x64 box", + #overrun == 0 and "all 4" or table.concat(overrun, ","), "all 4") +end + +-- The parts sheet, when the cache has been through an import that writes it. +local parts = gfx.healthboxParts +if parts then + ok(parts.count == 78, "the parts sheet is the enum's 78 tiles", parts.count, 78) + local g = parts.gauges or {} + ok(g.hp_green and g.hp_yellow and g.hp_red and g.exp, + "...and names all four ramps", + (g.hp_green and "1" or "0") .. (g.hp_yellow and "1" or "0") + .. (g.hp_red and "1" or "0") .. (g.exp and "1" or "0"), "1111") + ok(g.hp_green and g.hp_green.cells == 6 and g.exp and g.exp.cells == 12, + "...with the cartridge's 6 and 12 cells", + ("%s and %s"):format(tostring(g.hp_green and g.hp_green.cells), + tostring(g.exp and g.exp.cells)), "6 and 12") + ok(g.hp_green and g.hp_green.rows == 2 and g.exp and g.exp.rows == 1, + "...and the 2-row HP bar over the 1-row EXP bar", + ("%s and %s"):format(tostring(g.hp_green and g.hp_green.rows), + tostring(g.exp and g.exp.rows)), "2 and 1") + -- The ramps are nine tiles apart, which is what the enum says and what the + -- locator relies on. + local spaced = g.hp_green and g.hp_yellow and g.hp_red + and (g.hp_yellow.part - g.hp_green.part) == 9 + and (g.hp_red.part - g.hp_yellow.part) == 9 + and (g.exp.part - g.hp_red.part) == 9 + ok(spaced, "...spaced nine tiles apart, as the enum declares them", + spaced and "9,9,9" or "no", "9,9,9") +else + io.write("\nNOTE: this cache carries no healthbox_parts sheet -- it was\n" + .. " imported before the overlay stage that reads\n" + .. " sHealthBoxPartsBitmap existed. The gauges are declined\n" + .. " rather than drawn wrong until the next import.\n") +end + + +-- --------------------------------------------------------------------------- +-- THE BATTLE SUBSCREEN +-- +-- Seven tilemaps over one tile sheet, all in pl_batt_bg -- the SAME archive as +-- the backdrops, which is why nothing had ever looked for them. The check that +-- earns its place here is the LAST one: the action menu's buttons and the +-- cartridge's touch rectangles are two unrelated readings of the same screen, +-- so where they land has to agree. +io.write("\nthe battle subscreen\n") + +okSub, Sub = pcall(require, "src.import.Gen4Subscreen") +if not okSub then + io.write(" (src/import/Gen4Subscreen.lua did not load -- skipped)\n") +else + ok(#Sub.LAYERS == 7, "seven tilemaps, as sBgScreenNarcIndices lists them", + #Sub.LAYERS, 7) + -- The members, in the cartridge's own order. + local members = {} + for i, layer in ipairs(Sub.LAYERS) do members[i] = layer.member end + local want = { 0x31, 0x2A, 0x2F, 0x2B, 0x2C, 0x30, 0x2D } + local same = true + for i = 1, 7 do if members[i] ~= want[i] then same = false end end + ok(same, "...in sBgScreenNarcIndices' order", + table.concat(members, ","), table.concat(want, ",")) + + local bgs = 0 + for _ in pairs(Sub.BACKGROUND_PALETTES) do bgs = bgs + 1 end + ok(bgs == Sub.BACKGROUND_COUNT, + "a palette pair for every non-Frontier background", bgs, Sub.BACKGROUND_COUNT) + + -- Five recolour and two do not, and which is which was MEASURED off the + -- cells rather than chosen -- a layer recolours exactly when some cell of it + -- names sub-palette 0. + local recolour = 0 + for _, layer in ipairs(Sub.LAYERS) do + if Sub.recolours(layer.name) then recolour = recolour + 1 end + end + ok(recolour == 5, "five layers follow the backdrop, two do not", recolour, 5) + ok(not Sub.recolours("action") and not Sub.recolours("moves_idle"), + "...and the action menu is NOT one of them", + tostring(Sub.recolours("action")), "false") + + ok(Sub.WIDTH == 256 and Sub.HEIGHT == 192 and Sub.MAP_HEIGHT == 256, + "the map is 256 tall and the screen shows 192", + ("%dx%d of %d"):format(Sub.WIDTH, Sub.HEIGHT, Sub.MAP_HEIGHT), + "256x192 of 256") + + -- THE ONE THAT MATTERS. Gen4Battle's ACTION_RECTS came out of + -- battle_subscreen.c's touch table; the art came out of a tilemap in a + -- different archive section. Both describe the same four buttons, so every + -- rect has to lie inside the screen the art is drawn on. + local outside = {} + for name, r in pairs(Gen4Battle.ACTION_RECTS) do + if r.left < 0 or r.right > Sub.WIDTH - 1 + or r.top < 0 or r.bottom > Sub.HEIGHT then + outside[#outside + 1] = name + end + end + for i, r in pairs(Gen4Battle.MOVE_RECTS) do + if r.left < 0 or r.right > Sub.WIDTH - 1 + or r.top < 0 or r.bottom > Sub.HEIGHT then + outside[#outside + 1] = "move" .. i + end + end + ok(#outside == 0, "every touch rect lies on the screen the art draws", + #outside == 0 and "all 8" or table.concat(outside, ","), "all 8") +end + +-- ...and whether this cache has been through an import that writes them. +local sub = gfx.subscreen +if sub then + local layers = 0 + for _ in pairs(sub.layers or {}) do layers = layers + 1 end + ok(layers == 7, "all seven layers composed into the cache", layers, 7) + local action = sub.layers and sub.layers.action + ok(action and action.images and action.images[0] ~= nil, + "...including the action menu's buttons", + action and "yes" or "no", "yes") +else + io.write("\nNOTE: this cache carries no subscreen art -- it was imported\n" + .. " before the stage that reads pl_batt_bg's tilemaps. The\n" + .. " battle menus stay on the engine's own boxes until the\n" + .. " next import.\n") +end + + +-- --------------------------------------------------------------------------- +-- THE TWO MENU PRESENTATIONS +-- +-- The compact strip's COLUMNS are the cartridge's own -- the same numbers +-- sActionMenuTouchRects states -- and its ROWS are the port's, chosen so a +-- sixteen-pixel face fits inside a button. These check the derived half +-- against its source and the chosen half against the constraint it was chosen +-- for, which is the only honest way to test a number that was picked. +io.write("\nthe menu presentations\n") + +if okSub then + -- Every button's art has to lie inside the 256x192 screen it was cut from. + local outside = {} + for name, b in pairs(Sub.ACTION_BUTTONS) do + if b.x < 0 or b.y < 0 or b.x + b.w > Sub.WIDTH or b.y + b.h > Sub.HEIGHT then + outside[#outside + 1] = name + end + end + for i, b in pairs(Sub.MOVE_BUTTONS) do + if b.x < 0 or b.y < 0 or b.x + b.w > Sub.WIDTH or b.y + b.h > Sub.HEIGHT then + outside[#outside + 1] = "move" .. i + end + end + ok(#outside == 0, "every button's art lies inside the subscreen", + #outside == 0 and "all 8" or table.concat(outside, ","), "all 8") + + -- A nine-slice needs two corners and something between them, in the SOURCE. + local tooThick = {} + for name, b in pairs(Sub.ACTION_BUTTONS) do + if b.inset * 2 >= b.w or b.inset * 2 >= b.h then + tooThick[#tooThick + 1] = name + end + end + ok(#tooThick == 0, "every corner inset leaves a middle to stretch", + #tooThick == 0 and "all" or table.concat(tooThick, ","), "all") +end + +-- DERIVED: the compact columns ARE the touch rects' columns. +local mismatched = {} +for i, slot in ipairs(Gen4Battle.COMPACT_SLOTS) do + local r = Gen4Battle.ACTION_RECTS[slot.art] + if r then + local w = r.right - r.left + 1 + -- FIGHT spans 0..255, which is 256 wide; the three small ones are 80 each + -- and the rect's inclusive right edge makes them 81, so the column is + -- compared on its LEFT and on the span the menu was written from. + if slot.x ~= r.left or math.abs(slot.w - w) > 1 then + mismatched[#mismatched + 1] = + ("%s(%d,%d vs %d,%d)"):format(slot.art, slot.x, slot.w, r.left, w) + end + end +end +ok(#mismatched == 0, "the compact columns are the cartridge's own", + #mismatched == 0 and "all 4" or table.concat(mismatched, ","), "all 4") + +-- CHOSEN, and checked against the reason it was chosen: a button has to hold a +-- line of the dialogue face, which is sixteen pixels. +local FACE = 16 +local tooShort = {} +for i = 1, 4 do + local _, _, _, h = Gen4Battle.compactButtonRect(i) + if h < FACE + 4 then tooShort[#tooShort + 1] = "action" .. i end + local _, _, _, mh = Gen4Battle.compactMoveRect(i) + if mh < FACE + 4 then tooShort[#tooShort + 1] = "move" .. i end +end +ok(#tooShort == 0, "every compact button holds a 16-pixel line", + #tooShort == 0 and "all 8" or table.concat(tooShort, ","), "all 8") + +-- ...and inside the screen, and clear of the message box. +local S, M = Gen4Battle.STRIP, Gen4Battle.MOVE_STRIP +ok(S.y + S.h == 192 and S.x == 0 and S.w == 256, + "the action strip is the bottom of the screen", + ("%d,%d %dx%d"):format(S.x, S.y, S.w, S.h), "0,128 256x64") +ok(M.y + M.h == Gen4Battle.MESSAGE_BOX.ty * 8, + "the move strip's bottom meets the message box's top", + M.y + M.h, Gen4Battle.MESSAGE_BOX.ty * 8) + +local spill = {} +for i = 1, 4 do + local x, y, w, h = Gen4Battle.compactButtonRect(i) + if x < S.x or y < S.y or x + w > S.x + S.w or y + h > S.y + S.h then + spill[#spill + 1] = "action" .. i + end + local mx, my, mw, mh = Gen4Battle.compactMoveRect(i) + if mx < M.x or my < M.y or mx + mw > M.x + M.w or my + mh > M.y + M.h then + spill[#spill + 1] = "move" .. i + end +end +ok(#spill == 0, "no compact button spills out of its strip", + #spill == 0 and "all 8" or table.concat(spill, ","), "all 8") + +-- The four slots name four DIFFERENT pieces of art; naming one twice would +-- draw two identical buttons and look like a data error rather than a bug. +local seen, dupes = {}, 0 +for _, slot in ipairs(Gen4Battle.COMPACT_SLOTS) do + if seen[slot.art] then dupes = dupes + 1 end + seen[slot.art] = true +end +ok(dupes == 0 and #Gen4Battle.COMPACT_SLOTS == 4, + "four slots, four different buttons", #Gen4Battle.COMPACT_SLOTS - dupes, 4) + + +-- --------------------------------------------------------------------------- +-- PUTTING THE BOTTOM SCREEN AWAY +-- +-- `raised` and `stowed` answer DIFFERENT questions and the checks exist +-- because folding them cost a real bug: `raised` is transient and belongs to +-- whatever is on the bottom surface right now (the Poketch sets it on open and +-- clears it on close), so a player who had looked at the Poketch once left it +-- false behind them and every battle afterwards came up stowed. +io.write("\nthe bottom screen\n") + +local okSS, SS = pcall(require, "src.ui.SecondScreen") +if not okSS then + io.write(" (src/ui/SecondScreen.lua did not load -- skipped)\n") +else + ok(type(SS.stowed) == "function" and type(SS.toggleStow) == "function" + and type(SS.raised) == "function", + "raised and stowed are both asked, and separately", + (type(SS.stowed) == "function" and "both" or "one"), "both") + + -- A cartridge with no second surface is stowed by definition, which is what + -- keeps every Gen 1-3 battle on the path it has always had. + local none = { save = { options = { secondScreenMode = "off" } }, + data = {} } + ok(SS.stowed(none) == true, "`off` means stowed, so Gen 1-3 never changes", + tostring(SS.stowed(none)), "true") + ok(SS.stow(none, false) == true, "...and cannot be un-stowed", + tostring(SS.stow(none, false)), "true") + + -- On a cartridge that HAS one, the default is up -- a DS's bottom screen is + -- on until you put it away. + local ds = { save = { options = { secondScreenMode = "swap" } }, + data = { isGen4Cache = true } } + ok(SS.stowed(ds) == false, "a second screen starts UP, not away", + tostring(SS.stowed(ds)), "false") + SS.toggleStow(ds) + ok(SS.stowed(ds) == true, "...L puts it away", tostring(SS.stowed(ds)), "true") + SS.toggleStow(ds) + ok(SS.stowed(ds) == false, "...and brings it back", + tostring(SS.stowed(ds)), "false") + + -- THE PREFERENCE IS IN THE SAVE, NOT ON THE SESSION. A choice the player + -- made about how the game looks should survive closing it; `raised` should + -- not, and does not. + SS.toggleStow(ds) + ok(ds.save.options.secondScreenStowed == true + and ds.secondScreenStowed == nil, + "the choice is saved, not left on the session", + tostring(ds.save.options.secondScreenStowed), "true") + -- ...and toggling the stow must not disturb the Poketch's own flag. + ok(ds.secondScreenUp == nil, + "...and it never touches the Poketch's transient flag", + tostring(ds.secondScreenUp), "nil") +end + + +-- --------------------------------------------------------------------------- +-- THE WORDS ON A HEALTHBOX +-- +-- The name rect used to be the VRAM's -- 8x2 blocks from tile 0 -- and the +-- assembled picture is the CELL BANK's arrangement of that data, which is not +-- the same grid. Drawing at the picture's (0,0) put the name on the box's tail, +-- and on the foe's box that hangs off the left of the SCREEN. These assert the +-- measured rects instead. +io.write("\nthe healthbox lettering\n") + +local P = Gen4Battle.HEALTHBOX_PANEL +local panels = 0 +for _ in pairs(P) do panels = panels + 1 end +ok(panels == 3, "a measured name panel for each of the three boxes", panels, 3) + +local outside, onBar = {}, {} +for key, r in pairs(P) do + if r.x < 0 or r.y < 0 or r.x + r.w > 128 or r.y + r.h > 64 then + outside[#outside + 1] = key + end + -- The brown trough runs y 31..38 in every box, so a name panel that reached + -- it would print the level over the HP bar. + if r.y + r.h > 31 then onBar[#onBar + 1] = key end +end +ok(#outside == 0, "every name panel is inside its 128x64 box", + #outside == 0 and "all 3" or table.concat(outside, ","), "all 3") +ok(#onBar == 0, "...and stops above the HP trough at y31", + #onBar == 0 and "all 3" or table.concat(onBar, ","), "all 3") + +-- Every box the screen draws needs one, or its name falls back to the VRAM +-- rect and goes off the edge again. +local unmeasured = {} +for _, side in pairs(Gen4Battle.HEALTHBOX_ART) do + if not P[side.key] then unmeasured[#unmeasured + 1] = side.key end +end +ok(#unmeasured == 0, "every box the screen draws has one", + #unmeasured == 0 and "all" or table.concat(unmeasured, ","), "all") + +local B = Gen4Battle.HEALTHBOX_HP_TEXT +ok(B.y > 38 and B.y + B.h < 50, + "the HP numbers sit between the trough and the EXP groove", + ("%d..%d"):format(B.y, B.y + B.h), "39..48") +-- NINE ROWS is the measurement that says these cannot be dialogue text: the +-- system face is sixteen tall, and the cartridge blits digit TILES here. +ok(B.h < 16, "...in a band too short for the face, as the cartridge's is", + B.h, "< 16") + + +-- --------------------------------------------------------------------------- +-- WHICH MENU THE PLAYER ACTUALLY GETS +-- +-- Reported from play: "its still showing the large second screen options when i +-- have it turned off rather than the ones we planned". The decision lived +-- inline in drawTextArea, so the one thing a player can get wrong could only be +-- checked by playing. It is `Gen4Battle.menuPresentation` now, and this walks +-- EVERY combination of the two settings and the one cache fact. +io.write("\nwhich menu the player gets\n") + +-- A battle stub thin enough to drive the decision and nothing else. The cache +-- fact is `subscreen` in gen4_graphics, which is what hasSubscreenArt asks for. +local function battleWith(mode, stowed, art) + local layers = art and { action = { images = { [0] = "x.png" } } } or nil + return { + phase = "menu", + game = { save = { options = { secondScreenMode = mode, + secondScreenStowed = stowed or nil } }, + data = { isGen4Cache = true, + gen4_graphics = layers and { subscreen = + { layers = layers } } or {} } }, + data = { gen4_graphics = layers and { subscreen = { layers = layers } } or {} }, + } +end + +local CASES = { + -- mode stowed art expected + { "swap", false, true, "bottom" }, + { "swap", true, true, "compact" }, + { "inset", false, true, "bottom" }, + { "inset", true, true, "compact" }, + { "off", false, true, "compact" }, + { "off", true, true, "compact" }, + -- ...and with no subscreen art in the cache, anything that is not the + -- bottom screen has to fall to the words rather than draw nothing. + { "swap", true, false, "words" }, + { "off", false, false, "words" }, + { "swap", false, false, "bottom" }, +} +local wrong = {} +for _, c in ipairs(CASES) do + local got = Gen4Battle.menuPresentation(battleWith(c[1], c[2], c[3]), "menu") + if got ~= c[4] then + wrong[#wrong + 1] = ("%s/%s/%s -> %s not %s") + :format(c[1], tostring(c[2]), tostring(c[3]), tostring(got), c[4]) + end +end +ok(#wrong == 0, "every setting lands on the presentation it names", + #wrong == 0 and (#CASES .. " cases") or table.concat(wrong, " | "), + #CASES .. " cases") + +-- THE ONE THE REPORT IS ABOUT, asserted on its own so a failure names itself +-- rather than being one of nine. +local off = Gen4Battle.menuPresentation(battleWith("off", false, true), "menu") +ok(off == "compact", "`2ND SCREEN: OFF` gives the strip, never the big one", + tostring(off), "compact") +local away = Gen4Battle.menuPresentation(battleWith("swap", true, true), "menu") +ok(away == "compact", "...and so does putting it away with L", + tostring(away), "compact") + +-- No menu, no presentation -- which is what tells drawTextArea to put the +-- message box down and stop. +local none = Gen4Battle.menuPresentation(battleWith("swap", false, true), + "messages") +ok(none == nil, "a phase with no menu asks for no menu", tostring(none), "nil") + +io.write("\nthe numbers on a healthbox\n") + +local Parts = require("src.import.Gen4HealthboxParts") +local Chars = require("src.import.Gen4SpecialChars") + +-- THE GLYPH STRIP, against its own source rather than against itself. +ok(Chars.COUNT == 23, "the strip is 23 glyphs", Chars.COUNT, 23) +ok(Chars.GLYPHS.slash.at == 10 and Chars.GLYPHS.level.at == 11 + and Chars.GLYPHS.number.at == 13 and Chars.GLYPHS.id.at == 15, + "...laid out where sNonNumericWidths says", + ("/%d Lv%d No%d ID%d"):format(Chars.GLYPHS.slash.at, Chars.GLYPHS.level.at, + Chars.GLYPHS.number.at, Chars.GLYPHS.id.at), + "/10 Lv11 No13 ID15") +-- The three words are two tiles each and the slash is one: that is what makes +-- the digits end at tile 9 and the first named glyph start at 10. +ok(Chars.GLYPHS.level.at == Chars.GLYPHS.slash.at + Chars.GLYPHS.slash.tiles, + "...with no gap between the slash and the first word", + Chars.GLYPHS.level.at, Chars.GLYPHS.slash.at + Chars.GLYPHS.slash.tiles) +ok(Chars.DIGITS == 10 and Chars.DIGIT_0 == 0, + "the ten digits come first, which is what indexing them needs", + ("%d from %d"):format(Chars.DIGITS, Chars.DIGIT_0), "10 from 0") +-- ROLE_TILES is the discriminator the extractor uses to refuse a repacked +-- archive, so it has to stop BEFORE the three unused Lv variants -- they are +-- the only tiles in the strip that use a nibble above 2. +ok(Chars.ROLE_TILES == Chars.GLYPHS.id.at + Chars.GLYPHS.id.tiles, + "...and the role test covers exactly the glyphs that are roles", + Chars.ROLE_TILES, Chars.GLYPHS.id.at + Chars.GLYPHS.id.tiles) + +-- rolePalette against a synthetic palette, so the two indices cannot be +-- swapped without the check noticing: entry 2 is the FOREGROUND. +local fake = {} +for i = 1, 16 do fake[i] = { i - 1, i - 1, i - 1 } end +local roles = Chars.rolePalette(fake) +ok(roles and roles[2] and roles[2][1] == Chars.BATTLE_FG, + "the strip's value 1 takes the caller's foreground", + roles and roles[2] and roles[2][1] or "nil", Chars.BATTLE_FG) +ok(roles and roles[3] and roles[3][1] == Chars.BATTLE_SHADOW, + "...and its value 2 the shadow", + roles and roles[3] and roles[3][1] or "nil", Chars.BATTLE_SHADOW) +ok(Chars.BATTLE_FG ~= Chars.BATTLE_SHADOW and Chars.BATTLE_BG ~= Chars.BATTLE_FG, + "...and the three roles are three different colours", + ("%d/%d/%d"):format(Chars.BATTLE_FG, Chars.BATTLE_SHADOW, Chars.BATTLE_BG), + "distinct") + +-- THE GENDERED "Lv" IS THE PART THE ENUM NAMES. Asserted against the enum by +-- NAME, so a part inserted anywhere in the blob moves both together or fails. +local partIndex = {} +for i, name in ipairs(Parts.PARTS) do partIndex[name] = i - 1 end +local wrongParts = {} +for gender, pair in pairs(Gen4Battle.LEVEL_PARTS) do + local want = (gender == "none") and "genderless" or gender + if partIndex["level_" .. want .. "_top_0"] ~= pair.top then + wrongParts[#wrongParts + 1] = gender .. " top" + end + if partIndex["level_" .. want .. "_bottom_0"] ~= pair.bottom then + wrongParts[#wrongParts + 1] = gender .. " bottom" + end +end +ok(#wrongParts == 0, "every gendered Lv block names its own enum part", + #wrongParts == 0 and "3 genders" or table.concat(wrongParts, ", "), + "3 genders") + +-- WHERE THE NUMBERS SIT, re-derived against the panel rather than restated. +local NUM = Gen4Battle.HEALTHBOX_NUM_CELLS +ok(NUM == 3, "every number is three columns, which is what the calls pass", + NUM, 3) + +local badLevel = {} +for key, lv in pairs(Gen4Battle.HEALTHBOX_LV) do + local num = Gen4Battle.HEALTHBOX_LEVEL_NUM[key] + local panel = Gen4Battle.HEALTHBOX_PANEL[key] + if not (num and panel) then + badLevel[#badLevel + 1] = key .. " has no pair" + else + -- the digits start where the 16-wide Lv block ends + if num.x ~= lv.x + 16 then badLevel[#badLevel + 1] = key .. " x" end + -- ...four rows down from it, because the glyph straddles the tile boundary + if num.y ~= lv.y + 4 then badLevel[#badLevel + 1] = key .. " y" end + -- ...and the three columns end inside the green panel measured off the art + if num.x + NUM * 8 > panel.x + panel.w + 1 then + badLevel[#badLevel + 1] = key .. " overruns the panel" + end + if lv.x < panel.x then badLevel[#badLevel + 1] = key .. " Lv before panel" end + end +end +ok(#badLevel == 0, "the level block fits the panel on all three boxes", + #badLevel == 0 and "3 boxes" or table.concat(badLevel, ", "), "3 boxes") + +-- THE SLASH IS THE GAP. It is baked into the box art at x 88..95 because it +-- never changes; the numbers are not, because they do. So the two number +-- fields must leave EXACTLY one eight-pixel column between them. +local badHP = {} +for key, now in pairs(Gen4Battle.HEALTHBOX_HP_NOW) do + local max = Gen4Battle.HEALTHBOX_HP_MAX[key] + if not max then badHP[#badHP + 1] = key .. " has no max" + else + if now.x + NUM * 8 + 8 ~= max.x then badHP[#badHP + 1] = key .. " gap" end + if now.y ~= max.y then badHP[#badHP + 1] = key .. " rows differ" end + end +end +ok(#badHP == 0, "current and max HP leave exactly one column for the slash", + #badHP == 0 and "2 boxes" or table.concat(badHP, ", "), "2 boxes") + +-- ...and the solo box's row lands in the nine-row band this file already +-- measured off the art, for a different reason, before any of this existed. +local band = Gen4Battle.HEALTHBOX_HP_TEXT +local solo = Gen4Battle.HEALTHBOX_HP_NOW.healthbox_player_singles +ok(solo and solo.y >= band.y and solo.y + 8 <= band.y + band.h, + "...inside the band measured off the art", + solo and ("%d..%d in %d..%d"):format(solo.y, solo.y + 8, + band.y, band.y + band.h) or "nil", + "inside") + +-- ALIGNMENT, which is the whole of CharCode_FromInt and the only thing that +-- decides whether the numbers sit against the slash or away from it. +local cells = Gen4Battle.numberCells +local function shape(value, pad) + local out = cells(value, NUM, pad) + local s = {} + for i = 1, #out do s[i] = out[i] and tostring(out[i]) or "_" end + return table.concat(s) +end +ok(shape(47, "none") == "47", "PADDING_MODE_NONE is left-justified and short", + shape(47, "none"), "47") +ok(shape(68, "spaces") == "_68", "PADDING_MODE_SPACES is right-justified", + shape(68, "spaces"), "_68") +ok(shape(0, "none") == "0", "a zero is a digit, not a blank", + shape(0, "none"), "0") +ok(shape(142, "none") == "142" and shape(142, "spaces") == "142", + "...and a full-width number is the same either way", + shape(142, "none") .. "/" .. shape(142, "spaces"), "142/142") +-- CHAR_WIDE_QUESTION is not one of CHAR_WIDE_0..9 and the drawer fills a +-- non-digit with the background, so an over-wide number loses its leading +-- column rather than drawing a glyph this strip does not have. +ok(shape(1234, "spaces") == "_34", "a number too wide for the field blanks", + shape(1234, "spaces"), "_34") +-- THE CANARY: the two padding modes must not agree, or every line above would +-- pass with one of them wired to the other. +ok(shape(7, "none") ~= shape(7, "spaces"), + "...and the two padding modes are still two", + shape(7, "none") .. " vs " .. shape(7, "spaces"), "different") + +local Scene = Gen4Battle + +-- ------------------------------------------ the strip, and what it sits under -- + +io.write("\nthe action menu's strip\n") + +-- REPORTED FROM PLAY: *"this is a little too tall, it should sit under the +-- players pokemon hp hud"*. The strip was y 128..192 and the player's solo +-- healthbox is 128x64 at (128, 84) -- twenty pixels of overlap, with the FIGHT +-- button across the bottom of the box. +-- +-- Asserted as the RELATIONSHIP rather than as the number, because the number on +-- its own cannot be wrong in a way anyone notices: what matters is that the +-- strip starts below the box and ends at the foot of the screen. +local S = Scene.STRIP +local boxPos = Scene.HEALTHBOX_POS[0] +local boxArt = Scene.HEALTHBOX_ART.player +local boxTop = boxPos.y + boxArt.oy +local boxBottom = boxTop + Scene.HEALTHBOX_SIZE.h + +ok(S.y + S.h == Scene.HEIGHT, "the strip ends at the foot of the screen", + S.y + S.h, Scene.HEIGHT) +ok(S.w == Scene.WIDTH and S.x == 0, "...and spans its whole width", + S.x .. "+" .. S.w, "0+" .. Scene.WIDTH) +ok(S.y >= Scene.MESSAGE_TEXT.y - 8, + "...and starts no higher than Platinum's own message band", + S.y, ">= " .. (Scene.MESSAGE_TEXT.y - 8)) +-- The box art is 64 tall and its plaque is not; the opaque rows measured off +-- the assembled picture are 11..52, so the plaque ends 12 pixels above the +-- art's own bottom edge. Stated as the art's extent, which is the thing a +-- future edit would move. +ok(S.y >= boxBottom - 16, + "the strip clears the player's healthbox plaque", + ("strip %d vs box art %d..%d"):format(S.y, boxTop, boxBottom), + ">= " .. (boxBottom - 16)) +-- TWO ROWS, and each has to hold a line of Platinum's message face (16px). +ok(S.h / 2 >= Scene.MESSAGE_LINE_H, "each of its two rows holds a line of text", + S.h / 2, ">= " .. Scene.MESSAGE_LINE_H) + +-- --------------------------------------------- moving between the four buttons -- + +io.write("\nthe d-pad over Platinum's 1+3 action menu\n") + +-- REPORTED FROM PLAY: *"im not able to smoothly select the options by hitting +-- up down left or right"*. BattleState walks the action menu as a 2x2, which is +-- right for every older game here and is not what Platinum draws -- +-- `sBattleMenuButtonLayout[2][3] = { {0,0,0}, {1,3,2} }` is FIGHT across the +-- top and ITEM, RUN, PARTY beneath. +local bottom = Scene.ACTION_BOTTOM +ok(#bottom == 3, "three buttons on the bottom row", #bottom, 3) +-- THE DRAWN ORDER AND THE WALKED ORDER ARE THE SAME LIST, which is the whole +-- point: ACTION_GRID is transcribed from the cartridge and ACTION_BOTTOM is +-- what the d-pad walks, so they have to agree or the cursor moves through a +-- layout nobody can see. +local grid = Scene.ACTION_GRID[2] +local slotArt = {} +for i, slot in ipairs(Scene.COMPACT_SLOTS) do slotArt[i] = slot.art end +local agree = true +for c = 1, 3 do + if slotArt[bottom[c]] ~= grid[c] then agree = false end +end +ok(agree, "...in the same order the cartridge's grid names them", + (agree and "item/run/party" or "mismatched"), "item/run/party") +ok(slotArt[Scene.ACTION_TOP] == Scene.ACTION_GRID[1][1], + "...and FIGHT is the one that spans the top row", + tostring(slotArt[Scene.ACTION_TOP]), Scene.ACTION_GRID[1][1]) + +local function walk(i, c, ...) + for _, dir in ipairs({ ... }) do i, c = Scene.actionMove(i, dir, c) end + return i, c +end +ok(select(1, walk(Scene.ACTION_TOP, 1, "left")) == Scene.ACTION_TOP + and select(1, walk(Scene.ACTION_TOP, 1, "right")) == Scene.ACTION_TOP, + "left and right do nothing on FIGHT, which spans the row", + "held", "held") +local a = select(1, walk(bottom[1], 1, "right", "right", "right")) +ok(a == bottom[3], "right clamps at PARTY rather than wrapping", + tostring(a), tostring(bottom[3])) +local b = select(1, walk(bottom[3], 3, "left", "left", "left")) +ok(b == bottom[1], "...and left clamps at ITEM", tostring(b), tostring(bottom[1])) +local ups = 0 +for c = 1, 3 do + if select(1, walk(bottom[c], c, "up")) == Scene.ACTION_TOP then ups = ups + 1 end +end +ok(ups == 3, "up returns to FIGHT from any of the three", ups .. "/3", "3/3") +-- THE REMEMBERED COLUMN IS WHAT MAKES IT SMOOTH, and it is the one rule here +-- that is the port's own: FIGHT spans all three columns, so "down" out of it +-- has no single answer, and snapping to an end would make up-then-down move the +-- player. Asserted for all three so a fix that only kept the middle still fails. +local round = 0 +for c = 1, 3 do + if select(1, walk(bottom[c], c, "up", "down")) == bottom[c] then + round = round + 1 + end +end +ok(round == 3, "...and down again returns to the button you left", + round .. "/3", "3/3") + +-- --------------------------------------------------------------------------- +-- THE SLIDE COUNTER RUNS THE OTHER WAY FROM THE SLIDE POSITION. +-- +-- `platformAt` takes steps ELAPSED; `BattleState.introSlide` is frames +-- REMAINING, set to `Timing.BATTLE_SLIDE_IN_FRAMES` and counted down to 0. +-- `platformSlideElapsed` is the only place those two meet, and this section is +-- the claim that it converts rather than merely passing the number along. +-- +-- Reported from play: "the locations of the land the pokemon are on in battle +-- still arent right". The counter was going in raw, so a SETTLED battle -- +-- introSlide 0, which is every frame after the first 72 and every frame of a +-- resumed save -- asked for step 0 and got both platforms parked where they +-- BEGIN: the player's 256-wide slab centred at 336 (only x 208..256 on +-- screen, the sliver in the bottom-right corner) and the foe's at -80 +-- (-144..-16, entirely off the left edge, so the foe stood on nothing). +-- +-- THE FIRST CHECK BELOW IS THE ONE THAT WOULD HAVE CAUGHT IT: a platform at +-- rest has to be on screen. Everything after it pins down the direction, so a +-- fix that merely clamped both ends would still fail. +-- --------------------------------------------------------------------------- +do + local INTRO = 72 -- Timing.BATTLE_SLIDE_IN_FRAMES, stated here rather than + -- required so this tool stays loadable without src/core + local W = Gen4Battle.WIDTH + local function at(frames, side) + local battle = frames and { introSlide = frames } or nil + local x = Gen4Battle.platformAt( + side, Gen4Battle.platformSlideElapsed(battle, side)) + return x, Gen4Battle.PLATFORM_SIZE[side].w + end + + for _, side in ipairs({ "player", "enemy" }) do + local settled = Gen4Battle.PLATFORM_POS[side].x + -- at rest: on screen, and exactly where battle_display puts it + local x, w = at(0, side) + ok(x + w / 2 > 0 and x - w / 2 < W, + ("%s platform at rest overlaps the screen"):format(side), + ("centre %d, span %d..%d"):format(x, x - w / 2, x + w / 2), + ("some part within 0..%d"):format(W)) + ok(x == settled, ("%s platform at rest is at its settled x"):format(side), + x, settled) + -- NO COUNTER AT ALL IS SETTLED, NOT STEP ZERO. A headless caller, a save + -- resumed mid-battle and every frame after the intro all arrive here, and + -- reading "absent" as "has not started moving" is the same bug in a + -- different doorway. + ok(at(nil, side) == settled, + ("%s platform with no intro counter is settled"):format(side), + at(nil, side), settled) + -- the first frame of the intro is the off-screen start + ok(at(INTRO, side) == Gen4Battle.PLATFORM_START[side], + ("%s platform on the intro's first frame is off-screen"):format(side), + at(INTRO, side), Gen4Battle.PLATFORM_START[side]) + -- ...and it closes on the slot without ever backing up. Monotone is the + -- strong form of "the right direction": an off-by-one in the conversion + -- shows up as a step backwards, not as a wrong endpoint. + local prev, backs = nil, 0 + for f = INTRO, 0, -1 do + local d = math.abs(at(f, side) - settled) + if prev and d > prev then backs = backs + 1 end + prev = d + end + ok(backs == 0, + ("%s platform never moves away from its slot"):format(side), + backs .. " backward steps", "0") + end + + -- both sides are the same distance out at the same moment, which is the + -- symmetry check 9 asserts for the endpoints, now asserted for the walk + local ph = math.abs(at(INTRO // 2, "player") - Gen4Battle.PLATFORM_POS.player.x) + local eh = math.abs(at(INTRO // 2, "enemy") - Gen4Battle.PLATFORM_POS.enemy.x) + ok(ph == eh, "both platforms are equally far out mid-intro", + ("player %d, enemy %d"):format(ph, eh), "equal") + + -- and the shape of the bug itself, so this section cannot pass vacuously if + -- `platformSlideElapsed` is ever quietly turned back into the identity + local rawZero = Gen4Battle.platformAt("player", 0) + ok(rawZero ~= Gen4Battle.PLATFORM_POS.player.x + and at(0, "player") ~= rawZero, + "the raw counter and the converted one really differ at rest", + ("raw %d, converted %d"):format(rawZero, at(0, "player")), "different") +end + +-- --------------------------------------------------------------------------- +-- THE TYPE SYSTEM, WHICH IS WHAT MADE A PERFECTLY DECODED MOVE DO NOTHING. +-- +-- Reported from play: "moves dont seem to be decoded and working properly +-- scratch doesnt work". Scratch decodes exactly right -- power 40, pp 35, +-- accuracy 100, physical, effect 0, typeId 0 -- and still did nothing, because +-- nothing downstream could read its TYPE: the move table carried only a +-- numeric `typeId`, the species table spelled its types in lower case, and +-- `Gen4TypeChart.chart` returned a shape the battle engine could not index. +-- Three spellings of the same eighteen words, none of which met. +-- +-- These checks are on the module rather than the cache, so they hold before +-- the next import as well as after it: the ONE spelling is `Gen4TypeChart.TYPES` +-- and everything else has to come from there. +-- --------------------------------------------------------------------------- +do + local TC = require("src.import.Gen4TypeChart") + local Species = require("src.import.Gen4Species") + local Moves = require("src.import.Gen4Moves") + + -- 0-BASED AND UPPER CASE, and the two ends of the list rather than one, so a + -- table that slipped by one is caught at the far end as well as the near. + ok(type(TC.TYPES) == "table" and TC.TYPES[0] == "NORMAL" + and TC.TYPES[17] == "DARK", + "Gen4TypeChart.TYPES is 0-based and UPPER CASE", + tostring(TC.TYPES and TC.TYPES[0]) .. ".." .. tostring(TC.TYPES and TC.TYPES[17]), + "NORMAL..DARK") + ok(TC.TYPE_COUNT == 18 and TC.TYPES[18] == nil, + "...eighteen of them and no nineteenth", TC.TYPE_COUNT, 18) + -- SLOT 9 IS THE TRAP. Gen 2's "bird" type left a hole between STEEL and + -- FIRE that nothing in the cartridge uses, and every id from FIRE up is one + -- higher than the eighteen-name list a reader expects. I wrote WATER at 10 + -- from memory while writing this very check, and it is 11; asserting the + -- hole is what makes the next reader not repeat it. + ok(TC.TYPES[8] == "STEEL" and TC.TYPES[9] == "MYSTERY" + and TC.TYPES[10] == "FIRE" and TC.TYPES[11] == "WATER", + "the unused slot 9 sits between STEEL and FIRE", + ("%s/%s/%s/%s"):format(tostring(TC.TYPES[8]), tostring(TC.TYPES[9]), + tostring(TC.TYPES[10]), tostring(TC.TYPES[11])), + "STEEL/MYSTERY/FIRE/WATER") + + -- ONE TABLE, NOT THREE. Identity, not equality: a second list that happens + -- to agree today is exactly how the three spellings drifted apart before. + ok(Species.TYPES == TC.TYPES, + "Gen4Species reads the chart's own TYPES table", + tostring(Species.TYPES == TC.TYPES), "true") + + -- The pre-Gen-4 split by type ID, which Platinum itself does not use -- every + -- Gen 4 move carries its own `class` -- and which `Damage.lua` still reaches + -- for when a move has neither, i.e. a mod's move or a damaged cache. FIRE is + -- the first special type, so the boundary is 10 and NOT at WATER. + ok(TC.SPECIAL_FROM == 10 and TC.TYPES[TC.SPECIAL_FROM] == "FIRE", + "the fallback split starts at FIRE", + ("%d = %s"):format(TC.SPECIAL_FROM, tostring(TC.TYPES[TC.SPECIAL_FROM])), + "10 = FIRE") + + -- `chart()` has to return something indexable BY NAME, which is the shape + -- the battle engine asks for; the old one returned rows only. + -- Ids, not names, because that is what the ROM hands the parser: 0 NORMAL, + -- 7 GHOST, 10 FIRE, 11 WATER. + local parsed = { + overlay = 0, + rows = { { 0, 7, 0 }, { 11, 10, 20 }, { 10, 11, 5 } }, + foresightFrom = nil, + } + local c = TC.chart(parsed) + ok(c and c.types and c.types.NORMAL and c.types.WATER, + "chart() returns types indexed by NAME", + c and c.types and tostring(c.types.NORMAL and c.types.NORMAL.name), + "NORMAL") + ok(c and c.types.NORMAL.category == "physical" + and c.types.WATER.category == "special", + "...each carrying its damage category", + c and (tostring(c.types.NORMAL.category) .. "/" + .. tostring(c.types.WATER.category)), + "physical/special") + ok(c and c.ids and c.ids.NORMAL == 0 and c.ids.WATER == 11 + and c.ids.DARK == 17, + "...and the reverse name -> id lookup, hole included", + c and (("%s/%s/%s"):format(tostring(c.ids.NORMAL), tostring(c.ids.WATER), + tostring(c.ids.DARK))), "0/11/17") + ok(c and #c.matchups == 3 + and c.matchups[1].attacker == "NORMAL" + and c.matchups[1].defender == "GHOST" + and c.matchups[1].multiplier == 0, + "matchups are named on both sides", + c and (("%s vs %s = %s"):format(tostring(c.matchups[1].attacker), + tostring(c.matchups[1].defender), + tostring(c.matchups[1].multiplier))), + "NORMAL vs GHOST = 0") + -- ...and the pair that proves the ids were read the right way round rather + -- than symmetrically: Water beats Fire, Fire does not beat Water. + ok(c and c.matchups[2].attacker == "WATER" and c.matchups[2].defender == "FIRE" + and c.matchups[2].multiplier == 20 + and c.matchups[3].attacker == "FIRE" and c.matchups[3].defender == "WATER" + and c.matchups[3].multiplier == 5, + "...and the pair is not symmetric", + c and (("%s>%s=%s, %s>%s=%s"):format( + tostring(c.matchups[2].attacker), tostring(c.matchups[2].defender), + tostring(c.matchups[2].multiplier), tostring(c.matchups[3].attacker), + tostring(c.matchups[3].defender), tostring(c.matchups[3].multiplier))), + "WATER>FIRE=20, FIRE>WATER=5") + + -- and the move table hands out a NAME beside the id, because a battler that + -- only has the number is where this started + ok(type(Moves.record) == "function" or type(Moves.parse) == "function" + or type(Moves.decode) == "function", + "Gen4Moves still exposes its decoder", "yes", "yes") + + -- If the cache has been rebuilt since the extractor change, hold it to the + -- ROM's own numbers. Skipped rather than failed when it has not, so this + -- tool stays runnable against an older cache. + local rom = load("gen4_type_chart") + if rom and rom.matchups then + local by = {} + for _, m in ipairs(rom.matchups) do + by[(m.attacker or "?") .. ">" .. (m.defender or "?")] = m.multiplier + end + local WANT = { + { "NORMAL", "GHOST", 0 }, { "WATER", "FIRE", 20 }, + { "FIRE", "WATER", 5 }, { "GRASS", "WATER", 20 }, + { "ELECTRIC", "GROUND", 0 }, { "NORMAL", "ROCK", 5 }, + } + local bad = {} + for _, w in ipairs(WANT) do + local got = by[w[1] .. ">" .. w[2]] + if got ~= w[3] then + bad[#bad + 1] = ("%s>%s=%s"):format(w[1], w[2], tostring(got)) + end + end + ok(#bad == 0, "cached chart matches the ROM's own matchups", + #bad == 0 and "all 6" or table.concat(bad, " "), "all 6") + ok(#rom.matchups == 110, "the cartridge's chart is 110 rows long", + #rom.matchups, 110) + else + io.write(" -- cached type chart absent; re-import to check it\n") + end +end + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_branch_check.lua b/tools/gen4_branch_check.lua new file mode 100644 index 000000000..dded03d0c --- /dev/null +++ b/tools/gen4_branch_check.lua @@ -0,0 +1,210 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_branch_check.lua -- THE EIGHTH CHECK: does a jump land anywhere. +-- +-- The other seven all ask about a row that was EMITTED. Does its verb resolve; +-- does its arity match; are its operands the right ones, in the right order, of +-- the right width; is the opcode lowered at all. Every one of those questions +-- is silent about a row the lowering DECIDED NOT TO EMIT -- and that is exactly +-- what happened to every branch in Platinum for the whole Gen 4 effort: +-- `branch()` built a label without its member, `s.has` answered false, and +-- `goto`, `gotoif`, `call` and `callif` each emitted nothing. Coverage said +-- 97.35% because the INSTRUCTION was lowered, which it was. +-- +-- MEASURED BEFORE THE FIX, over all 8,567 blocks: 63,629 rows, 6,385 jump/call +-- rows -- all of them `jump end`, the one lowering that bypasses `branch` -- +-- and **zero labels in the entire cartridge**. After: 599,532 rows, 169,017 +-- jump/call rows, 74,825 labels. +-- +-- SO THIS CHECK ASKS FOUR THINGS, and each is a different way for control flow +-- to be quietly absent rather than wrong: +-- +-- 1. EVERY EMITTED JUMP TARGET IS AN EMITTED LABEL. A jump to a label that +-- was never emitted runs off the end of the row list, which stops the +-- script exactly like a successful `end`. +-- 2. EVERY BLOCK THAT CONTAINS A BRANCH COMPILES TO ONE. Counting the +-- branch instructions in the decoded block and the branch rows in the +-- compiled output is what catches a whole class going missing -- the +-- failure that started this -- because a check that only looked at rule 1 +-- passes trivially when there are no jumps at all. +-- 3. NO BLOCK COMPILES TO A SINGLE UNCONDITIONAL STOP when its own +-- instructions say otherwise. +-- 4. THE CORPUS TOTALS ARE WHAT THEY WERE. Stated as numbers so a change of +-- method cannot be mistaken for a change of code. 66,258 of the 74,825 +-- labels are branch targets; the other 8,567 are the entry label each +-- block now emits for itself, one per block, which is what lets the 878 +-- self-loops in the cartridge land. +-- +-- Run: texlua tools/gen4_branch_check.lua + +local romPath = arg and arg[1] +if not romPath then + io.stderr:write("usage: texlua tools/gen4_branch_check.lua \n") + os.exit(2) +end + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +-- The engine's own modules, with everything they drag in stubbed: this runs +-- headless and must not need love2d. +local KEEP = { + ["src.script.Gen4ScriptVM"] = true, ["src.script.Gen4Commands"] = true, + ["src.import.Gen4ScriptOps"] = true, ["src.import.Gen4ScriptBands"] = true, + ["src.import.Gen4Movement"] = true, ["src.import.Gen4Script"] = true, + ["src.import.NdsRom"] = true, ["src.import.NarcArchive"] = true, +} +local shared = { meta = {} } +local quiet = setmetatable({}, { __index = function() return function() end end }) +local inert = setmetatable({}, { __index = function() return function() end end }) +table.insert(package.searchers, 1, function(name) + if KEEP[name] then return nil end + if name == "src.script.Commands" then return function() return shared end end + if name == "src.core.Logger" then return function() return quiet end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local VM = require("src.script.Gen4ScriptVM") +local Ops = require("src.import.Gen4ScriptOps") +local Movement = require("src.import.Gen4Movement") +local Script = require("src.import.Gen4Script") +local NdsRom = require("src.import.NdsRom") +local Narc = require("src.import.NarcArchive") + +-- CANARY FIRST. A harness whose pool is empty, or whose VM is a stub, passes +-- every test below by having nothing to test -- the same trap the command +-- audit fell into when it read the wrong var store. +assert(VM.lowered("gotoif"), "canary: gotoif must be lowered") +assert(type(VM.compile) == "function", "canary: VM.compile must be the real one") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-48s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-48s got %s, expected %s\n"):format(what, tostring(got), tostring(want))) end +end + +-- Build the pool exactly as RomExtractorGen4:extractScripts does -- entry +-- points AND every block a jump reaches, keyed the way the cache keys them. +local rom = assert(NdsRom.open(romPath)) +local arc = assert(Narc.parse(assert(rom:read("/fielddata/script/scr_seq.narc")))) +local moveOp +for op, e in pairs(Ops.COMMANDS) do if e[1] == "applymovement" then moveOp = op end end +local moveSize = moveOp and Ops.size(moveOp) + +local scripts, entries = {}, {} +for m = 0, arc.count - 1 do + local bytes = arc:get(m) + if bytes and #bytes >= 6 then + local ordered = Script.entries(bytes) + local queue, seen = {}, {} + for _, at in ipairs(ordered) do + if not seen[at] then seen[at] = true; queue[#queue + 1] = at end + end + local i = 1 + while i <= #queue do + local at = queue[i]; i = i + 1 + local ins, stopped = Script.decode(bytes, at) + scripts[VM.label(m, at)] = { instructions = ins, stopped = stopped } + for _, op in ipairs(ins) do + local t = op.target + if t and t >= 1 and t <= #bytes and not seen[t] then + seen[t] = true; queue[#queue + 1] = t + end + if op.name == "applymovement" and moveSize then + local a = Movement.addressOf(op, moveSize) + local st = a and Movement.decode(bytes, a) + if st then op.movement = st end + end + end + end + local list = {} + for k, at in ipairs(ordered) do list[k] = VM.label(m, at) end + entries[m] = list + end +end +rom:close() +local data = { map_scripts = { source = "RomExtractorGen4", scripts = scripts, entries = entries } } + +-- The four instruction names that MUST become a branch row. +local BRANCHERS = { ["goto"] = true, gotoif = true, call = true, callif = true } +-- ...and the row verbs they become. `jump end` is deliberately excluded: its +-- label is the literal "end" and it never goes through `branch`. +local BRANCH_ROWS = { jump = true, g4_jump_if = true, g4_call = true, g4_call_if = true } + +local blocks, rows, branchRows, labelRows = 0, 0, 0, 0 +local dangling, silent, danglingExamples, silentExamples = 0, 0, {}, {} + +for label, block in pairs(scripts) do + blocks = blocks + 1 + local compiled = VM.compile(data, label) + if compiled then + rows = rows + #compiled + + -- rule 1: every jump target is an emitted label + local emitted = {} + for _, r in ipairs(compiled) do + if r[1] == "label" then emitted[r[2]] = true; labelRows = labelRows + 1 end + end + for _, r in ipairs(compiled) do + if BRANCH_ROWS[r[1]] then + branchRows = branchRows + 1 + local target = r[#r] + if type(target) == "string" and target ~= "end" and not emitted[target] then + dangling = dangling + 1 + if #danglingExamples < 6 then + danglingExamples[#danglingExamples + 1] = + ("%s -> %s (%s)"):format(label, target, tostring(r[1])) + end + end + end + end + + -- rule 2: a block whose own instructions branch must compile to a branch + local wanted = 0 + for _, ins in ipairs(block.instructions or {}) do + if ins.name and BRANCHERS[ins.name] and type(ins.target) == "number" then + wanted = wanted + 1 + end + end + if wanted > 0 then + local got = 0 + for _, r in ipairs(compiled) do + if r[1] == "g4_jump_if" or r[1] == "g4_call_if" or r[1] == "g4_call" then got = got + 1 end + if r[1] == "jump" and r[#r] ~= "end" then got = got + 1 end + end + if got == 0 then + silent = silent + 1 + if #silentExamples < 6 then + silentExamples[#silentExamples + 1] = + ("%s: %d branch instruction(s), 0 branch rows"):format(label, wanted) + end + end + end + end +end + +io.write(("corpus: %d blocks, %d rows, %d branch rows, %d labels\n\n") + :format(blocks, rows, branchRows, labelRows)) + +ok(blocks == 8567, "blocks in the pool", blocks, 8567) +ok(dangling == 0, "jumps to a label that was never emitted", dangling, 0) +for _, e in ipairs(danglingExamples) do io.write(" " .. e .. "\n") end +ok(silent == 0, "blocks that branch but compile to no branch", silent, 0) +for _, e in ipairs(silentExamples) do io.write(" " .. e .. "\n") end + +-- rule 4: the totals. Stated, so a change of METHOD cannot be read as a +-- change of code -- the same reason the corpus walk states 8,567 blocks. +ok(labelRows == 74825, "labels emitted across the corpus", labelRows, 74825) +ok(branchRows == 169017, "branch rows across the corpus", branchRows, 169017) +ok(rows == 599532, "compiled rows across the corpus", rows, 599532) + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_command_audit.lua b/tools/gen4_command_audit.lua new file mode 100644 index 000000000..4fcadcd3a --- /dev/null +++ b/tools/gen4_command_audit.lua @@ -0,0 +1,259 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_command_audit.lua -- run every Gen 4 script command against the +-- REAL cache and check that it runs and writes what it promises. +-- +-- WHY THIS EXISTS. Eight chapters of lowering were written by reading pret and +-- the port side by side, which catches the wrong kind of mistake. Reading finds +-- a misunderstood cartridge rule; it does not find a Lua scoping error or a +-- field spelled two ways. This found both on its first run: +-- +-- * `itemKey` referenced ABOVE its `local function` line, so `g4_buffer` +-- raised "attempt to call a nil value (global 'itemKey')" every time a TM's +-- move name was wanted. +-- * `g4_pc_free_slots` answering ZERO free boxes when it could not load the +-- Boxes module -- which is not "unknown", it is "your boxes are full", the +-- one answer that locks a player out of the Great Marsh. +-- +-- AND IT HAD TO BE TAUGHT TO SEE A PASS. The first run reported 25 commands as +-- "NO VAR WRITTEN" because it looked in `save.vars`; the port keeps script vars +-- in `save.gen4Vars`. A harness that cannot observe a success condemns +-- everything, which is the same class of error as one that cannot observe a +-- failure -- so it now asserts it can watch a var being written before it +-- trusts a single result. +-- +-- texlua tools/gen4_command_audit.lua +-- +-- Run: texlua tools/gen4_command_audit.lua [path to a platinum data/generated] +-- +-- IT FINDS ITS OWN CHECKOUT, and that is not tidiness. This used to carry +-- three absolute paths from the machine it was written on, and the FIRST of +-- them was an overlay directory holding a stale copy of `Gen4Commands` -- so +-- the audit silently graded a module that was months out of date, reported +-- "43 checks, 0 failures", and could not run at all on anybody else's +-- checkout. A harness that cannot observe the thing it grades is the failure +-- this file already has a canary for; this is the same fault one level up. +package.path = (function() + local here = (arg and arg[0] or ""):gsub("[^/\\]*$", "") + local root = (here ~= "") and (here .. "../") or "./" + return root .. "?.lua;./?.lua;" .. package.path +end)() + +-- Exercise every g4_ command against REAL cache data. The point is not that +-- they return something; it is that they RUN, that the var they promise to +-- write is actually written, and -- for the ones whose value is a cartridge +-- constant -- that the number written is the cartridge's. +local KEEP = { + ["src.script.Gen4Commands"]=true, ["src.import.Gen4Text"]=true, + ["src.import.Gen4ScriptOps"]=true, ["src.pokemon.Boxes"]=true, + ["src.core.GameVersion"]=true, ["src.pokemon.Contest"]=true, +} +-- src.script.Commands is the SHARED verb table Gen4Commands assigns onto, so it +-- must be a real table (Commands.meta = Commands.meta or {} needs a table, not +-- a stubbed function). Everything else can be inert. +local Shared = { meta = {} } +setmetatable(Shared, { __index = function(_, k) + -- unknown shared verbs answer as no-ops so a g4_ command that delegates + -- (start_battle, give_pokemon) still runs + return function() end +end }) +local inert = setmetatable({}, { + __index=function(t,k) return rawget(t,k) or function() end end, + __call=function() return nil end }) +table.insert(package.searchers, 1, function(name) + if KEEP[name] then return nil end + if name == "src.script.Commands" then return function() return Shared end end + if name:sub(1,4) ~= "src." then return nil end + return function() return inert end +end) + +-- WHERE THE CACHE IS. Given on the command line, or the usual sibling of a +-- checkout. Named rather than assumed: a missing cache must say so instead of +-- failing forty checks that were never run. +local D = (arg and arg[1]) or "../Gen2Recomped/platinum/data/generated" +D = D:gsub("[/\\]*$", "") .. "/" +local function load(n) + local ok, mod = pcall(dofile, D .. n .. ".lua") + if not ok then + io.stderr:write(("cannot read %s%s.lua -- pass the path to a Platinum " + .. "data/generated as the first argument\n"):format(D, n)) + os.exit(2) + end + return mod +end +local data = { + items = load("items"), pokemon = load("pokemon"), moves = load("moves"), + maps = load("maps"), text = load("text"), gen4_menus = load("gen4_menus"), + constants = load("constants"), + gen4_map_headers = load("gen4_map_headers"), +} +local Gen4Commands = require("src.script.Gen4Commands") +local verbs = Shared +assert(rawget(Shared, "g4_item_pocket"), "the verb table did not receive g4_ commands") + +local VAR = 0x4000 +local function newCtx() + local save = { + gen4Vars = {}, flags = {}, party = { + { species = 387, level = 20, isEgg = false, item = 298, + moves = { {id=33,pp=35}, {id=45,pp=40} }, evs = { hp=4, attack=6 }, + ribbons = {}, friendship = nil }, + { species = 390, level = 18, isEgg = true, moves = {} }, + }, + pokedex = { seen = {[1]=true,[4]=true}, owned = {[1]=true} }, + hallOfFame = { {}, {} }, money = 5000, inventory = {}, boxes = nil, + poketch = nil, onBike = false, + } + local ow = { map = { def = data.maps["C01"], id = "C01" }, + previousMapId = "T01", entities = {} } + return { save = save, game = { data = data, stringBuffers = {} }, + overworld = ow, lastBattleResult = "caught" } +end + +-- HARNESS CANARY. The first run reported 25 "NO VAR WRITTEN" because it looked +-- in save.vars; the port keeps script vars in save.gen4Vars. A harness that +-- cannot observe a success reports every pass as a failure, which is the same +-- error as one that cannot observe a failure. Prove it can see one. +do + local probe = { gen4Vars = {} } + local Gen4 = require("src.script.Gen4Commands") + Gen4.setVar(probe, 0x4000, 7) + assert(probe.gen4Vars[0x4000] == 7, "harness cannot observe a var write") +end + +local results, failures = {}, 0 +local function try(name, args, expectVar) + local ctx = newCtx() + local fn = rawget(verbs, name) + if type(fn) ~= "function" then + results[#results+1] = ("%-34s MISSING"):format(name); failures = failures + 1 + return + end + local ok, err = pcall(fn, ctx, table.unpack(args)) + if not ok then + results[#results+1] = ("%-34s RAISED %s"):format(name, tostring(err)) + failures = failures + 1 + return + end + local note = "" + if expectVar then + local v = ctx.save.gen4Vars and ctx.save.gen4Vars[expectVar] + if v == nil then + results[#results+1] = ("%-34s NO VAR WRITTEN"):format(name) + failures = failures + 1 + return + end + note = ("var=%s"):format(tostring(v)) + end + -- buffers, for the g4_buffer kinds + local b = ctx.game.stringBuffers[1] + if b ~= nil and b ~= "" then note = note .. (" buf=%q"):format(tostring(b):sub(1,28)) end + results[#results+1] = ("%-34s ok %s"):format(name, note) +end + +-- ...AND WHAT IT WROTE, not merely that it wrote. +-- +-- `try` above answers "did a var appear", which is the question that let the +-- yes/no menu ship inverted for the whole Gen 4 effort: `showyesnomenu` DID +-- write its destination, every time, with the wrong number. `MENU_YES` is 0 +-- and `MENU_NO` is 1 (include/constants/menu.h) -- a menu numbers its rows +-- from the top -- and the port wrote the intuitive 1 for yes, so all 511 +-- yes/no questions in Sinnoh read backwards. Reported from play on Rowan's +-- "do you truly love Pokemon?": yes was heard as no, and he asked again. +-- +-- Several of the expectations below were already written down AS COMMENTS and +-- never asserted, which is its own small lesson: a value worth writing in the +-- margin is a value worth failing on. +local function expect(name, args, destVar, want, why) + local ctx = newCtx() + local fn = rawget(verbs, name) + if type(fn) ~= "function" then + results[#results+1] = ("%-34s MISSING"):format(name); failures = failures + 1 + return + end + if type(args) == "function" then args = args(ctx) end + local ok, err = pcall(fn, ctx, table.unpack(args)) + if not ok then + results[#results+1] = ("%-34s RAISED %s"):format(name, tostring(err)) + failures = failures + 1 + return + end + local got = ctx.save.gen4Vars and ctx.save.gen4Vars[destVar] + if got ~= want then + results[#results+1] = ("%-34s WRONG VALUE got %s, want %s (%s)") + :format(name, tostring(got), tostring(want), tostring(why)) + failures = failures + 1 + return + end + results[#results+1] = ("%-34s ok var=%s (%s)"):format(name, tostring(got), tostring(why)) +end + +-- THE YES/NO MENU, BOTH WAYS. The cartridge tests its destination against 0 +-- for the yes branch and 1 for the no branch -- 496 of the 511 sites do it on +-- the very next instruction -- so both values have to be right, and asserting +-- only one of them would pass with them swapped. +expect("g4_from_yesno", function(ctx) ctx.lastCheck = true; return { VAR } end, + VAR, 0, "MENU_YES is 0 -- a menu numbers its rows from the top") +expect("g4_from_yesno", function(ctx) ctx.lastCheck = false; return { VAR } end, + VAR, 1, "MENU_NO is 1") + +-- destination-writing commands: (args..., destVar) per the lowering +expect("g4_item_pocket", {413, VAR}, VAR, 3, "TM86 is in pocket 3") +expect("g4_item_is_plate", {298, VAR}, VAR, 1, "Flame Plate starts the plate run") +expect("g4_game_version", {VAR}, VAR, 12, "VERSION_PLATINUM, counted off versions.h") +expect("g4_selected_party_slot", {VAR}, VAR, 0xFF, + "PARTY_SLOT_NONE -- cancelled, not the lead") + +-- THE BATTLE RESULT IS A BITMASK, and the whole point of asserting it is that +-- its compound values are built from the three bits rather than counted off. +-- The fixture context sets lastBattleResult = "caught". +expect("g4_get_battle_result", {VAR}, VAR, 4, + "BATTLE_RESULT_CAPTURED_MON is 1<<2 -- not 5, which is CAPTURED|WIN") +try("g4_party_count", {VAR}, VAR) +try("g4_party_non_eggs", {VAR}, VAR) +try("g4_day_of_week", {VAR}, VAR) +try("g4_dex_seen_count", {VAR}, VAR) +try("g4_overworld_weather", {VAR}, VAR) +try("g4_mon_move", {VAR, 0, 0}, VAR) +try("g4_mon_move_count", {VAR, 0}, VAR) +try("g4_find_slot_with_move",{VAR, 33}, VAR) +try("g4_pc_free_slots", {VAR}, VAR) +try("g4_did_not_capture", {VAR}, VAR) +try("g4_party_has_held_item",{298, VAR}, VAR) +try("g4_league_victories", {VAR}, VAR) +try("g4_mon_ev_total", {VAR, 0}, VAR) +try("g4_get_mon_ribbon", {VAR, 0, 5}, VAR) +try("g4_mon_friendship", {VAR, 0}, VAR) +try("g4_mon_types", {VAR, VAR+1, 0}, VAR) +try("g4_mon_has_move", {VAR, 33, 0}, VAR) +try("g4_first_non_egg", {VAR}, VAR) +try("g4_party_has_species", {387, VAR}, VAR) +try("g4_destroy_obstacle_anim", {0, VAR}, VAR) +-- state setters (no var) +try("g4_set_blackout_warp", {9}) +try("g4_enable_poketch", {}) +try("g4_register_poketch_app", {3}) +try("g4_player_state", {1}) +try("g4_player_bike", {1}) +try("g4_give_pokedex", {}) +try("g4_set_species_seen", {387}) +try("g4_set_mon_ribbon", {0, 5}) +-- buffers +try("g4_buffer", {0, "pocket", 3}) +try("g4_buffer", {0, "itemPlural", 1}) +try("g4_buffer", {0, "poketchApp", 1}) +try("g4_buffer", {0, "tmhmMove", 413}) +try("g4_buffer", {0, "speciesArticle", 387}) +try("g4_buffer", {0, "bank:393", 1}) +try("g4_buffer", {0, "bank:386", 1}) +try("g4_buffer", {0, "bank:626", 1}) +try("g4_buffer_map_name", {0, 3}) +try("g4_buffer_counterpart_starter_article", {0}) + +table.sort(results) +for _, r in ipairs(results) do print(r) end +print(("\n%d checks, %d failures"):format(#results, failures)) diff --git a/tools/gen4_coverage_check.lua b/tools/gen4_coverage_check.lua new file mode 100644 index 000000000..db8986ce8 --- /dev/null +++ b/tools/gen4_coverage_check.lua @@ -0,0 +1,203 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_coverage_check.lua -- THE FIRST CHECK, FINALLY RERUNNABLE. +-- +-- The standing list of checks on the Gen 4 script pipeline opened with "chapter +-- walks -- is the opcode lowered at all", and that entry was the only one of +-- the eight with NO TOOL BEHIND IT. The 97.35% figure every other measurement +-- was quoted against lived in notes, produced by throwaway probes that no +-- longer exist, on a machine that is not this one. A NUMBER YOU CANNOT +-- RECOMPUTE IS A NUMBER YOU ARE TRUSTING, NOT MEASURING -- which is the same +-- fault the command audit was caught for when it turned out to be grading a +-- stale copy of the module. So: one file, one command, the number out loud. +-- +-- It also answers the question the percentage hides. 97.35% of INSTRUCTIONS +-- are lowered, but only 322 of the 718 distinct opcodes that occur are -- the +-- coverage is high because the common opcodes are the lowered ones, and the +-- remaining 396 are a long tail whose median occurrence count is 1. Ranking +-- that tail by how often it actually occurs is the useful output here, because +-- it separates the work that shows up in play from the work that does not: +-- `callbattletowerfunction` x146 is one side system behind one door, while +-- `openbag` x44 and `checkpockethasitems` x72 are main-game scenes. +-- +-- SIX CHECKS, and the fifth is the one that earns the file: coverage may not +-- REGRESS. Recorded floors, measured here: +-- +-- blocks in the pool 8,567 +-- instructions walked 78,093 +-- instructions lowered 76,178 = 97.55% +-- +-- THE TWO FLOORS ARE NOT THE SAME NUMBER TWICE, and raising them together +-- is a trap this walked into once: the percentage printed is ROUNDED and the +-- one compared is not. 76,170 / 78,093 is 97.5381%, which prints as "97.54" +-- and is BELOW a 97.54 floor. Raise the instruction floor -- it is exact -- +-- and move the percentage only when its unrounded value clears the next step. +-- distinct opcodes occurring 718 +-- of those, lowered 329 +-- blocks whose decode stopped early 0 +-- +-- The lowered figure moved by FIVE when `openpokemonnamingscreen` was lowered, +-- and those five are the whole of the nickname prompt in Sinnoh -- Sandgem +-- Town, Eterna's Name Rater, the Mining Museum's fossil, Hearthome, Veilstone. +-- Worth naming because five instructions out of 78,093 is a rounding error in +-- the percentage and a whole feature in the game: THE PERCENTAGE IS NOT THE +-- MEASURE OF ANYTHING A PLAYER MEETS. +-- +-- That same five-instruction move is what caught tools/gen4_seam_check.lua +-- grading a snapshot instead of the tree: this file's number changed and that +-- one's did not. +-- +-- The next 39 are the FOUR IN-GAME TRADES -- five commands on four maps, one +-- of them Oreburgh City. Same lesson, louder: thirty-nine instructions is five +-- hundredths of a percent and four whole conversations that did nothing. +-- +-- The last of those is not a formality. The decoder STOPS rather than guess at +-- an opcode it has marked variable-length, and a block cut short still reports +-- every instruction before the cut as decoded -- so a rise in that number is a +-- silent loss of corpus, and it must stay at zero for the other five figures to +-- mean what they say. +-- +-- Run: texlua tools/gen4_coverage_check.lua + +local romPath = arg and arg[1] +if not romPath then + io.stderr:write("usage: texlua tools/gen4_coverage_check.lua \n") + os.exit(2) +end + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +-- The engine's own modules, with everything they drag in stubbed: this runs +-- headless and must not need love2d. `src.script.Commands` has to be a REAL +-- table with a `meta` field -- Gen4Commands writes into it at load time, and an +-- inert metatable-only stub swallows those writes and leaves VM.lowered lying. +local KEEP = { + ["src.script.Gen4ScriptVM"] = true, ["src.script.Gen4Commands"] = true, + ["src.import.Gen4ScriptOps"] = true, ["src.import.Gen4ScriptBands"] = true, + ["src.import.Gen4Movement"] = true, ["src.import.Gen4Script"] = true, + ["src.import.NdsRom"] = true, ["src.import.NarcArchive"] = true, +} +local shared = { meta = {} } +local quiet = setmetatable({}, { __index = function() return function() end end }) +local inert = setmetatable({}, { __index = function() return function() end end }) +table.insert(package.searchers, 1, function(name) + if KEEP[name] then return nil end + if name == "src.script.Commands" then return function() return shared end end + if name == "src.core.Logger" then return function() return quiet end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local VM = require("src.script.Gen4ScriptVM") +local Script = require("src.import.Gen4Script") +local NdsRom = require("src.import.NdsRom") +local Narc = require("src.import.NarcArchive") + +-- CANARY FIRST, BOTH WAYS. A `lowered` that answered true for everything would +-- report 100% and a `lowered` that answered false for everything would report +-- 0%, and both would run to completion without erroring. Asserting only the +-- true side is the mistake the command audit made: it proved it could see a var +-- write and never proved it could see the absence of one. +assert(VM.lowered("gotoif"), "canary: gotoif must be lowered") +assert(not VM.lowered("gen2recomped_no_such_command"), + "canary: VM.lowered must be able to answer NO") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-48s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-48s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end + +-- Walk the pool exactly as RomExtractorGen4:extractScripts builds it: every +-- entry point, plus every block a jump reaches. Reachability matters to the +-- figure -- counting bytes in the NARC instead would inflate the denominator +-- with data the game never runs. +local rom = assert(NdsRom.open(romPath)) +local arc = assert(Narc.parse(assert(rom:read("/fielddata/script/scr_seq.narc")))) + +local blocks, stoppedEarly, total, lowered = 0, 0, 0, 0 +local occurs, missing = {}, {} + +for m = 0, arc.count - 1 do + local bytes = arc:get(m) + if bytes and #bytes >= 6 then + local queue, seen = {}, {} + for _, at in ipairs(Script.entries(bytes)) do + if not seen[at] then seen[at] = true; queue[#queue + 1] = at end + end + local i = 1 + while i <= #queue do + local at = queue[i]; i = i + 1 + local ins, stopped = Script.decode(bytes, at) + blocks = blocks + 1 + if not stopped then stoppedEarly = stoppedEarly + 1 end + for _, op in ipairs(ins) do + total = total + 1 + local name = op.name or ("?%03X"):format(op.op or 0) + occurs[name] = (occurs[name] or 0) + 1 + if VM.lowered(name) then lowered = lowered + 1 + else missing[name] = (missing[name] or 0) + 1 end + local t = op.target + if t and t >= 1 and t <= #bytes and not seen[t] then + seen[t] = true; queue[#queue + 1] = t + end + end + end + end +end +rom:close() + +local distinct, absent = 0, 0 +for _ in pairs(occurs) do distinct = distinct + 1 end +local ranked = {} +for name, n in pairs(missing) do + absent = absent + 1 + ranked[#ranked + 1] = { name = name, n = n } +end +table.sort(ranked, function(a, b) + if a.n ~= b.n then return a.n > b.n end + return a.name < b.name +end) + +local pct = total > 0 and (100 * lowered / total) or 0 + +io.write(("\ncorpus: %d blocks, %d instructions, %d lowered (%.2f%%)\n") + :format(blocks, total, lowered, pct)) +io.write(("opcodes: %d distinct occur, %d lowered, %d NOT\n\n") + :format(distinct, distinct - absent, absent)) + +io.write("the unlowered tail, ranked by how often it actually occurs --\n") +io.write("this is the work queue, and the count is the argument for order:\n") +local shown, tailOnes = 0, 0 +for _, e in ipairs(ranked) do + if e.n == 1 then tailOnes = tailOnes + 1 end + if shown < 24 then + shown = shown + 1 + io.write((" %-46s x%d\n"):format(e.name, e.n)) + end +end +io.write((" ... and %d more, of which %d occur exactly once\n\n") + :format(math.max(0, absent - shown), tailOnes)) + +-- Recorded floors. Measured, not aspirational: these are what the corpus reads +-- today, so any future edit that drops a lowering or shortens a decode fails +-- here instead of quietly lowering the number everything else is quoted against. +ok(blocks == 8567, "blocks in the pool", blocks, 8567) +ok(total == 78093, "instructions walked", total, 78093) +ok(stoppedEarly == 0, "blocks whose decode stopped early", stoppedEarly, 0) +ok(distinct == 718, "distinct opcodes occurring in the corpus", distinct, 718) +ok(lowered >= 76178, "instructions lowered (floor, may not regress)", + lowered, ">= 76178") +ok(pct >= 97.54, "corpus coverage %", ("%.2f"):format(pct), ">= 97.54") + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_distworld_check.lua b/tools/gen4_distworld_check.lua new file mode 100644 index 000000000..d8d289270 --- /dev/null +++ b/tools/gen4_distworld_check.lua @@ -0,0 +1,297 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md). + +-- tools/gen4_distworld_check.lua -- the seventh standing check. +-- +-- The other six ask whether a SCRIPT is right. This one asks whether the +-- Distortion World's runtime floor was read right, and it exists because every +-- number in that read is found by searching rather than by indexing: four +-- overlay tables located by their map-id fingerprints, one located by a +-- self-indexing run, and ten map files whose section widths are confirmed by +-- arithmetic. A search that silently lands on the wrong run returns a table of +-- plausible nonsense, which is exactly the failure a coverage figure cannot see. +-- +-- Every expectation below is a MEASURED value from this project's cartridge, +-- and each one is a different kind of claim: +-- +-- * lengths that must be EXACT (4 + 12 * 10 == the map-info member) -- +-- arithmetic, so a wrong record width cannot pass; +-- * table sites found by FINGERPRINT, checked by row counts that no other +-- run in the overlay produces; +-- * the shuttle PAIRING, which is the only structural claim here: 18 of 34 +-- moving platforms pair across floors at identical (x, z), they form 9 +-- symmetric pairs, and all 16 that do not pair are on B2F; +-- * and the one that makes the whole thing usable -- all 18 shuttle ends +-- land on a WALKABLE cell of their own map's permission grid. +-- +-- Run: texlua tools/gen4_distworld_check.lua + +local romPath = arg and arg[1] +if not romPath then + io.stderr:write("usage: texlua tools/gen4_distworld_check.lua \n") + os.exit(2) +end + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local NdsRom = require("src.import.NdsRom") +local Narc = require("src.import.NarcArchive") +local DW = require("src.import.Gen4DistWorld") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then + io.write((" ok %-52s %s\n"):format(what, tostring(got))) + else + fails = fails + 1 + io.write((" FAIL %-52s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) + end +end + +local rom = assert(NdsRom.open(romPath)) + +-- ------------------------------------------------------------------ the NARC +io.write("tw_arc.narc / tw_arc_attr.narc\n") +local mainArc = assert(Narc.parse(assert(rom:read(DW.MAIN_PATH))), "tw_arc.narc") +local attrArc = assert(Narc.parse(assert(rom:read(DW.ATTR_PATH))), "tw_arc_attr.narc") +ok(mainArc.count == 11, "tw_arc members", mainArc.count, 11) +ok(attrArc.count == 12, "tw_arc_attr members", attrArc.count, 12) + +local infos, why = DW.mapInfo(mainArc:get(0)) +ok(infos ~= nil, "map-info member parses", infos and #infos or why, "10 records") +if not infos then os.exit(1) end +ok(#infos == 10, "Distortion World maps", #infos, 10) + +-- 578 is a map header in the same run and appears in NO Distortion World +-- table. Indexing this file by `header - 573` would land one floor out from +-- B5F on, so the absence is checked rather than assumed. +local seen = {} +for _, i in ipairs(infos) do seen[i.header] = true end +ok(not seen[578], "map 578 absent (it is a spare, not a floor)", seen[578] and "present" or "absent", "absent") + +local platforms, jumps, cameras, files = 0, 0, 0, 0 +local byHeader = {} +for _, info in ipairs(infos) do + local f, err = DW.mapFile(mainArc:get(info.fileIndex + 1)) + if f then + files = files + 1 + byHeader[info.header] = { info = info, file = f } + platforms = platforms + #f.platforms + jumps = jumps + #f.jumps + cameras = cameras + #f.cameras + else + io.write((" FAIL map %d: %s\n"):format(info.header, tostring(err))) + fails = fails + 1 + end + checks = checks + 1 +end +ok(files == 10, "map files whose sections account for the member", files, 10) +ok(platforms == 10, "floating platforms", platforms, 10) +ok(jumps == 20, "floating-platform jump points", jumps, 20) +ok(cameras == 26, "camera-angle templates", cameras, 26) + +-- Only four of the ten floors carry platforms at all; five carry none. A +-- reader that treats an absent section as an error refuses half the dungeon. +local withPlatforms, withNone = 0, 0 +for _, e in pairs(byHeader) do + if #e.file.platforms > 0 then withPlatforms = withPlatforms + 1 end + if #e.file.platforms == 0 and #e.file.jumps == 0 then withNone = withNone + 1 end +end +ok(withPlatforms == 5, "floors with at least one platform", withPlatforms, 5) +ok(withNone == 5, "floors with no platforms and no jump points", withNone, 5) + +-- Every platform's kind must be one the attribute lookup can serve, and its +-- attribute id must exist. A kind of 4 (INVALID) is a jump TARGET, never a +-- platform, so finding one here would mean the section is misaligned. +local grids, badKind, badAttr = {}, 0, 0 +for i = 0, attrArc.count - 1 do + local g, err = DW.attrGrid(attrArc:get(i)) + if not g then + io.write((" FAIL attr %d: %s\n"):format(i, tostring(err))) + fails = fails + 1 + end + checks = checks + 1 + grids[i] = g +end +for _, e in pairs(byHeader) do + for _, pl in ipairs(e.file.platforms) do + if pl.kind < 0 or pl.kind >= DW.KIND_INVALID then badKind = badKind + 1 end + if not grids[pl.attr] then badAttr = badAttr + 1 end + end +end +ok(badKind == 0, "platforms with an unusable kind", badKind, 0) +ok(badAttr == 0, "platforms naming an absent attribute grid", badAttr, 0) + +-- The attribute lookup, exercised over every platform's whole bounding box. +-- This is what catches a wrong `vertical`/`horizontal` formula: a transposed +-- lookup still returns words, just the wrong ones, and the count moves. +local passable = 0 +for _, e in pairs(byHeader) do + for _, pl in ipairs(e.file.platforms) do + local b, g = pl.bounds, grids[pl.attr] + for x = b.x, b.x + b.sizeX do + for y = b.y, b.y + b.sizeY do + for z = b.z, b.z + b.sizeZ do + if DW.passable(DW.attrAt(pl, g, x, y, z)) then passable = passable + 1 end + end + end + end + end +end +ok(passable == 441, "passable cells over all ten platforms", passable, 441) + +-- ---------------------------------------------------------------- overlay 9 +io.write("overlay 9\n") +local bin, meta = rom:overlay(DW.OVERLAY) +ok(bin ~= nil, "overlay 9 readable", bin and #bin or "nil", 41856) +if not bin then os.exit(1) end +ok(#bin == 41856, "overlay 9 bytes", #bin, 41856) +ok(meta.ram == 0x02249960, "overlay 9 load address", ("0x%08X"):format(meta.ram), "0x02249960") + +local EXPECT = { + cast = { rows = 45, maps = 10 }, + events = { rows = 45, maps = 8 }, + movingPlatforms = { rows = 34, maps = 8 }, + simpleProps = { rows = 4, maps = 4 }, +} +local tables = {} +for _, t in ipairs(DW.TABLES) do + local at = DW.findTable(bin, meta.ram, t.maps) + checks = checks + 1 + if not at then + io.write((" FAIL table %-16s not found by fingerprint\n"):format(t.key)) + fails = fails + 1 + else + tables[t.key] = DW.readTable(bin, meta.ram, at, t.maps, t.key) + local n = 0 + for _, rows in pairs(tables[t.key]) do n = n + #rows end + local want = EXPECT[t.key] + ok(n == want.rows, ("%s rows"):format(t.key), n, want.rows) + io.write((" %-16s at +0x%05X over %d maps\n"):format(t.key, at, #t.maps)) + end +end + +-- The four fingerprints must be DISTINCT sites. Two tables resolving to the +-- same offset is the failure mode a prefix match produces, and it would leave +-- every row count plausible. +local sites, distinct = {}, 0 +for _, t in ipairs(DW.TABLES) do + local at = DW.findTable(bin, meta.ram, t.maps) + if at and not sites[at] then sites[at] = true; distinct = distinct + 1 end +end +ok(distinct == 4, "distinct table sites", distinct, 4) + +local eat, paths = DW.findElevatorPaths(bin) +ok(paths ~= nil, "elevator path table found", eat and ("+0x%05X"):format(eat) or "nil", "+0x09ED0") + +-- Every command kind in every event must be a NAMED kind. An unnamed number +-- here means the command list walked off its array, which is what a wrong +-- terminator looks like. +local totalCmds, unnamed = 0, 0 +if tables.events then + for _, rows in pairs(tables.events) do + for _, ev in ipairs(rows) do + for _, c in ipairs(ev.commands) do + totalCmds = totalCmds + 1 + if type(c) ~= "string" then unnamed = unnamed + 1 end + end + end + end +end +ok(totalCmds == 111, "event commands", totalCmds, 111) +ok(unnamed == 0, "event commands with an unnamed kind", unnamed, 0) + +-- ------------------------------------------------------------- the shuttles +io.write("moving platforms\n") +if tables.movingPlatforms and paths then + local shuttles, horizontal = DW.classify(tables.movingPlatforms, paths) + ok(#shuttles == 18, "shuttle ends that pair across floors", #shuttles, 18) + ok(#horizontal == 16, "platforms that do not pair", #horizontal, 16) + + -- All sixteen non-pairing platforms are on B2F. That is the claim that says + -- the two groups are real and not an artefact of the pairing test: if the + -- test were merely failing, the failures would be spread. + local offB2F = 0 + for _, h in ipairs(horizontal) do if h.map ~= 575 then offB2F = offB2F + 1 end end + ok(offB2F == 0, "non-pairing platforms outside B2F", offB2F, 0) + + -- The 18 ends must form 9 SYMMETRIC pairs: for every A->B at (x,z) there is + -- a B->A at the same (x,z). A one-way lift would be a softlock, so this is + -- checked rather than inferred from the count being even. + local key = {} + for _, s in ipairs(shuttles) do + key[("%d|%d|%d|%d"):format(s.from, s.to, s.x, s.z)] = true + end + local unpaired = 0 + for _, s in ipairs(shuttles) do + if not key[("%d|%d|%d|%d"):format(s.to, s.from, s.x, s.z)] then + unpaired = unpaired + 1 + io.write((" one-way: %s -> %s at (%d,%d)\n") + :format(DW.FLOOR_NAMES[s.from] or s.from, DW.FLOOR_NAMES[s.to] or s.to, s.x, s.z)) + end + end + ok(unpaired == 0, "one-way shuttles", unpaired, 0) + + -- AND THE ONE THAT MAKES IT USABLE. Each shuttle end is a world coordinate; + -- subtract its floor's offsets and the result must be a walkable cell of + -- that floor's own permission grid. If it were not, the pairing would be a + -- correct reading of a table the port still could not stand a player on. + local matrices = Narc.parse(assert(rom:read("/fielddata/mapmatrix/map_matrix.narc"))) + local land = Narc.parse(assert(rom:read("/fielddata/land_data/land_data.narc"))) + local MATRIX = { + [573] = 269, [574] = 270, [575] = 271, [576] = 272, [577] = 273, + [579] = 275, [580] = 276, [581] = 277, [582] = 278, [583] = 279, + } + local gridCache = {} + local function permission(header, lx, lz) + local g = gridCache[header] + if not g then + local b = matrices:get(MATRIX[header]) + if not b then return nil end + local w, h, hasHeaders, hasAltitude, nameLen = b:byte(1), b:byte(2), b:byte(3), b:byte(4), b:byte(5) + local o = 5 + nameLen + if hasHeaders ~= 0 then o = o + 2 * w * h end + if hasAltitude ~= 0 then o = o + w * h end + g = { w = w * 32, h = h * 32, cells = {} } + for cy = 0, h - 1 do + for cx = 0, w - 1 do + local id = DW.u16(b, o + (cy * w + cx) * 2) + local chunk = land:get(id) + for ty = 0, 31 do + for tx = 0, 31 do + g.cells[(cy * 32 + ty) * g.w + (cx * 32 + tx)] = DW.u16(chunk, 16 + (ty * 32 + tx) * 2) + end + end + end + end + gridCache[header] = g + end + if lx < 0 or lz < 0 or lx >= g.w or lz >= g.h then return nil end + return g.cells[lz * g.w + lx] + end + + local walkable, pads = 0, 0 + for _, s in ipairs(shuttles) do + local e = byHeader[s.from] + if e then + local v = permission(s.from, s.x - e.info.offsetX, s.z - e.info.offsetZ) + if v and v < DW.COLLISION_BIT then + walkable = walkable + 1 + if v % 0x100 == 8 then pads = pads + 1 end + end + end + end + ok(walkable == 18, "shuttle ends on a walkable map cell", walkable, 18) + ok(pads == 14, "shuttle ends marked CAVE_FLOOR (a lift pad)", pads, 14) +else + io.write(" FAIL moving platforms or elevator paths missing\n") + fails = fails + 1 +end + +rom:close() +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_icon_check.lua b/tools/gen4_icon_check.lua new file mode 100644 index 000000000..b26d2be8d --- /dev/null +++ b/tools/gen4_icon_check.lua @@ -0,0 +1,97 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_icon_check.lua -- is the party-icon palette table the right array. +-- +-- `sPokemonIconPaletteIndex` is found by scanning the ARM9 for a run of bytes +-- below the number of populated sub-palettes, and over the whole binary TWO +-- runs match. The tie-break -- take the one whose values are most evenly spread +-- -- is a judgement, not a derivation, so the answer it picks was checked by +-- RENDERING A HUNDRED ICONS AND LOOKING AT THEM. +-- +-- This asserts what that render was checked against. A WRONG TABLE DOES NOT +-- FAIL, IT MIS-COLOURS: the party list still draws, in the wrong palettes, +-- which reads as a palette bug rather than as "the scan found the wrong array". +-- That is exactly the kind of fault that needs a check rather than an eye. +-- +-- Run: texlua tools/gen4_icon_check.lua [arm9.bin] +-- +-- Dump the ARM9 with the header's own offsets (0x20 = position, 0x2C = size). +-- Without one, only the module's own constants are checked, and it SAYS SO +-- rather than reporting a pass it did not earn. + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local Icons = require("src.import.Gen4Icons") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-52s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-52s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end + +io.write("the party icons\n") + +ok(Icons.FIRST_SHEET == 7, + "the sheets start after the palette and three cell banks", + Icons.FIRST_SHEET, 7) +ok(Icons.WIDTH == 32 and Icons.FRAME_HEIGHT == 32 and Icons.FRAMES == 2, + "32x32, two frames -- the up and down of the bounce", + ("%dx%d x%d"):format(Icons.WIDTH, Icons.FRAME_HEIGHT, Icons.FRAMES), + "32x32 x2") +-- 1072 bytes a sheet: a 48-byte NCGR header and 1024 of 4bpp pixels, which is +-- exactly 32 x 64. The arithmetic is the check. +ok(Icons.WIDTH * Icons.FRAME_HEIGHT * Icons.FRAMES / 2 == 1024, + "...which is the 1024 pixel bytes each sheet carries", + Icons.WIDTH * Icons.FRAME_HEIGHT * Icons.FRAMES / 2, 1024) +ok(Icons.RAMPS == 3, "three of the palette's sixteen ramps carry colour", + Icons.RAMPS, 3) + +local verified = 0 +for _ in pairs(Icons.VERIFIED) do verified = verified + 1 end +ok(verified >= 5, "enough species were checked by eye to catch a wrong table", + verified, ">= 5") +-- The seven must not all name the same ramp, or agreeing with them would prove +-- nothing: the OTHER candidate run puts every one of them on ramp 0. +local ramps = {} +for _, r in pairs(Icons.VERIFIED) do ramps[r] = true end +local distinct = 0 +for _ in pairs(ramps) do distinct = distinct + 1 end +ok(distinct >= 2, "...and they do not all name the same ramp", distinct, ">= 2") + +local path = arg and arg[1] +if path then + local f = io.open(path, "rb") + if not f then + io.write("\ncannot read " .. path .. "\n") + os.exit(2) + end + local bin = f:read("*a"); f:close() + local at, spread = Icons.findPaletteTable(bin, 540) + ok(at ~= nil, "the palette table is found in this ARM9", + at and ("0x%X"):format(at - 1) or "nil", "an offset") + if at then + local good, wrong = Icons.verify(bin, at) + ok(good, "...and agrees with every species checked by eye", + good and "all" or table.concat(wrong, ", "), "all") + -- The tie-break itself, stated as a number so a future build that makes + -- the two runs comparable is visible rather than silently coin-flipped. + ok(spread and spread > 1.2, + "...and won on spread by a margin, not a whisker", + spread and ("%.3f bits"):format(spread) or "nil", "> 1.2") + end +else + io.write("\n(the ARM9 was not checked -- pass a dump of it as the first\n" + .. " argument to verify the table against the cartridge)\n") +end + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_lift_check.lua b/tools/gen4_lift_check.lua new file mode 100644 index 000000000..02be24ef5 --- /dev/null +++ b/tools/gen4_lift_check.lua @@ -0,0 +1,574 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_lift_check.lua -- do Sinnoh's six lifts go anywhere. +-- +-- THE FAULT THIS EXISTS FOR WAS TWO COMMENTS. `Gen4Events` called warp +-- destination 4095 a "`nowhere` sentinel" and left six warps unresolved; +-- `Gen4ScriptVM` lowered `setspeciallocation` to a noop because a note said it +-- stamped a met location. Both were wrong about the same slot, so every lift in +-- the region -- Jubilife TV, both Hearthome houses, the Veilstone department +-- store, the Resort Area and the Vista Lighthouse -- opened onto nothing. +-- +-- The check that matters is the LAST one, and it is not a transcription: +-- reading `setspeciallocation`'s second operand as a WARP INDEX makes all +-- thirteen script sites land on a door whose own destination is the lift car +-- they belong to. Reading it as an x cannot do that, and no table here decides +-- it -- the cache's warp lists do. +-- +-- Run: texlua tools/gen4_lift_check.lua [cache dir] +-- +-- Without a cache only the port's own constants are checked, and it SAYS so. + +local cacheDir = arg and arg[1] + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local warned = {} +local logger = { + warn = function(fmt, ...) warned[#warned + 1] = tostring(fmt) end, + info = function() end, error = function() end, debug = function() end, +} +local inert = setmetatable({}, { __index = function() return function() end end }) +local runtime = { wantsHook = function() return false end, + call = function() end, emit = function() end } +table.insert(package.searchers, 1, function(name) + if name == "src.import.Gen4Elevators" then return nil end + if name == "src.import.Gen4PlatformLifts" then return nil end + if name == "src.import.Gen4Maps" then return nil end + if name == "src.world.Warp" then return nil end + if name == "src.core.Logger" then return function() return logger end end + if name == "src.mods.Runtime" then return function() return runtime end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local Elevators = require("src.import.Gen4Elevators") +local Platforms = require("src.import.Gen4PlatformLifts") +local Gen4Maps = require("src.import.Gen4Maps") +local Warp = require("src.world.Warp") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-58s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-58s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end +local function note(line) io.write(" -- " .. line .. "\n") end + +-- ----------------------------------------------------------- the sentinel -- + +io.write("the dynamic-warp sentinel\n") + +ok(Elevators.DYNAMIC_HEADER == 0xfff, "destination header is 0xfff", + Elevators.DYNAMIC_HEADER, 4095) +ok(Elevators.DYNAMIC_ANCHOR == 0x100, "...paired with anchor 0x100", + Elevators.DYNAMIC_ANCHOR, 256) +ok(Elevators.WARP_NONE == 0xFFFF, "WARP_ID_NONE as a u16 operand", + ("0x%X"):format(Elevators.WARP_NONE), "0xFFFF") +ok(#Elevators.CARS == 6, "six lift cars are named", #Elevators.CARS, 6) + +-- ------------------------------------------------------------- the floors -- + +io.write("\nFieldMenu_GetFloorsAbove, transcribed\n") + +local rows = 0 +for _ in pairs(Elevators.FLOORS_ABOVE) do rows = rows + 1 end +ok(rows == 18, "eighteen cases, as the switch has", rows, 18) +ok(Elevators.FLOORS_ABOVE_DEFAULT == 1, + "the default is 1, which is Hearthome's `go up`", + Elevators.FLOORS_ABOVE_DEFAULT, 1) +ok(Elevators.floorsAbove("NOT_A_MAP") == 1, + "...and an unnamed map takes it", + Elevators.floorsAbove("NOT_A_MAP"), 1) + +-- The runs, asserted as runs rather than row by row: a building's floors step +-- down by one from the bottom up, and a transposed pair inside a run is the +-- mistake a row-by-row check cannot see. +local RUNS = { + { "Jubilife TV", { "C01R0201", "C01R0202", "C01R0203", "C01R0204" } }, + { "Veilstone Store 1F..5F", + { "C07R0201", "C07R0202", "C07R0203", "C07R0204", "C07R0205" } }, + { "Hearthome SE house", { "C05R0101", "C05R0102" } }, + { "Hearthome NE house", { "C05R0801", "C05R0802" } }, + { "Resort Area Ribbon Syndicate", { "T07R0101", "T07R0102" } }, + { "Vista Lighthouse", { "C08", "C08R0801" } }, +} +for _, run in ipairs(RUNS) do + local name, ids = run[1], run[2] + local descending, top = true, Elevators.floorsAbove(ids[1]) + for i = 1, #ids do + if Elevators.floorsAbove(ids[i]) ~= top - (i - 1) then descending = false end + end + ok(descending and Elevators.floorsAbove(ids[#ids]) == 0, + ("%s counts down to 0"):format(name), + ("%d..%d"):format(top, Elevators.floorsAbove(ids[#ids])), + ("%d..0"):format(#ids - 1)) +end +ok(Elevators.floorsAbove("C07R0207") == 5, + "...and Veilstone's basement sits one BELOW its 1F", -- 4 floors above 1F, 5 above B1F + Elevators.floorsAbove("C07R0207"), 5) + +-- -------------------------------------------------------- the floor label -- + +io.write("\nStringTemplate_SetFloorNumber's index\n") + +ok(Elevators.floorEntry(0) == Elevators.FLOOR_B1F, + "zero is the BASEMENT, not floor zero", + Elevators.floorEntry(0), Elevators.FLOOR_B1F) +local laddered = true +for f = 1, Elevators.FLOOR_MAX do + if Elevators.floorEntry(f) ~= Elevators.FLOOR_1F + f - 1 then laddered = false end +end +ok(laddered, "1..5 walk the bank from `1F`", + ("%d..%d"):format(Elevators.floorEntry(1), Elevators.floorEntry(5)), + ("%d..%d"):format(Elevators.FLOOR_1F, Elevators.FLOOR_1F + 4)) +ok(Elevators.floorLabel(0) == "B1F" and Elevators.floorLabel(3) == "3F", + "the no-text fallback reads the same way", + Elevators.floorLabel(0) .. "/" .. Elevators.floorLabel(3), "B1F/3F") + +-- ------------------------------------------- the games that share Warp.lua -- + +io.write("\nGen 1-3, which share Warp.lua and OverworldController\n") + +-- BOTH EDITS LIVE IN SHARED CODE, so the cheapest way for this work to break +-- Gold, Crystal or Prism is for the new arm to catch a door it has no business +-- catching. Built here rather than loaded from a cache: what is under test is +-- the dispatch, and a hand-built map says exactly which door is which. +local older = { maps = { + PLAYERS_HOUSE_1F = { warps = { { x = 4, y = 7, destMap = "NEW_BARK_TOWN", destWarp = 1 }, + { x = 5, y = 7, destMap = "PLAYERS_HOUSE_2F", destWarp = 1 } } }, + NEW_BARK_TOWN = { warps = { { x = 9, y = 9, destMap = "PLAYERS_HOUSE_1F", destWarp = 1 } } }, + MAP_G127_N127 = { warps = { { x = 1, y = 1 } } }, + LITTLEROOT_TOWN = { warps = { { x = 2, y = 2 }, { x = 6, y = 6 } } }, +} } + +warned = {} +local function goes(warpDef, save, lastMap, backupWarp) + local m, x, y = Warp.destination(older, warpDef, lastMap, backupWarp, save or {}) + return ("%s (%s,%s)"):format(tostring(m), tostring(x), tostring(y)) +end + +ok(goes(older.maps.PLAYERS_HOUSE_1F.warps[1]) == "NEW_BARK_TOWN (9,9)", + "an ordinary Gen 2 door still resolves", + goes(older.maps.PLAYERS_HOUSE_1F.warps[1]), "NEW_BARK_TOWN (9,9)") + +local lastOutdoor = { id = "NEW_BARK_TOWN", x = 9, y = 9 } +ok(goes({ destMap = "LAST_MAP", destWarp = 1 }, nil, lastOutdoor) + == "NEW_BARK_TOWN (9,9)", "LAST_MAP still resolves", + goes({ destMap = "LAST_MAP", destWarp = 1 }, nil, lastOutdoor), + "NEW_BARK_TOWN (9,9)") + +ok(goes({ destMap = "LAST_WARP" }, nil, lastOutdoor, + { id = "PLAYERS_HOUSE_1F", x = 5, y = 7 }) == "PLAYERS_HOUSE_1F (5,7)", + "LAST_WARP still resolves", + goes({ destMap = "LAST_WARP" }, nil, lastOutdoor, + { id = "PLAYERS_HOUSE_1F", x = 5, y = 7 }), "PLAYERS_HOUSE_1F (5,7)") + +-- Gen 3's own dynamic warp is the arm the Gen 4 one now sits in front of, so +-- both of its halves are asserted: the warp id, and the $FF that means +-- "coordinates". +ok(goes({ destMap = "MAP_G127_N127" }, + { gen3DynamicWarp = { map = "LITTLEROOT_TOWN", warp = 1 } }) + == "LITTLEROOT_TOWN (6,6)", + "gen 3's dynamic warp still names its warp", + goes({ destMap = "MAP_G127_N127" }, + { gen3DynamicWarp = { map = "LITTLEROOT_TOWN", warp = 1 } }), + "LITTLEROOT_TOWN (6,6)") +ok(goes({ destMap = "MAP_G127_N127" }, + { gen3DynamicWarp = { map = "LITTLEROOT_TOWN", warp = 0xFF, x = 11, y = 12 } }) + == "LITTLEROOT_TOWN (11,12)", + "...and $FF still means the coordinates", + goes({ destMap = "MAP_G127_N127" }, + { gen3DynamicWarp = { map = "LITTLEROOT_TOWN", warp = 0xFF, x = 11, y = 12 } }), + "LITTLEROOT_TOWN (11,12)") + +local older_save = {} +Warp.noteGen4Entrance(older, older_save, older.maps.PLAYERS_HOUSE_1F.warps[1], + "NEW_BARK_TOWN", "PLAYERS_HOUSE_1F", 4, 7, "down") +ok(older_save.gen4SpecialLocation == nil, + "the entrance capture is inert on an ordinary door", + tostring(older_save.gen4SpecialLocation), "nil") +ok(#warned == 0, "...and none of it logged a thing", #warned, 0) + +-- ------------------------------------------------- the nine rising platforms -- + +io.write("\nPersistedMapFeatures_InitForPlatformLift, transcribed\n") + +local lifts, league = 0, 0 +for _, row in pairs(Platforms.LIFTS) do + lifts = lifts + 1 + if row.league then league = league + 1 end +end +ok(lifts == 9, "nine platform lifts, as the enum has", lifts, 9) +ok(league == 6, "...six of them in the Pokemon League", league, 6) +ok(#Platforms.ASKING == 5, + "...and five ASK -- the five League elevator rooms", #Platforms.ASKING, 5) + +-- THE ASYMMETRY IS THE WHOLE RULE and it is easy to read past: the League +-- clears the flag when entered from above, Iron Island never clears it. +local leagueRule, islandRule = 0, 0 +for header, row in pairs(Platforms.LIFTS) do + local atBottom = Platforms.notUsedWhenEnteredMap(header, row.bottomZ) + local atTop = Platforms.notUsedWhenEnteredMap(header, row.bottomZ + 1) + if row.league then + if atBottom and not atTop then leagueRule = leagueRule + 1 end + else + if atBottom and atTop then islandRule = islandRule + 1 end + end +end +ok(leagueRule == 6, "a League room answers yes at the bottom and no above", + leagueRule .. "/6", "6/6") +ok(islandRule == 3, "...and Iron Island answers yes on both floors", + islandRule .. "/3", "3/3") +ok(Platforms.notUsedWhenEnteredMap(4095, 0) == true, + "a map the switch does not name keeps the initialiser's TRUE", + tostring(Platforms.notUsedWhenEnteredMap(4095, 0)), "true") + +local floors = 0 +for header, row in pairs(Platforms.LIFTS) do + if Platforms.floorId(header, row.bottomZ) == Platforms.BOTTOM_FLOOR + and Platforms.floorId(header, row.bottomZ + 1) == Platforms.TOP_FLOOR then + floors = floors + 1 + end +end +ok(floors == 9, "floorId splits at the bottom-floor warp on all nine", + floors .. "/9", "9/9") + +-- ---------------------------------------------------------------- a cache -- + +if not cacheDir then + io.write("\n(no cache was checked -- pass a cache dir as the first argument\n" + .. " to verify the six cars, the header ids, the thirteen\n" + .. " `setspeciallocation` sites and the nine platform lifts\n" + .. " against real map data)\n") + io.write(("\n%d checks, %d failures\n"):format(checks, fails)) + os.exit(fails == 0 and 0 or 1) +end + +local function load(name) + local chunk = loadfile(cacheDir .. "/" .. name .. ".lua") + return chunk and chunk() or nil +end + +local maps = load("maps") +if not maps then + io.write("\ncannot read maps.lua from " .. cacheDir .. "\n") + os.exit(2) +end + +io.write("\nthe six cars, in a cache\n") + +local dynamic, byHeader = {}, {} +for id, def in pairs(maps) do + if def.header then byHeader[def.header] = id end + for _, w in ipairs(def.warps or {}) do + if w.destHeader == Elevators.DYNAMIC_HEADER then + dynamic[#dynamic + 1] = { map = id, warp = w } + end + end +end +table.sort(dynamic, function(a, b) return a.map < b.map end) + +ok(#dynamic == 6, "six warps carry the sentinel header", #dynamic, 6) + +local want = {} +for _, id in ipairs(Elevators.CARS) do want[id] = true end +local unexpected, missing = {}, {} +for _, d in ipairs(dynamic) do + if want[d.map] then want[d.map] = nil else unexpected[#unexpected + 1] = d.map end +end +for id in pairs(want) do missing[#missing + 1] = id end +ok(#unexpected == 0 and #missing == 0, + "...and they are exactly the six named cars", + (#unexpected + #missing == 0) and "exactly" + or ("extra " .. table.concat(unexpected, ",") .. " missing " + .. table.concat(missing, ",")), + "exactly") + +local sameShape, marked = true, 0 +for _, d in ipairs(dynamic) do + local w = d.warp + if not (w.index == 1 and w.x == 3 and w.y == 6 + and w.destWarp == Elevators.DYNAMIC_ANCHOR + 1) then + sameShape = false + note(("%s warp %s at (%s,%s) destWarp %s -- not the shape the others have") + :format(d.map, tostring(w.index), tostring(w.x), tostring(w.y), + tostring(w.destWarp))) + end + if w.destMap == Elevators.DYNAMIC_MAP then marked = marked + 1 end +end +ok(sameShape, "all six are warp 1 at (3,6) with anchor 0x100", + sameShape and "identical" or "mixed", "identical") +-- The extractor's marking is what `Warp.resolve` dispatches on. A cache built +-- before that landed leaves destMap nil, which is a STALE CACHE and not a +-- failing port, so it is reported rather than failed. +if marked == 6 then + ok(true, "...and the extractor marked them dynamic", marked .. "/6", "6/6") +else + note(("this cache marks %d/6 of them -- it predates the extractor's lift " + .. "edit, so run an import before trusting the resolution below") + :format(marked)) +end + +io.write("\nthe eighteen header ids, against the cache's own labels\n") + +local headersOk, floorsOk = 0, 0 +for id, row in pairs(Elevators.FLOORS_ABOVE) do + local def = maps[id] + if def and def.header == row.header then headersOk = headersOk + 1 + else note(("%s: the table says header %d, the cache says %s") + :format(id, row.header, def and tostring(def.header) or "no such map")) end + if def and Elevators.floorsAbove(id) == row.above then floorsOk = floorsOk + 1 end +end +ok(headersOk == 18, "every row's header id lands on the map it names", + headersOk .. "/18", "18/18") +ok(floorsOk == 18, "...and floorsAbove answers each row's own count", + floorsOk .. "/18", "18/18") + +-- ------------------------------------------ what the second operand means -- + +io.write("\nthe thirteen `setspeciallocation` sites\n") +note("read as a WARP INDEX. Every site must land on the door into its car.") + +-- Every (mapHeaderID, warpId) pair the cartridge's scripts write, from a walk +-- over scr_seq.narc -- twelve lift panels and the Great Marsh's gate. `car` is +-- the map the resolved warp must LEAD TO, which is what makes this a check on +-- the reading of the operand and not a second copy of the operand. +local SITES = { + { 11, 2, "C01R0208" }, { 12, 3, "C01R0208" }, + { 13, 4, "C01R0208" }, { 14, 1, "C01R0208" }, + { 137, 2, "C07R0206" }, { 138, 2, "C07R0206" }, + { 139, 2, "C07R0206" }, { 140, 2, "C07R0206" }, + { 141, 1, "C07R0206" }, { 566, 1, "C07R0206" }, + { 461, 1, "T07R0103" }, { 462, 0, "T07R0103" }, + -- the Great Marsh: the gate's own door into the marsh, which is where + -- running out of balls puts you back (encounter.c 484) + { 125, 2, "D06R0206" }, +} +local landed, resolved = 0, 0 +for _, s in ipairs(SITES) do + local header, warpId, wantDest = s[1], s[2], s[3] + local id = byHeader[header] + local def = id and maps[id] + local dw = def and def.warps and def.warps[warpId + 1] + if dw then + resolved = resolved + 1 + if dw.destMap == wantDest then landed = landed + 1 + else note(("header %d warp %d is %s's (%s,%s), which leads to %s and not %s") + :format(header, warpId, tostring(id), tostring(dw.x), tostring(dw.y), + tostring(dw.destMap), wantDest)) end + else + note(("header %d warp %d does not exist on %s"):format(header, warpId, + tostring(id))) + end +end +ok(resolved == #SITES, "every site names a warp the cache has", + resolved .. "/" .. #SITES, #SITES .. "/" .. #SITES) +ok(landed == #SITES, "...and every one leads to the lift it belongs to", + landed .. "/" .. #SITES, #SITES .. "/" .. #SITES) + +-- ------------------------------------------------------- the round trip -- + +io.write("\nin and out of the Veilstone store's lift\n") + +-- The cache may predate the extractor's marking, so the car's warp is marked +-- here rather than depended on: what is under test is Warp.lua's two halves, +-- not the extractor's (which the count above reports on). +local data = { maps = maps } +local car = maps["C07R0206"] +local carDoor = car and car.warps and car.warps[1] +local floorDoor +for _, w in ipairs((maps["C07R0201"] or {}).warps or {}) do + if w.destMap == "C07R0206" then floorDoor = w end +end +if carDoor and floorDoor then + carDoor.destMap = Elevators.DYNAMIC_MAP + local save = {} + -- 1. step off 1F into the car + Warp.noteGen4Entrance(data, save, floorDoor, "C07R0206", "C07R0201", + floorDoor.x, floorDoor.y, "up") + local spot = save.gen4SpecialLocation + ok(spot ~= nil and spot.map == "C07R0201", + "arriving in the car remembers the floor you got on at", + spot and tostring(spot.map) or "nothing", "C07R0201") + ok(spot ~= nil and spot.warp == (floorDoor.index - 1), + "...as the cartridge's zero-based event index", + spot and tostring(spot.warp) or "nil", floorDoor.index - 1) + -- 2. the panel-less case: which way does the car go from here + ok(Elevators.floorsAbove(spot and spot.map) == 4, + "...so `getfloorsabove` answers about 1F and not the car", + Elevators.floorsAbove(spot and spot.map), 4) + -- 3. walk straight back out + local back, bx, by = Warp.destination(data, carDoor, nil, nil, save) + ok(back == "C07R0201" and bx == floorDoor.x and by == floorDoor.y, + "walking back out returns to that same door", + ("%s (%s,%s)"):format(tostring(back), tostring(bx), tostring(by)), + ("C07R0201 (%d,%d)"):format(floorDoor.x, floorDoor.y)) + -- 4. the panel picks the basement: `setspeciallocation 566 1 ...` + save.gen4SpecialLocation = { map = byHeader[566], warp = 1, x = 14, y = 2, + facing = "down" } + local down, dx, dy = Warp.destination(data, carDoor, nil, nil, save) + local b1f = maps[byHeader[566]] + local bw = b1f and b1f.warps and b1f.warps[2] + ok(down == byHeader[566] and bw ~= nil and dx == bw.x and dy == bw.y, + "choosing B1F lands on B1F's own lift door", + ("%s (%s,%s)"):format(tostring(down), tostring(dx), tostring(dy)), + ("%s (%s,%s)"):format(tostring(byHeader[566]), + bw and tostring(bw.x) or "?", + bw and tostring(bw.y) or "?")) + -- 5. and the refusal, which is the whole reason the bug was invisible + save.gen4SpecialLocation = nil + warned = {} + local none = Warp.destination(data, carDoor, nil, nil, save) + ok(none == nil and #warned > 0, + "an unset slot refuses the door and says so", + none == nil and ("nil, %d warning(s)"):format(#warned) or tostring(none), + "nil, 1 warning(s)") +else + ok(false, "the cache carries the Veilstone car and its 1F door", + "missing", "both") +end + +-- ------------------------------------------- the platforms, against a cache -- + +io.write("\nthe nine platform lifts, in a cache\n") + +-- A def only carries `blocks` when it OWNS its grid; four of the League rooms +-- share a matrix and reference `map_layouts` instead, so both are read. Loaded +-- lazily because that file is thirteen megabytes and most runs do not need it. +local layouts = nil +local function gridOf(def) + if def.blocks then return def.blocks, def.width, def.height end + if layouts == nil then layouts = load("map_layouts") or false end + local L = layouts and layouts[def.layout] + if not L then return nil end + return L.blocks, L.width or def.width, L.height or def.height +end + +local function permission(def, x, y) + local blocks, w, h = gridOf(def) + if not blocks then return nil end + if x < 0 or y < 0 or x >= w or y >= h then return nil end + local i = (y * w + x) * 2 + 1 + local lo, hi = blocks:byte(i, i + 1) + if not lo then return nil end + -- the same ten bits `Map.blockArray` keeps, which is what the engine walks on + return (lo + hi * 256) % 1024 +end + +local named, onWarp, slabOpen, withCoord, noCoord = 0, 0, 0, 0, 0 +for header, row in pairs(Platforms.LIFTS) do + local id = byHeader[header] + local def = id and maps[id] + if id == row.map then named = named + 1 + else note(("header %d: the table says %s, the cache says %s") + :format(header, row.map, tostring(id))) end + if def then + -- the bottom-floor z is a MATRIX coordinate, so the origin goes back on + local oy = tonumber(def.originY) or 0 + local hit = false + for _, w in ipairs(def.warps or {}) do + if (tonumber(w.y) or -1) + oy == row.bottomZ then hit = true end + end + if hit then onWarp = onWarp + 1 + else note(("%s: bottom-floor z %d is not any warp's y") + :format(tostring(id), row.bottomZ)) end + + local open, total = 0, 0 + for yy = row.start[2], row.start[2] + Platforms.SIZE_Y - 1 do + for xx = row.start[1], row.start[1] + Platforms.SIZE_X - 1 do + total = total + 1 + local v = permission(def, xx, yy) + if v and v ~= Gen4Maps.BLOCKED_CELL then open = open + 1 end + end + end + if open == total and total == Platforms.SIZE_X * Platforms.SIZE_Y then + slabOpen = slabOpen + 1 + else + note(("%s: the platform's own %dx%d slab is %d/%d open") + :format(tostring(id), Platforms.SIZE_X, Platforms.SIZE_Y, open, total)) + end + + local inside = 0 + for _, c in ipairs(def.coordEvents or {}) do + if c.x >= row.start[1] and c.x < row.start[1] + Platforms.SIZE_X + and c.y >= row.start[2] and c.y < row.start[2] + Platforms.SIZE_Y then + inside = inside + 1 + end + end + if inside > 0 then withCoord = withCoord + 1 + elseif #(def.coordEvents or {}) == 0 then noCoord = noCoord + 1 + else note(("%s: has %d coord event(s) and none on its platform") + :format(tostring(id), #def.coordEvents)) end + end +end +ok(named == 9, "every row's header id lands on the map it names", + named .. "/9", "9/9") +ok(onWarp == 9, "every bottom-floor z is a real warp's y", onWarp .. "/9", "9/9") +ok(slabOpen == 9, "every platform's own slab is walkable ground", + slabOpen .. "/9", "9/9") +-- THE START TILES ARE TRANSCRIBED FROM A C TABLE and this is what checks them: +-- a 3x2 slab from each corner has to contain that room's lift trigger. Eight do; +-- the ninth is asserted to have NO trigger rather than assumed to be an +-- exception -- the Champion's room lift is started by the script after Cynthia. +ok(withCoord == 8, "eight slabs contain their room's own lift trigger", + withCoord .. "/8", "8/8") +ok(noCoord == 1, "...and the ninth room has no trigger at all", + noCoord .. "/1", "1/1") + +-- ...AND THE ONE THAT DECIDES WHETHER THE NO-OP IS HONEST. +-- +-- Each League room is a shaft: a warp in the wall at the top and one on the +-- floor at the bottom. If the column between them is open, the lift is scenery +-- and the Elite Four are reachable in order without it. If it is not, this +-- port's `triggerplatformlift` no-op is a wall across the main path -- which is +-- exactly what the six League rooms were never checked for. +io.write("\nis the Pokemon League walkable without its lifts\n") + +local shafts, shaftRooms = 0, 0 +for header, row in pairs(Platforms.LIFTS) do + if row.league then + shaftRooms = shaftRooms + 1 + local def = maps[byHeader[header]] + local bottom, top + for _, w in ipairs((def or {}).warps or {}) do + if (tonumber(w.y) or -1) + (tonumber(def.originY) or 0) == row.bottomZ then + bottom = w + end + if not top or w.y < top.y then top = w end + end + if bottom and top and bottom.x == top.x then + local open, total = 0, 0 + for yy = top.y + 1, bottom.y do + total = total + 1 + local v = permission(def, bottom.x, yy) + if v and v ~= Gen4Maps.BLOCKED_CELL then open = open + 1 end + end + if total > 0 and open == total then + shafts = shafts + 1 + note(("%-10s %-38s x=%d, %d/%d open"):format(row.map, row.what, + bottom.x, open, total)) + else + note(("%-10s %s -- ONLY %d/%d OPEN, the lift is a GATE here") + :format(row.map, row.what, open, total)) + end + else + note(("%s: its two warps are not in one column (%s vs %s)") + :format(row.map, bottom and bottom.x or "?", top and top.x or "?")) + end + end +end +ok(shafts == 6 and shaftRooms == 6, + "all six League shafts are open floor end to end", + shafts .. "/" .. shaftRooms, "6/6") + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_map_reach.lua b/tools/gen4_map_reach.lua new file mode 100644 index 000000000..4214c2ee1 --- /dev/null +++ b/tools/gen4_map_reach.lua @@ -0,0 +1,191 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_map_reach.lua -- WHERE the unlowered opcodes are, not how many. +-- +-- tools/gen4_coverage_check.lua ranks the unlowered tail by how often each +-- opcode OCCURS, and that ranking is dominated by one room: 146 of the top +-- entries are `callbattletowerfunction`, which is one building behind one door +-- nobody has to open. A player walking from Twinleaf to the Elite Four never +-- meets it. +-- +-- THE USEFUL QUESTION IS HOW MANY MAPS AN OPCODE REACHES, and it produces a +-- different order. `finishnpctrade` occurs eleven times -- far down the +-- occurrence list -- and sits on FOUR maps, one of which is OREBURGH CITY, the +-- third town. An occurrence count says "rare"; a map count says "on the road". +-- +-- It also reports the other way round: which maps have gaps at all, worst +-- first, with the opcodes each one is missing. That is the list to read when a +-- player says a scene did nothing. +-- +-- WHAT IT IS NOT: a pass/fail check. There is no floor to hold here -- the +-- tail is work that has not been done, and a number that only goes down is not +-- something to assert. It prints; the checks assert. +-- +-- A MAP'S SCRIPT FILE IS NOT ONLY ITS OWN. Several maps share a member of +-- scr_seq, and a member holds every block in it whether that map runs it or +-- not -- so a gap listed against a map is a gap in the file that map's scripts +-- live in. That is the honest reading and it is still the right one for the +-- question: an opcode in that file is one the game can reach from there. +-- +-- Run: texlua tools/gen4_map_reach.lua + +local romPath, cacheDir = arg and arg[1], arg and arg[2] +if not (romPath and cacheDir) then + io.stderr:write("usage: texlua tools/gen4_map_reach.lua \n") + os.exit(2) +end + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local KEEP = { + ["src.script.Gen4ScriptVM"] = true, ["src.script.Gen4Commands"] = true, + ["src.import.Gen4ScriptOps"] = true, ["src.import.Gen4ScriptBands"] = true, + ["src.import.Gen4Movement"] = true, ["src.import.Gen4Script"] = true, + ["src.import.NdsRom"] = true, ["src.import.NarcArchive"] = true, +} +local shared = { meta = {} } +local quiet = setmetatable({}, { __index = function() return function() end end }) +local inert = setmetatable({}, { __index = function() return function() end end }) +table.insert(package.searchers, 1, function(name) + if KEEP[name] then return nil end + if name == "src.script.Commands" then return function() return shared end end + if name == "src.core.Logger" then return function() return quiet end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local VM = require("src.script.Gen4ScriptVM") +local Script = require("src.import.Gen4Script") +local NdsRom = require("src.import.NdsRom") +local Narc = require("src.import.NarcArchive") + +-- THE SAME CANARY gen4_seam_check.lua CARRIES, and for the same reason: that +-- one spent its whole life grading a snapshot of the lowering at an absolute +-- path, and nothing in its output could have said so. Comparing the bytes of +-- the file `VM.lower` loaded from against the copy beside this tool is what +-- makes the report a report about THIS tree. +local function readAll(path) + local f = io.open(path, "rb") + if not f then return nil end + local s = f:read("*a"); f:close(); return s +end +do + local loadedFrom = (debug.getinfo(VM.lower, "S").source or ""):gsub("^@", "") + local beside = (root ~= "" and root or "./") .. "../src/script/Gen4ScriptVM.lua" + local a, b = readAll(loadedFrom), readAll(beside) + if not (a and b and a == b) then + io.write("!! the lowering that loaded is not the one beside this tool\n") + io.write(" loaded: " .. loadedFrom .. "\n beside: " .. beside .. "\n") + os.exit(1) + end +end +assert(VM.lowered("gotoif"), "canary: gotoif must be lowered") +assert(not VM.lowered("gen2recomped_no_such_command"), + "canary: VM.lowered must be able to answer NO") + +local headers = assert(loadfile(cacheDir .. "/gen4_map_headers.lua"))() +local rom = assert(NdsRom.open(romPath)) +local arc = assert(Narc.parse(assert(rom:read("/fielddata/script/scr_seq.narc")))) + +-- One script member, walked the way the extractor builds its pool: every entry +-- point plus every block a jump reaches. +local cache = {} +local function member(m) + if cache[m] then return cache[m] end + local r = { total = 0, missing = 0, ops = {} } + local bytes = arc:get(m) + if bytes and #bytes >= 6 then + local queue, seen = {}, {} + for _, at in ipairs(Script.entries(bytes)) do + if not seen[at] then seen[at] = true; queue[#queue + 1] = at end + end + local i = 1 + while i <= #queue do + local at = queue[i]; i = i + 1 + for _, op in ipairs(Script.decode(bytes, at) or {}) do + r.total = r.total + 1 + local name = op.name or ("?%03X"):format(op.op or 0) + if not VM.lowered(name) then + r.missing = r.missing + 1 + r.ops[name] = (r.ops[name] or 0) + 1 + end + local t = op.target + if t and t >= 1 and t <= #bytes and not seen[t] then + seen[t] = true; queue[#queue + 1] = t + end + end + end + end + cache[m] = r + return r +end + +local maps, where, occurs = {}, {}, {} +local rows, walked, withGaps = {}, 0, 0 +for id = 0, 600 do + local h = headers[id] + if h and h.scripts then + walked = walked + 1 + local r = member(h.scripts) + if r.missing > 0 then withGaps = withGaps + 1 end + rows[#rows + 1] = { id = id, name = h.internalName, label = h.label, + total = r.total, missing = r.missing, ops = r.ops } + for name, n in pairs(r.ops) do + maps[name] = maps[name] or {} + maps[name][id] = true + occurs[name] = (occurs[name] or 0) + n + where[name] = where[name] or {} + where[name][h.label or "?"] = true + end + end +end +rom:close() + +io.write(("\n%d maps walked, %d have at least one unlowered instruction\n\n") + :format(walked, withGaps)) + +local ranked = {} +for name, set in pairs(maps) do + local c, ls = 0, {} + for _ in pairs(set) do c = c + 1 end + for l in pairs(where[name]) do ls[#ls + 1] = l end + table.sort(ls) + ranked[#ranked + 1] = { name = name, maps = c, n = occurs[name], where = ls } +end +table.sort(ranked, function(a, b) + if a.maps ~= b.maps then return a.maps > b.maps end + if a.n ~= b.n then return a.n > b.n end + return a.name < b.name +end) + +io.write("unlowered opcodes, ranked by HOW MANY MAPS THEY REACH:\n") +for i = 1, math.min(30, #ranked) do + local r = ranked[i] + local w = table.concat(r.where, "; ") + if #w > 74 then w = w:sub(1, 71) .. "..." end + io.write((" %-42s %3d maps x%-4d %s\n"):format(r.name, r.maps, r.n, w)) +end + +table.sort(rows, function(a, b) + if a.missing ~= b.missing then return a.missing > b.missing end + return a.id < b.id +end) +io.write("\nmaps with the most unlowered instructions:\n") +for i = 1, math.min(20, #rows) do + local r = rows[i] + if r.missing == 0 then break end + local list = {} + for name, n in pairs(r.ops) do list[#list + 1] = name .. " x" .. n end + table.sort(list) + local w = table.concat(list, ", ") + if #w > 96 then w = w:sub(1, 93) .. "..." end + io.write((" %-10s %-22s %4d/%-5d %s\n"):format(r.name, r.label or "?", + r.missing, r.total, w)) +end +io.write("\n") diff --git a/tools/gen4_opcode_widths.py b/tools/gen4_opcode_widths.py new file mode 100644 index 000000000..aa7a943f4 --- /dev/null +++ b/tools/gen4_opcode_widths.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +# Copyright (c) 2026 Cedric. All rights reserved. +# Source-available under the Gen2Recomped License (see LICENSE.md): you may +# read, build and privately modify this file; you may not redistribute it or +# use it commercially. Cartridge-derived data is excluded and is not the +# copyright holder's to license. +"""tools/gen4_opcode_widths.py -- check Gen4ScriptOps' operand widths against pret. + +WHY THIS IS THE MOST LOAD-BEARING CHECK IN THE GEN 4 WORK. Every coverage +figure, every reachability walk and every "this command is lowered" claim rests +on the decode being right, and the decode rests on one number per opcode: how +many bytes its operands take. Get one wrong and every instruction after it in +that block is garbage -- silently, with no error, and the garbage still counts +as "decoded". + +pret states the answer without meaning to. A handler's operand list IS the +sequence of primitives it calls, and each one consumes a known width: + + ScriptContext_ReadByte 1 ScriptContext_GetVar 2 + ScriptContext_ReadHalfWord 2 ScriptContext_GetVarPointer 2 + ScriptContext_ReadWord 4 + +(GetVar and GetVarPointer are inlines in include/inlines.h that call +ReadHalfWord, which is why both are two.) + +So: extract every ScrCmd_* body, read its primitives in order, and compare. + +THE HEURISTIC THAT MATTERS. A read inside a loop or a conditional is not +positionally fixed, so a linear count of primitives is wrong for those. The +first version of this script flagged any body CONTAINING a loop, which buried +54 opcodes that were perfectly fine -- nearly all of them `count*` and +`findpartyslotwith*` handlers that read their operands once and then walk the +party. Tracking brace depth and asking whether each read is inside a +conditional block instead took the uncomparable set from 56 down to 15. + +RESULT ON THE COMMITTED TABLE: 825 of 840 opcodes verified, 0 disagreements. + +The 30 that once disagreed were all `ScrCmd_Unused_*`, all given zero operands +by this port, and NONE OF THEM OCCURS ANYWHERE IN THE CORPUS -- checked over all +78,093 reachable instructions -- so the decode every measurement relied on was +sound, and the fix was for a latent desync rather than a live one. + +RESIDUAL RISK, NAMED. 15 opcodes are not compared: 8 that this port deliberately +marks variable-length (the decoder STOPS at those rather than guessing, which is +why their blocks are only partly walked), and 6 whose handler bodies are not in +src/ (overlay or inlined) -- checkforjubilifelotterywinner, 27c, 2b8, +showmovetutormoveselectionmenu, closeshardcostwindow and +savetvsegmentpokemonstoragebulletin, 17 instructions between them, all side +systems. Those widths are the only ones still taken on trust. + + python3 tools/gen4_opcode_widths.py /path/to/pokeplatinum src/import/Gen4ScriptOps.lua +""" +import re, os, sys, subprocess, json + +def pret_specs(pp): + rows=[] + for line in open(os.path.join(pp,"include/data/scripts/scrcmd.h")): + m=re.match(r'\s*ScriptCommand\(\s*([A-Za-z0-9_]+)\s*,\s*([A-Za-z0-9_]+)\s*\)', line) + if m: rows.append(m.group(2)) + bodies={} + for root,_,files in os.walk(os.path.join(pp,"src")): + for fn in files: + if not fn.endswith(".c"): continue + src=open(os.path.join(root,fn),encoding='utf-8',errors='replace').read() + for m in re.finditer(r'^(?:static\s+)?BOOL\s+(ScrCmd_[A-Za-z0-9_]+)\s*\(\s*ScriptContext\s*\*\s*ctx\s*\)\s*\n\{', src, re.M): + i=m.end()-1; d=0; j=i + while j1 else "/tmp/pp" + ops = sys.argv[2] if len(sys.argv)>2 else "src/import/Gen4ScriptOps.lua" + P, M = pret_specs(pp), mine(ops) + agree=0; dis=[]; skip=[] + for op,(name,spec) in sorted(M.items()): + p=P.get(op) + if not p or p[1] is None: + skip.append((op,name,"no handler body in src/ (overlay or inlined)")); continue + if "*" in spec: + skip.append((op,name,"declared variable-length here")); continue + if p[1]==spec: agree+=1 + else: dis.append((op,name,spec,p[1],p[2])) + print(f"{agree} AGREE, {len(dis)} DISAGREE, {len(skip)} not compared\n") + for op,name,m_,p_,cond in dis: + note = " (pret has a read inside a conditional; its spec is a lower bound)" if cond else "" + print(f" 0x{op:03X} {name:<40} mine={m_!r:<10} pret={p_!r}{note}") + if skip: + print("\nnot compared -- these widths are taken on trust:") + for op,name,why in skip: print(f" 0x{op:03X} {name:<40} {why}") + return 1 if dis else 0 + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/gen4_operand_names.py b/tools/gen4_operand_names.py new file mode 100644 index 000000000..059a1dc08 --- /dev/null +++ b/tools/gen4_operand_names.py @@ -0,0 +1,180 @@ +#!/usr/bin/env python3 +# Copyright (c) 2026 Cedric. All rights reserved. +# Source-available under the Gen2Recomped License (see LICENSE.md): you may +# read, build and privately modify this file; you may not redistribute it or +# use it commercially. Cartridge-derived data is excluded and is not the +# copyright holder's to license. +"""tools/gen4_operand_names.py -- INPUT operand order, checked by name. + +The other checks stop at "every destination is passed". None can see whether two +INPUTS are the right way round: `getpartymontype ` +would satisfy all of them with its two destinations swapped. + +I wrote that gap down as unfixable -- "the only defence is reading the handler +operand by operand". That was wrong. THE NAMES ARE A SHARED VOCABULARY. pret's +handler assigns every read to a named local: + + u16 *destVar = ScriptContext_GetVarPointer(ctx); + u16 species = ScriptContext_GetVar(ctx); + +and this port's commands have named parameters. Compose the two through the +lowering's emit row -- which args[N] lands in which parameter slot -- and the +names either correspond or they do not. 1,037 of pret's 1,129 operands (91.9%) +carry a usable name. + +THE REFINEMENT THAT MADE IT USABLE. The first run reported 52 disagreements and +every one was correct code: `g4_buffer(ctx, slot, kind, value)` serves about +twenty opcodes, so its parameters are deliberately non-specific, and comparing +"value" against pret's "item", "move" and "number" is noise. Generic parameter +names are excluded and counted instead -- 52 complaints down to 6, all synonyms. +Same lesson as the width checker's loop heuristic: a check that cries wolf on a +list nobody will read is not a check. + +RESULT ON THE COMMITTED TREE: 61 specifically-named pairs compared, 0 real +disagreements. 77 skipped because this port's parameter is generic (a design +choice -- there the per-opcode `kind` string in the emit row is the +discriminator), 43 lowerings not comparable. + +A difference is REVIEW, not failure: this exits 0 and prints what to read. + + python3 tools/gen4_operand_names.py . /path/to/pokeplatinum +""" +import re, os, sys + +DECL = re.compile(r'(?:^|[;{]\s*)(?:const\s+)?(?:u8|u16|u32|s8|s16|s32|int|BOOL|enum\s+\w+)' + r'\s*\**\s*([A-Za-z_][A-Za-z0-9_]*)\s*=\s*\(?[A-Za-z0-9_]*\)?\s*' + r'ScriptContext_(?:ReadByte|ReadHalfWord|ReadWord|GetVarPointer|GetVar)' + r'\s*\(\s*ctx\s*\)', re.M) +BARE = re.compile(r'ScriptContext_(ReadByte|ReadHalfWord|ReadWord|GetVarPointer|GetVar)' + r'\s*\(\s*ctx\s*\)') +COND = re.compile(r'\b(for|while|if|else|switch|case|do)\b[^;{]*$') + +# A GENERIC PARAMETER NAME CANNOT DISAGREE WITH ANYTHING. +GENERIC = {"slot","value","kind","id","n","a","b","x","y","z","arg","args","index", + "which","what","mode","target","amount","count","frames","steps", + "colour","color","feature","destvar","dest"} + +def extract_pret(pp): + order=[] + for line in open(os.path.join(pp,"include/data/scripts/scrcmd.h")): + m=re.match(r'\s*ScriptCommand\(\s*([A-Za-z0-9_]+)\s*,\s*([A-Za-z0-9_]+)\s*\)', line) + if m: order.append(m.group(2)) + bodies={} + for root,_,files in os.walk(os.path.join(pp,"src")): + for fn in files: + if not fn.endswith(".c"): continue + src=open(os.path.join(root,fn),encoding='utf-8',errors='replace').read() + for m in re.finditer(r'^(?:static\s+)?BOOL\s+(ScrCmd_[A-Za-z0-9_]+)\s*' + r'\(\s*ScriptContext\s*\*\s*ctx\s*\)\s*\n\{', src, re.M): + i=m.end()-1; d=0; j=i + while j1 else "." + pp = sys.argv[2] if len(sys.argv)>2 else "/tmp/pp" + pret = extract_pret(pp) + + name2op={} + for m in re.finditer(r'\[0x([0-9A-Fa-f]{1,3})\]\s*=\s*\{\s*"([^"]+)"', + open(os.path.join(root,"src/import/Gen4ScriptOps.lua"), + encoding='utf-8',errors='replace').read()): + name2op[m.group(2)]=int(m.group(1),16) + + params={} + for m in re.finditer(r'^function Commands\.([A-Za-z0-9_]+)\(([^)]*)\)', + open(os.path.join(root,"src/script/Gen4Commands.lua"), + encoding='utf-8',errors='replace').read().replace('\r\n','\n'), re.M): + ps=[p.strip() for p in m.group(2).split(',') if p.strip()] + if ps and ps[0]=="ctx": ps=ps[1:] + params[m.group(1)]=ps + + src=open(os.path.join(root,"src/script/Gen4ScriptVM.lua"), + encoding='utf-8',errors='replace').read().replace('\r\n','\n') + marks=[(m.start(), m.group(1) or m.group(2)) for m in + re.finditer(r'^L(?:\.([a-z0-9_]+)|\["([^"]+)"\])\s*=\s*', src, re.M)] + marks.append((len(src),None)) + rows={} + for i in range(len(marks)-1): + a,name=marks[i]; b,_=marks[i+1] + if name is None: continue + em=re.search(r'emit\(\s*s\s*,\s*\{(.*?)\}\s*\)', src[a:b], re.S) + if not em: continue + parts=[p.strip() for p in re.split(r',(?![^\[]*\])', em.group(1))] + if not parts: continue + slots=[] + for p in parts[1:]: + am=re.fullmatch(r'ins\.args\[(\d+)\]', p) + slots.append(int(am.group(1)) if am else None) + rows.setdefault(name,(parts[0].strip('"'), slots)) + + diff=[]; checked=generic=skipped=0 + for lname,(verb,slots) in sorted(rows.items()): + op=name2op.get(lname) + entry=pret.get(op) if op is not None else None + pnames=params.get(verb) + if op is None or not entry or entry[1] is None or entry[2] or not pnames: + skipped+=1; continue + pops=entry[1] + for slot,argidx in enumerate(slots): + if argidx is None or slot>=len(pnames) or argidx-1>=len(pops): continue + cname,kind=pops[argidx-1] + a_,b_=norm(cname), norm(pnames[slot]) + if not a_ or not b_: continue + if pnames[slot].lower() in GENERIC: generic+=1; continue + checked+=1 + if a_==b_ or a_ in b_ or b_ in a_: continue + diff.append((op,lname,verb,slot+1,pnames[slot],argidx,cname,kind)) + + print(f"{checked} operand pairs compared by name; {len(diff)} differ") + print(f"({generic} skipped: this port's parameter is generically named)") + print(f"({skipped} lowerings not comparable)\n") + if diff: + print("A NAME DIFFERENCE IS EVIDENCE TO READ, NOT PROOF OF A BUG -- synonyms") + print("are common (on/rideBike, enemy1/enemyTrainer1, height for Gen 4's y).") + print("Read each against the handler:\n") + for op,l,v,slot,pn,ai,cn,k in diff: + print(f" 0x{op:03X} {l}") + print(f" {v} parameter {slot} is named {pn!r}") + print(f" but receives args[{ai}], which pret calls {cn!r} ({k})") + return 0 + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/gen4_operand_roles.py b/tools/gen4_operand_roles.py new file mode 100644 index 000000000..5068f66f0 --- /dev/null +++ b/tools/gen4_operand_roles.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 +# Copyright (c) 2026 Cedric. All rights reserved. +# Source-available under the Gen2Recomped License (see LICENSE.md): you may +# read, build and privately modify this file; you may not redistribute it or +# use it commercially. Cartridge-derived data is excluded and is not the +# copyright holder's to license. +"""tools/gen4_operand_roles.py -- does the lowering pass every DESTINATION operand? + +The other three Gen 4 checks each stop one step short of this one: + + * the chapter walks say an opcode is lowered; + * gen4_command_audit says the command runs and writes its var; + * gen4_seam_check says the verb resolves and the operand COUNT matches; + * none of them knows which operand is WHICH. + +An operand's role is in pret, unambiguously. `ScriptContext_GetVarPointer` reads +a DESTINATION -- a var the command writes -- and everything else +(`GetVar`, `ReadByte`, `ReadHalfWord`, `ReadWord`) reads an input. So the order +and roles of a command's operands are the sequence of primitives its handler +calls, and this compares that against the `ins.args[N]` indices the lowering +actually passes. + +WHY DESTINATIONS SPECIFICALLY. A dropped input is usually deliberate -- a no-op +ignores everything, `goto` reads its offset from `ins.target` rather than args. +A dropped DESTINATION is never harmless: the var is not written, and the `gotoif` +behind it branches on whatever the previous command happened to leave in the +comparison register. Passing the WRONG operand as the destination is worse still: +the zero lands in a var id taken from an input, clobbering something unrelated. + +WHAT IT FOUND. Two, both on commands whose names contain "fatefulencounter": + + 0x32B checkpartyhasfatefulencounterregigigas operand 1 of 1 is a DESTINATION + 0x31C findpartyslotwithfatefulencounterspecies operand 1 of 2 is a DESTINATION + +Both lowerings passed `ins.args[2]`. The first handed the command nil, so nothing +was written at any of its 9 sites; the second passed the SPECIES as the +destination, writing into a var id that was never a var. Both are the +"destination comes first" shape that scrcmd_party.c's four party queries already +demonstrate -- documented, and then walked into twice anyway. Reading carefully +is not a substitute for a check. + + python3 tools/gen4_operand_roles.py /path/to/pokeplatinum \\ + src/import/Gen4ScriptOps.lua src/script/Gen4ScriptVM.lua +""" +import re, os, sys + +# THE ONE OPERAND THAT IS A POINTER BUT NOT A DESTINATION. +# +# `GetVarPointer` is what this check reads a destination from, and for 335 of +# the 336 lowerings it parses that is exactly what the operand is. The +# exception is the lift's floor indicator: +# +# ScrCmd_ShowCurrentFloor -> FieldMenu_ShowCurrentFloorWindow(..., var, ...) +# CurrentFloorWindowSystaskCallback: if (*selectedOptionPtr == 0xffff) close +# +# -- the command takes the pointer so its WINDOW can WATCH the var, and the +# SCRIPT is what writes it (`setvar VAR_ELEVATOR_FLOORS_ABOVE, -1`, three rows +# later in all three panel lifts). So it is an IN operand wearing a pointer, and +# a lowering that "fixed" it by writing a zero would clobber the floor count the +# panel is about to branch on -- the opposite of what this check exists to +# prevent. +# +# Listed here with the reason rather than silently skipped: if a second command +# ever turns up in this shape, it has to be argued for on the same page. +IN_OUT_HANDLES = { + "showcurrentfloor": "the window watches the var; the script writes it", +} + +def pret_roles(pp): + rows=[] + for line in open(os.path.join(pp,"include/data/scripts/scrcmd.h")): + m=re.match(r'\s*ScriptCommand\(\s*([A-Za-z0-9_]+)\s*,\s*([A-Za-z0-9_]+)\s*\)', line) + if m: rows.append(m.group(2)) + bodies={} + for root,_,files in os.walk(os.path.join(pp,"src")): + for fn in files: + if not fn.endswith(".c"): continue + src=open(os.path.join(root,fn),encoding='utf-8',errors='replace').read() + for m in re.finditer(r'^(?:static\s+)?BOOL\s+(ScrCmd_[A-Za-z0-9_]+)\s*\(\s*ScriptContext\s*\*\s*ctx\s*\)\s*\n\{', src, re.M): + i=m.end()-1; d=0; j=i + while j1 else "/tmp/pp" + ops = sys.argv[2] if len(sys.argv)>2 else "src/import/Gen4ScriptOps.lua" + vm = sys.argv[3] if len(sys.argv)>3 else "src/script/Gen4ScriptVM.lua" + roles = pret_roles(pp) + name2op={} + for m in re.finditer(r'\[0x([0-9A-Fa-f]{1,3})\]\s*=\s*\{\s*"([^"]+)"', + open(ops,encoding='utf-8',errors='replace').read()): + name2op[m.group(2)]=int(m.group(1),16) + + src=open(vm,encoding='utf-8',errors='replace').read().replace('\r\n','\n') + marks=[(m.start(), m.group(1) or m.group(2)) for m in + re.finditer(r'^L(?:\.([a-z0-9_]+)|\["([^"]+)"\])\s*=\s*', src, re.M)] + marks.append((len(src), None)) + lowered={} + for i in range(len(marks)-1): + a,name=marks[i]; b,_=marks[i+1] + if name is None: continue + lowered.setdefault(name,set()).update( + int(n) for n in re.findall(r'ins\.args\[(\d+)\]', src[a:b])) + + bad=[]; ignored={}; handles={}; skipped=0 + for name,used in sorted(lowered.items()): + op=name2op.get(name) + if op is None: continue + entry=roles.get(op) + if not entry or entry[1] is None or entry[2]: skipped+=1; continue + for pos,kind in enumerate(entry[1], start=1): + if pos in used: continue + if kind=="dest": + if name in IN_OUT_HANDLES: handles.setdefault(name,[]).append(pos) + else: bad.append((op,name,pos,len(entry[1]),entry[1])) + else: ignored.setdefault(name,[]).append(pos) + + print("DROPPED DESTINATIONS -- the var is never written and the branch behind") + print("it reads the previous command's answer:") + if not bad: print(" none") + for op,name,pos,n,ks in bad: + print(f" 0x{op:03X} {name:<44} operand {pos} of {n} is a DESTINATION {ks}") + if handles: + print("\npointer operands that are INPUTS, and why (see IN_OUT_HANDLES):") + for name,poss in sorted(handles.items()): + print(f" {name:<44} operand {','.join(str(p) for p in poss)}" + f" -- {IN_OUT_HANDLES[name]}") + print(f"\nignored input operands (usually deliberate): {len(ignored)} commands") + print(f"{len(lowered)} lowerings parsed, {skipped} not comparable") + return 1 if bad else 0 + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/gen4_party_check.lua b/tools/gen4_party_check.lua new file mode 100644 index 000000000..1bc21ccb2 --- /dev/null +++ b/tools/gen4_party_check.lua @@ -0,0 +1,369 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_party_check.lua -- can a TM be used in Sinnoh at all. +-- +-- THE FAULT THIS EXISTS FOR WAS NOT COSMETIC. The Gen 4 PartyMenu alias did +-- not list `tmhm`, so BagMenu's push was declined; `Screens.resolveId` then +-- returned the GAME BOY id, because a Platinum cache is not a Hoenn one; and +-- whichever screen served it called ItemEffects.use, which scans +-- `speciesDef.tmhm` with a bare `ipairs`. A Gen 4 cache had no such list. +-- USING A TM RAISED. +-- +-- So there are three separate things to check and they fail in three different +-- ways: the ALIAS (wrong screen), the LIST (a crash), and the WORDS (the right +-- screen saying Emerald's "NOT ABLE" where Platinum says "UNABLE!"). +-- +-- Run: texlua tools/gen4_party_check.lua [cache dir] +-- +-- Without a cache only the port's own constants are checked, and it SAYS so. + +local cacheDir = arg and arg[1] + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +-- A stand-in for everything the screens drag in, EXCEPT the two modules under +-- test. `new` is a real function on purpose: `resolveId` refuses an alias whose +-- module has none, and what is under test here is whether the alias ACCEPTS +-- THE PUSH -- not whether a screen module loads without a graphics device, +-- which it cannot do in a harness and which no player ever asks it to. +local inert = setmetatable({}, { __index = function() return function() end end }) +local screenStub = { new = function() return {} end } +table.insert(package.searchers, 1, function(name) + if name == "src.ui.Screens" then return nil end + if name == "src.import.Gen4Menus" then return nil end + if name == "src.import.Gen4Trades" then return nil end + if name:sub(1, 7) == "src.ui." then return function() return screenStub end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local Screens = require("src.ui.Screens") +local Menus = require("src.import.Gen4Menus") +local Trades = require("src.import.Gen4Trades") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-56s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-56s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end +local function note(line) io.write(" -- " .. line .. "\n") end + +-- ------------------------------------------------------------- the alias -- + +io.write("the party screen on a Gen 4 cache\n") + +local gen4Game = { data = { isGen4Cache = true } } + +-- THE EXACT PUSH BagMenu.useOn BUILDS FOR A MACHINE. Not a reduced one: the +-- alias declines on ANY unlisted key, so a check that pushes `{tmhm=...}` +-- alone would pass while the real four-key push still fell to Kanto. +local teachPush = { + pickOnly = true, + keepOpen = false, + onSwitch = function() end, + tmhm = { move = 15, kind = "TM" }, +} +local id = Screens.resolveId(gen4Game, "PartyMenu", teachPush) +ok(id == "Gen4PartyMenu", "a TM push opens Platinum's party screen", + tostring(id), "Gen4PartyMenu") + +-- ...and the three pushes that were already served, so a change to the alias +-- cannot fix one by breaking another. +local plain = Screens.resolveId(gen4Game, "PartyMenu", { onCancel = function() end }) +ok(plain == "Gen4PartyMenu", "...and so does the plain field push", + tostring(plain), "Gen4PartyMenu") +local inBattle = Screens.resolveId(gen4Game, "PartyMenu", + { battle = true, onSwitch = function() end }) +ok(inBattle == "Gen4PartyMenu", "...and the in-battle one", + tostring(inBattle), "Gen4PartyMenu") + +-- ...and the one the in-game trades push, which is the same two keys the bag's +-- pickers use. If this were declined, Oreburgh's trade would open Kanto's list +-- to choose the Machop on. +local forTrade = Screens.resolveId(gen4Game, "PartyMenu", + { pickOnly = true, onSwitch = function() end }) +ok(forTrade == "Gen4PartyMenu", "...and the one the in-game trades open", + tostring(forTrade), "Gen4PartyMenu") + +-- THE CANARY. An alias that served EVERYTHING would pass all three above and +-- would be a different bug: `chooseOrder` has no Gen 4 screen behind it, and +-- serving it would open a party menu that cannot answer the question. +local order = Screens.resolveId(gen4Game, "PartyMenu", + { chooseOrder = { most = 3, least = 1 }, + onOrder = function() end }) +ok(order == "PartyMenu", "...while a team-order push is still declined", + tostring(order), "PartyMenu") + +-- ------------------------------------------------------------- the words -- + +ok(Menus.PARTY_BANK == 453, "the party words are bank 453", + Menus.PARTY_BANK, 453) +ok(Menus.PARTY_ENTRIES == 205, "...which is 205 entries", + Menus.PARTY_ENTRIES, 205) +local T = Menus.PARTY_TEXT +ok(T.able == 175 and T.unable == 176 and T.learned == 177, + "ABLE! / UNABLE! / LEARNED are 175..177", + ("%s/%s/%s"):format(tostring(T.able), tostring(T.unable), + tostring(T.learned)), "175/176/177") +ok(T.teachWhich == 33, "...and the question is 33", T.teachWhich, 33) +-- The six place words are a RUN, which is the only reason one index and a +-- count can stand in for six named keys. +ok(Menus.PARTY_ORDER_FIRST == 169 and Menus.PARTY_ORDER_WORDS == 6, + "FIRST..SIXTH are six consecutive entries from 169", + ("%s+%s"):format(tostring(Menus.PARTY_ORDER_FIRST), + tostring(Menus.PARTY_ORDER_WORDS)), "169+6") +-- ...and they must not collide with the three words a panel shows instead. +local clash = false +for _, index in pairs(T) do + if index >= Menus.PARTY_ORDER_FIRST + and index < Menus.PARTY_ORDER_FIRST + Menus.PARTY_ORDER_WORDS then + clash = true + end +end +ok(not clash, "...and no named word sits inside that run", + clash and "overlap" or "clear", "clear") + +-- ------------------------------------------------------ the machine lists -- + +if not cacheDir then + io.write("\n(no cache was checked -- pass a cache dir as the first argument\n" + .. " to verify the machine lists against real species data)\n") + io.write(("\n%d checks, %d failures\n"):format(checks, fails)) + os.exit(fails == 0 and 0 or 1) +end + +local function load(name) + local chunk = loadfile(cacheDir .. "/" .. name .. ".lua") + return chunk and chunk() or nil +end + +local mons = load("pokemon") +local consts = load("constants") +local menus = load("gen4_menus") +if not (mons and consts) then + io.write("\ncannot read pokemon.lua / constants.lua from " .. cacheDir .. "\n") + os.exit(2) +end + +io.write("\nwhich machines each species can learn\n") + +local tmhmMoves = consts.tmhmMoves +ok(type(tmhmMoves) == "table" and #tmhmMoves == 100, + "the cache pairs 100 machines with their moves", + type(tmhmMoves) == "table" and #tmhmMoves or "nil", 100) + +-- The rule, written from CanPokemonFormLearnTM rather than copied from the +-- extractor: bit b of word w is machine w * 32 + b, zero-based. What makes +-- this a check and not a second copy of the same mistake is that its OUTPUT is +-- asserted against species facts nobody's code chose. +local function machinesOf(def) + local out = {} + for word = 1, 4 do + local v = (def.tmLearnset or {})[word] or 0 + for bit = 0, 31 do + if v % 2 == 1 then out[#out + 1] = (word - 1) * 32 + bit end + v = math.floor(v / 2) + end + end + return out +end + +local highest, stray, walked = -1, 0, 0 +for id = 1, 493 do + local def = mons[id] + if def and def.tmLearnset then + walked = walked + 1 + for _, m in ipairs(machinesOf(def)) do + if m > highest then highest = m end + if m >= 100 then stray = stray + 1 end + end + end +end +ok(walked >= 490, "every species carries a machine mask", walked, ">= 490") +-- 100 MACHINES IN 128 BITS leaves 28 spare, and they are spare in the +-- cartridge too. A wrong word order or a flipped bit order scatters set bits +-- into that tail; a right one leaves it empty. +ok(highest == 99, "the highest machine bit set anywhere is HM08", highest, 99) +ok(stray == 0, "...and nothing is set in the 28 spare bits", stray, 0) + +-- THE TWO SPECIES THAT LEARN NOTHING. "Exactly zero" is not a result a wrong +-- reading produces -- it produces a plausible handful. +local function count(id) return #machinesOf(mons[id] or {}) end +ok(count(129) == 0 and count(132) == 0, + "MAGIKARP and DITTO come out with no machines at all", + ("%d/%d"):format(count(129), count(132)), "0/0") +ok(count(1) > 20 and count(25) > 20, + "...while BULBASAUR and PIKACHU come out with a full sheet", + ("%d/%d"):format(count(1), count(25)), "> 20 each") +-- ...ending in the three HMs Bulbasaur actually learns, which is the tail a +-- one-off word swap would move. +local bulba = machinesOf(mons[1] or {}) +local tail = {} +for _, m in ipairs(bulba) do if m >= 92 then tail[#tail + 1] = m - 91 end end +ok(#tail == 3 and tail[1] == 1 and tail[2] == 4 and tail[3] == 6, + "...and BULBASAUR's are HM01, HM04 and HM06", + #tail > 0 and table.concat(tail, ",") or "none", "1,4,6") + +-- STORED VERSUS DERIVED. A cache imported before the extractor learned to +-- unpack the mask has no `tmhm` at all, and that is REPORTED rather than +-- failed -- it is the state every cache was in until this was written. +local stored, mismatched = 0, 0 +for id = 1, 493 do + local def = mons[id] + if def and type(def.tmhm) == "table" then + stored = stored + 1 + local want = machinesOf(def) + if #want ~= #def.tmhm then mismatched = mismatched + 1 + else + for i, m in ipairs(want) do + if tmhmMoves[m + 1] ~= def.tmhm[i] then mismatched = mismatched + 1 break end + end + end + end +end +if stored == 0 then + note("this cache predates the machine-list stage: no species carries `tmhm`,") + note("so ItemEffects falls back to \"cannot learn\". One more import fixes it.") +else + ok(mismatched == 0, "every stored list matches the mask it came from", + ("%d of %d"):format(stored - mismatched, stored), "all") +end + +-- ---------------------------------------------------------- the words, live -- + +local record = menus and menus.partyMenu +if not record then + note("this cache predates the party-word stage: the screen falls back to") + note("the engine's own English until the next import.") +else + local said = record.text or {} + ok(said.able == "ABLE!" and said.unable == "UNABLE!" + and said.learned == "LEARNED", + "the cache says Platinum's three words, not Emerald's", + ("%s/%s/%s"):format(tostring(said.able), tostring(said.unable), + tostring(said.learned)), + "ABLE!/UNABLE!/LEARNED") + ok(type(said.teachWhich) == "string" and said.teachWhich:find("each"), + "...and asks the cartridge's own question", + tostring(said.teachWhich), "Teach which ...?") + ok(#(record.order or {}) == 6 and record.order[1] == "FIRST" + and record.order[6] == "SIXTH", + "...and carries FIRST..SIXTH for the day something needs them", + #(record.order or {}), 6) +end + +io.write("\nthe four in-game trades\n") + +-- THE RECORD IS TWENTY WORDS AND NOTHING ELSE SAYS SO. There is no length +-- field, no terminator and no name in the archive; the only thing that makes +-- 80 bytes the right stride is that the struct has twenty u32 in it. Counting +-- the field list against the byte count is the whole check on the layout. +ok(#Trades.FIELDS == 20, "struct NPCTradeMon is twenty fields", + #Trades.FIELDS, 20) +ok(Trades.RECORD_BYTES == #Trades.FIELDS * 4, + "...which is exactly the record's byte count", + Trades.RECORD_BYTES, #Trades.FIELDS * 4) +ok(Trades.COUNT == 4, "MAX_NPC_TRADES is four", Trades.COUNT, 4) +ok(#Trades.IV_FIELDS == 6, "six IVs, in Pokemon_SetValue's order", + #Trades.IV_FIELDS, 6) +-- Every IV field must be one of the twenty, or the IV list is naming something +-- the record does not have. +local haveField = {} +for _, f in ipairs(Trades.FIELDS) do haveField[f] = true end +local strayIV = {} +for _, f in ipairs(Trades.IV_FIELDS) do + if not haveField[f] then strayIV[#strayIV + 1] = f end +end +ok(#strayIV == 0, "...and every one of them is a field of the record", + #strayIV == 0 and "all six" or table.concat(strayIV, ", "), "all six") + +-- THE OT NAME IS THE SAME BANK PLUS THE TRADE COUNT, which is one line in +-- NPCTrade_GetOTName and the reason eight entries serve four trades. Asserted +-- as the RULE rather than as four numbers, and then checked for overlap -- +-- an off-by-one here would hand a Pokemon its own nickname as its OT. +local overlap = false +for id = 0, Trades.COUNT - 1 do + if Trades.otNameEntry(id) ~= Trades.COUNT + id then overlap = true end + if Trades.otNameEntry(id) < Trades.COUNT then overlap = true end + if Trades.nicknameEntry(id) >= Trades.COUNT then overlap = true end +end +ok(not overlap, "the OT names sit past the nicknames, four apart", + overlap and "overlap" or "0..3 then 4..7", "0..3 then 4..7") + +ok(Trades.otGender(1) == "girl" and Trades.otGender(0) == "boy", + "otGender 1 is FEMALE, the way TrainerInfo_SetGender takes it", + ("%s/%s"):format(Trades.otGender(1), Trades.otGender(0)), "girl/boy") +-- ...and a canary, because a converter that answered one value for everything +-- would pass every line that only checks one side. +ok(Trades.otGender(1) ~= Trades.otGender(0), + "...and it still has two answers", "two", "two") + +-- A short record is REFUSED rather than read as nils. A truncated member means +-- the archive is not this one, and a trade with no species would be offered +-- and silently refuse itself. +local short = Trades.parse(string.rep("\0", Trades.RECORD_BYTES - 1)) +ok(short == nil, "a short record is refused, not read", tostring(short), "nil") +local full = Trades.parse(string.rep("\1", Trades.RECORD_BYTES)) +ok(type(full) == "table" and full.requestedSpecies ~= nil, + "...and a full one reads the last field", + type(full) == "table" and tostring(full.requestedSpecies) or "nil", + "a number") + +local rows = consts.gen4Trades +if type(rows) ~= "table" or #rows == 0 then + note("this cache predates the trade stage: constants.gen4Trades is absent,") + note("so the four trades refuse themselves until the next import.") +else + ok(#rows == Trades.COUNT, "the cache carries all four", #rows, Trades.COUNT) + -- THE PAIRS READ AS THEMSELVES, which is the check that the twenty-word + -- layout is right: a wrong field order does not produce Platinum's four + -- trades, it produces four plausible-looking numbers. + local mons = load("pokemon") or {} + local function nameOf(id) + local d = mons[id] + return (d and d.name) or ("#" .. tostring(id)) + end + local WANT = { + { give = "ABRA", want = "MACHOP", nick = "Kazza", ot = "Hilary" }, + { give = "CHATOT", want = "BUIZEL", nick = "Charap", ot = "Norton" }, + { give = "HAUNTER", want = "MEDICHAM", nick = "Gaspar", ot = "Mindy" }, + { give = "MAGIKARP", want = "FINNEON", nick = "Foppa", ot = "Meister" }, + } + local wrong = {} + for i, w in ipairs(WANT) do + local r = rows[i] or {} + if nameOf(r.species) ~= w.give or nameOf(r.request) ~= w.want then + wrong[#wrong + 1] = ("%d gives %s for %s"):format(i - 1, + nameOf(r.species), nameOf(r.request)) + end + if r.nickname ~= w.nick or r.otName ~= w.ot then + wrong[#wrong + 1] = ("%d is %s of %s"):format(i - 1, + tostring(r.nickname), tostring(r.otName)) + end + end + ok(#wrong == 0, "...and every one is the trade the cartridge has", + #wrong == 0 and "4 of 4" or table.concat(wrong, " | "), "4 of 4") + -- The IVs are the record's, and they are GEN 3 RANGE. Data.lua puts Gen 4 + -- species on the Gen 3 stat model, so a traded Pokemon carries `ivs` at + -- 0..31; a value above 31 would mean the field order slipped and an OT id + -- or a personality landed in an IV slot. + local badIV = 0 + for _, r in ipairs(rows) do + for _, v in ipairs(r.ivs or {}) do + if type(v) ~= "number" or v < 0 or v > 31 then badIV = badIV + 1 end + end + end + ok(badIV == 0, "...with all 24 IVs inside 0..31", badIV, 0) +end + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_roamer_check.lua b/tools/gen4_roamer_check.lua new file mode 100644 index 000000000..632e3f834 --- /dev/null +++ b/tools/gen4_roamer_check.lua @@ -0,0 +1,507 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_roamer_check.lua -- do Sinnoh's six roamers exist, and do they +-- follow PLATINUM'S rules rather than Johto's or Hoenn's. +-- +-- `activateroamingpokemon` was unlowered, so nothing was ever released -- +-- including MESPRIT, which Verity Cavern releases on the main path. But the +-- reason this file exists is not the missing lowering, it is that THIS PORT +-- ALREADY HAS TWO ROAMER SYSTEMS AND PLATINUM MATCHES NEITHER: +-- +-- Gen 2 Gen 3 GEN 4 +-- slots 3 1 6 +-- meeting it 75/256 then 1 in 4 1 IN 2 +-- 1 of 3 slots +-- moving every map load every map load CONNECTION ONLY +-- graph none 20 nodes 29 NODES, NOT +-- SYMMETRIC +-- after any wild -- -- 30% THEY ALL LEAVE +-- +-- Every row of that table is a way to be wrong with no crash and no log line, +-- so every row is asserted here. +-- +-- Run: texlua tools/gen4_roamer_check.lua [cache dir] +-- +-- Without a cache only the port's own tables are checked, and it SAYS so. + +local cacheDir = arg and arg[1] + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local logged = {} +local logger = { + warn = function(fmt) logged[#logged + 1] = tostring(fmt) end, + info = function() end, error = function() end, debug = function() end, +} +local inert = setmetatable({}, { __index = function() return function() end end }) +table.insert(package.searchers, 1, function(name) + if name == "src.world.Gen4Roamers" then return nil end + if name == "src.pokemon.Stats" then return nil end + if name == "src.core.Logger" then return function() return logger end end + if name:sub(1, 4) ~= "src." then return nil end + return function() return inert end +end) + +local Roamers = require("src.world.Gen4Roamers") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-58s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-58s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end +local function note(line) io.write(" -- " .. line .. "\n") end + +-- A deterministic stand-in for love.math.random(lo, hi), so every rule below +-- is asserted against a KNOWN sequence rather than against luck. A check on a +-- probabilistic rule that uses a real RNG is a check that passes most days. +local function feeder(values) + local i = 0 + return function(lo, hi) + i = i + 1 + local v = values[((i - 1) % #values) + 1] + if hi == nil then lo, hi = 1, lo end + -- clamp into range the way a real rng result already is + if v < lo then v = lo end + if v > hi then v = hi end + return v + end +end + +-- ------------------------------------------------------------- the slots -- + +io.write("RoamingPokemon_ActivateSlot, transcribed\n") + +local slots = 0 +for _ in pairs(Roamers.SLOTS) do slots = slots + 1 end +ok(slots == 6, "six slots, as ROAMING_SLOT_MAX has", slots, 6) +ok(Roamers.SLOTS[0].species == 481 and Roamers.SLOTS[0].level == 50, + "slot 0 is Mesprit at 50", + Roamers.SLOTS[0].species .. "/" .. Roamers.SLOTS[0].level, "481/50") +ok(Roamers.SLOTS[2].species == 491 and Roamers.SLOTS[2].level == 40, + "slot 2 is Darkrai at 40 -- the one no script releases", + Roamers.SLOTS[2].species .. "/" .. Roamers.SLOTS[2].level, "491/40") +local birds = Roamers.SLOTS[3].level == 60 and Roamers.SLOTS[4].level == 60 + and Roamers.SLOTS[5].level == 60 +ok(birds, "...and the three Kanto birds are all 60", + birds and "60/60/60" or "mixed", "60/60/60") +-- THE LEVELS ARE NOT ONE NUMBER, which is the difference from both older +-- generations: Gen 2's beasts are all 40 and Hoenn's one is 40. Sinnoh has +-- three different levels across its six slots. +local levels = {} +for _, d in pairs(Roamers.SLOTS) do levels[d.level] = true end +local distinct = 0 +for _ in pairs(levels) do distinct = distinct + 1 end +ok(distinct == 3, "three distinct levels, not one", distinct, 3) + +-- ------------------------------------------------------------ the places -- + +io.write("\nRoamingPokemonRoutes, 29 places\n") + +local routes = 0 +for _ in pairs(Roamers.ROUTES) do routes = routes + 1 end +ok(routes == 29 and Roamers.ROUTE_COUNT == 29, + "twenty-nine, as RI_MAX has", routes, 29) +local contiguous = true +for i = 0, 28 do if not Roamers.ROUTES[i] then contiguous = false end end +ok(contiguous, "...indexed 0..28 with no hole", contiguous and "solid" or "holed", + "solid") +local headers, dupes = {}, 0 +for _, row in pairs(Roamers.ROUTES) do + if headers[row.header] then dupes = dupes + 1 end + headers[row.header] = true +end +ok(dupes == 0, "no header id appears twice", dupes, 0) + +-- ---------------------------------------------------------- the adjacency -- + +io.write("\nsNearbyRoutes, and the two edges that go one way\n") + +local edges, maxOut = 0, 0 +for i = 0, 28 do + local l = Roamers.NEARBY[i] or {} + edges = edges + #l + if #l > maxOut then maxOut = #l end +end +ok(edges == 78, "seventy-eight directed edges", edges, 78) +ok(maxOut <= 5, "...and no row exceeds the struct's five slots", maxOut, "<= 5") + +local selfLoops = 0 +for i = 0, 28 do + for _, j in ipairs(Roamers.NEARBY[i] or {}) do + if j == i then selfLoops = selfLoops + 1 end + if not Roamers.ROUTES[j] then + note(("row %d names %s, which is not a place"):format(i, tostring(j))) + end + end +end +ok(selfLoops == 0, "no place is its own neighbour", selfLoops, 0) + +-- !! THE ASYMMETRY IS REAL AND MUST NOT BE TIDIED. +local function has(list, v) + for _, x in ipairs(list or {}) do if x == v then return true end end + return false +end +local oneWay = {} +for i = 0, 28 do + for _, j in ipairs(Roamers.NEARBY[i] or {}) do + if not has(Roamers.NEARBY[j], i) then oneWay[#oneWay + 1] = { i, j } end + end +end +table.sort(oneWay, function(a, b) + if a[1] ~= b[1] then return a[1] < b[1] end + return a[2] < b[2] +end) +local want = Roamers.ONE_WAY +local same = #oneWay == #want +if same then + for k, pair in ipairs(oneWay) do + if pair[1] ~= want[k][1] or pair[2] ~= want[k][2] then same = false end + end +end +local function pairsText(list) + local out = {} + for _, p in ipairs(list) do out[#out + 1] = p[1] .. "->" .. p[2] end + return table.concat(out, " ") +end +ok(same, "exactly the two one-way edges the cartridge has", + pairsText(oneWay), pairsText(want)) +note("6->9 is written in pret as a bare `9`, not RI_ROUTE_208 -- the easiest") +note("edge in the table to lose. Symmetrising would invent two; reading one") +note("direction only would drop two. Neither would crash.") + +-- ...AND THE GRAPH HAS TO BE TRAVERSABLE, or a roamer can be stranded. +local seen, stack = { [0] = true }, { 0 } +local reached = 1 +while #stack > 0 do + local n = table.remove(stack) + for _, m in ipairs(Roamers.NEARBY[n] or {}) do + if not seen[m] then seen[m] = true; reached = reached + 1; stack[#stack + 1] = m end + end +end +ok(reached == 29, "every place reachable from Route 201", reached .. "/29", "29/29") + +local singles = {} +for i = 0, 28 do + if #(Roamers.NEARBY[i] or {}) == 1 then singles[#singles + 1] = i end +end +ok(#singles == 4, "four dead ends, which the movement must not loop on", + #singles .. " (" .. table.concat(singles, ",") .. ")", 4) + +-- --------------------------------------------------------------- the odds -- + +io.write("\nthe rules, against a known RNG\n") + +ok(Roamers.MEET_ONE_IN == 2, "a roamer on your map is met one encounter in two", + Roamers.MEET_ONE_IN, 2) +ok(Roamers.LONG_HOP_ONE_IN == 16, "one move in sixteen leaves the graph", + Roamers.LONG_HOP_ONE_IN, 16) +ok(Roamers.LEAVE_AFTER_WILD_PERCENT == 30, + "...and 30% of ORDINARY wild battles scare them off this map", + Roamers.LEAVE_AFTER_WILD_PERCENT, 30) + +-- `check` spends its FIRST roll on the coin and its second on which roamer. +-- Asserted both ways: a coin of 0 is a miss and anything else is a hit, which +-- is `LCRNG_RandMod(2) == 0 -> return FALSE`. +local data = { maps = {} } +for i = 0, 28 do + data.maps[Roamers.ROUTES[i].map] = { header = Roamers.ROUTES[i].header } +end + +local function saveWith(rows) + local save = { gen4Roamers = {} } + for slot, map in pairs(rows) do + save.gen4Roamers[slot] = { + slot = slot, name = Roamers.SLOTS[slot].name, + species = Roamers.SLOTS[slot].species, level = Roamers.SLOTS[slot].level, + active = true, map = map, route = nil, hp = 100, + } + for i = 0, 28 do + if Roamers.ROUTES[i].map == map then save.gen4Roamers[slot].route = i end + end + end + return save +end + +local s = saveWith({ [0] = "R209" }) +ok(Roamers.check(data, s, "R209", feeder({ 0 })) == nil, + "a coin of 0 is a MISS even with a roamer standing there", + tostring(Roamers.check(data, s, "R209", feeder({ 0 }))), "nil") +local slot = Roamers.check(data, s, "R209", feeder({ 1, 0 })) +ok(slot == 0, "...and a coin of 1 meets it", tostring(slot), 0) +ok(Roamers.check(data, s, "R210A", feeder({ 1, 0 })) == nil, + "never on a map it is not on", + tostring(Roamers.check(data, s, "R210A", feeder({ 1, 0 }))), "nil") + +-- THE ORDER OF THE TWO ROLLS IS THE WHOLE DIFFERENCE FROM GEN 2. With three +-- birds on one route the coin is spent ONCE and then splits three ways, so +-- every one of the three is reachable from the same first roll. +local three = saveWith({ [3] = "R209", [4] = "R209", [5] = "R209" }) +local got = {} +for pick = 0, 2 do + local sl = Roamers.check(data, three, "R209", feeder({ 1, pick })) + got[sl] = true +end +local reachable = 0 +for _ in pairs(got) do reachable = reachable + 1 end +ok(reachable == 3, "three roamers on one route split ONE coin three ways", + reachable, 3) +ok(Roamers.check(data, three, "R209", feeder({ 0 })) == nil, + "...and that coin still decides for all three at once", + tostring(Roamers.check(data, three, "R209", feeder({ 0 }))), "nil") + +-- ------------------------------------------------------------ the moving -- + +io.write("\nmoving\n") + +-- A nearby step must land on a neighbour of where it stood, and must refuse +-- the map the player just left. +local m = saveWith({ [0] = "R209" }) -- route index 10, nearby {9,11,15} +m.gen4Roamers.recent = { current = "R209", previous = "R208" } -- 9 +-- ASSERTED AS ONE STATEMENT, because the two halves can pass separately for +-- the wrong reason: a step that gives up and STAYS PUT satisfies "did not go to +-- the forbidden map" while doing nothing at all. That is precisely what the +-- first version of `stepNearby` did, and how it was caught. +local function stepped(mapId, from, feed) + local it = { } + local sv = saveWith({ [0] = mapId }) + sv.gen4Roamers.recent = { current = mapId, previous = from } + local dest = Roamers.stepNearby(data, sv, 0, feeder(feed)) + local here + for i = 0, 28 do if Roamers.ROUTES[i].map == mapId then here = i end end + local isNeighbour = false + for _, j in ipairs(Roamers.NEARBY[here] or {}) do + if Roamers.ROUTES[j].map == dest then isNeighbour = true end + end + return dest, isNeighbour +end +-- Route 209 is index 10, neighbours {9 R208, 11 R210A, 15 R212A}; forbid R208 +-- and only two are legal, so EVERY roll must land on one of those two. +local landedAll = true +local seenDest = {} +for roll = 0, 2 do + local dest, isNeighbour = stepped("R209", "R208", { roll }) + seenDest[tostring(dest)] = true + if not (isNeighbour and dest ~= "R208" and dest ~= "R209") then + landedAll = false + note(("roll %d gave %s"):format(roll, tostring(dest))) + end +end +local distinctDest = 0 +for _ in pairs(seenDest) do distinctDest = distinctDest + 1 end +ok(landedAll, "every step lands on a neighbour that is not the forbidden map", + landedAll and "R210A/R212A only" or "see above", "R210A/R212A only") +ok(distinctDest == 2, + "...and BOTH legal neighbours are reachable (no silent stay-put)", + distinctDest, 2) + +-- A DEAD END WHOSE ONLY NEIGHBOUR IS THE FORBIDDEN MAP MUST NOT LOOP. Route +-- 217's single neighbour is Route 216; stand the player on 216 and the step has +-- to fall through to the long hop, which is the cartridge's own branch. +local d = saveWith({ [0] = "R217" }) -- index 21, nearby {20} +d.gen4Roamers.recent = { current = "R216", previous = "R216" } +local out = Roamers.stepNearby(data, d, 0, feeder({ 3, 7, 11 })) +ok(out ~= nil and out ~= "R216", + "a dead end pointing at the forbidden map takes the long hop", + tostring(out), "anything but R216") + +-- The long hop must leave the place it stood. +local h = saveWith({ [0] = "R201" }) +local hopped = Roamers.hop(data, h, 0, feeder({ 0, 5 })) +ok(hopped ~= nil and hopped ~= "R201", "a long hop never stays put", + tostring(hopped), "not R201") + +-- moveAll: a roll of 0 on the sixteen takes the long hop, anything else steps. +local a = saveWith({ [0] = "R209", [1] = "R214" }) +ok(Roamers.moveAll(data, a, feeder({ 1, 0 })) == 2, + "moveAll moves every active slot", Roamers.moveAll(data, a, feeder({ 1, 0 })), 2) +local none = { gen4Roamers = {} } +ok(Roamers.moveAll(data, none, feeder({ 1 })) == 0, + "...and nothing at all when none is loose", + Roamers.moveAll(data, none, feeder({ 1 })), 0) + +-- The recent-route memory only shifts when the map CHANGES. +local r = saveWith({ [0] = "R209" }) +Roamers.noteMap(r, "R210A") +Roamers.noteMap(r, "R210A") +Roamers.noteMap(r, "R211A") +ok(Roamers.previousMap(r) == "R210A", + "walking in and out of a door does not consume the memory", + tostring(Roamers.previousMap(r)), "R210A") +local q = { gen4Roamers = {} } +ok(Roamers.noteMap(q, "R201") == false, + "...and the memory is not kept while nothing is roaming", + tostring(Roamers.noteMap(q, "R201")), "false") + +-- -------------------------------------------------------- after a battle -- + +io.write("\nafter a wild battle\n") + +local b = saveWith({ [0] = "R209" }) +local left = Roamers.afterBattle(data, b, "R209", 0, 7, "par", false, + feeder({ 1, 4 })) +ok(left == 1 and b.gen4Roamers[0].map ~= "R209", + "meeting one writes its HP back AND clears it off this map", + ("left=%s hp=%s"):format(tostring(left), tostring(b.gen4Roamers[0].hp)), + "left=1 hp=7") +ok(b.gen4Roamers[0].hp == 7 and b.gen4Roamers[0].status == "par", + "...damage and status carry between meetings", + tostring(b.gen4Roamers[0].hp) .. "/" .. tostring(b.gen4Roamers[0].status), + "7/par") + +local c = saveWith({ [0] = "R209" }) +Roamers.afterBattle(data, c, "R209", 0, 0, nil, true, feeder({ 1 })) +ok(Roamers.active(c, 0) == nil, "catching or beating one retires the slot", + tostring(Roamers.active(c, 0)), "nil") + +-- THE 30% THAT IS NOT GUESSABLE, both sides of it. +local w = saveWith({ [0] = "R209" }) +local n1 = Roamers.afterBattle(data, w, "R209", nil, 0, nil, false, + feeder({ 29, 3 })) +ok(n1 == 1 and w.gen4Roamers[0].map ~= "R209", + "an ORDINARY wild battle scares it off on a roll under 30", + tostring(n1), 1) +local w2 = saveWith({ [0] = "R209" }) +local n2 = Roamers.afterBattle(data, w2, "R209", nil, 0, nil, false, + feeder({ 30 })) +ok(n2 == 0 and w2.gen4Roamers[0].map == "R209", + "...and leaves it alone on 30 itself (`< 30`, not `<=`)", + tostring(n2), 0) +local elsewhere = saveWith({ [0] = "R214" }) +local n3 = Roamers.afterBattle(data, elsewhere, "R209", nil, 0, nil, false, + feeder({ 0, 3 })) +ok(n3 == 0 and elsewhere.gen4Roamers[0].map == "R214", + "...and never touches one on another route", tostring(n3), 0) + +-- ---------------------------------------------------------------- a cache -- + +if not cacheDir then + io.write("\n(no cache was checked -- pass a cache dir as the first argument\n" + .. " to verify the 29 header ids and their encounter tables)\n") + io.write(("\n%d checks, %d failures\n"):format(checks, fails)) + os.exit(fails == 0 and 0 or 1) +end + +local chunk = loadfile(cacheDir .. "/maps.lua") +local maps = chunk and chunk() or nil +if not maps then + io.write("\ncannot read maps.lua from " .. cacheDir .. "\n") + os.exit(2) +end + +io.write("\nthe 29 places, against a cache\n") + +local byHeader = {} +for id, def in pairs(maps) do + if def.header then byHeader[def.header] = id end +end + +local named, labelled, encountered = 0, 0, 0 +for i = 0, 28 do + local row = Roamers.ROUTES[i] + local id = byHeader[row.header] + local def = id and maps[id] + if id == row.map then named = named + 1 + else note(("index %d: the table says %s, the cache says %s") + :format(i, row.map, tostring(id))) end + -- THE LABEL IS THE INDEPENDENT CHECK. `what` is written from the enum's own + -- name; the cache's label comes from the cartridge's message bank. They have + -- to agree on the route number, and a transposed id would not. + local label = def and def.label + if label and row.what:find(label, 1, true) == 1 then labelled = labelled + 1 + elseif label and row.what:lower():find(label:lower(), 1, true) then + labelled = labelled + 1 + else + note(("%s: the table calls it %q, the cache labels it %q") + :format(row.map, row.what, tostring(label))) + end + if def and def.encounters then encountered = encountered + 1 + else note(("%s has no wild-encounter table -- a roamer there could never " + .. "be met"):format(tostring(id))) end +end +ok(named == 29, "every header id lands on the map it names", named .. "/29", + "29/29") +ok(labelled == 29, "...and on the route the cartridge labels it", + labelled .. "/29", "29/29") +ok(encountered == 29, "...and every one has wild encounters", + encountered .. "/29", "29/29") + +-- Resolving through the cache rather than the table's own `map` field is what a +-- renamed map needs, so that path is exercised too. +local live = { maps = maps } +local resolved = 0 +for i = 0, 28 do + if Roamers.mapOf(live, i) == Roamers.ROUTES[i].map then resolved = resolved + 1 end +end +ok(resolved == 29, "mapOf resolves all 29 through the cache's headers", + resolved .. "/29", "29/29") + +-- ------------------------------------- and the games that share the hooks -- + +io.write("\nGold, Crystal, Prism and Emerald, which share the same three hooks\n") + +-- ALL THREE GEN 4 ROAMER CALL SITES ARE IN SHARED CODE: the map-change step, +-- the encounter roll and the after-battle pass all live in +-- OverworldController.lua beside Johto's and Hoenn's. The cheap way for this +-- work to break the older games is for one of them to run unguarded -- Gen 2's +-- beasts would then answer to Sinnoh's coin, or a Crystal wild battle would +-- walk a table that has no roamers in it. +-- +-- Read from the source rather than exercised, deliberately: the guards are the +-- claim, and a harness that could run OverworldController would need a graphics +-- device and a whole save. What matters is that no call reaches a Gen 1-3 +-- session at all. +local owc = io.open(root .. "../src/world/OverworldController.lua", "rb") +if not owc then + ok(false, "OverworldController.lua is readable from here", "missing", "found") +else + local src = owc:read("*a"):gsub("\r\n", "\n") + owc:close() + local lines = {} + for line in (src .. "\n"):gmatch("([^\n]*)\n") do lines[#lines + 1] = line end + local sites, guarded = 0, 0 + for i, line in ipairs(lines) do + if line:find("src.world.Gen4Roamers", 1, true) then + sites = sites + 1 + -- THE NEAREST GENERATION TEST ABOVE IT, not merely "an isGen4 somewhere + -- above". The second question passes when a Gen 4 call has drifted under + -- a Gen 2 guard that happens to sit below a Gen 4 one, which is the + -- mistake worth catching. A long comment can separate a guard from its + -- call, so the window is generous -- what it must not do is skip past an + -- intervening guard for another generation. + local nearest + for back = i, math.max(1, i - 60), -1 do + local g = lines[back]:match("GameVersion%.isGen(%d)%(%)") + if g then nearest = g break end + end + if nearest == "4" then guarded = guarded + 1 + else note(("line %d calls Gen4Roamers under %s") + :format(i, nearest and ("isGen" .. nearest .. "()") + or "no generation guard")) end + end + end + ok(sites == 3, "three Gen 4 roamer call sites, as written", sites, 3) + ok(guarded == sites and sites > 0, + "...and every one of them is behind GameVersion.isGen4()", + guarded .. "/" .. sites, sites .. "/" .. sites) + -- ...AND THE OLDER ARMS ARE STILL REACHED. A guard that excluded everything + -- would pass the test above and silently retire Johto's beasts. + ok(src:find('require("src.world.RoamMons")', 1, true) ~= nil, + "Johto's beasts are still called", "present", "present") + ok(src:find('require("src.world.Gen3Roamers")', 1, true) ~= nil, + "...and Hoenn's one too", "present", "present") + ok(src:find('battle.roamer ~= "gen4"', 1, true) ~= nil, + "the older after-battle arm excludes only the Gen 4 case", + "present", "present") +end + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/gen4_seam_check.lua b/tools/gen4_seam_check.lua new file mode 100644 index 000000000..55beaeb1d --- /dev/null +++ b/tools/gen4_seam_check.lua @@ -0,0 +1,255 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_seam_check.lua -- the seam ABOVE the commands. +-- +-- Lower every block in the cartridge and check two things about every row the +-- lowering emits: +-- +-- 1. THE VERB RESOLVES. An emitted name with no handler logs +-- "unknown command 'x' (skipped)" and the row does nothing at all. 84,519 +-- rows, 150 distinct verbs, and all 150 must answer. +-- +-- 2. THE ARGUMENT COUNT MATCHES. debug.getinfo(fn,"u").nparams gives a Lua +-- function's declared parameter count, so a lowering that hands over more +-- operands than the command takes is visible. Zero-parameter handlers +-- (stubs, waits, `label`) ignore their arguments on purpose and are not +-- faults; a command with a real signature being handed an extra operand is. +-- +-- THIS IS HOW THE `fadescreen` BUG WAS FOUND. It reported +-- +-- g4_fade passes 2 arg(s), takes 1 x736 rows [EXTRA DROPPED] +-- +-- and the operand being dropped turned out to be beside the point: the DIRECTION +-- is operand 3, the command was reading operand 1, and operand 1 is the constant +-- 6 at every site in the game -- so no fade ever went to black. The chapter +-- walks had said `fadescreen` was lowered and the command audit had said it ran. +-- Only comparing the two signatures noticed they disagreed. +-- +-- WHAT IT DOES NOT CHECK: operand ORDER. `g4_fade` would have passed happily +-- while reading a step count as a direction, because one operand is one operand. +-- +-- --------------------------------------------------------------------------- +-- !! AND FOR MOST OF ITS LIFE IT GRADED A FILE THAT WAS NOT IN THE TREE. +-- +-- This file used to open with +-- +-- package.path = "/mnt/user-data/uploads/.../?.lua;/tmp/g4/?.lua;" +-- .. "/tmp/g4/src/import/?.lua;" .. package.path +-- +-- and a hard-coded ROM path beside it -- three absolutes from the machine it +-- was written on, PREPENDED, so `require` found whatever happened to be at +-- those paths before it ever looked at the tree the tool was run from. On any +-- other machine the check could not run at all; on the one it was written on +-- it silently graded a SNAPSHOT. +-- +-- IT WAS CAUGHT BY ADDING A LOWERING AND WATCHING THE NUMBERS NOT MOVE. The +-- coverage check went 76,027 -> 76,032 and this one reported byte-identical +-- output, which is only possible if the two were reading different files. +-- +-- THE COMMAND AUDIT WAS CAUGHT FOR THE SAME THING and fixed by self-locating +-- from arg[0]. That fix was never carried across to this file -- and it was +-- only half a fix anyway, because locating the tree does not PROVE the module +-- that loaded came from it. So there is a canary below that compares the file +-- `VM.lower` was actually loaded from against the one beside this tool, byte +-- for byte. A CHECK THAT CANNOT SAY WHAT IT GRADED IS NOT A CHECK. +-- --------------------------------------------------------------------------- +-- +-- texlua tools/gen4_seam_check.lua + +local romPath = arg and arg[1] +if not romPath then + io.stderr:write("usage: texlua tools/gen4_seam_check.lua \n") + os.exit(2) +end + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path +local REAL = { + ["src.script.Gen4ScriptVM"]=true, ["src.script.Gen4Commands"]=true, + ["src.script.Commands"]=true, ["src.import.Gen4ScriptOps"]=true, + ["src.import.Gen4ScriptBands"]=true, ["src.import.Gen4Text"]=true, + ["src.pokemon.Boxes"]=true, ["src.core.GameVersion"]=true, + ["src.pokemon.Contest"]=true, + -- THESE THREE ARE NEW HERE AND THAT IS PART OF THE SAME FAULT. They used to + -- be required by BARE NAME -- require("NdsRom") -- which does not begin with + -- "src." and so slipped past this shim entirely, resolving through the + -- `/tmp/g4/src/import/?.lua` entry the header describes. Requiring them + -- properly meant the shim started answering for them, and an inert stub's + -- `NdsRom.open` returns NOTHING, which is an assert with no arguments. + ["src.import.Gen4Script"]=true, ["src.import.NdsRom"]=true, + ["src.import.NarcArchive"]=true, +} +local inert = setmetatable({}, { + __index=function(t,k) local v=rawget(t,k) if v~=nil then return v end + return function() end end, + __call=function() return nil end }) +table.insert(package.searchers, 1, function(name) + if REAL[name] then return nil end + if name:sub(1,4) ~= "src." then return nil end + return function() return inert end +end) + +local okC, Commands = pcall(require, "src.script.Commands") +if not okC then + io.write("could not load the real Commands module: ", tostring(Commands), "\n") + os.exit(1) +end +require("src.script.Gen4Commands") +local VM = require("src.script.Gen4ScriptVM") +-- By full module path, because the bare names only resolved through one of the +-- absolutes this file used to carry. +local Script = require("src.import.Gen4Script") +local NdsRom = require("src.import.NdsRom") +local Narc = require("src.import.NarcArchive") + +-- THE CANARY THIS FILE DID NOT HAVE. `debug.getinfo(fn, "S").source` names the +-- file a function was loaded from; comparing its BYTES against the copy beside +-- this tool is what says the thing being graded is the thing in the tree. A +-- path comparison would not do: two paths can spell the same file and two +-- different files can both end in the right name. +local function readAll(path) + local f = io.open(path, "rb") + if not f then return nil end + local s = f:read("*a"); f:close(); return s +end +do + local loadedFrom = (debug.getinfo(VM.lower, "S").source or ""):gsub("^@", "") + local beside = (root ~= "" and root or "./") .. "../src/script/Gen4ScriptVM.lua" + local a, b = readAll(loadedFrom), readAll(beside) + if not a then + io.write("cannot read the module that was loaded (" .. loadedFrom .. ")\n") + os.exit(1) + end + if not b then + io.write("cannot read " .. beside .. " -- run this from the repo\n") + os.exit(1) + end + if a ~= b then + io.write("!! the lowering that loaded is NOT the one beside this tool:\n") + io.write(" loaded: " .. loadedFrom .. "\n") + io.write(" beside: " .. beside .. "\n") + io.write(" nothing below would be measuring the tree.\n") + os.exit(1) + end +end + +-- CANARY: the check is only meaningful if the table really holds verbs. +assert(type(rawget(Commands,"g4_item_pocket"))=="function", "Gen4 verbs missing") +assert(type(rawget(Commands,"show_text"))=="function" + or type(rawget(Commands,"jump"))=="function", "shared verbs missing") + +local rom=assert(NdsRom.open(romPath)) +local scr=assert(Narc.parse(assert(rom:read("/fielddata/script/scr_seq.narc")))) + +local emitted, rows = {}, 0 +for m=0,scr.count-1 do + local b=scr:get(m) + if b then + local queue,seen={},{} + for _,at in ipairs(Script.entries(b)) do + if not seen[at] then seen[at]=true; queue[#queue+1]=at end + end + local i=1 + while i<=#queue do + local at=queue[i]; i=i+1 + local ins=Script.decode(b,at) or {} + for _,x in ipairs(ins) do + local t=x.target + if t and t>=1 and t<=#b and not seen[t] then seen[t]=true; queue[#queue+1]=t end + end + local ok, out = pcall(VM.lower, ins, nil) + if ok and out then + for _,row in ipairs(out) do + local verb = row[1] + if type(verb)=="string" then + emitted[verb]=(emitted[verb] or 0)+1; rows=rows+1 + end + end + end + end + end +end + +-- ARITY. debug.getinfo(fn,"u") gives a Lua function's DECLARED parameter count, +-- so the rows can be checked against the signatures they call. The dangerous +-- direction is TOO FEW: a command whose last parameter is a destination var, +-- called without it, writes nothing and the comparison behind it reads whatever +-- the previous command left. Too many is usually harmless (Lua drops extras) but +-- still means the lowering and the command disagree about the operand list. +local arity = {} +for verb in pairs(emitted) do + local fn = rawget(Commands, verb) + if type(fn)=="function" then + local info = debug.getinfo(fn, "u") + arity[verb] = { n = info.nparams, vararg = info.isvararg } + end +end +local shapes = {} -- verb -> { [argcount] = rows } +for m=0,scr.count-1 do + local b=scr:get(m) + if b then + local queue,seen={},{} + for _,at in ipairs(Script.entries(b)) do + if not seen[at] then seen[at]=true; queue[#queue+1]=at end + end + local i=1 + while i<=#queue do + local at=queue[i]; i=i+1 + local ins=Script.decode(b,at) or {} + for _,x in ipairs(ins) do + local t=x.target + if t and t>=1 and t<=#b and not seen[t] then seen[t]=true; queue[#queue+1]=t end + end + local ok,out = pcall(VM.lower, ins, nil) + if ok and out then + for _,row in ipairs(out) do + if type(row[1])=="string" then + local n = 0 + for k=2,#row do if row[k] ~= nil then n = k-1 end end + shapes[row[1]] = shapes[row[1]] or {} + shapes[row[1]][n] = (shapes[row[1]][n] or 0) + 1 + end + end + end + end + end +end +io.write("\nARITY MISMATCHES (declared params exclude ctx, so budget = nparams-1):\n") +local flagged = 0 +local vs={} for k in pairs(shapes) do vs[#vs+1]=k end table.sort(vs) +for _,v in ipairs(vs) do + local a = arity[v] + if a and not a.vararg then + local budget = a.n - 1 -- first parameter is ctx + for n, count in pairs(shapes[v]) do + if n > budget then + io.write((" %-32s passes %d arg(s), takes %d x%d rows [EXTRA DROPPED]\n") + :format(v, n, budget, count)); flagged = flagged + 1 + end + end + end +end +if flagged == 0 then io.write(" none\n") end + +local names={} for k in pairs(emitted) do names[#names+1]=k end +table.sort(names) +local missing, present = {}, 0 +for _,v in ipairs(names) do + if type(rawget(Commands, v))=="function" then present=present+1 + else missing[#missing+1]=v end +end +io.write(("lowered the whole corpus: %d rows, %d distinct verbs\n"):format(rows,#names)) +io.write(("%d verbs have a handler, %d DO NOT\n\n"):format(present,#missing)) +if #missing>0 then + io.write("VERBS WITH NO HANDLER (every row emitting one is silently skipped):\n") + for _,v in ipairs(missing) do + io.write((" %-34s emitted %d time(s)\n"):format(v, emitted[v])) + end +else + io.write("every emitted verb resolves.\n") +end diff --git a/tools/gen4_summary_check.lua b/tools/gen4_summary_check.lua new file mode 100644 index 000000000..34a008425 --- /dev/null +++ b/tools/gen4_summary_check.lua @@ -0,0 +1,176 @@ +-- Copyright (c) 2026 Cedric. All rights reserved. +-- Source-available under the Gen2Recomped License (see LICENSE.md): you may +-- read, build and privately modify this file; you may not redistribute it or +-- use it commercially. Cartridge-derived data is excluded and is not the +-- copyright holder's to license. + +-- tools/gen4_summary_check.lua -- the summary page's Pokemon picture. +-- +-- The slot was declared when the screen was written and never drawn into, so +-- for its whole life the page came up as numbers beside an empty plate. That +-- is the kind of fault nothing reports: the screen works, the words are right, +-- and the only symptom is an absence. +-- +-- Two numbers are being checked, and they are checked the way each was got: +-- the CENTRE is stated by the cartridge and independently measured off the +-- art, so the check is that the two MEET; +-- the MIRROR is a reading of a flag, so the check is that the decision +-- function makes both answers and does not mirror a cache that has no flag +-- to read. +-- +-- Run: texlua tools/gen4_summary_check.lua + +local root = (arg[0] or ""):gsub("[^/\\]*$", "") +if root ~= "" then package.path = root .. "../?.lua;" .. package.path end +package.path = "./?.lua;" .. package.path + +local Menus = require("src.import.Gen4Menus") +local Otherpoke = require("src.import.Gen4Otherpoke") + +local fails, checks = 0, 0 +local function ok(cond, what, got, want) + checks = checks + 1 + if cond then io.write((" ok %-56s %s\n"):format(what, tostring(got))) + else fails = fails + 1 + io.write((" FAIL %-56s got %s, expected %s\n") + :format(what, tostring(got), tostring(want))) end +end + +-- The screen is a love.graphics consumer, so its module is read rather than +-- required. Reading it is also the only way to check that the constants the +-- SCREEN falls back to are the ones the IMPORT writes -- requiring it would +-- need a graphics device and would then be testing one copy twice. +local function screenSource() + local f = io.open((root ~= "" and root .. "../" or "") .. "src/ui/Gen4SummaryMenu.lua", "rb") + if not f then return nil end + local s = f:read("*a"); f:close() + return s +end + +local src = screenSource() +if not src then + io.write("cannot read src/ui/Gen4SummaryMenu.lua\n") + os.exit(2) +end + +local function number(pattern) + return tonumber(src:match(pattern)) +end + +io.write("the summary page's picture\n") + +-- ------------------------------------------------------------ the centre -- + +local L = Menus.SUMMARY_LAYOUT +local P = L.picture + +ok(type(P) == "table" and P.x == 52 and P.y == 104, + "the import writes the cartridge's own sprite centre", + type(P) == "table" and ("%s,%s"):format(tostring(P.x), tostring(P.y)) or "?", + "52,104") +ok(P.plate == 64, "...and the plate it is centred on", P.plate, 64) + +-- THE TWO STATEMENTS MEETING. The plate measured off all ten page tilemaps +-- is x 20..83, y 72..135. A `plate`-sided square centred on the stated pair +-- must be exactly that rect -- and this is arithmetic on the constants, not +-- the measured numbers restated, so a change to either side breaks it. +local half = P.plate / 2 +ok(P.x - half == 20 and P.x + half - 1 == 83, + "a 64-square on that centre is the measured plate, across", + ("%d..%d"):format(P.x - half, P.x + half - 1), "20..83") +ok(P.y - half == 72 and P.y + half - 1 == 135, + "...and down", + ("%d..%d"):format(P.y - half, P.y + half - 1), "72..135") + +-- WHAT THE PICTURE MUST CLEAR. It is 80 square on a 64 plate, so it overhangs +-- -- and the thing it must not overhang INTO is the label column, which was +-- measured off the same art for a different reason entirely. +local size = number("PICTURE_SIZE = (%d+)") or 0 +ok(size == 80, "the picture is the pokegra cell, undoubled", size, 80) +local right = P.x + size / 2 +ok(right <= L.label.x, "...and still clears the label column at its widest", + ("%d <= %d"):format(right, L.label.x), "true") +ok(P.x - size / 2 >= 0 and P.y - size / 2 >= 0 and P.y + size / 2 <= 192, + "...and sits on the screen on all four sides", + ("%d,%d..%d,%d"):format(P.x - size / 2, P.y - size / 2, + right, P.y + size / 2), "inside 256x192") + +-- The screen's own fallback must be the same pair, because a cache with no +-- `summary` record uses it and would otherwise disagree with every other cache. +ok(src:find("picture = { x = 52, y = 104, plate = 64 }", 1, true) ~= nil, + "the screen's fallback layout agrees with the import", "yes", "yes") +ok(src:find("Gen4SummaryMenu.PICTURE = { x = 52, y = 104, plate = 64 }", + 1, true) ~= nil, + "...and so does the constant it falls back to", "yes", "yes") + +-- -------------------------------------------------------------- the egg -- + +-- The screen names the egg by a string; the extractor builds the same string +-- from a row. Asserting one against the other is what stops the two drifting +-- when a form row is renamed. +local eggKey = src:match('EGG_KEY = "([^"]+)"') +local eggRow, manaphyRow +for _, row in ipairs(Otherpoke.FORMS) do + if row.species == 0 and row.name == "egg" then + if row.form == "base" then eggRow = row else manaphyRow = row end + end +end +ok(eggRow ~= nil, "pl_otherpoke still files an egg under species 0", + eggRow and Otherpoke.key(eggRow) or "nil", "a row") +ok(eggRow ~= nil and eggKey == Otherpoke.key(eggRow), + "...and the screen's key is that row's own", + tostring(eggKey), eggRow and Otherpoke.key(eggRow) or "?") +ok(eggRow ~= nil and eggRow.front ~= nil and eggRow.back == nil, + "...a front picture and no back, which is what an egg has", + eggRow and ("front %s, back %s"):format(tostring(eggRow.front), + tostring(eggRow.back)) or "?", + "front only") +-- The Manaphy egg exists and is deliberately unreachable. The test is that +-- the screen holds no STRING for it -- the prose above EGG_KEY names it, which +-- is the point of the prose; a quoted copy would be a key something could +-- choose, and choosing it is what nothing in this port can do correctly yet. +ok(manaphyRow ~= nil + and not src:find('"' .. Otherpoke.key(manaphyRow) .. '"', 1, true), + "the Manaphy egg is extracted and the screen holds no key for it", + manaphyRow and Otherpoke.key(manaphyRow) or "nil", "present, unused") + +-- ------------------------------------------------------------ the mirror -- + +-- The cartridge's rule, restated as the function the screen uses. It is +-- restated rather than imported because the screen needs love.graphics; what +-- matters is that all three answers are distinct, which is the whole content +-- of the reading. +local function flipFor(def) + return def ~= nil and def.flipSprite ~= nil and not def.flipSprite +end + +ok(flipFor({ flipSprite = false }) == true, + "a species with the flag clear is mirrored", "mirrored", "mirrored") +ok(flipFor({ flipSprite = true }) == false, + "UNOWN, SPINDA and the other 26 with it set are not", + "as drawn", "as drawn") +-- THE ONE THAT MATTERS FOR THE OTHER THREE GAMES. A Gen 1-3 species row has +-- no `flipSprite` at all, and the obvious `not def.flipSprite` would mirror +-- every Pokemon in Kanto, Johto and Hoenn. +ok(flipFor({}) == false, "a row with no such field is left alone", + "as drawn", "as drawn") +ok(flipFor(nil) == false, "and so is no row at all", "as drawn", "as drawn") + +-- A canary: if the decision ever collapses to one answer the four lines above +-- still pass individually and say nothing. +local answers = {} +answers[tostring(flipFor({ flipSprite = false }))] = true +answers[tostring(flipFor({ flipSprite = true }))] = true +local distinct = 0 +for _ in pairs(answers) do distinct = distinct + 1 end +ok(distinct == 2, "...and the decision still has two answers", distinct, 2) + +-- The screen must actually ask that question of the data rather than of a +-- constant -- the fault this whole file exists for is a slot nobody filled. +ok(src:find("def.flipSprite", 1, true) ~= nil, + "the screen reads the flag off the species row", "yes", "yes") +ok(src:find("self:drawPicture()", 1, true) ~= nil, + "...and the page actually draws the picture", "yes", "yes") + +io.write(("\n%d checks, %d failures\n"):format(checks, fails)) +os.exit(fails == 0 and 0 or 1) diff --git a/tools/lua_use_before_local.py b/tools/lua_use_before_local.py new file mode 100644 index 000000000..a48618913 --- /dev/null +++ b/tools/lua_use_before_local.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python3 +"""tools/lua_use_before_local.py -- a file-local called above its own `local` line. + +WHY THIS EXISTS, AND IT IS NOT STYLE. + + local function helper() ... end -- line 900 + ... + helper() -- line 400 + +Lua does not resolve `helper` at line 400 to the local at line 900. The local +is not in scope yet, so the name is looked up as a GLOBAL, found to be nil, and +THE CALL RAISES. Nothing warns; the file loads; the function runs until the +first time that line is reached. + +It has cost this project twice, both times invisibly: + + * Gen4Commands' `itemKey` was defined around line 531 and used at 427 and 488 + inside g4_buffer, so EVERY `buffertmhmmovename` in the game raised. + * Gen4Battle's `bottomScreenUp` was defined with the menus and used by + drawTextArea three hundred lines above, so every menu frame raised -- and + because draw() wraps the text area in a pcall so a fault there cannot take + the battlers down with it, the only symptom was the text box, the buttons + and the move list ALL MISSING. Reported from play as three separate things + that were never written. + +Both were found by reading. This finds them by looking. + +Run: python3 tools/lua_use_before_local.py [root] +""" +import os, re, sys + +ROOT = sys.argv[1] if len(sys.argv) > 1 else "." +DIRS = ("src", "tools") + + +def strip(line): + """Comments and string literals out -- a name inside either is not a call. + + This is what a first cut of the scan got wrong: `"...missing (23 x 3)"` + matched as a call to `missing`. A checker with false positives is one + people learn to skip. + """ + out, i, n = [], 0, len(line) + quote = None + while i < n: + c = line[i] + if quote: + if c == "\\" and i + 1 < n: + i += 2 + continue + if c == quote: + quote = None + i += 1 + continue + if c in "\"'": + quote = c + i += 1 + continue + if c == "-" and i + 1 < n and line[i + 1] == "-": + break + out.append(c) + i += 1 + return "".join(out) + + +DEF = re.compile(r"^local(?:\s+function)?\s+([A-Za-z_][A-Za-z_0-9]*)\s*(\(|=|$)") + + +def scan(path): + src = open(path, "rb").read().decode("utf-8", "replace").replace("\r\n", "\n") + lines = src.split("\n") + where = {} + for i, raw in enumerate(lines, 1): + m = DEF.match(strip(raw).rstrip()) + if m: + where.setdefault(m.group(1), i) + hits = [] + for name, at in where.items(): + pattern = re.compile(r"(^|[^.:\w])" + re.escape(name) + r"\s*\(") + for i, raw in enumerate(lines[: at - 1], 1): + if pattern.search(strip(raw)): + hits.append((i, name, at)) + break + return hits + + +def main(): + total, files = 0, 0 + for d in DIRS: + base = os.path.join(ROOT, d) + for dirpath, _, names in os.walk(base): + for name in sorted(names): + if not name.endswith(".lua"): + continue + path = os.path.join(dirpath, name) + files += 1 + for line, who, at in sorted(scan(path)): + rel = os.path.relpath(path, ROOT) + print(" %s:%d calls `%s`, which is local at line %d" + % (rel, line, who, at)) + total += 1 + print("\n%d files scanned, %d use-before-local site(s)" % (files, total)) + # A CANARY, because a scanner that matches nothing passes everything. + probe = "local x = 1\nf()\nlocal function f() end\n" + tmp = os.path.join(ROOT, ".ubl_probe.lua") + try: + open(tmp, "w").write(probe) + if not scan(tmp): + print("CANARY FAILED: the scan does not find a planted fault") + return 2 + finally: + if os.path.exists(tmp): + os.remove(tmp) + print("canary ok (a planted fault is found)") + return 1 if total else 0 + + +if __name__ == "__main__": + sys.exit(main()) From d1e217b316e1badb5f8022ed481c7f0386cbd5c9 Mon Sep 17 00:00:00 2001 From: UNDERdecoded <32251519+UNDERdecoded@users.noreply.github.com> Date: Mon, 28 Sep 2026 18:21:14 -0400 Subject: [PATCH 2/4] updates --- assets/sky/gen4_sky.png | Bin 0 -> 1281681 bytes assets/sky/gen4_sky_day.png | Bin 0 -> 1956268 bytes assets/sky/gen4_sky_night.png | Bin 0 -> 1825736 bytes docs/gen4-platinum.md | 13407 +++++++++++++++++++++++ main.lua | 9 +- src/battle/Abilities.lua | 14 +- src/battle/BattleState.lua | 319 +- src/battle/Gen4AnimMath.lua | 555 + src/battle/Gen4BallAnim.lua | 395 + src/battle/Gen4Battle.lua | 746 +- src/battle/Gen4MoveAnimPlayer.lua | 4586 ++++++++ src/battle/Gen4ParticleSystem.lua | 1050 ++ src/core/Data.lua | 139 +- src/core/Game.lua | 218 +- src/core/GameVersion.lua | 29 + src/import/Gen4Abilities.lua | 116 + src/import/Gen4AreaLight.lua | 263 + src/import/Gen4Battle.lua | 162 + src/import/Gen4CellAnim.lua | 290 + src/import/Gen4Encounters.lua | 108 + src/import/Gen4Graphics.lua | 306 +- src/import/Gen4HoldEffects.lua | 162 + src/import/Gen4ItemIcons.lua | 165 + src/import/Gen4Items.lua | 17 +- src/import/Gen4Maps.lua | 61 +- src/import/Gen4Menus.lua | 31 +- src/import/Gen4ModelPack.lua | 100 +- src/import/Gen4MoveAnim.lua | 312 + src/import/Gen4Moves.lua | 368 +- src/import/Gen4ObjectGfx.lua | 139 +- src/import/Gen4Particle.lua | 676 ++ src/import/Gen4PropShapes.lua | 130 + src/import/Gen4Screens.lua | 208 +- src/import/Gen4Species.lua | 12 +- src/import/Gen4Terrain.lua | 21 + src/import/RomExtractorGen4.lua | 921 +- src/render/Gen4Camera.lua | 216 +- src/render/Gen4Ground.lua | 1873 +++- src/render/Gen4Model.lua | 3278 ++++-- src/render/Gen4Palettes.lua | 76 + src/render/Gen4Shade.lua | 298 + src/render/Gen4View.lua | 627 ++ src/render/TileRenderer.lua | 37 + src/render/Tilt.lua | 19 + src/script/Flags.lua | 31 +- src/script/Gen4Commands.lua | 96 +- src/script/Gen4ScriptVM.lua | 9 + src/ui/BagMenu.lua | 12 +- src/ui/Gen4BagMenu.lua | 331 +- src/ui/Gen4Pokedex.lua | 28 +- src/ui/Gen4StarterSelect.lua | 214 +- src/ui/Gen4TrainerCard.lua | 418 +- src/ui/ListMenu.lua | 3 +- src/ui/OptionsMenu.lua | 46 + src/ui/QuantityBox.lua | 4 +- src/ui/ShopMenu.lua | 18 +- src/world/Encounter.lua | 165 + src/world/Map.lua | 27 +- src/world/OverworldController.lua | 466 +- src/world/Player.lua | 254 +- tools/gen4-camera-bench/main.lua | 82 + tools/gen4_arealight_check.lua | 536 + tools/gen4_ball_throw_check.lua | 108 + tools/gen4_battle_harness/README.md | 69 + tools/gen4_battle_harness/conf.lua | 5 + tools/gen4_battle_harness/main.lua | 272 + tools/gen4_battlescene_check.lua | 360 + tools/gen4_cache_wiring_check.lua | 425 + tools/gen4_camera_check.lua | 248 + tools/gen4_encounter_slots_check.lua | 202 + tools/gen4_idname_check.lua | 264 + tools/gen4_mapprops_check.lua | 537 + tools/gen4_moveanim_check.lua | 5353 +++++++++ tools/gen4_moveeffect_check.lua | 291 + tools/gen4_overworld_harness/README.md | 54 + tools/gen4_overworld_harness/conf.lua | 7 + tools/gen4_overworld_harness/main.lua | 495 + tools/gen4_particle_check.lua | 1914 ++++ tools/gen4_render_scale_check.lua | 285 + tools/gen4_running_check.lua | 341 + tools/gen4_signpost_check.lua | 183 + tools/gen4_terrain_alpha_check.lua | 288 + tools/gen4_texture_files_check.lua | 79 + 83 files changed, 45978 insertions(+), 1001 deletions(-) create mode 100644 assets/sky/gen4_sky.png create mode 100644 assets/sky/gen4_sky_day.png create mode 100644 assets/sky/gen4_sky_night.png create mode 100644 src/battle/Gen4AnimMath.lua create mode 100644 src/battle/Gen4BallAnim.lua create mode 100644 src/battle/Gen4MoveAnimPlayer.lua create mode 100644 src/battle/Gen4ParticleSystem.lua create mode 100644 src/import/Gen4Abilities.lua create mode 100644 src/import/Gen4AreaLight.lua create mode 100644 src/import/Gen4CellAnim.lua create mode 100644 src/import/Gen4HoldEffects.lua create mode 100644 src/import/Gen4ItemIcons.lua create mode 100644 src/import/Gen4MoveAnim.lua create mode 100644 src/import/Gen4Particle.lua create mode 100644 src/import/Gen4PropShapes.lua create mode 100644 src/render/Gen4Palettes.lua create mode 100644 src/render/Gen4Shade.lua create mode 100644 src/render/Gen4View.lua create mode 100644 tools/gen4-camera-bench/main.lua create mode 100644 tools/gen4_arealight_check.lua create mode 100644 tools/gen4_ball_throw_check.lua create mode 100644 tools/gen4_battle_harness/README.md create mode 100644 tools/gen4_battle_harness/conf.lua create mode 100644 tools/gen4_battle_harness/main.lua create mode 100644 tools/gen4_cache_wiring_check.lua create mode 100644 tools/gen4_camera_check.lua create mode 100644 tools/gen4_encounter_slots_check.lua create mode 100644 tools/gen4_idname_check.lua create mode 100644 tools/gen4_mapprops_check.lua create mode 100644 tools/gen4_moveanim_check.lua create mode 100644 tools/gen4_moveeffect_check.lua create mode 100644 tools/gen4_overworld_harness/README.md create mode 100644 tools/gen4_overworld_harness/conf.lua create mode 100644 tools/gen4_overworld_harness/main.lua create mode 100644 tools/gen4_particle_check.lua create mode 100644 tools/gen4_render_scale_check.lua create mode 100644 tools/gen4_running_check.lua create mode 100644 tools/gen4_signpost_check.lua create mode 100644 tools/gen4_terrain_alpha_check.lua create mode 100644 tools/gen4_texture_files_check.lua diff --git a/assets/sky/gen4_sky.png b/assets/sky/gen4_sky.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa58aa3e652c57693ba1d7825cdef94d8d0910c GIT binary patch literal 1281681 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 $PN|mL&etx3?vvI{jXLXX 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%0ANQ#Jvi4p>MlCmp10MSEC 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

2a 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 Sk`#)5zlYEz-P}QqR_IPEgEn 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 T^fabJ zn_1UhTV!_&XA+==<#h;1!I019tmD>m3y=Bbq!-z;GWjOn+D`Q!+Y z<`to7PI6>s6mdp1)@q42vm;-d@{$b%Fmn(y)0SUh0g>6-W(wYN_A9MS?VQ zaaJI60sfgAL!7QTFnz@T{;xm(%g--(hIi_S0Zhdp^7TQ@Wfz=)={dFUQAK@34W~1f zDspA2si`)~$P!#f&J?xPAih0pWmRabLfxviqECwNHB32+v_pCpNxSj(T?ORfBU{oD za&VQDhlKwU{9W6anl9TO$qIWb&Y_T+y8&;5CP z;6T(GN*17ZhgHo+iZD6cva%U8*ATC0m{kGx@2jQu%0D<)rA%vkrh)PcO)!?=leH!J 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 z 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 Q@c;k-07*qoM6N<$g6soA>;M1& literal 0 HcmV?d00001 diff --git a/assets/sky/gen4_sky_day.png b/assets/sky/gen4_sky_day.png new file mode 100644 index 0000000000000000000000000000000000000000..94bc60b04e889fcbf279e4dd8c32f1d650de38ee GIT binary patch literal 1956268 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

#r!sP1H4&-J-Ms@Io}QjlN)b`LPwIv{ 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 z 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≠F>_b^XDZlzzF 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

RV{1- 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 svx}@KR-PcnmFjo7*=>ycMiS} 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�NsLfLg)TRV-ZVhZ4z0igqpXvjhL znoRPsW7Icu$ROrf#Uu0x0%lX`^n}6im<+#9L^KS<^RgPIEt$1?nkqmdGe?Nz=0mlu zaoyNZJTP1iZFfvD_#;)$zBK}ENAl0W?{jn$8!!Q zo!tqy^}vFe8b96h2*@W)!aLpM0psT3$*))3PVQ8AJCWitBGU@@yid`%rIWShTg0QJ zrD*=w^`<}B=_k)EFFx^hxU;;gpJ}bF>;5a|QXG;I+aTAe8p)y4Kk_#0U^;owx@>#; zXT;&-JsPmZ)cR?0=Te!AS;hbfIHhRKuwXsG97`j+8yRU*X2$v`h}5%m!_OQrUJ~v$ zrd~_|)=X}njt%u~UbC?TiDuR#-HY}#l>uZ#Hgh*trga)(V3Q;(0vg_C?8cO#Jlt0! zQ?Ge{Pkm8%u3%X-#-01gi^S05$TnwD`?)*Hk9-}kw8gOTd>w@g6H<@Bc58-G z^aU??V_l7J(~&z#)O0F0vt9*6sisYw8Res^R#^^Erc?^)G8xJkKdarLl}2dT;=?j} zb2u%CmDGm>3t zHe@P;NmFBb0Q{Ere8Bc|9ng|h$Us0g#h z%lny}AYg8%;q^EDa7Pu!KKkq3|5By&R2J88NXGBTdTZxpjmW-6|M>Xew@dSL4@KNy z@mUdxxn}dsW@Z^#V0st345c_S4vBMVNN>4;DvnZA8=(BS_#~4V;RZy%# zd|cPGCBVs}a@k;4)zQNdA+^^5UXyx^Y2sA(CT9BK&E9S{gQo6nO19&EvR09S%jJ5x zrkQ18UDughW@d=~^mxx<=P5s!9_1$tT<&F5ZV9_mKg=>W9eHknXR}DoZLPa|Tj1Gf zGPY<5HFMC;%VLKNKi+-hBeV1qQ=?;YcJ3ND&q#M`3;ynJ|IjsjlXu4(wZ5Kv|6{E$ zCy4dSd6Ck1GBDR(b&FzfG$f_^oT3J-eL0!vkyskU7O;=sE^eO4UW&gBe%%Vx8`95x zJyR?JS>l<_;PXIA9h3GBiW=3{w>{-%mDQ3~99D{6n#tjsWn?j^NV!dyb!G;~;e^U$ zE;OoOFpLAYhPA4CDza>hNV?0T2uyUV5g=y(2Xm|51$Nj9H?%&)YK0x_phDi>{ToW+ z4@f8;FI~>P@n&P3W?XZ@3=W56weu#t!$v|gC!(v$-X*L~%i;Rqwp6VcsRWt{Vlt0@ z3{khvm^nx>F%<#W!*#psn$ra_jQrJzMaox(eiJ0*aW)?q5) zi40_*uWP>~($+%Cl(<$&wlpi?K&d7nG^U%FV565QS$9urTzi&;5|L z?>xH4<>*|Dgxxk@m`wq0Rob7c{a(tfpDLseZgvlBgqv@B>YDp>Vee}72Ylvf{LS6# zKY9+|okw?K0HdKLgsvp%)ssSQX=$R#sZ`HsZe}*_l8w*a+(lV353;t>j^AC={Y^ zjysQ+;)UDr^ZRlqoxl4}8Ea$E%ot0{mVMFcxGq?mK>=qZ66zxs!;DmOx2;P8QHCZz z02<&XIFCCNypIxW3rDD-X-*atZ)%MBJ<2UNv{p!KO{hr_Bo?@hD_2NC| zo|~oEomR7U%W07dOe`;2wYQ?>!E_wtA{fIhlmFy*t7l;rM*!st6@_0-Ls z-JF6jE6XhBkSboT9V?K13xToo!eji+o!^vpOQ##qtYG`*m|km#mX=U#d$AAO&?)X6 z#x;Yymzf>b6#}3b#9teL)pfl#cO#`$Ipn;ht4KKmIYK`QSLlnMSl|n~HMbENAMJWY(mXRUIlw&}lGiIK}9k z58=bqRK;S-PahP-yW!q6|DIj7aJ7Y)`pV(GlT0uMZyuf;68N27tNHcgA#8?|oav_2-Mc^otp6h+2) zZKG3XfFG~Pu$}{!WofM>eE@Oo?`sBWu(l?6h4)MUr$42?r8l5mh4c9=U%0sWlF%m| z(Rask$FAmOFas$RNoGq0s0jlL2;&aN;CwPc)o_FC3Y+lHwKX@QIbmu+)Eeink_nxqo@{H^DMIqhWo6Q<=$>2NvX4iV1JLI@biMjkYGBGitom z?P_sa>PVMJ1n5E$hl&JlL=!55u@0sB6oJYbKteLD5o=~IbghxHNc84G7gEZVO7Rp} zR=j=0sp|{#Y<60_xl5VMd}GqFoU<+cN?&2I#<%b^7o5%e7}AWmsT>XQ-Dqkn%ZlX7 zW6IZ1x7cG7awKwc?)|UxNFLfh0{Bio0)IT)_%HRe;jM|2wh*%IGmdVa!tc+(c$&iU ziDS}JzQt1xK9w4vNdl!DCM53NM0ZzqR$a}_?C z`g)T*v-h5n>l(2}ny_9k#oaNp$ze+(jY_gLcQ+CrYj0GdZ6%P(MS9Lp_Xc1LIV#Vi zW;z2y$#M-LGh$uCCH0*wW^725XB5ziWJ7g znoruU`~)12jE|3x9;|T*Nwc=)J3N6JkIC^bm))bTNKbcZ>5-AmeaUZby^}Tn_I7@I zGupCm|MlVJ4;-F+FrnhHfq!_<4k_1l%9?EwB5Q)p&|1^T83j5RH>5Sd8&1o{QG{~= z5FLZlYsxj5@vkM{es!{t$nzpm>xKdrHbo5`5t7)%()(YqbQsQCi7jFKV8-WX6Cs)z|2 z>WF5ufFH1dF8OF`F`QQF!JO*KI)FoFW}zYxEgU|yh^K5S@bTi@;pWp^=leVAW7fl~ zQ)c@qx0>jg`9g=Z7?GJa@*e=Itb3F&6aYM#^5fbKc8d11L!0fvcy>&Oa2<{Gxoxsh z8rAKep$yRywFyj%%gl_3oCexvc3RqYq3lIm*>@d5ABAq)@|y2=j0Fn9DLNf3x5Lp% zH#qa{%zyp&=aa$YZ%Z~O0+wrznAVB{vh7nxra)iB@=Xo79;jP&?42V2h2a_V;0=H~Umvrk%*)4>Lz1D>+0Dr({o>Kum&dOZwg0dh z#$3v_{)JS9O&s3*0Y=DD?%I^t)X#PaqOD1hhWB;71c1!G(p=^vD;9(eM{z|QTuiuS zOAl?#7QD214+??a70cqJ6?xjIjln$fdLnyZMUau1TzjU<*sDBIDs*65G6UG!Fq|=3 zt_S=iAOjNIAT!|Y#*S`U{S1fj48=O%O2^FH$>BCHyw1FM5`Xw$qPS6Sp9lW&_tvX3 zsq#6E@3^np-OB&xtI2;f!E_RQk7~RpRrJF(hZTNtVN8C_9lL{kpPu^)Sd>uwnI8>5rkM z>l8REzaSUFAv*I7A&V0b=3h?jgQt%Ve2YqEE~`j!M2im>niwhT#X(}ilEsT0pw71B zG=0Jl1!*1+FYYpikuAneUN#>5`{Cbo4%74h`nV(OaE!#QxyUh&@z@b#Pd>BZJ#^n| z-@JZ4@9&itYQCC-@a$%gRxR@0n}ZtFM3dilqH zScpWA=!y^jn>Qww6TY6$$S&n#erjLl>6&B8Fvxy)E{va0spj|OwD6fRAt=k0nn(D~ z0CU^1-_6=^lm~;8ZJ1K)sx6PuVcGV8IGV%VjZ2eHrl-dN{O&|&)>>Omr^5hM-@W)% zcac1uP6N%Bdhg$^>#$Zxu4|B46qY$M(A%4DsxTf>8t<-Y4Gr&$UI`o`^jjs;Q>f>& zV8R;}xI)n@JvX6yDOs7mJ~lZ_NsYEeitIPh?3TWcM=Qinj!~myxc?^Is>D*rl=otC%1`6Cve!>?gzu|4U#^mYrT8N!Lf-gv`D%i_QphPSYG-^}tqBlbqu z0*HuuH-pn{B$DQk+y{b`-Nf1kD`D5ml6dHp=f(2%{d`*5o1M_!EFHlN9~^`kp*nmR z36(B;6pdC&(g^f0ZyP6ZriL4ZCLRunp?OTxFcIxl-x|yMFOyM;P0so0$GC&#kOsY- zPYotpetZAuYl5Dm&d!b7PH&(>0m2QEt)-D4jQE`|rj6$dH7kTVXJDR9bI5%#w%?5G zg&hoO?QqE(nVp*KV>~T74=g-oBGZR|aNyco4)0xaAJ>t0(zWj&PDe21u*L5`b+kzR zkwSCNin!~jmAA0)G`)g$6zcJf-HX#}HfvMtJFF9YaACN^JX=BfZ1l3RW`@u`;(EQ# zy>FtfvWR_1?CygfU(F2hdC9(!k$L1?%^aG~js92S_`1q3P z0W8zT@QsL&A{4DzMVXL%Ti#;rtTvsJ$p)7OYnBNckr@#%6A`^XJXZH|c_%APQ(33?B)J!|mV*P2Nm`^$a`aGsJ(33d?8B?d=tYB~>oK zR-&}r4FJm)zr4{VJG2mhteJYsMtUxBvOF^xy*0QDS~C*XU=}e_RKeyv2^X>xlCI^_ zW>G93XQ~B~o|$M-)l!Ipkqd_sR@JSRk?jT|P9R=jQ0bYK{07L7ju|XPiwt*z3?g`n zJYV$o5nttJ3%seF9FE>VD9)fY2ChAOb2J2!U0fCNHhhr)$#U|f62oU>C}k(uH2nQG zzKq7Sm9mtwvRgM}g&PI_v)z)|YObfP;|+xfM+?)JJdCoODTUekfi=z>!0i4-%GAk1NgVccSx#LVHirGPn?a}bv`{=@(F=S*DDLT}Td zdRHE7dc4h_b0`Ce=&Fjmf=x@EEQnbE6CQy~RVY?)mIX>tuj&~gXfy*eGQtRRFA%uSsbkGEQ%;pM+YG=qYc?_l@dM?% zcP!IGtc2d-^gp;NRsj<|wq#;TQuBLV$df7Q6A{}dO6YC%l8k&p%q>=K*)5jIGm#Fu zsbAk)`@=#tWX7eW&4N93@hMB;(nr-ZSOUt*Dmmnl3@uk7qy<(uCLCGGRb?+(E@4ql z#*XH=ofUmISB%dHg~Quyj92SLnqcdC0dhoGZ6up1-+#I|GxK(x=MRKu+b7%p-9M*A z;a+BwFk|nRJ1GCfFRe4e1Uu5Mc{uDwa%-vKCt6m#C?0xF6CewOC0Zk`RmdhN_0@d| zn!yD`T7VQIHID28*APmo{?6LqxPd?Qdm~Dyy%kOb81nz+-~HnW-3)*GFaPGeIF~c* zl43b3m(^B9t&YLAc_~EKkYN-sR&h(5UeKJG(6cTr+T(T2>vf&{1`+OlYK?`PC76j; z&bY`66sqo_K$XIFSKH>D8HYVzE6tVCvw1J!07+-C;asrz8Ktq1g*95G2R=rLHW5gy}V;k z<=xP(N|(4?FCQP7X}W6=_B1auYp2CqI~JojY>d;mdzir1(|BiMw}Xl=G{*<1=iWt3 z(xWNY%!a?^?s5N&uR6r-HH~GD1b5#jxS7`rz~ReNVwmE+S+mFC!g2bb7c|4kDA$lw z&V;sfZvOJ8hi||G4CgX>}Ho@-#={Gdf)Ez%yI|)DMm_9EwRa8ks z2oZ{CCIJzNN}^0{cFjD%eUCfUMr7gsPYjx8Zs&A|wY@_b9!kRS{;2#qI!~f?uWy5m*XCat=vXyhQmgg;Z&qmbl%x)a!FPt$3W;XJ~ z0z*_JMR~&-q%bp6x&jf%L(Gg)yQhQA$d_7+$!A5_Utlr!$S%K2X#WeY;Zq3getL9c z+>|#Xsi#i}@j{RO@JV>Ht!x*~jy348Dm9?2!?!iNa}9W4M&F=Zs^K>S@+54J=BpNRpht{ zCEvf}$JVo%`vGFR`FQojEMKPGo;S3wfgvKtUYu{?^E;i^xQ&|fAX(K*AF{(^d)$BQ zuI|^dG2WYmeU!`F=8nhtgSN`v z+YKLoLk&_|S46Tc__+4#H6q--olZC{<$q~jb?Qb{JJm@=%X@ zc{-4-2I9nG3CFsw%}hDKlr;Vp-YHMs82bS(IW}QD85f?|yq6C~9Zkathn{GLwWf!R3@*pcN*nrtAn!?kdHwyGz5 zIiVRGf@gI=0EZCHGm!>Kk!f_c@t_WbNgJG6TA9!s&rvuC!hIdlU zoT4-qF=JdbJb}HW!MC<0DJAHeh4Ni`86IV(_q#;>7W<*n)7s35CMmK(eQ|3B#o87C z9KlMkUZ8zVA`Yi*S#b}u`mK_kMI5FZp})#uw*wgCV{&yo|=y}%A7ebf|hv#)>b?cu?!Yn;XO4@#1voxKi>7$+LyO;HrEMS5jcY|jn6p3 zLP|u+mI|Q>jYf9|T~;&H#G_2)F!L7hv97=UwkDLJ>-7qlaWylPj;eBIyaC8EfL)ef z-hCB&!YWjATjW~^lK4r>e1}%^kfXpu^@uIA^s&y=4|T7v%s=md^$iC)CePqj{aGF5 zjK@99TVA{k9YJS~9eEp zKyKV3?U`?g1`n+?59KaVbb%f$N5LFRk%T)F z3%vnEROp+_&VkdKr>hp^nYNINcqJ>>C*fo&GcyUD%o^m=v(YOHBNU(s78-ht98#-E z-k5mqxG$RyH4&KMgQM%2i{~~4@IVUOck2MLpNu>Hka*(ml0S&_*k?%2Rv8}TIJl$v z;+Y9B|5Bvs8N`&IoG(AJA?Ts|r~uSbFO7dzqzZ@0TTyV3QPGc;hm@RgO~c8Ov2Ng= z(OPRsG3yyFm(0po8QfNzz#uo)&VEk3z7+oq*rieHdd6@6*Z&Ux%HDngAT%O@Mfj?; zTr*8D=P8tR7Ti%wZ}ZOW8BC44Q{D(>B4Qg|))TSC1ME??Aj_Tvw>Yx^;{DtEFtdrY z85e33{+y=_w%hm!ag0#Q$-%{IDf5lxuRe`&`4q9wIUF7PLe5EW)TJyR2yT7Tcfdq2E!IPdgJGZ2R~>pg#*TJ9O^jDM?T(^-N8P`yS0g`5p-*1Cvh#ty9On83rW9ut2(rH+H7z4Rr*M10-)?H)O2UF zatHuu<>5XHy=oFRK0%%G!$8eyzH6Q|zyqK)+H$>IH_C%KGqX^E=2|F6Aj3?VgtDds zxh+qtXgsB$W*x{eEJ1Lvs8{s_0!$d8oO*?3>V^`c);FUmy+XxXI?raN>@h95%T#{` z(vILFmHTLEX=UeXLw)dTW6Iya0^TxBvcAm8*(N7c*=!}=|U z`4v0h@Gu;gsa_edn2y=Ax*62pqBet6Q6)nUg_0xTZaJL>d*X(X@q}q{1Df})^*T4B zQPAY>kcI?&Ir-^ycee3SevTU}fN^~^DCEkMPT07j}!NhWuA()Et&&s|98dxS)c{EJWjUf1N zR2(HKwwp46cZy_?Jt>-7As2@J@$>T5Ggzi3SO|Xu`p0j6`m0XEOWoL$HUF5w{&b9b zb8Qn_mL?FR2w)cQ#9bESqjLex7z*@@WxT-+YYrf*V4A3>#}W=Ur=(Q@F6QkLJ$m@k zGB&H*Z3tM6G$?&ikln6-W*v-yzht9KbeEGD?+0OmV}tsSQLUEQh&(n1TW(DU_?D zFH|BjA?V~w5cmIZus^ z697#@ip>|bj7N4qpG zr>OMF4D}P1VhYn8D~A(qd7gUnSU~HM8E`VJF-PAq-R7s*%uViqx~@fCBcf)Fwx^;V z6bY2kRv|(Oh6>p>4D3-*5L-rnroBKNIesGuK;kF77G z%#52hxB`!jpm`P+Z{8z+`<7;i-YYWlD3~fmMdhzktjbE_nTX`jJ04(#f=LfK9=r<>kz}R;f{t$2Ki2&7w|6cl z080fKWzdcEgjpr&8b11Fw|t+MJb=+MfV1bt;de>X_nYKld%QW10-8GFhbzod1buY; z@(oN##kfu>6bZ{rtPudTUjO*@%h$!l$obZ3mIpw8BiRgenw8;pgNKz1L*f0Lov=0v z7BFLIZK|ORstmHJ7p$jy#M-)CS*ijBYm63r;1o4T9Xe0(7F=rgLy zN4mt})(}WVM0zAn)8lqfAvdM6rnA%@<>i_qrvZcuL0s2(|A^}v5i*O9tG;~;!cR;4 za&G6-U${99@J^%#>r^ODEENG~MBHd>m9otZaZjp{=+5uw_mT{{+Hi~G=vj> z{KFqACa<&xv1utt(3K-G-oOZ@u+S30Jpcs>HBiYe8BcQBX+b39DL{=Qj+zlJ zBQir8rHL){CZtAdIRw5UQ?yUG#Se0~-#ZfcLE}n3cJz7}(7vdX&G@QneFV^-DprsE z?Cs~(QC;xx;`bNl?#9iXv+Rq8V{EC&H(gO4QtoE$jA>ksiV!RNA}ezW%_td6BEFcZ zRk2ki)8M<@;)UyFaWI2%?Y2fVr(OGchJ}!UY~GC#3^U0hE4-m6(4l6Y3;@lqq}Rn0(6_kgQ9iy&=pJy7DQNPDzYI=oe_>kUy^Srmm}%I zX+>N0*40+CL_7Iug#od&W`=9@%B)@Jj;<`GMM=2|0=5KksP6+6(8i4`my=SRLUKF9 z4dp9UBZlfsB_*?X8sO7T@MZ?{W4=KtWq}XnL2__TdTrtGok#3Pp20iEh`S7_7cDJ6 zLF8Wj($5`_9x<+msW9_~b+w1Vn_FMI(@x$j16mh~WRD&w`_w9YU5LVR%#eue*EEMM zW>%bS8zY*j0<6)g1euL`7TWN^*MQ{Hl!s3W?^nQ`gZ<;TH{fUBj|gC8Lhxpu{R3?o z-mox9?cV2A6S#dOOWCB<-@s?v^sa`ZHMKCILy%g9+yPahd*w6Y)<{z7y#_$+y(6+b z6H0!1^7a&C{KW9`6({cnCUf|Pp?tpw=U+khchdo?A~x*MJ+;~=lDWe~kM4K3V~qN1 ztZS@SJIo`-&>=_JlS(cpRzl2!VaOcj-F}4GQLoo)S^jUd?#-a`Zj7_zNC#YtfaztG z#)sIoS5u?|TKg&zZcbHWV|`YInK8NU=mDcSkKB}l@N1&G2NaHb;-wAZV?xs+a(mO| z19m7aEJdrV1J>T2DN}KM%f9`XBn2bcmJ@)FYkyzY1i=vVvi6=TpKEM-NGW>8QmG<_ zn%-JMO{9@hNX2*>_J;Ko2Lhm3bBb|A?W*fkz{H&k)`k$LEx` zQYa66?H(d!RJo^#Dam28%FijLzJWRMEGMvbDc_tu#^hvz{Y5^YC~K@Q|nTpq062q}DEB#l6FD*@ZwWlc`7rto-zZTws9RbChn| zJl#!1V!f>Im!*<|1}DYFvr0zM$0YY@@(jD1o*v(Fz3oETOY~pvecL?M%!<~uG2l%%6x3Xd1DQ+e}kC`F_Ma4(LBI4)!a!r z(&S7uefV!w~6_bIoXPp9vu62GJ2rQzNJG2x5K^7ZiIX20$DwyTW*bEjmb$UT>dN5kg_JDss3J$d%;c3|m;K%$Lr z{zw`A5!?JYh+}{oABY_oQYGc+=rMq20m;Wg`jc+$m88N@>zeLFr;&LwUnHxSf zWreA088DPkytL%7W||}RIuEA6VLIC%I)r4UkHb(dF1dbO zZA#EcYV9MrP-|&V#T$dZo2wmz7+GLb$opgj*ddBM6W8m?W_WHFIi%P_he{g>&Pg*L z{;Alq-XCvjJ_kw?Wo&lnPVM;ppZtjm{T@$uVg~CJAAD1)Y&13Z^3{d0?J1}G71N_A z@YMlXb7@H#5o?d@8kZ}>9IP5NLh;eF|Hj38?`UpIJN^6xv#%a3SPm+F+-NtJL=x!-~b@(7#p#U++n_os4_k z_1%(blI!!SyLrudL8ndQTy9<}JVFzLfsGCQ*W8VB>pd`>A@=*Vc`X?aNh!m$0Xdbj z3BIrEpT4bVD#Z*^sa{qfQW)iK6`XpFG#@!BIxx`ndd@eUNT;n1e!#-_Rtsn^l8LGl zImn=D)RYR*(d^hBuWf)j zhDe(}jK{=fyNQ9wskocs-`a9&Toi+!`LIinyFmX3;o7O<$t0M8%}@hlCmGZExhAC$ zMYR&FPH*e%am~beY0y=uKL8kn?4qFK$(`mz-vB&k- zZ@G5#Xsu}tbx}B@A<_;;-l|7+}Zwekbg>JT^7zuU!xxI9MVPu zTu^C=ZFjFIzuEY)=3(yM8Fi$D{K8_7#Nb(g8zisCdSz9*zSC;oV)Qysn|1 zZ|6m#$iVR4tVy~R+ zZXZR$<4x04rD=>oJ5&7VA{V-U%Vb1G|LJ@ZEC~n8by_2|GB=ma*!z_^>iLtmVS93B0nBImNX?FKTIshWl5P|4-x0a6s%j013 zyH25ZHh?^&I354Kwe3DeDwV3du4(~hrVmq``Kxn0-PNFOy?V~9_N?*#f!tu(e?I%qO(*4&wp1V}78yEI z$qrn*U0|V_ryAHuzbfCuLhgL4Zj4Dp|I)4}n)PquT8v{uD!Xg|_Ctgq#WAvh^;uk! zwFV`yCPZ1v8&6JVb|IkvEN~8e{peq=S`r2>Aq#n8S!oqmgIvNuIVyOGL&!yDL!OYQ zyb4Wh9g48D)3isz9&QSeO$E0b2&VCn{#Q&23k<6U?Pi;{wVydDeTS8AH_SFVAH!et zAOM_1lN%o|4$b>up6Nj<_~8Ea>L7lK%*?^@l*>PWDvwX|(e-5WlEH&l|KVwUsY87_ zc>exlNU$_Z9L9Sr%WHEtmm)6T&bYp5Rb0O=rw$GnDC)-9t{P{;+c&g`xcYgd;xR^D z%)MGIHv;l_2;Q5szRJ7(E=2js0o}Xa(3-y$<nfXU#fuc$yU`2-8 zbf*JH{6TvvJR2MF0XI7?b;A>b-+2w0TZ$!b?AB}y7fanCkVCKhc*t_c6Kj?+>|38O zn8v1A-OQ1aRdJ9EWo8b7L``qELwXhld%zM+U`Bj&efzk6tZP>h7cS-eF=cIa#akss z1RZ{=w9(K=f>1^?_tuz^3TA@CduUkh*uY7DstBxp33{K+W`H>xc@TF&XJJ($s~liK&~iM{N02&z(W1En7v3@2LY5K+jBfZ;LfQ z*{SYCJj$3}?Zw-^aOXB&EzM>Cd!%~Zv1aP)uNWM&<+%U)vMj~=8H(xA(0WGn2xY9i z*2|hkD73p{SXPv6z;FTIQVC`Jp8ZaRZoG7Y8b|w>Iu+DgBrgUK8c}kmb|Nz4O7hJ{ zCx1m>zATyjlm6|lZhJL9c%@jyuprQ8ZEEwDMG9tyeR@%Lu}Uc7=ac;xfBnb5Kbx%| z4Q#E|DOk6Z4lrGG(#)>p|MZXjfBg5q{MNgcQH2b|sC-h1J8$i~XY&(f8~G$FqU_4= z*lka_v|AYS=XAMSSC9kM;KyjlpEsq?nU%+fLWiV;$VXl2ZnTSgk?uAbrS2MFACz4| zJVyJ>N2j2wGH)|a%9PcnGB>in7mN#ySy#EY3wd(lnw6=Qr$MdZ#6j~kCCop< zoqufP?)>ea!RX%sYYx9xcR=dn7~}TwJSg@?2oP_L2R6FE@1R-S{nD3)X)hvbUO(MV zRO$gl#QYSaU=up9&=3iO(L({D(MzzM%ASdC)|`m|Ghskx3=QtE<~2^cJ$9ziRO4~fUM#z+^xAiyFoUpjyW`$ z3adis>{vQJn7a;0Whdcn#DXl}?;=N5P^+71+S85borAlM-61Z3mD}xj10xlFr@%e| z_vb5fuO)alGoF(VzFMIBv6W)V1d0pIrzd)eJ#vlg-PzXb8s1NS!p{qoaCdqRP1vZB z=7rTRQO&Gw*7u4Qx1l$K=;rReEQ;PE*h*}BaW;}G;Ui-^ho79)MPqJ5M;-J`N80sK z=k!pw-&)Mw_vV`sXFVh1y}H#Tt)8VZ)3V(gB0(czG_xVrh0#PAkOtpMgb^~fmHf;e zGRG#%*=U7P*#}f)K_Q;D1ZimH%nw6mqj3PI=x`_r^JdM=dQaS%I&za0P8s)IAM_Z8 z_ahU9#|$$7X1=e+XnYgG;ypxB` z`~c8NC$~Prp4mkJA00hVMes+@6y-h(d_4@q4i+61KaobSX-8D#Q$q-T ztcJ~IWYkxej*1r7q(|%E<5k&a^m2GIqjNa4_I@dI(aERg z%)=CznsYK`n0Y1w^z;y-U%_nVMnj6U5CSxMDwLdFaD%m++Xl5MlF9}BQ%*(T6_O&eCFn!YjfzBbHojp z9h&w*%-KQGgDLux9#Hd9-JOrVhoXG`l>MOj&>ZC)bLc-qoQ{gvPutkrF4DLcna3^S z^~3c@n7A1_kNg5F_H+r_5>oF!IsdDF`M3Y4ziuZfGeZgrMT)QCMW&hc-aC}b+rPc! z|NM`?{`neKABPlH zEZnb9P@U)FEe=n~qwFikrw!pvaV z;hIU5FPDyAzFpSq$9ZW6DSNJ08s1LlFI?Pgm|v14dk)QaW=j2J{#WPr$FJwi7GN0? zQV?xbMxy=U`t8g4?aj+)UKK4>nDnx^`sx&kP!P@N3FDw?TcQOh$C@3mTr;r>mbA;q z8cEP$Ei(;Bbu(j19RD9gX08!1HX6Or7a=$u01qOqTK^`ZothceRHoLx0{U`VQmd5h zm@hx?;Rsb7{eo^C2$a8llN*fwcBapOtLic7sCf1i0suomyuZ1|HtRyvhLRc)as@yO z#lq9xP(4+ae6Est;)ki-avBHcK&K%ExMj?m!AEpc3H*JNs|6}HY_nC&j?)5gp#0p> zLjxWI+s5G-5zT#gsg_MP)aqI2h1j#q@@{(igHuY5fuHXq-3jMqmaGh^PMR&#;((vY zOg||yo|rBgZE3l7Nv*ZZ^rL%5_c*!3U}N7AfHcx! zm7%LZW^ZR+%JlnF66;a9|CAnkRN&opM1%{LD!XDj2l*Ma1}nk26#*mG%%Ix>J2}66 zeEV@b(Psb{iug=GjHgUJ}9FgRa1CR-z znQi6BranKCx$>}yZJ)%)-2^A_SLC6J<<4;yVo8w*m0!NA_Pjpu-W2WOK!=nZgJX&-g^-_1Q^Voge^=Vu7=?`Yw0(r=@!64$*0Uc$fxYf~IX7OMC=YQ9=M7DqXAO7i=-#(hRkW!sXlg{s#bvd6go@LA^NK8v2 z)PqptfukMPT|Myf`32}!5AqFwC8IGQGpBno4iA=z60%2}nxC3$x9iM7DjJ$X_IjKT z=ylF^5oTicjOhdnqEaLh^s1B+m9ov;N*!asU_KJ)s&u14>b>L?6mh6<28NP3oRc-D zQlHdIufX)jnzLxNo7H4x%s-itA7@Rm{<#3mRrjH$iQs?Vz_zV8vCVYn?p zk-gNrMn`6WOSVa>hB6*)IFlFN=Nrpmqw4m!-r}G0m%3A`9G@+WYy(qpJYQ}mdE)`! zb=dQfzoY)l4D!H?F&Y)HYGV+|^?Lnsc6wJ9zlL4?4`1H?{%`-v?XB@Avu-de!_rtm zz|!ccJw|88qW3zJitGBZ)&^b2;x&3o?fhnAPn*G1a713-KV0qrdN%Vq88#L?jTBRc zeF|m(l2&{lBzt#`7$WsUfc1aT_SU@4G8)1XGP_VP+0zrkUTp ziBu(><=B!7AW687Z9H$f06quqw*!Ts`P$*@WR#a5Sp<-8UzXNPh~sSe?d&*v^CFkv zfBygfyZ279jWh>ZS{u@2OGYK1kem4dhQ4W-3L4DV2aKe(XNB(+7p*Yw1u2D-PG+W) z)%))l8y$@4b-VF^*`*;rt6m9V=2EWf>Wzyldx9d;2t?R~Iz&en9eJ2Bm^)z+t9$ts zS2x3ru{3Y|bTSy>WIKP|-6OO2>vB2^8B)NL45gD{5KV>-^b*TVvtEN{@Z*iq;E~L| z6^eHi;1TQJ8tQR7ZfBg^k8gbOSL4-VZCu0byFIxa6z@p?Pn}eD0ll`UV}3HsIF>-0 z<=DonnD4>MD0{mssdV>eR_ayi-2C2B&>pRZci$1CfvKKm8)Al zSLJ5sql`|p+J%%keP0Smni^SVZAl3?6=g9^f-&K$s*>soGo(4-9Tu?Fa8Y~bPl@vu zg_m<>UadtCFoZ?q*R#1&>I%U4)p1%7xn7m4FM$XxGB;E2Jw>zDGcp7Vz=o4)mdJd- z>1D{cQ3wl4%W0v6DGVK*6ahMqp3n0%JQUbgo(`iwok&`0UmG!q#k*ov58CUyp+#o) zdF&Rg?Ks%DlNmgDj)>!Wequv7t4$ozg2zCs*5NQC@uU3XI0UUq>^K8EI-nd}yaNPb zvx9grZXKT@5}{r2P~3s?k`+z)@$K(^{_Fqxud#fv`2gZF2Y99doTRkC?Rvuh?^pYG z|K?jRf4G*UGSbY=m&|ewPbV?WJk2bsxm2OWlZb!&R&UU@TTJp;fj?q*H=7kR5$A>Z z-W5;-l?xnFs+ZeYVZ$1!2;z>ljtcuYF~u!fJKEa=oXhPdA8_E~;@KjXirWDpMoQsC zorSDio*Dury%4t?&iL!Py8Dcof0)+0&0ydgYxg)jO7)>C*n-sge6HT#mKK}u%N?B^ z-%03r4(Zn^wir{XZeHZ)5~$=Zot<>X#9oBoY90Zyf7tJV|HyvP1F>_Krd_Gkv~L7hSRDJ=XPfwr!NoN&Lj8q^Nwjy z#*I0IDaDdcR`pL)ruoRO$Tcj=s;rcl2F1)nESIH>j|)^sF^$AnMrF%tchPg zR-?tG6KRlPLFU<)fLGCxD2tr&dm^w@j86x~`Z$y56rJZOQc{wh)xP z=5MM2mrThFSr$5!(Au-P3kW&PyNY(_@}+nZNz)8?&KXiP3H4O&DN-SrnYHTNaFtr* zX;w}~B1+4`?K!WZ)0&}B4+Sm6E_BdraWkNg;kj`HS-FP8(aQhUj9u&H%AVZ9V*czbWjvXf$b(DvSlA~y|vjkoVa_!D@^ zF<1QO__OUe+gNC#=F1P}bb#`<>E1UZG6vwo1uN?mED~OpvaYWXo7P2PFe)Mh zIAOu1r+pyaJ0s1E2@pPqLQ@$foS;>w&RC5UrABm^gIbl2G_0&(E(Xj79sX#tUcmZ% zP0~wZM_E_{khTortWJrR@Gk50Wb4zkIiM~N)CkBVB|2%H=;8{XujYhOk%=VR;!Wa0 zG(_gAG^dFsT2ECRc`;0uuzh8WR8w0NA7(D#tI_6D z!RRBzBRr`ZUnx+JnKXx``-EBfXf1xPSp8vxqt6X{Uq+rkT!gzF=EwF`Bb=Oel{vj4 zHAa;|TmerxST&KkE3}knS4V5MHT)5oYmcDu1Q(`iZPH5i%USFOZ2*R9wpJv7tnky# z7L;ag)?;hk%O1_rhVtgHqmH90Ag3QhF2qo5lNB6X2B&i)HM6mJZ!dMyP)TT`v3zcI zwZUOz(4Ai zvxlX$_UdC5xf`gA1PxGQE6OAz5dkSs&>tW<$O5uM(btHu=9<=1&ZP|XjAMYeITY=m zmnxr9QIt2tTXQFDX(13_|LW(ZElX|G^7hL+{>{JtW$mljyfvpXGa?rEV|{yRZW`Ac0BghY%68lBpQ)gKWsx%;l{`)$w(0e;Z^KZ4%}M_3 zLFyr?PknIFv773B=9vpo1BRL&Aysa6kdc{8Hx60&$Xtk>aPiEB>%ev!hB?XvA)^m& z^gzpYb>ppf!tv1A1~3OxbR1PU+b`==5lAxnRa#Hy_ILmC4}bUqMlV5OU)Q&{x{_&;8MV(udf7=wBIR{|CYidX zP~%oZ=FF7VP9lv}4uZempRib|2ij;RQoYAz94Ra_OaL_j%%^F-5s}$yG1WZyu{bGT z0RU!g9%#jRtxa1IH+=6O`(xM3x~`YWLfc|%(%szca6=5#>C`mLJh28YVb}1qRx@A; zr3tk}suS9BvccR8Bo8~1MsHcLg7J_!g01D>y6=N1fASt!8NgH1zb7WfY;uqC+z?2U zj|YF78LJgZKXX(SM2WvKb9{y=a&nIXKNOqO1!vF`;cjRV*Iauk`RWausrM@ZS__nG zMaVEnoItSH$;uq}Qrf&hdE1qL)=Ga;BJO;ehko-DG1l+RoIWZ_^`drt>~Qbm%OA5F zkNfr=_Hw5Ve4N_ewa~AkSQ8q$pBYn~HbA`L$E6~Tk9gGDtON3SD$aILDXr7mw;X8g z5GPO4tv+Egx>+{FLOYR*HKJ#RqKX;IF0|IsIu%404UMF%CLIn&V5v;j26Xi7D1?@LTluBuY1Juox?-6} zpd!ady{t4a(>z-?o#bu_uqzQFqK!!Lgs8s4PuqCghBtdLGKwnDR%f{Kr7e zo6}kO0L$=cg>x)2H?hQDmeu|8=pm>)3jU93sFyGr81nwfbk~wTQ ztaeEqZ{Z;fW%s|7STWDYez~fAXa@k3M`qB*mD^IF=2sG#+(sPvU6VHa$RqqoAyGs3 zoN`@m);!y^f?&_}ay^l{Ff)}%Le%N)Y^PShWn8WSUEFkD{4_)WJEpn$ zt7PWdbL}Z#0*p14E74C2znom27)FD3r{tV$qm6k{F+N}-eJ=45UaYx(yD0NS-v)w+ z9BXB6ildgFA{u`t&U;!1-yFt;V7(q}Jnku5Uz!QLUo9f6RQ{;OP9|%vW{4Q`!Y#T? zs^oaKY<)?Xh~e0@@7_;T1shqCQ}ndOzU4?_VU2T(Vl;)cv5DGuRdBg2(W;d(kaG*Z z5xo9Dveysp!T`+ZZWVb1rhDR2ciDUu4B6j-e3)bnKRTb3@ox z8{>&hPt7PbfziY*2XKbf^XF4b;MPCzw$T<9g-nX9J*aqSO^Vl|rc0 z$Tw(FsAQ%TZX$?x>T7vZX~HP;q|X{}>A4-vCIZWugZmhPTrF+Bw7c0;PIY@$zBB}T zfN~Pg#~8a@jXQ&6pLraz#~#g*zKcvf9Tk7~h=1CseAWivgbuH*2s34mWut zYUUqlU8|`)@vQh)z4x87D}yWqvo;ayL*C5L=x(qu!jZBsS;erI+ynrW= zT+E;x69tak5tk1?l9*7{il1rXPS`t5{Cub?ujx zk?d*ZTy!+iOmQ&Aq{0Ey5WOr?poj>oJx5x~1;VYlD>H@6F|dckGIGA%zP6*Ycv38! z5kh36-0Zr380`*Qm|2xLXbZRlF|xgco+^jEo*6z@No|prmEo$?vG$OPkzH)u!f+}* zA4dSz^-y=<{G_SG+7M>IjLl7axq1p+^?CTp()5z(+O&b%ZLok1S`R?C$(A?wZ*l+O{^L z5N-qs zLiuK7_VL8QY&eu_W-C9CRB~`|t3bDe84cj+1QMB$)I-b~RJi-F#0zD1WL9V&IV%}vVVtHB16VG>kl|5ZrTI=O|8PvCDnuY}&zD-v?rqSU z2HhkIMKkk}no6TDpkeH>HpPrd`cWA)(cba3O6I*$tW2gRZN~9(XM|+tu+z73B!@D% zSVJ>6Lzjcl0&6(Ct$jr+*GoS1hA(F}KL|q~&C;K~!YkLP1KIapy~>;9-Q&+X=U&Ly z+x6z?bnMSaq zt}VTnK(?b~Zw~pK8Ny;&V$%kl4ay#}o)$1?v)1Gmp_K-_t+bWuxYo&GRRcjH(tL}{ z9n2eM2d`*>FQ(H-aUh5ULyEGht4b>Sx|o3Q!LoA!VU}0~OO_px3rp82a!FWZl{F1) zo#%_%RTkJA#Xv|5Ai--EInP{fiK~nOin6m5mfgME7=4COt{zeKCsji_8O*yz9uHti zD63OLaZ9S$&I3Vk!kC-Q)edY{&A&a=sCx3o)}nkqY!+iY${P-GxYXw`2=s|P@8^&0 zT_VZhn|Ej0o4)ThEry>=X9w=Z7pTtu`rmnPRUhd&7Q}J;lA8r|b)d+Io(bm~vBvd% ziJzDLk>*3ETB)hj07oK>UQ+>xX3g3OSTe6QkgP-?FHS){5kp*CF=yyXiB9}@j@46& z$xRycA&6??e(6lGk2B0HU-Pz!evE?m+?}>N!onQ~}Ih^5PF0IkC(j;B` z8aeuL@T#EM;tSd~=p_M5?7V_8msgPmZwC1qolNmkN&mR^>$(c<5}CB@>d~{=(hRm` z<7_oXbzIg{m-QOS%Nmi;oU?8U`T>1Z+gi^uf;V*pN4u)*Yo@vsZfHhi7{j2&tu-Se zAkvcn)(Rn&7%Y3jG;1lc^+q?j5|Icp4JN7f)Ok`Z0G{scQO z&C2v|UdhVd!y&P6Fdug^0t_?}>$*_}n6eZS%?JB+ELk&FLJX*5-ML9WUsr9f6xMe+ zffjd&t=-6&JS##c+B}c&_ux+F< zKWX5P8jA<$`7<|?yUB=#fv}r-B4Ef!WB1I4Vfvp;n0b+YdOG{UTq>G}Bz&NX@ajQq z%90G}q#Ddx@#`IKJ@;;(WiOzOlKf-M>Sy5=Gx6*9Wf?w|-|^F*c{;lOyy<=#Zt?k> zeB`ygz@eTg?KnVsKlA`M9st|4F(;={;XYa8-oYi0(^EW`oE{Zghl#*3XPj{jj3+q|)jcAm|0r`aO?3l1# zZMw{N-vt&oT#>ShdNfoi$}uk0U|Aj@#WD>ZmW3=QF`G%>R zw%;|c;gIG_B0Vz=B)#`kPK&w+B(YSd?*8?slUda{+hVJ3sjA2kF88}?)Eg=7+VgU? zL=(5{!{eND@ShB#c_9%35{-b^d_hsqE2t(D>Vj&V>Fxu$xCM(JDiBQ(kb4;oWdH%= z$vlw3$P~Ji+00;VU2$F4vNi5e9%9bIfjG6H`<=gurNF0Y$7AUpAm*agmLu`@Ux#69 zSvG8=wI5JR-18ALSFkDlBZFj&lw;eP^P`*M{RYUF znb!YYe};~&TG+!MJo5nHfM(>B81$@DiasL02{R;- z7zN}Yuk8F5M}}-poA$SQr`jo(2&+2>-AV@MIvkMBSg~Wl^xl7czobm4x@1fEF3X23 zt%!jW!B<9bj;>8CRzo=|*sef9GE1~%vlJO0%^Tr4raFZe*D+Qh1D8=&?1^GwEFwZ8Vw`J|qV)grq zv{w|{t;0PS0(~~Ccx~3jPx&z-nUT+eS8v9~kLFm1)^${VKHL2xr6Q*sdHk*^LWOMj zf-3_9$@EE$NvTUd?G{*NmbqmhSEqeFwJ(b=SQqhaN$2p=Omj2#p1*$NWkt4CwyeS` z2WTaxQ8aq7FhnbJ=%CDem49H#FqWj&96$q13HH*~Vg!D5<^|SIaB(FPGUIvGa?v^H zQ_;C3mdw*NJ<6wMxPf}Gy_0MDv;`g}9|=SOcbGa+dM8(Mfy5@BglGn8Wd>m<TP~AAJaIk^#%xCKd$$u|Ryogs% zpI)2BKh>~)$K!e~@!y+j{DfFWydoTbP6&ST##DA~kQir-*3T3Qqa3qRAb9Wn`@|&ME0{BGaa44vT zmvqI73l&^w#aTEKQMsj|@ri2d`{?utCD`dKpDPZZ;m_1DGx7xxf!j2qZA`ne~ z;ofVHtuncNo&8wf8q#H1%=Ul&C;!RYy!itMVh(mEG!DvV#^FG&4i3fG#uKyRt@bJn zHxI_l@7pDt4|ns<5iOzGj>k07a!yo6BOx2!1--`*9+Y=(2P|k+-~OJq=tvmr^@mt5<~c0L(kOGU zmb0SXN5nOq976k|?9zQQ%EppX>6A0;RB&2ey9o{EA&NCXtpcmAU2ej!oR6R82KZ{| zF;1|!)5#QLja7`ZP)N%6vWv`mt*XGkV8U^Yf`H*@B>i4`7@b*B25st$f1=5>9%2KK$(_T~2+ zqqFaUa#``d#Q@+%ds4W&FRhwADKqkJ{#5I?`0SApb31;*zMt%(9Z#qgHShIyYTC2L z#%9XFLDexwbWc2<^gyxRXJFh_#(97rY$#l5Ii)W|gW9GTy9=p$Sw4P`0(STHM#d)G zO@uLW{kklt{;^~51hr=>eC(p%O7YfI)KFQX)lF^n~O;3JT1l?rU5 z=wK3HgQA{g!|){e@!s`u9{kcB_s3X@Pl~^%lcz%f*xhXYyHMTk-O3S1e=zsB$w0k3 zm~RqcS(%x3&_L}Y92**-=Y}&m#;t{zYnvzv8;uB?sMd~f11D==;Iuxe^0Aj2k>lsH zFLYOLvPKDvbfR_Hw={_70{=?ZX(Nq@L=4bUl^)}oxl-nkAz?bzQD@+xIm4!9nKl zDt4bfLC18f&v%B;-Tt8!m^x0hq>)@HdprO6^2`6@|NU>Re``)fF3b6?fBRRb%m3~F z^4~d>1&fo-m#JKd6ncz=<5kE&rHR_`CsNjM!Vn$3k5I-O&m@X79-J!39kDey;LRdv zK8OufGev-0GoTPW5VUsf(R&{)(&|lS zV7*o+K)DPzYM!^l7HM~BJ7hFe01Xb#!`P<&nY(7QhTLW%?M_Ry3m6U)&AWeETT+TO zx5Zu}+#PLaVvKPEfDfR*7bAF%5;)-Ce4@BIM09uBc;*2DT}Ww|h&(gc`vE9tPO1zU zkq)zMNO9-qCxD2Enp#8z|NLul&q+qC?%v$3HMo_n!Sr6883&=^Q2U$-G#JQ})LIQ2 zp6*t^z!ft=ZPPprWL%pQ z*H9Mb$Sye+c?T0k9>y5H2|1=|^*C&gBO~K;+3%{ z8OqR>wrA4@nI-8y4j7IP&E{Z^Y28sbaX2k_C=;2-L0O{Kxe!h(cKMupPy#! zKruNi#oh280Hf=@Us7EMzG;m9+RKf8`&oC7n6srpcQ9+NN7M9Mrl;l{zu9`)mLcSX7{J=cg75!QaW;Q#*r{2%_|dj4o%*Y!fT9?JIh z!@k(tAJ!~;)iQnU8e)CJr&_mHz1!Wa^r*JEJ9_@&V)c_T+~jR@w$$_I_j$s_@wMjIc+dilJOGtM2D!U>)K;&pdSU`Tran+b-c26} z-z>)fr@k!h>w*)wz)lE*Lh5j2B9}GuPZxb;3oY`NAT1rF+#sq6YD2JJVRF_CX}CZk ze-|>p&YbL_o*_CYpQ-n*b>YX!BJhp8vLxj87J2^j`qu4jFfVDu(vxd?vL(%6Wha-! z)zFPIoD@-Pqd}r%O(@H6F^wI(FiBokg7%eWY^mb1*w@ArE!bA!&l%Yn-0-VG!yWlA z-1dwC1EwnXbf``TcrE3m;pO;=os%luneLAL=UMS<0P~i1emC0xBm=eh{oC^W@uAm~ zuJ$(5@##?WFLw9cuJcSDu%{EpAL(t2)tIA2Dxkh1;N;ENjKO642z&&3PmUnALt$Cv zR$FrVr#db_FP(fpv1NoA*X+tTC7JAr)%<$?dRbR^t1Z|B2mP7l@#mY^Q)0)Vf4t*3 z8bqQI%RmokTUr%Swk2bhdPnS@!!|ubWuNRzhwmF@&r?g@JTf4;=^=GIXQxf&qhdh- z0@)Rn&hn_B7|mdFx>*TJheXv?#Ci7n+FR zp!j0<&ph@Qo9;KmCtI~X!&7sTJ^Q?-9usBUSb&Cda8G3dS-;3D3S>M8P1BAarTVQ`6#qeD*!#q?YCR^$)p0fj<2u2* zl-HF|)X|@1U%XFbx2{z^CQWz53>Cl*qk1M%bo0eL(i&(9ctyd-%y>mfan zJrZq6nwhJ71qad+v)8qW3af%O=ViOOkVLqh{#Kr|q%u)*)Z z&jsOM04waU0*Gd)r|uus*EI%Qy!A; zN2iC0Am?>R;kx4*HCPo7nd)qMa-pl0EHUy*BGJga=M6US-{hY|B75=@CBb{zw_YpqYTuKO5Pv2 zhM!<~r%2`Rc`QDEOXT0l<4`%#CWbf%yZgz(AUU-*xO)!zCVz?TZ z0RgY08l!=iJ@jhKArEQ6OX#N#zw)On~Ne_wTGqC8kQ31&u0cejdw2hH6qKyGg_ROB+XDlDsT6Vgo2*7BvUQoZ{=?F<4 z{)Lq+5ptm>w`B3*{?<^r?7H947Oss@v-YJehQuuywx8p~~mUm5-M+4dI>izT= z^%#Zt<8q2m9>C*g+35g3if@?Foy>RL{)( z(q76NwDO5RN;fPIy0k`Jcb_Q&jVrBl$83NEBXgEZl3_oAz`ZzUI*Y212ew*MpBXW zqsc@bz00LjzVEThrLH5EAt&bXW}}~^Yw_>cV8;BLt{LZ}IjrJsM?q-j!*rR!YcjiN z1!k8cOxn^fml_{cj3sBr26A-0PlSW}j32rwkbqYkgvW8+-CKi#FjsVCL9S0aj1LN! z`Nh}b%t=!DtZTEhAWH}}h6+<&7h0ERG5=BVFi#h&^^n{ixaM_!*2o*th?x+SRx`0I zW@p468A`zmlUYFM0r)_GewMjBUhVbl+u+t~wKnoum++6)7YDJ@CxwmV8ZpP_KFQ?~_@BH|)API6a zO2aol52vgASeAj5EKBT9fj%@CW}q##!Lc)ry6dnnuDtEJ`OZATVN)&SX}869TWe|N zVUd)b`SU~ropg+OXFW&O(-?_lQkK~)FPB$kpFWr&iUGaR5F`5hXL?mFBM%h)6eD7I7tt8*}ZiXbyTy(Vddcjw{{Dpsd_dnZ))>`zdVBTKe z_Gn{)Ofjd-1uK~S2gR>HF3f$z_TG(2J_4sdF=Ku2mir;^%g2PIwO^kriD>hJw~NI`Eloy$a&aSp44gVD)K<1VTv}pa)arZ6Yw}R^=wdM8muuaW!jrX-vdON zCy`;0ce|*0Pw(6WBk78O910ZbPf>xrgr%2pI+#iiRG26w`O z5ln*-T{7Zzk4xvD-}$N|6opCdW>E=FBOL-UhRhJCM1U#Aiq*(+XCTELd`sw>-;hkb z#qOfL7SdqM1~yXh?j@^^h(LN5#i(Tm+v*2K6!_5uo6{KzlO{ty4|PkZ}0{ADwDN4HS)mn71!;&rqC_g~+Be}5mj5m5|) zCr7C7!u&pIQ#}7d%aOKzE5nKtQ+Mr1KehAp4nJ%>z0-gUVc3HZ;8|iWA5F|3buaG? zKY9XFd^E=PqL<1C96YznbmETSSnWDS7x z#7O&2llGx`{)B(>*&@bcvY_d9Sis?<`#RGC3Az&?B6II`VjWlV6f%n%f83+yhVN@! znVKb9gHeVw7kq^%jZ3KGcr%9dS&=H0X>t)=Kxm}2SSt((9tP$&XAdoR-@GQh_kl1; z6&X!s1ZPVbFjXeVT1Cg{&Ovj5$^~c`ChcLqKJI4|IdUhfB!^&hZVD)4 zP5o|fx^kiN_BV#!kadQcK{}l6T3PvWCZ)Cp&^)qBr)|J+`!wF(^!ek4w(n1*2GF~> zWr^}><>4Y85h&nY$P1U#Xc)X~R8o~hfJ0PU3CTIX2Ier$PtWlsM894j9z(M6Y4e zy0=HTI_Cm@`&mr43gudbVMibGnJg4Qh>l@c51P@5tM_zv%iin-sWcamY43^Od+f4b z&15cXLM`&SNy&7hm1%2y;skm66k(p+ zic^{cMmfqCBZHfuWKF&ib*7eWZ-=COApX~2{@Qm@i8AQNbNG|}ss^_|cxeeT)MQGnU z;Q?LzqW0xmAg}rfq%|Wg&^F723}#zb{_X2mC-;kqXtFu%_R~~`QY!7SEJ4aaD|y3= zbb!H{{o|irL+BY}|B56%Sa_DazU=}dr9fyPF;>Hz5XGdy8{O+vSFyzttC&M#D1}D< zx<`Ne_Ev|bS(}Y|XWM++Hg{k8M8WDOtZcd(ff5!gl<8RaMpZiGf?SjRV(Qvz6BqKa zv|{IUu}_YfH-P=rRInM$G{St>_OlHb8tneYB9td%r8a`SXOB!^UxyH_JNWIa2LzZtnR(_J%uF9kct0V{e zhbsO2((wR}>0Dbo2TU0j^GfEp`Hd)f63-L)ad3j>u$xN?S(M}TU9?ID9A8pjDPmJ3 zNzjPYvs4$(!Ed$r0mxWlc-?-@qc8A4d!D)lJWh~F!YxuZdus$TvnK*lM(@}W!v5uT zdwF>Qd-QNJXQv%Tm<51dynSqS+{M69o~6=OJ4y*?%vdIaqi0nd z@zF@o1T~ErAYjF>t<~m7gsLMIR(2BdYE4fwi^gWhX?IEBn4pjD*=mqvZ7YRl&KZK8 zqv@7|S2X$uWJK)yzVC7B%*=P2di~NiZ=jW3;M{M`%*qT%RU)pzTcSf0$Mk!xrxD3C zqOz#fE|*_^d3C@QQox5nyqP=E9O!8otHGTB5`iae$_S;Bw0VOKNkozfzVAt8zh+3? zU+7yVn7C{&nOXAN6uw^d?o|6CT{_IgzIO-RE!8(=k?hLW0W+u?FNP-;WBgsXPT}*2 z#2+5v3~j_SN9-(UeTh_bb9~d|Q1*PJ{X>(^V^`&U8*7Drd?J$9z$=K;*?*MZoCY!7 zVAvmzBx^jc5&SyxXqJ_t5YuKdRL*=>rrKuVy(0m(Gz-fVJ5qtLmWrMcH3lf8Il`=t zpFUk(6`C?k;RELml1{luALei*#9~&%oSsZmW-?iaO_4~0kx5HyiHi`<+G>=;2{mBF z(ohP{bgjBVjtZTvV<|0Dl66q9-t{|@8O%UpV|+<#q`@gis!57#DqSTc@SwToROaEB z_b?o-r(4I;KkvPp1ep^)Yi__NsPB4CPBre$O*k7XN5F~zJ$njH_u?N-EUwUxdlZfI zjHUEk5%t|;<_AMxe$X5IpxO0tr)!+dX<#D^mKFC!CS~q^dHH!q`#q7|s=L_>3*UIUY31^j`5)5ie{ z=jqt-6?FDy9qd+Ba?NUzHCSDLd!Xe3j@ZG+PAu;_*z@dT$06l3+`^H7aElTVCQkUa z558)u+j<5Aq>&TwT{hd9%abGuZ#uTGKGu-=|{R!lMj^Va?0G`y8C_ zz{h_6(KA15c8A1NOS6ScT;F@Dj~7&Y@n%|WpBS!C!3>BrTFo?o>gtT>+gs0qFkIYkT`w2%Vpo z846QMOit=XO#VW>JOw9>rV_bmS?TWccx#k*l0)MdS|n(0z9pGZWELo)|4p$Rk(MTC-t3fE4weR-z{*DOh1EWB6yxtn{J;S!(>PiJk!|44}J|GmafRmEv6J z%c `GMCwER6{wV4efFvUJw-h^aDM8)ry>q|K_Z`2&%MxJ`8Ue4)<@GqWQ$d5%91 z-@y1>sb%y&qfx38=w@gQ<_3YLIhiYc%1nOM>Z;YCwlw+Y_c=5Ry8Y4-q(f*J$$6Y! ziH26lxfJ0Q-({I`>RjK*1-^?_Jn7U7fAAlY=BUo5Io!9_n!A&7+9=#P&ctO(eR;8x zR3ualVw!=xe*Na|nRDK$hq$%Vl1C0G+u1iTW~;XmDb>h8B-Do^;x_i2-o)>pxK=E- z6r@kQRkB#Nb(uqR8$At3xQGN#GQB>L!aWWx?vlxtwZ)7~I-`N=*L;7w^y^FC+WXs! zuI@BM&^By)$Nna3PDX$0Uj=vncFhFS?3(c{_P5Mk5KUc~2xWZv(|`Ee{#KVLr4jO6 z9h_VU7V7iD5uc`3e2<`VJ2?5|GTvXq(?$CvJ#h{4f3S`}qk4Z}Oa4wm^9jmtXTsPl z&a&##H!-kC0*pdDpBM$f5xNk?uQl6aa7fK;G-eTV+{w$_Bsu{?MDJu!yHw zM#Tu)jkjjovE&0ZPeN7(wP#cS1oSKthq%^tQQ^JHd2X+F~M5QjegG%t5cl zgv&rqwbvE~lkl6+@&<5+uhRP-f$)$j$C zKwe5^BNNCf@Mq3rLI(6qBF11TU~H|mF@cjM*AXYrjY~c#c;*|6)eSs(aPRKifh=67 z;-}t}vzB=|lWt{(X{Uph{tG}LoYNtz2~=p3KCALNJ*ONJKwv_j6J9+UumWU2QWZjL zp+KgkpxPb^qeG)rnPm6N4uQx_a?GB_m8TPmF7wRHh^XAbo}kpM;La5hV*u2H&BhDP zR%e~ClTHR{ch$n`Noasgf-LF64ROR&F9V8gGfC!0zE`z?i5igHhCo*b^rjMy3Z$xq zHjC9i##uubG@X<~^II6bq`^{biU3UX+V~vo%mW9?A#Sji8gpSh3uYORx{le+jEC? zE6`>Msq5~o`DIVI!(5puP=kA1H0FR5ky#Ikj6V7)g>Q36)b55%6)AS90^AyP24!T4&9`s4+&J zc1N`-&M+70G86=&A4+l{(mfR9n#LyUVs^(-WZk)$9wt1(S zJB7IR9CjQvS}$!V7=g>nwi(_HN$eTi+RN+Z?d#XNU*fuNtwkgds?AHsjF~^$-{+lQ z^AqFg->pG;X7L2^5ryS`N{WYi{w$Qq=Y*kq1>WiBa*qFb##By0%rP&k2lXT3@rps^ ziMf3e5ErUIcfK*Y6<0keh(2mRrUZ@R4}hE8xw#u;apfK~xV&K$h2DPJQ+r05bt7!+ z@T&rrR$W|h4NHvL19U%p4yh24>9nXblYBLqsA3?A2^vf(8Z;LxqC%wv2MyjbeSgEX zEZw!$Wt7qt)6p^~Picc9kydzCMBUkceYY9^L z;`T)eMC}$aC1oQVZ6d@YW2zlz2;xv`jiISv$(i;t^l7fy8OSluvB#zO5tIAla```G zYW(y;eh?EpG?!MD{?WGbxCor-JNGE>XD8*4`dZ(ylIzsu=fEYX;sqrd-=zQWw{QP1 zZvO38rA{`_>QxNqxNHea`l=HWI!$dW^N|Hlr$FciA}Vlj;b!92xJ6P$Jtuip2457oGggIueOQ(($GhOFpwjVW!rGtmv9{k)hFnVFo=PJes9 zhHoC;*t0Vg2Fq+S3u!JBWD=Pz9lIr4tLHPiLJ^^F??^>p_zXEJ)G=HfH*y`EG69%- z)x>kR6PYU+W{{eTV}qG@H&1p|B-zR@reNNcj$(+Wk;XF7mf(;8%Sw|4zNq(LMm0o- zva$-`yb-yd#^O~SE$h8m%ievgBC^(CHC!<>FQccVI%dyPn^`h?nIYPWGry~Jmr-X; zmsdjd`u9hT+9!)jL8R7kv0u?GnL}P`g8m zb??+@+hZ>iFx8_C2KjRBlpG1-vit^o$Y;laFg3||#b{+lIelG`M0IH;rMm}$w9G!c zZxo*F{?9K=g`0fb?5nf);w1^P<^p=|?rzOe0dwDMG^6JBRjKKN8aig@rTzAkvdnwr z=9h>VhtN#ARdOyK;jXt?<(O?O%{aR=C*<32zn@Rn=M6rcFJHb~E|=48nP*YRl-(~4 zfef|_q`8o}+fd#c?C9uje4(0gt5e4eg4KLl?J#_t_19;dGb$`&d-wmX!~e1K&TV1wBAfM=Ll^RHdIEOEKA{ma{L|MBE1OX0=gy6jGM$(^J471MPsiG?>uXt6o|W8aPH@^%JH=>WvY-pV+Owlhd2BB1nwtD zbH_a#W~$L=Rbn}^eP;~vP}q#SI;%xEZV-_S(kr~I+>_(;4h*KFVys!(7mcP}ve-h| zUflj^vw!sMPX^C7A;J`(L%kSfGNGlR2k2WV9K*kD6E&xiONT zGP6jc13aXf$&;kQt$|^Dfx4w&?W)#O`(%D(W?)9{PC-lPjCi&8$~YW+ZQmn92*}_) z>iRH|Q7(Tmz<1!+zkM}oqni3p+x8DXz4W-!UYcR=;fY^fT1H$m(yrH_x(rTpNivV> ztEsrTHMZ~oQ>oNi0mheJjn2w`D1Eo4_e=HO}`3!Cp7Z+Nguf3LQBQ zlaPZy~qb%lPEA>|- zXyfQTto8H=0duxm{Oi#YSX-uuv@y8D`ySQW%`~gN?U=yP#vNG4X>@hEgUYIS%V#ss z!ZIG(5K&UIsf3#c-Fh7vx?+8-`K#fz-mXModhN)*)Sske`gkxu!2n~CJs1QfnwYfY z`5(6+jj4=Q=3JI<3auIONEVZuk$YfM#L znG;xjv)P`Oud(pol=QjsL4_EZZ?lLnUz>aKnQiFC0bFOmF*sbEuYH~d4P%gLIoz!1 z3e|@kGow8Ep~fNaI62kVh7y^x3eseLv#U=4H;E=jjK|!J2x(861CIAS+_$7k8daT| z8JbjISNZ_c3_CICrIa2{xhf7vtS?J;H1ou3J5&jY3UpF8O{IusCM}E&XqjmOsbIk_ zCMa0RZIc(FBJ1HxWvi8N?KA4;aj-lo0No%@u(? ztXaUq45L88sQ6O`i%{>tR^NL#)D`dV?=TA~lh!<>m5j4$Q7fqxZL}cgx;1rCHw=MF%ZM|Q#(Q#xF_3SVg1e`xj8x;tfRV&t8(TDgBrWTYEx7!qYb1=Ic{jR zd6iJgdi5lW<)g?LM3+&uvQbedKJB}S7nfyRoWH!dN2FrgEadJ4qGOH-i(wH1$CmZb+ zEmziZi=B|XwZWxjVeo9-_vZ;^$6QEfTcsYfL;gEi7xsM8nOd{2l^HL|;Wr4VRdUY+ z*PEsg2>9y1Ej zDLTNUb&k#?ZL3XaBNAtd>CuF^^HvtU=z6`rfBR;kvq9x-ab7mYTn&=`*Ihjyv`n)m(Y@|`Wk#*d24@Cl%+_#3We)W=k0!Wq%qgk`FzEkEtN#P^ z?HikqCD}+a1d$hiK`|*Y;x)%OjuH)KBeyz7B{>DcfNj9uBP?Jn*HX_+lO3|Zv4`7d z^NVArK1E^j7&hw^W^op)o%_IBLEwc{hncrlcDCwm)=gDj%)td{CAF(SG`X0BwWjD3 zhFOh2-njBP$Stg#gHcVJc@4NTGs6pHOe0XdAIMFFm_?44nTOB?n3LU|A`&{w?{qvq zF^~JXmbtYs*8-WVuUKdMDcoK`bCCD8wQKPQ1n=fgZ4o{Y&^FDEk0O1Pb)C{bet)iRyPeX{C*U%-J+u1%6V{U)Q zxyPfJv(YpA${I(55@nYkVury&3HLQaJ+D-XZf3K&Qz*q@fE;0}ER@(#yJf_fd)ruN z&g}2U8+RV1z9VS5BSJjWBg7+q!DNV(8=}Nv$OsD)SsXn(e^MzTtAdA}Ei7w;hZmSe zvK2ftGVSm1?oTqG^^g#7_g5%^ZeSeovA3lRd`7AS4yfkmK8L0H`2)IR5-+b?>#c28 zcdWaQ>~9{Q<@0~nb#wQns|72BW?;1skagXtb*n}`*NHq%hIJ46IP)CJU;jt+Kb3s$ zM76b3=q0KgaRqbWYUR4nh#{}B>^_h8JlAw6p>_1~JLT#C<0w4(zx(C&fBUDG zt#27W{Z~J4?C;7xsWMdz$;^g{iV&;=@7Mi5{q5Ut*RYp=+zo%(?Jv3Q*1CB#Ru6C0 zf22EUeL=ZAX~$LTbid7RXqf1OW8L0HKI;JuCY z3`Te)ls^44Yff|jMUM>5C(go?Q{+s0u{LHxd77PTE=bN97nd|sY8W5Wq=MNMC2-8z zc@8;C7F*lU5G}5o(G^CdxlHu-?fu;Z-(FysD;SfpAx-?zz;|l-hM2yP@(0&@Ff9Rrozp#i z21%9$H`WxhK#hSZk&<%mBTuDrbLe=F|N3r-DP}_TTKU%98>gQ&@7M$3b$jPO*ZAM6 zL(YjBA0p8-d122V?GKns&o#fN)09q+{5mavf+JpD_@Uf?U@@t91CB0S2-`Lw($FgF zTFMx+5eGL=W(kjElw#gk=n9%;p>M#fAv1@1e7Qz!U=4;UGu55Vfr#VCyH=1Kn)h?t zuvk5gg3M1Sm%F3<09JWXHKeM^g^j-3G?S4oL}IwHkVWdKC*P)YW(HhTnjc3p>hawP z31#nFvu*ow4OF}`f;8zxEtZAe#nYXbURLA!3?Lj0Tt5% zv-2#xs|bezD{6-R-LKCd%gI+cDj~V3q4m{#znst%L!H8b@&F;!nKcC^f}o*?2{jjw zOv@FuGFq(@fnrdOh=i^V+QK{df)@8x1p{m>z5Y;e_c zNoHeFEh&n0{afRN54IOfq4O1{|w0pBeK5vORGiHf*m0^FK7fKKQFjO&Q0<@It;o z+l4ROer~o|cQIs<>asGv+p#q6S#fU>C4ewRJR`5~&z%fDg4Gl4~ger4CPui*Y z9O9NGMx1wu6X;LY^$(%er>49<^>*{|FW!>_o}qnD&hbZ_HSw(Sei~1MNmBge(S9_m zeQvsa+K9f7QJ*naE{ja}VJnYL0 z(bi}@q80K*)tRw`lsmircmMd)mu)kD-P`4V`1SpN`t7Y-L%Jr@4>wchnB6>0Mdq4F z@}{^trxYy!J`e9Z(~2fPc-G^XHeHDB)#nieg#8f?qL++U3*0-sUU?ta^&?*AQOxUT z)|n0dq?ye?rC!IGDppV9w;yP93j|sl(Z$=AeXk(nKg=XLag)B^)rSOnrLaHD5r;X) z%K%eE37n@<=M>D-jN@j0VWfb7?#;= zWjSVPXdIKpTLKp!wYO?3UviI;e#9Y|CyL^B2sx^)Hwojbuk?sR`3MuSmhUsL<-6w8 zqoJHj(7;sB1Z!8Q$y1Jao}um=_iK(>U}}aREc6JOd zaEkX?an$Q09HPP>nu+S~V9nK!xLhvUWM%_k@OKlRZfci2hhd#S3d6d6SM)5h%#Q@@ zeS(TTPqlT{Ssx;o1O!Eqi#i~5@p2x~;4I0OHHk1Z+94=wb zsSu=gqWEYp@D|_xn=ilopZ^J8`h~h|F7;m>D&Zv5DLR`xzp)eQNP#`=J?vYzzkKU} zded+6&Wp;O&NR7vopuzb&eYRq>M6qa?oa+mO#LV7p^qNqJc|kDb9DNlKY(a(-sQL7 zWiHx0)1Hx)C!5ZVLVx-^@X@jSyyhH#=GN+Tf1jTM4i>b09sXm$vU6CgrKXa*!UUtG zD5PatxfU{;$rz?RJi2iQoQa^|!R^=g>ow(FfqsQu!(s;EeY8*%FWy%3gI3~qtw(1% zu~HS{ILeF_B%NWs@^xk6h#Jk2>SPjAM|(I`=#`_YuYx8d*lI49m#&1$!&xx%U3{RC z3n#1`J$qQtI=qd%Rpzkk;irqgq`%8vxaqC;>zsc|rUPn!YUGuemJ{1%CzcXKabTMA zP@UlMBz81bo`Q6S2lTcL^wGnWC$5oh;u5sHq&K+_yqiEA33(@;*rNR3DHV>PEX(wy zC&MJ&O8B3uAHK(Qnm=71Dyu%2p6a~cd_*W(kNm#B18A+RFqx3d`$)54fSFb?(J2D9 z7qh=hnNDj~1Z$FFz%o52*2oyEtSzJDX+ITIJ@Dvx4C#hI4^PiLXJ*v;XYcuqd#y`O z5s{e|Fl!OX(gjGctn=cu*CjcpTn-S_|SKlSYI z%B$j<1kIDW7+*GTXbvY@rnS}*0Q)G?MK24L1jKO~v?I}e9N^1($#qqIYB;g%t8-{K zYl@SQ>nxz*$NSVt6Tr`4LBPrstt`Nrh%Ssr{a0T18Ar;QACcL6X6D{2=1zO~5Hhca zZw#{r=WSG*CGAShP`c&8DoyB6vzA$&VwU+zL^T$@5R+pxvS5kpa_#x{_8xmbCN*GJ zHow3;3JP>1TJj+ZVI~Bo6+9m4XtYAu#&}QgWD~i|et&E&H2sgVOzuNq7H%qe=E_nuL<5>r_|5)9B2M(p7! zlj%uka3EXPqf>U*q3IuiaCvM)T)t{SGCJC+|574HJC!^&S}_w+@%A3ybR7q2rGxGb z&3n%XWRZO5HO%+@$#_G^OoxMu){-U>c`@3yZQEu{3dzx#bZ?5uXez&Dfp^`f?M6t? zRL|&{k=9ko?BUJYoC4Kpy2jNP3PXtjW3@Tmzi-L~7G#$M=yTJpoQ z(#Gy$?%5GDi>wBC}^! zPLqX1?n&%DpO!agW!sU*G!B&K;fKr(0Q=2}`*tnh@iYpCWDMGNBopdsp(0>AsTX>R zAqEgB;~3v|Q0`I616pf%2loA){Q0S7?rz)t=s5q8ZvHfR;nWQLP*wT(-^;6jXQBb~ zVa&$uuyZ1L&p(}OcyU)(-=(77He0nCHEW$FnIFeBJsb+GR@Ns;7PrCAPcG3ox|nE# z<;H^yHjcbSBjwBfFrh7@5e>-eZql7Vg|A_LLig zN|mGBQ~=?bs@MTp2{T6!4y3!D+i;fWlV|U)<9hD)KWWB3umF>fkJaHfeavepiIwmH zRl5fBp&x7+-ORV}HX-Xrx}Z-x()?I?`H560M>tarEaWr>!Em_9PWx4^ zU9Ah>P>6u6(i*9&vZzDiKuttQdzefBYfBw^d_xeS|w}$BLuYcY9_VNxU(PxUn zjj_bWW41Qg(K5j)N(@gV&iAGTgfZOmnBdU`hT!xVf#|S8VUCC97WIE*t3O?(_0&D} zy;ks(jWGkfVnSukhY`sh@X)ub3I<Qso#x0nvppGJZ47@~D-9=W-RH@ui!?U=_vzWcXDchaQ zS1FMN{6nlu;#dW(D8{kvkIB?HNP-UYNY((g_m27!i&0BE_d4)B$Ho11%d^D#^jug) zf6qV%6f`###9N&|8PK4!54IADO9q;$wSINIl*byjvDdwg8#e*kr{f(A^)Bw;zQW z!y1<4LpJq~{ZrbF*&WUGGIPe03(mHNFNrBSIQKRFi;`?UhY5`10d>%2A0j<|^y5zC z%W&i5Fzlof_h;$PzW1ljq|+O_`IEV#&Nymb{m2`y&1N>jMvO!bT2mIH5FsTLW-U{n ztV*|euF8?IJ2?WB^u=>VHHXVUQ9a(vvx4Oag$7 zXmlc8Hh*pO%rB0%iBykNTFTx#zQ%SH`>x2K+bDnsnSW5&vvB$tdpnA6UNgyI4XFVn zP3Hl-m4onh(W2n2N%Eh>;%O#d!-~AKT#%~fB9ww(}(Lb@64ee1g<J!Y2iN!wH-yi|`Uk4u7?85R`6nr93(=*S3!!z?pf^XUrb={Uw{7{@7(}T8#$kxQMFP*G7NOk%upVr z9?K0mN3^BFJ#`Sp${<@#hk<<@cw9PWn7cAll*{jT?fT!v#fH1V_w2Q77jjF9ecxrN z!h@!K=-^=xm5g1i(T>`5Vk&^4!LG4PPN0HC;`jIKTklC*@Wxg$@QxV`B4ZMLGkdvk zGZJP+c0GkWJ}n*+60C>h5L$<$na~KUxbY=b5~-2oGr#PKXYY!-i44|}nbtc@CbUwp z7muiFuv`?+&sS+1u|p^5jZ8~Lspfw2nHHiIF&@dA_P3q$2X5EcQp7q$!c9}n?ErcX zCyZ3?%sD~L5>J&T@TpYJ);S~r+7?qhN`o@H6te78dXnZA!$S!-m&G{D452#*fpQ%` z#}g|diQY4X)&YiEfxYg!W5>Iyu9$_8se~zVPrYCFJyU2oAcwN6*n(tVPgZtQzP9%I z`s!vZcx8dRG07{@4V~&`-&!qAqkl1%qnHSp;rewiJVHvb_t^K6Le%dL1%pvUSSEm% z_A`IM=1&BQGB9ozy8H9fx<5Z`#@)8mA0A=d-*ty%?bJ~nOdx||N`cJgaSMPUFz{$4 zF;Uq-MWr&QVme{47B%EBOEy_bNaMCqJraJs273m)=A0EVSJT^L#$<{fEZ>`aCa|&` zpL4u@W3_yL-?Mkl26us%%*@Q9Dg^UAq72hLA5}g=O~!{p;_S!5ZT9&HX*0tSr+TDI zazO~HJSasD*-C2DGkPi#J#|gM=EPUb%fUbYiO}2C)Nw`G&szIpcYR z`Hfla90OrD7SboA{aeD*Dyu%4zdmg`-TmS*{uG`HULR}Pg_?i-Gf!=-ANC3JUbS^| zP(Ad6PsDRKpG7y$*Q1sHy>`(_{W%#Hvr+n3|EweED#}XyomiVlHuKkJ>~c$*LK^E^ z^4p%_>X~~o*ka5hF(T7xIbrXbWTvDHR-iDhtP&R7WN?@WW??Xpl~r5|Q7^R@&DCQj z*J#9y8sw=e>rK#ctQ(x`=?|Iq@!^S}FDxiVG)Da{HRCg?AHB+@0KWG8J;F^*mo8o2 z@dC39TAEuket{wUi(THj-uIMw2i}Dm>k3HYKxohi#_()A$IzgvsO@#L9#^v9b^KQc|h2l(zEd0OvUktbFMpRPZ5xvfhu z4UuYfo2B`c_8V*yU;V{jega(?h5Oo-US-gP7{RDC125Tm{d$piIJo^p#`T>qzl@-t z+S-qq^;$Pl#}8>h-CCG~Ry=DFg?Ogr5t zXQ0K?J}^F>YCmcRBpC|HkY=@av9dz^k9Ny%EfWN5#x$FX;3SrWSUKo%-B+G9lD0r&*onoady4V=ZDXJNkUfDHxa|9MPnpvjv5@5 z@i2jc5=&?_YO_kB6WwMoqy$9WwC&RKNqurRd9+Ct`Y65V^AV3Y$DK1^!V2Rubby28 zPBDQdTmY0{e+)_oUG#|H8ug40?(kD9(&wAOoeHBC1Y2jJamUh(IU|2eS(ad^(g^BJ z^ISHmbcpNC%-p?*VDlOEmu72(vlNWR`Zfq!M5IP#6YlePP+-O9aM^xMkEcNjE??omgKv_Ws2ucl9TVP z=1+fbiVt{l5sgh-ch7vDG-bNY<>5&r_jgT&ZzmbL-4xb6iFzQKISlSU%HCB24k!ktU^Xea}LIS#L4u15!kN0Uj zEXz7vT~?Rnyc&!|u6#PYxvR$R2J=sg=DYLrlX=XP=He8}3!)Nqh6ZE&uH(o#8wna1 znZzS)OMkDhfMf-70Nu$?2yQczS>ny8W6VVTi0dvt2I?0%aWq4}F5zJwGpxn+l(2qMxJ>xXGHh zTR^6t@o5t+?Dc={?f>@w{EGK)j7}BCQ~&gm|JVP^fBTafiZqjY4}61w>>+or&|Nsq z-IzhR7eaE(M(V~H1>HCXgELdAdP9BhmC#pMkpokRG!;bnvo zLuT{tgZb2i4%{IDv+R+adT+bUm;ewJbYV5aqtX!M?aX$xxXcSCBoJm{)?>Fy?Lf%t z4`gB@YpSuVG-`IcO39Y1$#61CD(N_#j;DH!S{9@U`I_^nrEM4$@8=uQM~)~R$fJig z&77W|omd8*weSW;X1?#ZW|Ntsj2iZ3zagBte>8gCph63`m+687Y~ygBUA^vH?-=MQk$BEeB$C91eMNW*9F>*B$eg|*ZF8F=YcWS49ah%k`gFtl!{bKv5oUJy+seo3uvQSpN$aisH~|@L zSn(#BU&uOmNFu9r44672J3KUGZ)FF(gd%}CyMHX@<%#FTdVzLU= zXo|G!F75s2mu0Z{x3cDTsX#^H>{fjgsc@|TQvu426vzG zA|_BG%c)`2LAQ~qpuyuljw0vtW}YSXwYOJOND8IbCZIuC9xB61^-*hX>EDlD#G0Pw9UVoqqM9ESNN8jTmCEl#gc6`+Pe5gthozFX z=HSEL3%acKMBgJ*M&Hm4UO6n3GZfB=;q;9UA$kwz1l1&Wfcf^u%xAB! z9MF-FF={OxT|leoQSCQMd2?gJ^&mCl1gt|RYkq>rWyiUt;< zqbwb!IjR{p^uggT#qWfs*hN-n&(W@9~)3ZXbs z^i+WG;VU0E2}vfs9>2`UzJI&w^4g>z64XZg?UA(_NUM=+r*G!q zqt0O`%Lud9&pG8b@>Wq=;n}>=&>vF8A3_LxNGyBa$Jf2I_ZS7OH+DMZ<#|H$g7!62P?FdvDOT@1`_14sKck=whgs z*B{7YW2_+=`g_PbTEA?5G0@qz@`~9Q31Ky*XM<~K@-zvbb0tgO0HRLbcac9u@d30rK$Z9$=fbJmhGJbz%`Q$g|Iy?$f z-s#K!Xgl=BJFc39=B(%x`iRhGjJ}y=fihx{GAjP3dTz;Q7yo?T9K5U<7G{`10_&d0 zv79r;wT_hWOSoITZ#O;hKwJyV>+ z)bY3MP~NVEw1Pv>NTVCfbPNG!y;ljAI=Tj!2vy8zqKFs~CubIv((v_qMIf;zMR9QNBf4@G2t=+J> zGylL+!eyC#VhdskPAX;79A@Krw)5NR|Gt-%F(QY%e9DXNw3h37 z|KLt@U%K7Vc<$E6(+u_Lnl23;HPp5Hb3@i^H z@%W4GJ_06H>iCd~ED=W7reWvXd{_wFQ%oA&H5T_O*_oMUpeoSI;l2x3=6m*_RnRFg zlopXCrn~`n;30M9_-JaBb4R{8jSKFl2ilF$BtjcPB?rr0qrtMRsugC#{(jch`OIh-`*#bNQz zyoRpV93_y*P}9cPxhLrj4yAfr9h4UZZ7B#ci+iR)iuaQADowtSF9#T7@Q#*lW{l|T zEjpC6ltB*lTE!9!Fmjz&vDc%RL$+7}HkHe$d3?=aPi75=kU5Y0SxSaUo~may*JYL^ zNh$)NM9PI02FfX>kXb%3s&CF0cW*5-uRV%hLAVA&d6~Y(x08$ZUIOrm9v#)~2pU{+ zt0y9={J^JrCi9QBq2Jf;T^kbQhx1xa?*#77FF`r;V^fAu*^QGel zA>nt+@1q>`NpWm;+|v-E6xTh? zk)>;(53NH{Ze%pA3Gpl^G_ZX%*UZbMs#Q0*rTh@NA%!5Ck2+S&(!W=ebacUD9`MF} z%VF}oDXh!LK2tGBwk6ObZK?;kGIBDz=+)P8n#|0+>c6boNXo`2r(WqOPUmP1Q)z{a z!*1apgNgIlg30^C)M*H0D(L5IVV>{ORN`ZT-{Tyo zumLc(IzE)qq4H*P_`R6J(=59F^m_Sk|J^@uyO>$_D+MzH{cC5&+k0fxIWfi;iR|P? zC8^e0x);2lhCc$W=s#0PLbtPKj_@(;QLUCbt0e0kR!j?Ny}v_o?U@NRuN9bJf!ynx z&E8c~1~+5{XQvcdN;fl6nLQx~NsDR*gmgsrDIzX4lNjpWA!wN*^c%_ZscR#r8Re1> z^*B5yhnddV#ZINsvOt2T6rVd=|N1{e3Tc#6ZIH;rH2STzmjo3Q#I8gB%*T2OnpJug z=XJvJeVqB3nKJ-IHnIulvS*~Rl0ubHqjV}jD8^;C=EK1>c0iaY^X&cF!yrWRwL;=k zIv3kqksmfGnzcJ0i@%!!UR-IZP>{7Dn~`uA4WNQb$`rjgTlEY{*@%~B|Mc_gPwfSY z`e4>BnW_Ey%gaXWOqo^qE)7u1;PfNwlx*XI_JsPuSFD8!_3!X8`!bf+j5%60sY>CS zw#WbDb)!|%mRNC3b%`G#9;tC`vvE0=Op(rtU%@>DdNmnj&%l%L?)tZq}`Jy zq)n)?*RBY^?(TQ-P?_&LNbP4M_n}r#xt8%#Dnp z;Bt%d&QxIsy^J|C<0MtZn@IENm6X+V-?Wr^#ayI|f_i55+%phD!qW(E84*M2#OO8& zN><%l5nqY__znL{zPS4ww%YsNy?t5fXiskmJ==~y@2CApwTTA;%3Wy1M>Ab~8j*fJ znw`^SR_Esj)#^7@=m&3OiQCqcY+7|;&&uhK(2;uX7CQE%vMY%gX}i;eTk@fDDm#`q zU=$|nl$=ZhU3qagvj%Mrs+)nCQJP>wh+o6L1|kJ3jY1{P9U*U=U{L^3qiD`5q40;* ze)L4Z}Juc2EA#!yi2YtQ_Q^(9VAS=_!n1_X%I4C!{kSuEo3qx zayH$M2chl?Ul7SpWpqRC~rkRW|FU4H~ zKr?e?q#W)7oY*!ct~PU&h#XUMH^Op?d+Kah?Ec9UI{b6GJw!kD$1<~cFu}G1*ThTA zJdO+@>@uVXqgY7j8TskS0Pps$_;k|q2Yf-~eag@=c!{%vq^za9`Ib}R6`Ltf)(5KFq zYG%EB44eqkHO{a9HE)b^%d?DaJX_#S0%;ob2Ru}~x!?F~*mRo9kdS3rFjR~l!l*J* zzlpBwjMv*q1fYW%k!uqK_tvJ9{udb{o$iA*6jqg7Q5#OUf4$X^q) z$Vl~&6^PmlnLR=Zci);5Ie|Yp`5W~?bIR+oM#&jnkhcrS>`J`Iwo8FP2O4R~{2NwK%ULHr4M*&w%r#zcQQXk2hczeTX46x~N zK*})li2n7rcfo_!LBW38UVaDm0rI>UI!RB??;$7B_KbvDU7p7pI&0Xc&pwMz z0vG9nl5WX0j=yfJ$HI>eC#SzPyOo3EDQV`GCxDhCM7of)%^!feGIByvb4~A@hH_!OC z1C@e_SIx^FQ!W8mrsp4HbqeQtn-hsL@JFWY)oTq{3%PG~X^ThI&Rf zX3y~S$VeK8-Hf9@#nto1@Hm!IvANN*Y&HVN^rcSM!_#K;80PAszQfT2u7;P7zFHTU zUQ?nBr!6>&EyReMD+4m&oG5RgBBu+nUO}@l>l#Ob)KQ28-5{i*+}g<+rKr&$HlrIk zEw#1RjD*#aJL-vW!|NGN-a*HAB^B$8mT#YMDVQz4*^VLo8RmVs9^S7rEwaNOE)h z%D#h?36wlT%?QadEYp?2>V4MWW`v22u|p;VGiBc^bj-^S%CvF%)QO;eEC@bm1VZsJ znM2~1swoVa8lzznY{s16UMHhc7REuYg3(mNmTKCXRjH7p56u#KGsnwDJ!XRzz?m^S z(>n6#@($6e15Gl(l~zjeQpT79)-Xj%fQ_t0Bu%*KgOA+e;Yq2CIyuk)Qxo^4{zA-Q+L5r4=VF0sgtDu7~1>_DIPL8 zZMH$aiqZk{J|EV=$I0rs`T5aW`We*sW`@JKT55^Lmmp8w`F{+lw47^sHQ_bdde7FJ}p6Vm)X)fO)b4FU(*65QBhvE>7gH2VK zRx@L(%t$FyJ0e2nDajkG!P)mKM<2klrp3dDmy|_tWT3JT^Vqh{`%%H2AK@8L_5Hrj z=cV08RG|ks`x*^sMg#Nndh$k%2R?oA$vyi1wC1ikaL=-qP8GWzds+2F&yeGq&`ssU zSc_wcn>A$lc|O42UFcX*Z|fCoRG6BXVDnR0H6nw@sfW}uK|yLjgG~C_?WJwB_{q^I z!%zigN0OcF@|_#)B3N2hLs>)M(~p#`!x~}JoiTGw4Uq-pBel?f^Y}NEzP0n#vC#+I zUr4Ydhmva?HV3~K^hBtv?I_dgXgz5Z#P#Qq!w86^%}%iC+^sFX07lYAiP02UYx!`j zHol|n@82%;jaw_4sE??N%&YQUQDfYg=*;ouj|(DY#or12bpI@0@;Hefb9a8yES~@b zdzy{i?61FF-`o;We>g%7VW62w zUCB2^ykGzE1>f*Hgba>2Zh8tG44RHbZ=5}=Jj_f!3^+eO!bfON+mpXv@z*P2zgAqU zD~b5&A6~q9X22ZqK-kT>>C@F-VBR2kP50CKySwyQlAg%Z{cepN-dRPR%Dwqk%(FtU z{_$Do3K&|SPS78>IsH9d`g5G8DhXm(yeh@bXa=NF&0XP%EcYMoT1 zQY^AcDch=2t*59qqlnxy3dp-Fdek`5PJYYT&MGt31I_I&1oLEzvO8VN`EO0SDsPn! z! >xMXDrsuk47WQ!*=kD0pbcygeP@*{EO-S_=8yB@RT_S@fG>x7wwy!Y(A`-pGt z+qV7bm!CM8`=yu~+6PGiQQ9;1Xsnb^^6lI8>-(D&KmGKR*~NH@yqxlYf$gd24q5q& zNf;Zv#ryu(U%$Own|qp>gHV{{O#d?7IXxZoK)};J!5aoe z<@d=*GjB#WvkhB&&Bzd7y=PQl!ZFAgs^mIB+Ok>|4GIQQOQTl8qJ|K!_zYTNxp zZv6D64k*VDY_9Y5bHzU0rf%p_XJ=+Qz?nBs@Y$&Sk-7Fsj_l;souAyh0n(j*`D~Fj zfucY7z-xNyN=LY&0nNw^cPIt(4ogvP*Th@bx5)SFH+cg+q6=xx5yLzbUZam(8+jdl zeWVLc8f0zpGbDAazGfySMxeJ(>^4DBo2<^9Ku?;3Nh3B`mt5u&Ra*RGS#V9;kfzb3 z>@CAT0IRiqI@~fR5xe?j!wg&DG=ro=Os3pb-xIRKa1n&T1kGKEIF3LxH^pi5^hf4hW#3|`BUFQSq z>=8mx&F*J8QbYJg@(#81>0{21+$#62w~zZ=AAOw1kmDx{i`jd0(OPRg0(4;Oi9O3t znPzRMpLZc%SP8M*l9H^2MZf*M4VjNXQ%Q)I*X1w;y*w?Jxl{KuK z1x}ucgw;BV;Z72U0C6ZDkRby{{zP9Z$x^F033_|x*%jg(J3TXxYwf8dZxrp!N^`8F z5iz8vp^!|GWMyJf-I68RnY}QXjAZ3a0S(~k_z44dH!AiVLVJOznNVa7qCidc$_E!xs@Edsg_mYZCPWEr z$Bwe7t*f)f3H9M5(dO$ho#mNtNFar zFkZ9%Z3+T}rxX;SUQu%x6HVYrQ*w}JPoHI~0;YCCS%b;?b~KVq%&AOd1SVlPYmdy) z-LWbT=yULR+S7`|YqM`&BKH(w8X@VJT*)!F2yw>HKne)VTKP(~Q4NV&^)gC{VwM?W zL3D#rv{ZL%^;6Bn49{!pdC@P{-y70tk-Iu*YNioqTbpXiywqN3Zc@;ePiPjOkw!rQ zxyT7&tU|;FIun+GJyLU2T#-l&8x0-tWKfrsLXODJiBpfKhvlK}$b&C3<9o^qS-o?2 zZxi-@v>I=bJ$K99^ETn6D12nydtUb*M>EgC2NQ72UqHt)qhVMmRDA1UVf1QI3({;= zv#{sm4H0yR$#EV+6@vu{&Xky?y8uF+ZmA@_P$q@fGUwm~sjO-hBwHif7<(lbkp)8+ zGWllbYtm0{n6pO!LPum)1Tu~=#d`2qAnKdxLY7^;I`Wh$V-Qv|73SEQnFASD#6Eo{^Px{j}wE z7RG&k0DRIbdl=z7?*n`~C4IEAt-|%OK3wd9r|}aXWwoA)PtD$u7E@&XpdXQ^uV-`R zSw6}3d)5+J?TFPoT89yvnGyAh!RemxLD1pMa2ZF@aBmgO5Gn&*CFUT(pK#oL4 zX|NcT>^||6Zn!IXq3R$RW8=V|^~R;Z|q= zteFcEbh0IDTsnk9C5-BW$~)@o7@09NFli&agf*2cg03Z|9u1HX8Z-4&NvB5{C^C_S zNsovG-P$$tFTa0#aeQf;{8E{W#-YD)hcnDtM7jcE%7cl?S~wMli~)JV>WVz>>G(K5 z<=M$d55N0px%*6pXy*5iz_?@cZab*e4-c|2^M|36=^nfxm;`(~&|L~_T{<68Gimj}D21RNZi2ETy9DY_nOyS#m z|N8YS=|8=^zP`Rjh53+sMsbj)ZWSq($26ub_1AB2`@Yi~VZk~Y_&7(Orl)I|I(&KH z*}D0W-Afui$4@7&>o1%9e$l9`Ei1iqexT}LqJ;R;%5Z$T))64o}4B_{;-OM5?YXf!s8Uaq3ZUnsp%{BmO_8!;BCNbq{t(4uF z`vCu18+TZVarZx&liR&b@pKd%mfR@@pUqliCX;E&Ui2@<-uth=sTs`@ zw5?rUU)SrH`%3IsKgJ{V^;%tnQ$p(e2zd-)C2)>!ZEI-TP&7o35^E3n%AT1pFNbO> z+&r_JtsdwdtD3hA0sMUlslsj5g&*ZBe!hFP)=Gd-Y^c6ap{E<*I6sc@svf%AyxVar zde-qFX{UU7Qxl}y@5cxq~2m?ovu-R&)5z{MMKgh-EVV0ES4ABG}_ zr=0!zr!Oy;<^;VA%hn_@x<~%`V*l>X+a*Wa%B%%tP?MR^_xEBTf)>fKj?e5zfnba5 zX6WJ`c?JK&-+ud7e|g`&>?Jjw^B5_SL2sD(&k*bZYIL)b+WiUk2IR#tMw)yAJ6izf zs~y;%GXjVYz3j)8bBK9v&$NXQd0NVUG=OpUr{y4?DT@c?(q@dxGn~lXFV-Jkt-yN> zV;vPR(0`e!l5khq)0 zFbP63E^=-O&L>ZnRhDOY_Lxdc3-Ih3Eci_&s`M#m1Z$n>oPjH5DUq z(yY~Oag`8d@WpA~b7w!D%4NBiGeoz~1s@;DYN+3Jou+_$0R1p+TaV+e^;gE( z`>{@VAWhwsj8A51)=(1_a!-QIzz};PMVd!MglIBaBmxp&lK$5>T;JnQKRb2l5-C?p zb<#}@$cC;A6(4b=+X0#GUi!{I{qp7gJ^%8r-;54pW^Xilc15)v+$(SanQ8982n?uZ zRvA?%swG)b1<2Z)YPqQwId-V=!H?2pdV&Fw{5GTdxA8tzE#d?Ze|kc zt@RFXEhD9D?gDzx!ZKvi%u?MDKfS(WzbexFd4J@oKu3~!i`c8%7#VJd;qFARJZ>pY zv$q}yX@lovD<;*<>exEfX>Q99IJtc}$ee4hRrSVTI)6vn;DUa zZ~yqqW>>qi{pa7WXfK)g8r_WV*M3b|du67Zn=!hYZLMzINKmac0GZt!1~zLL7~tAE zig4QszEQEAB8Y6wB0IgMWUcL)Sd})pz-z{#zpeyU5W|x>L+i>%x=xx=p}`^;#kfzQ z{IEACi*c?v+UrImM)gu=;6WClm6DB80S|mkI%9DIm=3+ny0J@cr5w4an%%fBt#9DF1xP7T-3ZK^eOtDp@+K zWjQ$<=A)m}Hp}Sq#8=kMF5q&xkWh9TRZzuC*Ac=2i+;7{DbT*8-Ups5_tt1Y^!IWi z52!NW%_Gtb4nuYuX`qgIF3C|FTds@+YAiB~`a8m96J|K(*y01QVGi)}u>&)P#1*5M z;nrrXY*Y06iuxW|adS$|OuBj7zP`OD+~|W7C`F{X5#A#RqkHUlY3LEE!fXurIZ41_ ztTmkbzHcut`@UPTodEaNuYKEE4%|^>mgk)jl@VUs0VO2$=c9AShSoCdD*xv&|+a%01&Hgrwvs)bs#s#D|ZKuIjA+e6#>x0C^9ThKaG_N=z*CH{9>|-S`%h>5oDAhR# z1fYVEuLjS(iOpdVY;=Ep@9`GgyXe+|_h6sC6mwr+kR&%N&xVjmx*tcCh^#@TRSum@ z8j<03Od2ReQK=MYmV&ZwR1#Ds#4e?nU@yWoE$c*SmE=3K%u3=nXiv@2|Mz<#{#$W}L~6GcMK%n@I_P$=b0oj1`y>S%ak@-TtjXW;3kv++RF<>QR%=$Slq zGOfYqom987q8~$H&M2uB9dcIgo*$yTVHxo0@N7N;PZpEIhkbf~3xJ6utcr(2?#xUw z;+Y`zPEw3xq7ukn;Zmjk3E57)Z(sh0zwW=q`+xKE>m_n)EGm$*MV6C}qGd5x#=%4h zoy1Od7t7(?mA|spd}sCG+$|S zRFb5-*Ueo=kH2Hsd4GwZr>@Gs$Ix^F9X;UL$30mhbu*6$V-qr!$S^llN|(?xz2vmz zw&fnzJ*(ZPlduL_F~hbh91<`$=a&oIcy>EVN63^Jf&J|*_g>2odoq$KWh%$7j16&I zCfR{M(i#gr_)w3j*)beF4^uz#P2TlvPnqCDP;sLjv50PsN?L1T6I|AQfBX8M|MFX+ z(Y&YV8%&vRe+vA=KU@?5TTy&a5;Pj`PbmUEFVtINo~U>iov^5={dH|`QvPl26$itIR7NatH$wS`Sx%vp@{R0Khr$`L^H z0SGh`^LwH_uUjvO?$i(;MUp6= zs1^uh(0j*I|pkYnG3m)>3!9)U=s5*u6n%TC!_bX|7 z+5Yk#|KGp->u>GLzP*HP11h2vRwYpm!{=tuAHbO4-1t~a)<;Fpqv!s~Yx1KD_@sKP zxxhz1YyE(837Z)>!FcbmEuRp^PHJC$qGo=Y)q1DjymhAD3y4>Y$?+^46WJk^pObzG zVSo!?e0ynV!lwPjX^0W>C0zsGy8d>JD=2q~9Tk&0)`I|2X{67-@$AD5K2t(2Rvb(! zEe%u-2CWiF+L3CmoD;@jo+&s1WEUzDK|>aMk3AVu5A7A0iY)V7i7jE2GG&JBDW(QT zesn}?LTNJ?uabMl@UKL~IfYThb&P|vlv6UyZ`atF%uw>x)Gt;Gy)waY$7?g187~)_ zdPJ|00#dy=rzM&>gL>uwb+pEGT88u4>USP_egYJ_?>F&49W7P+k0W26s%y_W0N#yD zPdQI{n@zrc`g}E>O%?Wx3v|wgeza?!tEL-t_UY$-vMJon#_r4wchCO$-x&!byijH= z7J3z|!#Gta8+i=>{M_?1sj=kdwqR< zd4Y-7S1S(;i%LjSV&8X(nY|jRm{hSmDCJS*$>@X3KDgDp&HH;}{&)K90G!(nIb@XM zpQUO7puJMIH#3Nu`IQ3)rK+Gf=+l`=u_H{Nu~~x^+=dyI^|+DB>_!>V3=v611wQ$V zM7Zu@zG=4jJCKaZeNCcAsz*c+-|7u>oF_{m5nIEyZ9cm?cQ@fV8su}8SS64iN7>Vm zbQ;lzSMILtscV=iTdAG%AeXb$T+14tsN+}BD;-9vv8CATa}R{&A z%tVi$F6~c0`Rj{e&)~Out7Cjq2`xFs(kG(+Xh)icrT%z=B$16)4e`;?0fnfeb%Xu$ zPnR#hy#Ai}^?m;q*9^k=b`^|4E8R0hB?o)xMkC8os8Crat{zeJX3`_#!j&Y5Seg>( zJ+k+1LBXz>ds)%*k$X+urY#Kpj1AUd5@RT9nLfI< zrIYZYLU!2)~v!M$J0{L!1J_@DF)w# z?19wgj0kgmY53=VxcqFFFZtFoYABM(Q)@LrHfxE6@5geL4cKN4-eyC#wvv(9TEypw z%ot=@F%oa@`>$WWe!X@yH#0Lf=*9SIyl_J%sd_33jxm<4`Gqdx$ayQ zsgA<4!qzhL9E-IEqzmzPC;LCCN&K-6e=K!wNi8>phhTf;Z(qOdy++Hkf1PP&CCzjn zW74aJuFL2Xa1CbW-Y;8C7o`k?s4%1(vl!gjYfH@RlcP|pghlk8nUyv)vchLxLsGF4 zkX82JO2^pu9kt4gPu5ZtQXWhd>AO_@|#bjAcNT_0ZrG4Ms zUM^-*zEmM0nc0^MUti#OeS3QoQ*KLiUNmlFd+Uf~)-gaH9N&Uqz3bPnzrSmH`RU80 zxyd7T0F;AK+gTDJWM-B>-RC?}Ldx8p9{Kq})9i7Y@_Frd1o*A#(8DbDPVtNn!W8Qq zv0gA!_maWWoqQgvJW33o1iRh@*z3D!>qofJY^8(WYdbu}$vh5127O_Xb+k?&srkF> zoD&g(EPFM~Xd-cG?N7~LlwWjxF*pMesZ{!&`TL%~U-KeIK=~m8)q`8j}a2<}@$VY4X1If|CdUcSNpJ1mT?m_4!?T_K$vU^?u3^ zUKO~N%Irqn`5}zDaMVVkEL;9Bc z|M;(e`)mL9`ugwx-OEpryO8a2+55Rm=4lMMvjgwQjM2Uc2by*ihgyVNxHEmz`vw@c zJ$91HPN2bJNZr#=!h}1O$%m^`Ge@MfZ^Y(kfuvFh(ZGn13?u(V5rZ*f1=^7m(R@`xXvOgtSD-S$gA|HDs7hx6MnE*1(4n)LT;$|SSjuei$T7ups~ zv!)8H?pLtUm~n+@PMN{%CM=^?MK^%%TcnXKIucFxB3KXq{cDeiTI%=cdqt*6Yfe?% z$dIV6DEExjnNKJFoIM9Jj`jJJK&MG^;?qv`W6N%4Ki~JR&jBF|ls);i**ItxHI26; zBlqMzJ$WDVhYZ(ix;b@Dck}kOYTU6#PZ)&hJ{-q0V&$%%1_!CI0f1G6q~MrfW+o-l z{M%b3-kU3R{prq5qFB>Gw?ba~mDd536+~&T8MJ;R-k&#D|S-{S@&` zLVxxJuZMZD(dwNCWaio9+Ji?@M~GB}MMJ){O94+ZdsOaLk3{y;i6X|c?+8;U0%?Y= z0Y+UTp50K-OSBQOW0qEgfN`D{GmC$xbfQ_`GMi^1xsXjjFD$eLMWY3`-7oKnK=rX( z3F*TS%D~p(A^RJ7eR+-cB7fDi_K#CWNr1fo1zirkqneMDYL1=I@?v2qfoY?Sf^<^HaB?f za5>Vm(QKq00!i~Jzu+m8IY)B^R-7X+6Q)Wvn+&&V)EU?lf>)4&q1AyYVTlH|)NECt zPQQiTE&3@06Ezw2E6P;L0s4dtLNaGVfAs)4cy71km?4Vr7O9RM)<8?50gdJp{U!>k_JFw$#Dz)td! zF_b%wc^`3dZre?3b-lHTKUolFTO1Vt`q;P1+o$!U$RCdLGZN}N6_sMeb3R7xj0fTa zG}9wC{G;07?kJe&NAczdMm>^sdzjKP*^3m59Px9G5kiU774T-BjW1L~M|5i=Bi&xM z9(wD+jP{~`{?qI0cHs#dle3$Una%L>6TfVK8q=ei4hnyLga4=NMVClL#3N8kBiW7T zR_yv-Z1SBdj?zYA@G&?Yu8C8N*5*r!_B?ye!doCEmL{{9sIz8u&$HR`Epd05~pzri?gvSrF20P~n*)zg%^d^=>V z$2xa7Cz>)3S>d`ljs60%l0FHgvTg~Z)4XRU{OyW=`PozW^P%MFh5oRg()_g4DShK^qxV7JjS9& zji}AC^HF^<@FwoMNOXjdDfAxu9y1a~e2cRrF6VzZMP-fJqcpX$WE*_h*;28Av%sB& z;#uJ_Zu>&f)|vK5V8XGvpSm_SCnfbjr4LmNcrb9Ing}&s92=UVVwE8TtXdTpj8eYh z$@9d|Jtgyve;Y)VDaNL&bxcof#0CfH6rm_XG)s;EDf&_SIgpF-4=kBJ82WQ)pp}dCP_ICoASFy)P1|DbR)ovTyR1?W<^VS-M zInTyAFogo8?Vx!@hF5~5P&}uxj(Cq^5xg2UiP{AuJ?bl=A) z#e`=nkkew~IEg-L5HQ>7$EG2zWA1FN4T^{;q4Yh=Gw`IrcZ{I?Mx>~xXQdl~tQ%n= z^w4!r_`tDqP#ff#aEk;&B>Q_tuQ6nl(uWy}_dox9dAYop(x_B_{b~F1<+URA_Rw|D zUw?liJPJEY_3~z?cjd0WtN71^+{Wb01tEouvue4#d8eD)?Ho9z!HL1)%Url1rKAr^Di^loB&MmpRRB*W(`M$)y!{{(6@&0F>+l!};;oJ}Sd|)%(uIChq zn~c)u?Ts60PA$h)383e~paKuL0z0Wwdu>o>M_qS(+jfZND)WGeXeGt-j$SRql5arf!;Gr!iQcSWDa(O z%eG6o#Kp=_|!Aev!Tdw z2OCz);M}f$_#zhlu!;uQbZPTP^H0Cm3IDs&Op7uy(%6qmTjznCMiam)UrQqSvRy!C z!kslht%Ht~lSEZwpg9dira8R9LSRHVn6*k^EodV?Hz1HBZ(4+GB*Cwi6pt-qIAR@E zV4|qRXCNx;!p>jHy6fR%iumAIZ z{;jLQUqaq>F}$Ea?qCRxMiZ( zl0$Gbj;Zat;*?|ZR}P&YFn`>2xXMg(v!n2qOmZ3+m{!cg$bu?(N~thsveD@*l%fw3 zeU4bv+Pz(b(|TU@Z3iRc-TkM_i$-G1e0ngjV-!Ir&3f0KSLh;}sY@l~lED(~%Qd-acl_yKGDj|hdnBVJhDs{>0kzCM~^WG+F3wT5kjn;Tu2K#${r zzcq;i#=4acR=6h2)P0hgMxne-?MA|^d0pPMWX@iH%-JV|B#c%Ws6)K79{!A&#KogB zSouR{_deABLV?T=sAisS3@d=j0>oqtc)--8$xR%aTUAU200b-Xd4X8H=3DQB0p-v^2XLP;{%N}ai~jbS~uJz zB}OyKExl5V6YecZ8e$&KT$%L$&%gZVzXqeiI3h{zWDGj>kURFaz57ercI~^F+q~Xc zjouNg_~BghgN7Hs|9L+gU3}#QPtah;N8V44|FRz zsWiA7J$TBjBzhuej%npY!f7OY%KuvRC39+5gOs_fE@^VecVIB}{^h6b=NAx&0EF!A z`u45nA7*y#`SrTXE!7iNxHdC1=g+UNP#R&iu2pimsyh&vt*>!@sE7Ik$@wF4fBteU zv^CLsj)$4rJ>&U#EgDtn3w7HYosy4ANj&4Qo@~U^bXq1g#ekId=%a;KIoURlx;=~5KKOeH z#Yu*8JROwPg{w;|f~rnGMOk@8$M<8yeO?4Zt|e%_i7?pVXL!eSHCcvvm?)14IoN1 zr)Box(dQV3Su!oXpnDo*#nJRf`bdBt0&r%Tsts34zRFBB(@$61#Y%*#;c73_!7*yNFFMBgE;HSnWJaMc z{Szn9hv|};GftGMmEI_NDBDOeAi)rF7ihn~?LCxP>4UNwTF3tS(##AIKtlax`|`3? z!Yc**{_cPK?TyVwMn(l7qVz=yM(OO41>>?3?NB6qxM3^896nohIYz2^*sxZx-$NwR z`nVP8der~!&KliXqdSzb*Pi7#fwxXum7Nk)=A?}1?{CImUK-j>50X%XvH?IR49t4v zI@$?#dBGn0Z@a9$m^*~`9%e`)K)YwOTaHNvDH=dyE)&lQGxS2mwdmqoun4{Pt-qUZDP z;|cfHGs92Ln|JRd3BzYotn(zPq?vp;PCVweK3H?GfTf)BvGRU6rAViWs@1Z$gl9-S zsdOuV3bLVXSLSZ)k}*qsYU>DA$)q+SOzN8W(1T>1!HTLqY_hTepx00+tOH0+ny~DiR>d9dhX6zJU_csSwy|5*FGU)i!OyAK;<&J}Ua&CIH57Q35GQJ^SGHYM7I zZ2^WK4BOCy{a5%u)q?@O2!;R|0xdy=NlUUsk*p@0-Iba5o)de`Is7o^+OZ=}oO5qh zGeK78$Gzvq$KGqtk1>AZF8}K|&v|DR`aoE7obP>gcJ$t=@2h|rJP7CJLqXCN7u@wd|z#+k(#01Li1>me?OO?J>(YLZ^R#u@rgH7>VM;t@Lw=%M>VV}4ent= z9#vHM7&v5))dkf#BHhPThZ5JTb66rIm^ckfY7AZMWrH{} zku;98N-@lZ)L_UMLgd9*x`kp z({}6FF?#PRu>7gyb>DG7wC;lMef1*YC;}syp5M!A*cP|br2~RaI#%Y|M zD_21vIaZRbvZaw3*idRTvqCl-m_2M^0gl`~fDD+KW+Yr`DL4YLi6>FFb+5g(VDB{$ z-#ouR_;}ykGw&IK?J$_m<~6pS9s=QnTi*i!+=~bmxf3+`;J9<+=}eb{l`K_-jSWW$ zqIq1wihy7JaN0ZEogaK9{uFuIn5j@0ye&Jz>*p_X&N(MZRc6(mjBOfYoK9Zm@tz$0 z8#v#2_xJjm@%qkJ+UD{4%<9>>Xy#frtMaq2jrOsGDx^u?sWsm{G$Uy=D4I-Kj^3KK zD77hP`}uN3Va3dt5$UJ1oqjc++D)y@_U;X81De1#%e!m9zzKiI_4|>R6z5TD>f-Kg1 zE7If7xz_zhll?I@s^24znMMGj&d=5aMXN{G{A%TVmHa1%I4D9MY0#+x;cA;fPx2Cp zl#i!P*n}AoEXJ*21)T`aTmc-JS$YMUEr4NEd>T0;gh#~AW0IhUp_Id;TocVJQ+65mS_5h_7e=h`0^a)h_JcHc^P>>%$_;Fbr0OQKUb4^ zEdG37t{-C*^RQOWtIqBUR@$*(Ya~>EMwzBmX^Qv;I`?};%OiXD?ahApn?9~p{E8~~ zR~>iI?;lR}16Vcrjj!z+3+ubk`@4bK@mo<6?opb_GQN=F>D7PuPyWlF+yX!(>VayC zUGBean_m9%@BhiCKl-yja(~wL>fm;Hc>+Pd2xbVBZ#jv%M4)T&M#5{SkPG8l!KDV^ z^)t4I>I@=?NR?$o;Yo@mT6V1%c`_Cnr_vAV|_$Rm$XWPk>#}URJIAoCe zDb~m6AgQeSrZUe~BD=~?Z4hVRWrJIIi)hR7g8^Y?0#nEt1~qMY4KaRr)Dp4^^s2WjWhtCfcA4qqU?)@`p2(hR zZ$}1FN=(ubNZR$`2&B?00;)YLS`*r8{jDR!P&1-IAaZ^FBx%WV*Ex(T&|hYYy(;&` zy2wwar4bpBpg{|QiA2?ZvNG3@$$HNT&>A+u{eZm%tBZ$XmE60s5@9S!bqR873rBa+ z1s6tf_{%Q4q!|q9T#Sz1aohepr)-HudGi2g+p21x?v?Fsa#*G&wxq#Eng>VH!?2}X zj>PAvp710e*&DvB+me~zpU$vkUMkiB$AVoqy#4)e`|G>Hv=)$(ATTh>IS(YFf|iIB zMy|6CxuctLRe?x)t(_(xm@mFA@X8{!ldOB$RSuoV81=Yu2!f>mdSC<9VJK~T*0vau($a6n`2)mlTLu1Yg< z&p&SN(`xbADR5WEAzQtImR>3u@enK!X*LCm_%h@5^>R8t2gK7;5dYP`_~{@0`4>L_(dl$*>#3OZ z1VZ8MJMvfmK^TSePbsBo!_5`fC&Zoe?6{SD6LGC41ADOEt!D99j_%)-6jGM& zo(Fy5BN60>&Fsx<`-Z|>onx93=>|(oUT@PjD<3KrYO&dDPng|Gv%4SMP6o1 zaMXi|fUc>29a6YZY5TCgoE}tjR!F~UOe^g(+UBkfX|8Iz+Qu$Q*JoS)4G!@{FL18O zvc&4CO;!zQRb)%B&se;+7*ziO4r)*iY4)z zq0MarFrF@(06V*hHZdC(MOubO35)=7)+Wwtkh{{CkB}W%>9-DLrk306K_7bie81NO z01wa|dp9Wk0wwF+;u8n&=FJR8x6UeEg*$f>A=?#-D?8xkEqqOO|IteI$iVzic2D3| zwD)d*k#fk4(F1U0tpJC4AQSv4Az1}Tm{raL1{IiTM(9)m7jtj%dp|5-btO|Q@m?is z(32sY%&8hBAgqu*-E6@9Y`#C)g=+`!Ti)-QE%+rcI^Kxyj9Dt}%Sz9T?mNuj2DjyZ$2Ep*IUlZF&)bFF8z1UJLH~QI z=x*DNB9hyE^Wp5OQf7lOG?<>CaDtyw4j<+o3&_-Qizv%n(vT|R!j?>7hGfOlwpyi4 z!pSjCL)ao|HdL2oRPb+VaRS;jB9o#Lx$BdQecz{>sWwOwaBXqqmdH9Jmf8n}BqG-SEy_obR1J?~xF&?;lnPC5i9FhGh++(cv`r zTD<$LY_m~b0To+u-8`8SvTQ|d0>f=&4A7+>Kvys)kY)kHuxcGap6F*`5Dw764ofd< zxz&`Q)=_6+B;aP?z=#Tyz4LhC9hc2DyMx5^nz2Jl};6Kj9AxCSIew;O;dep4)tTqe>cPm1p*ghUO2e8C%pZNtRkm zuAV?uyIT$f0imR6WQyFT{^iT-fBOIaXMcrHCqKJ;kP}Zo>FMWmK0QyuzP6CqRczfc zn14)5`9UfVGOH5M(s*^h#ZP$efC^pGwH-P%8GUrZgf8 z-4F>FbA@L=FjIa!R_2G~1RZP<*K7Fxsiuz|s}JK6p?4pawE%eU^WWpa@6^8EcsaEe zfreY$$Hy(fLp|@lSiRfb?v24)%nNT0y1jKNtwmB8&L^HurW5knV6~Q)ZK)ZU$(M^} z#yESzUV@2HBfY2!(XM(iK(_E_iwAKf^A(JCk9NORv2dnXC4a|9GYapt=Vwub3sL!a zDNfRpMkXrY*FxCTv0f$AtyxFzgc5WJ-&7IFN=vzG-6bkW{;M6~jxz7cRa1==w6ZX3=g4U**Jp;i8&6O9>4j$v#4C)RQQi(C zU8V@tv$y?qb?4KrTO=tJR5Mo(wTVS+4L$3&F$G#z@#U~Opnepyg4$AH9hykvn!)m` zhdkbCNC>x)HTv>uy$)96Koo{06JS<#v-V1rWUQCVqyk8q%3j3eAVx9K9JO7e0kkS_ z0!;Z9dC5dtS~DDyNg<@m3`K|A4Rf;rg6DQ?w&-Ch0;VO{j-d{cjC%DiH;cH|_jN3bdOM zb20c;!*@1rtNaA3?NF;;s>ARK8I|n*k~_@i07IHAAg|nRA_)Z(F|PX(n$J!I98*ZX#T0SpZQ$uD?ErRRb)- zKm~HuQn(~8hAC~6pD)vNIiK^nWMT@@kQot|ZBALr290fmR+6<0T~~#RWgUo}5!#Ez zRy0v{$ujD-!O3I*Gc?IC409!3m4Es3%Z~_Tx-%lw|ta4`vDNCzoUk0SK$lM}BkdmdJpw(M-cN$W-BOSY>+F%u>+zlt5 zo(+TP!jsVpLYY!9piTBVF>@mAODJeo>7JFkzG?}tNpt->p-iZ3=_e93i7Y-k`zihFs7Fu76V=HdJI$#;DRK-ZWG`85i?8h+pv&t?b`e77az3AdAkGnI0Lu@I$u>?yazP8 zX%>th8L;$Cs*WS;gOzv$Wv`GeQ!>AZbcfez>QRFc>Jp}tGou;w?b}YQ9cu5?8`qpg z#~=#bokUjoUR?+Bk=OYbjTbVDOl-3wgzgV~KOF!AePq}l>@xZ{ zVn5w?z6wM{Ol8JfTS&dTmzS4b1W1W+_ot_Gwkrd7tAv}28LMn#^N^OBynR7o2xy#7 zW=1Eh@e#PXKHj(kp)HdaUu?u{oP9IwGt>jNJ|b2)=8_O!6B)n_eMM% z^j3ncmoKr!%$)8#k6~tJg*!@8iHL~Tt@L73iJ7M&9z}=@T4sb$;i`z#X$jav95eLr zfy66M`Mo@|2kNH}wxl1Q`)ibVHHYnCt89lzdndT>o7Z>CYZ%*`A8V+kfLWokRFz=C z=4_X}^x<)p2j3I?Yk<~qbR<{8nPuj@Y;(?H%GJ5)OAWEI!4Q>UW4L-fiz77L{<;fP zUNv7w*VG|P)lac zpp$3g^T3nL>xL*Tv!6V5q73rB0IHXsyU#LtR1}JlCInK`4LTX4-MA4ovz-r*$o;x`0uY(LMEj_JAM#`$ zr#Qyz1Xuf}Zl={+27sYv4+!`i@g;H~M&c9giFi_;I;(0v*}$-%Un=x8Fe79Z-Tdfk zAX~@%o$LRYPP)|i_U#t!`(E*zeWkZ|fq&3cuVp{qy|Y@`$49fR*tJQdXQmwp@~arL z<6!YIqW>1W`CjR~FMvO2gFlG6IVv<(rMr0tsg!^!EoF|==@cw=FbT6PAtl{DWu_zD zhk=;LxqWiWEzM7Zo+MLq%6c_wz=F4SJXu9du@N^oL`OpcF562z$9HSX&09N=JddI@ z9C9-idaFtBAgm6>JW%I?XqMZi#s%-rMP8OwWGQz4<#7JXIKqg_r^ zpql}N!Miqh-r>*wG9^n_t)h{gyoWuP)g(Uz`_ zL$AA07?Ql|(rhJ+?s|Fgpd5B38S>AOmvMTiVnggDsINtZ10wR2iIg#EtR#5`Xo1dmX0<18vwTv}NY*h7aYY z#$?{GP6c{F0n-jH8Z%pVk2UM(nnKnaAx@)ze2o-zO;)Xr-S$4T{w_;#Zg2Fq>n-nv zX1D#`x7L2BTcZ(3%6lE0z;)Al6+@`Jb?t_<&Xdp8183!kYj-)f7c_l0<){N$JLJV$ zyT*bBwnVo2n%pyhw1#~YP@}6pEwYe>vFwa1q%5!Bd^1p1VmBemy&@oxyvM63ZI6F> zxC}UC!;|D_qRdrFyOQ|U=DbvFMp??3nWo)BP%Ug%BP3`r+%y!a6+jbL>!qsLNEz}( z`0AcmU^F{ja+}D{uNm|8JNkFegL4w_VyeZ=83DSN0MZU?KYdX27SV83^5)l%McutI zX9nm&i_YfJz}Z(6oGlQT0_ zRw~Qfjc6>7c;JRosK=byFh6DIai-BjO(%~;20l+r^QjSHDn%Jf z%*969(vjIlcSK?jbKlLM(c0V=trf#XkQeJ&3v0Z>!s{H0yCG&Z>N>dnV0=sX&_1WQ z(JS2S8}_TN#;KR>MR;B~n7%2@Ps@jJC_h%zBYIq6F>_EpXms;aX4=Vro*U=MK=(mA zC(KV)sZ3^;R=gycdh&;8GZ6q9T-i$^QeU&`@WZT@yRg!)3|RGe^7eMV)O_gmyeYF~ ziI4ZqeqSDMUX1DEnXldn2*8@&boE7ilmF=m_5F5T90>&a7sgE|JNdXzdW)?rwcZsqg_5Mq|mtu%cwfsyqXUYq}JN3C00 zvcxypuJARfyZR17KSwfjws96EoF$r# zR&?d_7!0~NXbJ_mWs1pz;CmlzV#$r~R*(2_xA$=Q`fjIr5Pku?lQ@X?7wTQ(c29OZ zJ|={>-n92HZ%3!pI?As;)H@-I-hWek7~OqPWISj#d61~`#yR&;?a>cq1|Z8Ml}ynp z<1iCuCsJE%klcOrgtCKv#H<>Ukr)Ob*jG5a@JS$nQxiHMK_}vQ_{mOMycmGtW@Jn{ z8ETZloi^j)_EE&l7^kN%@%{hnpZ=b48Ey_{To5mRcKZB(%ujzqIkYj8gwggyW$(xn zTM`2Fj_0au4&zOv$wR~3&TqSsO@k%vqM4sh=kr;7&#;)CtTB9DHy@E2Z*x!Iu1^2D zK2!k_nX~Ey+g0G1AnDx%bbL}o#LQX*v=(=a)2Uc=MV+yRz+r`CAa5<^`!cC;=xeZP zgv`z-m>0j-XrP#7=DB8U-*4LbgSAFO_lhk+HkFN62>cCMQ2P4k_C8%%kBZE<^Wj5O zYChN(6ht~By3JFEgE+E4RG4Po;fqe>m}x)$IBBy!xTh1{-B7>Xl+09SUgnILW{69D zjn@aUj}n^Sy!}4+M5Vxxs=zKniL?$+yRsp>#Z7%wQ0c}~VQ(b0j{&-O$73F*+4X{U zXF&B<>dKVL95AfnPzfByWs{WK$je06v0+(Ai!M%*Of3E#FjjZZUByYgNR znJ?ZAN++JIFcdR5qQFtNm7naPJMBHA+c)HXf18#tbv#m!qVHV>vJhr={YCHA99#{O zkkNY-lFso68P^W_wG`a{zKYt#<+&c&f{dn4TX*9~C9dwr8!4rOQLOQj+C{9X#JKuh ze!*Y%%_sjiXmixVsZXCit(l-*QSH~EO@GcW+tl)<;U2+p6Q&Y^?LVQDeyXLfT21aw zAQz{u9~g^!xg+K~laz}_==_XNmruX7@%<&4m3uk^#uS`(n}vCI66JcBbQk9gR~W|t z+~BI@NC~n|tIbeSEG7V!?wczCvWFBvT6wu?vd~M6_pp!>k*^yU-eQR;G)4!vC~-cI892ABV_-0!WV_wc`Ye>j79 zCsgBuOb*g(!MaWn!+F^Lmo9>%WSG zE@wogBH08@MxgAcvHV;W60_)iptnAj> z8Ppf#mYJIpLC{6YJS6D^@**2Va9B-SBSBT#wP!lu5)@{f%G~u#>h*uU>m9DUj{T3$ z$^~0HUaR_r7JMD_ceevdzTXiYBiPqpR^Z*+KYR(caviY6m8}_*$g2>_%S^TlDHe?V zpki4YyJUse-V|`gg9BSCn~CH4%zLML#`}>c(pNOLlxPLjP%X-g0)0Yh1_ddv$%qj& znNy5RNl$K{p0Ry##kN;vDTG!4*s3JeQ>jGzthkGA%LubR*iN4-yIvnwDIQEcx{*Ss zqfNuB&tE-!xxn9ENM)CSYB5SbLl@(+MX(L{gk?F8#H@LL zaci@q1L_iFLRQ+W-W6L{o+NVvWIoNH5q3(BR!$S3Uudt2SFy0|R7AuWqopXBU$*U% zqIX);mA2juSiR%y?` zBPpa}o{e@otu2>t+sw3?qS>nm;lk5KhncU)h%f^;qYbAkPlWoNwy2_~2rMSC*2>5l zORa_65<^~VUzM0_>avAs1yl~fjU7fn7oGHpJ&8eXwu#P2cV2BxE05$TyzW?^Qdg9} zvv;4#Ta}&w;N$~jfsRv3CB;ae3+I8vjM;fHwb<_1r$Sh*c$$=;ha>4jZq~XhlJ1sr zmS{#;FB}m;NW*C^S^|J&2I=aZd&VNyW#Tg9%LRyJ%*^=x&s!p9#-tK1Jzq9)5Z)h2 zWOHt<50CX6WP{7W<=9z6^pd64bG%-!3>e@*8>1uNriNw#t@mbsj} z?8aBk&=;^>b)0pgamg0?@mD`eQD_bIa@P8|UprK_C8+Z>X@lHCj7Y7!PBBk*Iz8jb zO`0LlTvqb@M2{T=Aj}jvkzhpD6l$>_@-~a*7BO-x&puEgzg_Aa7a{d}X}K>uR0hN2 z&b7Ln%F?9v&l9v=?Rrh61?SDPVA1l>1yYyo#N8UTW}tP89W(sym}>W$E#eMJbX&6i z;$C3ceYj#1{Ude!VO6j7_6y8d2$ZT!h%^!zE;{IvS!ddZQqBwyTEH&CfUBr3V3^;R9!NUzan?N}Pr-phr$%dGFo%3@xgo?0U;X<$@3 zDJ;|m5z1DQPGv(V*2Sm>7UdF-F`Kz{jj5=HrBJ{LtT{4Pq-*ZHY_;r=D^iW65zMT| zf8B;ABQZ8jf|c5KGMkhO5$Wd0Fqv68X-X4j1DjL>v5taj52#w4cMqX>K+Jv^9=Ypo zzr`7LC-8kx2HcW?4&5$4CNn*hK|EZaJUn6es7d^G6KbVd?^VQu-+o|{zrBU;^h13P zWI^V7<5F|Jj@qu?z$s!@VtO?P6<04KGl{f1hO9^gopjo$?WkivlA#1vPWjRS$_$1f z8ReP|Nscb?cC(;8oW=uiS_nFQ7b*MXubGy4ep1e#KhKnNZAG*1qU>%s*D=RC0y77M z14D6rO(}5a^xSr8OdMo$dvRNp==ppepPtutP&b=U?e;DGq5#y}c?_hhLvYqquj9A`NW{rCmckzm6jgc{-?k*GFw zoW`6}3M*!sh)!SFuzqT#}b6O)T zY+uRLHP-Kih)ZTwlZaFL)6)}fMssU-|Ivxg!v<7u>h1kAt?f()-#pUqaP@h&D}kjp zzy6laWm5rX4c(mgREWLhtm{?MOjWCzqPG@+5`zX|)Est)2gnRlGj?KjRt8wA1mBJ_ zlUZh(hXt6fbRf;zDp#cPlPp$B+zNm0ayv8KkQq)p*JC@=K_bq)xQsk!cIu~8iXi7oG6E??X6!rrJn2(wvc9tHEmX@{P$_hZG7w4v37qDIK zdYyp3dES`aBz_$?i?@14L_VOGUlA+ZBgEP|X4bpIwo@ecrD@Mk75(zuYSC;5P4OP$ zS=G`Vktv|V81H!G9(sfR8L@u?I~n_W)C|||ED#T?R=;+(tS1#ad+b_nUa=toRsY!& z&qY{@%;FQZ)t}uP!fnY~eW08j0G+fdWhe|cOCmCzgkLg(mS#!LqT}}4S-Xvr`h_}x zP?*R;lUMo#389`-tL93jnVpJPW)>=a?QwkB*%G-c(w1#D5$0uz=&@FruA^Z}1EJul zQUdzcDOBSiDqbd4>(b0?*Wy}B#qe+rS6 zJVXJZNgo^*IiYz5VaiC*BBpT+7;-b<5;airnNZ5i9LSucIc%b}cVk_ahMi8sUA$Y1 zslmGPt8Vs#diMsqaV@Ijjgs7bDi^@GCT{&)uvkjjoSi8o=I&-m<>^|dnhsp%V^mxM^8HJst8G4wtAZNmGaOU%I+LPi zgnJih2KN3H?e9^;=PQG}b5>WwD%kk^8Z;-}Qlxxs@*+1-FB?!rFF9zPjNG-EU1FZh zw;Jtr-c4=)NHXS@W+Aw9oAY!!T`m_huQSe_bLQ!E%HqGO=dVQoSV`5Vm$>+N5=Vm2 z>|#;rM!{>u@MP!I#R@9tUOKQcVO>+9dc|D1-j(}B^zgAHEmb5Ls)Q8K4?!ag)(42v zXwQ~D+*|hvOXVe}nGI_{A!JUt6LZc)XkhsE^3sSWb3dK7Orw*tswrrJmm^9nk&z}m z8)J7m*E%TU1a6!^&zBcHf3b7DZ7`FW7ybAepSOISUlJ~3WbsriGSQQfS@w}F7t@+` z|0#QT>9JUtQrNm_taz_`-m}#emYuNNa0HmyO33IcGy0kfTa~)q5Qus?WY(nOlV z>GG<(rqP<`uqvNJ#yYUC*08H$SYEwss{{jVv(GW{r}@h%RjbOKbjB6FyT8+fcW|I- z#;V`UVxRD&hBe%~=E9LlGm@o2Oz88=mr(xemzXl6n+&q3B#;>=zI=M-Njd6WT%iea z19PKbs9Y-ODrpxDkrKv+;iq$4w&?ZNcZBLFsNre|8Iv}4C&z$WChb{i zwMjH{q@-ji5?XCm;M82%eO(|GUdwmX#6EmEXskw((@=0&%%Jk*M{#S$5k? z`cq6i`>6_y6{6DDGwGG1wQbv|0fiA{#5|u*+qT&l5y(_T+8DKUrZr_bp-m8Mi`lb? zHH;Z%ZR0b4+3**Cd4Z-|W#}>lX{538jA%pc`CF+|qZaLT%S4SB4Q^2X>Ge$*XT%s@ zOZTjE%x#>{GcU{0(bMm$FY6;(RXt)|=_y!oZ|%4SxB~a8YKjQ6(cGU*cgTFsNyBiD zObCw5P{yRW`DuHt-gaMm=#W}18Bl&^m@KEyMUHiio3fovegwbYj~Hf8lgGY`m<--m4&e9l~zr{{s4{U zpo|wVQ^oYQiqSO3oKZlqZJY4R>EteJ6E;17qEK}qlu=64*1$))dmsRsMsa$KW6PJG zHp+4Vik(I9*+c1;QFZN&3OOP~)lqd%IxQlKD_~}K1^g~kz6%R^n?`Z{jq+VaHGNoZE$AHS78tc znX<6qqnDA{GTi-9*IYe;y^hZs;#i`81!7RRq9 z2a&4}tu(%Z*;%H|g)S3hnXVl0Od-U z=?((fJzDw3wY*YPEAYm6yWQXObY*QzT3NaMXxyhv6(LuY`!^`E!;FZBP2}5&Q+*?m z*WG_ztmsujQS-^)r_t%#`O&9&Ds_9l;SWwY2de1*6ZB_Ho- zU4!H;SBx=fqf*%FSdh&2h$PXQ9pfrXKN6gSn}Y^jtgeD6k|#VamjU^(O9=jyX31bC zcwxG%M7@=B1lQ%v3v@nJ%##_&OKK|37zs108A5eN6cieylT%5nhBD0(kkXlM3G>M4 zU{?oHL3yIYMQQEj?vFY#TF&KVwnT^kT)77j#6EBnhIJ*A$ZYsW>9&!XEF!1%bbSZN zA0Dws|FjNR`v=>>H3_f#RD3f7e}8QL{&ZdU20*~(<#n5ra9&mHFe-Og=DOE9!YpUq zMIn)+cJaM3;Bm^K8-8IwJ$1K_xY^FEcft<9u4ZaS#TCofsyA`lqjnFDaT$Vnpx?qdaNPve-mO0f>kd-;qvLQ$_TP9h=rbjS zk5j6iEFzh+V$(fJ@M2@e1kaHc7*cG#*7la;mousXGcX&l4#O^FpJsp!1}+FJ+_kcFlWz%{0{>Q97Z``(c}aVjNd;DU%*>#TN*6+uyJtJQAW@P{q$7VptJ?~R^!xfC}_nfvM)4|R)2H0U=fjJ}y-^gg)hM(&5V zJgB4Y=3_|I;Z5P_>U+e4vOCz!n@{FO?~_uSzZU4vz*_3DE@?V<(OD;uhAGWxHF89h zJl{?uQ!{f4i4m&!z-};hB*{XMUA5~0d7nQlj&5o0ReuAkpi`@+Q9TV>pI2r2$rm4F z@9Qh9H_MR9ea(yn6UKg*rFXm7h*)?K2&T3#sFS`j5t6Yo z<~U#RGz`Tf%mbAErBuiyRfY0@&LvQA&Dpuo$LQT9~u z`tJDkgeSgZTzKmpmvwq{2cHAkQa#q#&SH`>av*s5=@WyO3B@VwDSmp!r;~uVyuSWi ziXQ`%mwXlT)phcl{wj}n&!cSc_}m}BAgIXs;&3-aZh1-2CC}3+S3pFt2NNYsf!QD` zJ<;hMbEe&%B33B7w`8xTHe#EwpUMrR5w%g*f#o zM0OvO5NIJAv_LfUCqddwnEA}ih;-c6R8|HlNfWfx7L-zRmgy%VKuWd=Q#cd!r`9^>AvU#_hfsH67`^SAIpJ%2F*sW)&)`<#<1=BHp8=^#!J=zI0Er zC^ZQe7r|SzAfu)tiq>frLnZ>Vrpz`{p$=wct{rd^NqY(Vd?7Ych?sDD!cz$=sC@SH z%A4qkS_fBKU#9X(cHX<<`UJ*l&iNN#UOvY*XBEc*B!?&MRn*xhIHP8U7ShbR`a2b; zaw}nbh$)EB!n4$q2o;d6;0-Ab%M@Fq!Lf_7D~n?(XKU&NG1aB}5^LTei|e65&+9`M zL{i~^n-$n)ca1Rx%G5g?W~Fjgl6V#ZU#;q}JaBQX(h3#zc=Or_V-3h3;yQRt2&k>{ zevJ1&_C?Ca!-u+;OG6~2ugG0TsP>zCBPO&-3tYhv)y_z2#jUy@y}@x57e`=ZMDLNh z^2js40Ix4myBU!%zJ#S&3Jc2$D|uU`blM=g^X}*lE|rPd{=@v4oqI5+GP$61}Ny zj6a!~(O0`=rnX6j6mI5r4$YWB#URFqrNyBm%cbpv1Fnh7ma`POp+xGEnNR%wr1LYr zd>>!Ng_|eB#gP{uFrz1F@bDo387ve*9js;NThXd`XP$6Zweo#j*3sy7NJ&h|Daiv$ z;M@&^BuxtEVMClh{rCgs;Lr2-Kb<*RTghU≀=++rw)lhnZbK`}9ZhCxeuUR5lEw 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

frTYsY7ojO)a`aZexUEGqd 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 z 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

n%=w~pAf*(%^D^ddl%n8KKw^l92>NKo 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

p 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

!W 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 z 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 odETxE58 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%0DJquTUK@S}!x{v?ywd1_SvV3-?} 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