From 8b789583065b1ca3e31e731e02331cd53d70a54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sat, 7 Nov 2026 12:17:32 +0100 Subject: [PATCH] strats: custom object types can be edited and deleted with undo (code rebuilt, objects follow their type), low-confidence opcodes re-checked (353 high, 2 low left), script view with do-while, while, break, continue, switch and else-if (gotos 11019 -> 400), first script compiler (structured script -> assembly, script stored with the type) --- docs/manual/22-strats.md | 54 +- notes/img/mods/strats_custom_panel.jpg | Bin 0 -> 265447 bytes notes/img/mods/strats_edit_type.jpg | Bin 0 -> 160927 bytes notes/img/mods/strats_rain_storm.jpg | Bin 0 -> 124052 bytes notes/img/mods/strats_script_game.jpg | Bin 0 -> 94253 bytes notes/strat-language.md | 93 ++- notes/strat-opcodes.md | 83 ++- .../llamamod/editor/model/StratCatalog.java | 14 + .../editor/tools/strats/ScriptPanel.java | 26 +- .../editor/tools/strats/StratEdits.java | 177 ++++- .../tools/strats/StratsEditorPlugin.java | 15 +- .../editor/tools/strats/TypeDialog.java | 208 +++++- .../editor/tools/strats/TypeEdits.java | 81 +++ .../llamamod/format/strat/StratCompiler.java | 652 ++++++++++++++++++ .../llamamod/format/strat/StratPseudo.java | 433 ++++++++++-- .../llamamod/format/strat/ops.tsv | 68 +- .../editor/tools/strats/StratEditsTest.java | 80 +++ .../editor/tools/strats/StratsGameLevel.java | 122 ++++ .../editor/tools/strats/StratsTour.java | 119 ++++ .../format/strat/StratCompilerTest.java | 86 +++ .../format/strat/StratPseudoTest.java | 175 +++++ 21 files changed, 2332 insertions(+), 154 deletions(-) create mode 100644 notes/img/mods/strats_custom_panel.jpg create mode 100644 notes/img/mods/strats_edit_type.jpg create mode 100644 notes/img/mods/strats_rain_storm.jpg create mode 100644 notes/img/mods/strats_script_game.jpg create mode 100644 src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeEdits.java create mode 100644 src/main/java/com/eliasmueller/llamamod/format/strat/StratCompiler.java create mode 100644 src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsGameLevel.java create mode 100644 src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsTour.java create mode 100644 src/test/java/com/eliasmueller/llamamod/format/strat/StratCompilerTest.java create mode 100644 src/test/java/com/eliasmueller/llamamod/format/strat/StratPseudoTest.java diff --git a/docs/manual/22-strats.md b/docs/manual/22-strats.md index 7232bd0..6fe027e 100644 --- a/docs/manual/22-strats.md +++ b/docs/manual/22-strats.md @@ -77,6 +77,51 @@ empty template) opens the type editor: The new script is added to the level's code; the original type is not changed. Custom types are stored in the project (as text) and rebuilt every time it is opened. +### Editing and deleting your types + +Select an object of a custom type (or pick the type in the Script panel's *Type* list): + +* **Edit type…** (Script panel or the Inspector's *Script* section) opens the type editor with + its script. Change it, **Check**, then **Apply**. Objects of the type that are already placed + keep their place and run the new script. **Ctrl+Z** undoes the change. +* **Delete type…** removes the type. If objects in the level use it, the editor tells you how many + and deletes them together with the type (also undoable). + +### Writing a script instead of assembly + +Set **Language** in the type editor to **Script** to write the behaviour in a structured language +that looks like the Script view: + +``` +strat Pulser { + alias size = v0 + setModel(model:5) + size = 1.0 + loop { + while (size < 4.0) { // grow to four times the size + size = size + 0.05 + scale(size) + yield // wait for the next frame + } + do { // and shrink back + size = size - 0.05 + scale(size) + yield + } while (size > 1.0) + } +} +``` + +* Statements: `x = value`, `x += value`, `if (…) { } else { }`, `while (…) { }`, `loop { }`, + `do { } while (…)`, `break`, `continue`, `yield`, `end`, `call name` (for `sub name { … }`). +* Any instruction can be called by name with its values in brackets: `turnLeft(4deg)`, + `scale(size)`; values that are part of the instruction go in `<>`: `collisionOn<0x8000>()`. +* Places: `v0`… (or a name given with `alias`), globals `g12`, properties `self.y`, `player.x`… +* Numbers mean the same as in the assembly: write `10.0` for ten (a plain `10` is ten 1/4096 + steps), angles as `90deg`. +* **Check** compiles and verifies; errors name the line. Switching *Language* back to *Assembly* + shows the generated instructions. The full reference is in `notes/strat-language.md`. + Language reference: every instruction is one line, labels end with `:`, comments start with `;`. `push 4deg` / `turnLeft` pushes a number and lets an instruction use it; `jmpYield label` waits for the next frame and jumps. The full syntax and the list of all 434 instructions are in the @@ -137,14 +182,15 @@ circle: ## Limits -* Custom types cannot be deleted or edited in place yet – clone the custom type again with the - changes and replace the placed objects. +* Custom types can't be edited or deleted right after importing object types from another level + in the same session – save and reopen the project first. * Big structural changes are up to you: the editor checks that the code is well-formed and that every model/animation/code reference points somewhere valid, not that the object behaves well. * Names of rarely used instructions are educated guesses (the opcode list shows a confidence for each). * Small constants stored as short numbers only accept −8.0 … 7.99 (see *Changing numbers*). -* The Script view shows `goto` where the original jumps don't form nested blocks; the Assembly - view is always exact. +* The Script view shows `while`, `do … while`, `switch`, `break` and `continue` where it can and + `goto` where the original jumps don't form nested blocks (a few hundred places in the whole + game); the Assembly view is always exact. * In the clone dialog, renaming the type doesn't yet rename the entry label or the name inside the script text – edit those by hand if you want them to match. diff --git a/notes/img/mods/strats_custom_panel.jpg b/notes/img/mods/strats_custom_panel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..724b64d83c4377bf89db562d6ba9368e59120677 GIT binary patch literal 265447 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

Sa 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

;H~bC*m%Sy5;3 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 literal 0 HcmV?d00001 diff --git a/notes/img/mods/strats_edit_type.jpg b/notes/img/mods/strats_edit_type.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f97cf0b918efd4ac310b899ccc9438c85cda8363 GIT binary patch literal 160927 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∓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 literal 0 HcmV?d00001 diff --git a/notes/img/mods/strats_rain_storm.jpg b/notes/img/mods/strats_rain_storm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03ae29a405ed94fd79f5f8bfabc7c8669820119a GIT binary patch literal 124052 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 z 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 N%5r0Pfg=mO{|Ay#VR8Tf literal 0 HcmV?d00001 diff --git a/notes/img/mods/strats_script_game.jpg b/notes/img/mods/strats_script_game.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c55d215c531d6155c2517b94ce5f4da2b3a036d0 GIT binary patch literal 94253 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 g z^TIa7#$D(Jw7YV21U*Q(Kt6*}-@nJ&BGG%laK*$qV}5v<8vW;w1G^7>xT|iLwzGUs zu$G-XmB63A=)olv3Id%Ogg|Zzwv?>`S`v0#!@$kbUuF%}3c1hV%!+vIc8TAr?=vU));zay7WA=hX9yrkW!MHT2 ztMD^d*a$& zM;1#Z72Q`wWhyV&EP~6qa^|0I-ZRZ63EWM4PV*g%B@Qr-&EN8{sAO1O;HJ_sP`2|C8di6k`%>@l6$p@ zd#UPx zuV(13qJpoPAni@(3FAG;nF4x;8VS|B$E^z9cv9-?Y@E*A$JwjbVC4^U4)%3cI4>2F zl^36_jJYKU2rO{-nbaw6OJ~9;Rn*dQs+-621%E7QPK@QZ>13;85B2$LVv~n<5(SEF z`&&6txaT_K=Y$o0TC5tP35(KF_6$qVFE@ybXBafoW8B;0vP)cbc6o2{jbNSsQL>(r za>DqQ6@d$r@tQg^)8g|a^ZYmhD6DotHDQiQ^1v0rGLRdP+?7V*;f2qUGsE~<-kZ9)$g%W^22D%)sudsQJwVZ{84e8-v=&$P=5Q0(D3%`T35lpm^E$Y<85s zpR&YO&d_$2VB2T~7U#b8qJsWZ-|q)_Kh4X&q|xU89#R;T(N)l=jUV$&i;rVVS6Wgc6q1H}Q6YWi*=G+AHu0Q77r(5Iy0~Op^rq@zb0MAIRk!A) z=9*pQo|!nEaQy_9We9ovu0K5UtDP03T+~WDq{4A2-`ADS&Y|?Sf(N4 z=$xFtJ{i*=Un0m#?8>YeW!Sa9X2^-ZPRmJ%+m;gnmudO5%We19;Vu!G8|#0ov>Pj= zq_)q}{_suolf|Z8U72-aL3=YyuF|&4oAJnXy7d??>(Ss$W)(dXa+q`FAmHSjMuyj3 z^@|}lZI)x&JmVB1_So(Q!~@*jTX9_snrg}vaGEpfFtF%6?e~+Fx*9RB?>Tv~+F{Co zxk-f0)){dYb*76cgwo}rgsQp$Jm^~GY+!Xrk|N-iL)5k9+R*9 zPBy{8?J|*=m|woA5rgeNIn-XZABJPtY+*&K6jQ({%YXAY-nXaW_`TO?fc%E1;yPek zWQbK>BH&xO#v<(unWs97U86;T{fcu9AzYU5}oNbT{OX)p+HOXEM*exyUkT6(AR371lzJ! zccHDJ{KV|Ly}MuSYMI+%DTF6SmY6U6Icm;ilD~UQA*jNhXZk>;Wz@8%;|!}v*z(>*jOV%vUNWfH56{LsypI;9kVHH}>PH>aV zwb9nk0Jh}s<=PL2aPaIe2$Bqfh2sV$2}{9HLP``5I!f#P4`JBq$1PtCDHTkm#>~hj-$skZ>NkfwTb#o!%3O=Q%^}LsVjFqLdGA)CP4}h zN{hzFYELo?mzol?s#xFj;q){cOxMm6p_oq9ff-seE^a`=U0%Y?%5Zy^xm4|7y0Nrt z1=EU<*yjVA18W3uRA?r2q~y8SuB z5{dUJ1xIssxviX1DsdyF>nx<=;DDmLmLW;!cZ}=hxT3Jk4P&AG%N{|F=46Ln?}Ue%eiFgPW^@|hz8jlKgfFYMok$cK zT+$Ahrjy_EX@_P~C8-#O@2!?ov~b}!eKKdDI*{Z#u(RjOiIo>+K&f88N}V8hwspM) zRYisQ<`jE)vTu<{&6zB{%Ni$Xzh-7A>AV3A!G~G`^gjW=yPlY*I~j^U>TL_&GDEf~ zb|)O8aVot+@eromxS~ofe814v2mCY%-3R#>`{IQI%YkWt7*Eor3KyotL;r=`bB5ZU z6Q$K+QOLt-V9hpby8M;7XJ40k81dj&%SlrYW7C2(FL!GOMDL`=JKh>|sE~Xc-)BW` z4?1jeXlP>^yRgJbwB0l(u-m3-}>BihGK6wh8+N8Mg94b`ybc z(OI^e+64}|iq_YEp7qvaWfX>Kmta+L@_U%(PAJ+EHO~jd`7;o>Q$Qv{$5nFa6;>!2 za(k`2tMGqWS19D$NH);zFze@oke|^aJACb5cZ84(hC{5kgW>$z35p-w8-`Qar**1+ z>p)xvY!{O~vUG(O<}+gvwD_^xdniy*cTW zVP5!a&qXJG*j#2hObX!|8}%gpz93ylT29MZx$uBa%0Wpwzf4ps;ow>+sr_PjToL6} zuty`3zV`8sv;VW0B6ih(me`gG=Tu=rE?5}7DYI~4qxPbpaN58Yp$@EwCbK)lQ^_ZO zeD7loxqEf~NTZ0PXiXMDgb_J^+ea4c#ZM#_WSMT*Lk;d%d716W^!R3`MDs~mDvn1C zs}R(|@f#30z`us&5Hdi~QPzWFW@bNlHWuVHU@)-x%RNFV!g;|ndQtu=Og)L&IE=YK z+9HqMKDqc_yXwh3ze)#TmkgT5`xeUzBe=yTCj25ck%-IXokIVdkCqy=y!)VvA zKbdFN1U2CcyV*l646?2H&5E_`7=q%|)r>6R?Rp{pB>x{>Zxz*6+pdk$(w5={id$RU zB@i6iQrv@kaScwe0;O2-LU4Bo5S-x9;%-5MLveTK-F)j`?^^%fW9*~MgB;}G$^G1y zP8Al8T|GTc877>K5};YmnyKAqPR8&$jpD+WXEqEw*>L-ukj*f3$yMx*SbjZ9r{9Gy zrc7L9$P4sRD_#t?w=$qb4w;vKF;JqVSbQ-!xyTPo{ccspd(wK5(zW8cHmVS)XBWzN zdzJ~PJr}ly=VgVt@SvgR9uslsaZecFB~nkK4Y_C1x!GLHr+j$DQ1fzJscuI|UWu2X z075cpsTx0q+KT^M*GyVK-ApAuikk$gPv;!&XCO@Ieio`vkW!m&;GPFO9QpCm)(7#< zP?m-fId-t1G?b>0rZC|HP6+iX;Oug_M3CO4W;nxM=y&vd%QW&MiV!b!^sJx~Y4F|^ zXNxJf!-&l77nd=E|2OcrxH9b_2Xl)xijtJ&|7U?+WtAk&;!{serJB$y1Cig%}J2hqzRdm z6e#UKXzs;xIkla%oGL=i*lq=Bw__2bI>u)ikz35oH66VJ(sq*5_7Ayi%napoLQ4mFT!%#Ty{v5zFWJpTb%Lc8CiA{3t8BJuV@z}%{L_i>knMy+LY_65Q6=6FG)t^tc#HlL==7%(>D^RAC* z(kL4qLB=^l!(Qv8*LwVIT+KP`r`Qx6N2afD#yw3nnj*@EOR&Vg ztD2u@zaMVeiH^s7GaY^%(DFk8Bb_+u8*IjwaX7q1$T>?_bfjnJQeMYP^veld{|dHsbS>FB@noDs8(ynkr&AIV;z)WM_$mOnuL3ODGc`HU{ivK0Ok!C(TPHSLxRb9 zHgju`DDpJiF!WzASF?fj-K-yOX*qKbDMBotx?Sw9U98Rv`{wo8@*5q4_J=Hl*ZV7; zyb%#+6}7j~bKPU8J4v&(OX<;yAdSM|D1H`QlE2%m*x?z-oEK@&ytchDlTc(nt}iX< zrcI@t+?qC(Qk6Lx>(ILxo&@>}i+(0k<` zN;f4&o&LQx{;wP4|2#hXeZV*&Xe(udXkny37(akO^x+A8C&aA$+MHc+mT`GI>%_#e zkp-_YXzPeOR+v{D%Y~aJgdaa&E${04XNcj;o=ITz$#L=?`?dw1i*HhLt#ihjn96wy z$_?L4$6jP*uTkJ?8l$S57P$y=MQan6>0n-^P z)Z-ijnweRd15B-AKJ3<74q@uOr3l;f9C6gPe@Z!sN%bX=ag@7>Sw&xu(kiG68PAVz`>d->~Wx?1TpNk`h}KYm>)|-Cjg7GSDT!!%sUFJmXCNaBWLsb%Hd$~*iAp| zn&Yd|$jsRAgZM_TI>$J1pZpBK>;uujJ(KO);qq|!w5xAy4C#hLZevYKL>CF>C#q@? zxkl{3*&SV;J`<72emZVegxHNquZMTZ{a}@o(HDQ*^DH|Pw?MEZ1VKWoRaMa1?4ifW znOF|L(M^5w6a4S;f(W+EUkzC0ok~uBJ4KUc4mMb!<43u!c#AG+duVve6L){=*>qPP zRSkP&JmWg%Zu5qST54HDDOWeJ%V zXL?>y?d%AH1&@ zN@XPM)*)M#rFUty`X9tA_?g>2~^^ZG*PuOtmi+1sd#sxW!LB#0AAvS=uWz7^Re%YTW<|(z(=_rx{>p|DJDIl{M4)JO_u^8YH+YfwENdQe+vS`K z1D)39hJ*NedPh>1+O(Co4u2oGI_7N79j&h^kq)>!Ab(-PHj=3dj-qbbFDNls2Y4UY zGf(E8jcd>>@rFfHduYxf0gV>=)xGh#pWH&T&E~Dp1paqDfrq~=DExc12|(s??& z#>pO2I$BS4tx;q;?4~Jp8x>8PpPqF5u;R2o`+-scZVm*|s<{q_qjkQAI1M+>=tmx<4oP1WiRI2jFUBozv#|+Og>dFw%rmmago! zV}f<=fsM2VF97G^#WzUmjK<+G1OATDJJ)j9b8$vttRtty*o424 z#lO{D`yOq=EEW>a1urQ*2e9VH=AygAaH7;3HHm-WmB@%guQE4$(NWD@!iZ^)JLZPk z?3rK&hVF_v0}2)G*_h4DeX(%}<6@t}SNo%bf>v_TFZZt-+6ep+OR&0?((#(`A)UqO znp<2}iS&t_PoMwAv@Zgk(RS^Jb0?{uPg89PNjK1tSaDVnXLeexCzd?N3;8gbKJ-4HV8c%d-3K>^>ea%jqVcb61;kBWbMcldqgn^)F< zqF79~0+s&Ss}JodnfUmD-bF3>co~+A$^7FI}E!S17!&dlie93VgWOWva^d(I(+`9 zpn4M~8I~0jQ?Z?Hpn2CNcGdNOe!BAS4(`@7hmN|34{p(8Lw^=5M|4uC5Uj925|!Xt zn%=3-bPl7@ue|#@eoO8=Q5NUOIA?#ervy#83_AFd6xWbU zEl;`NgM-u5U7yOa+={P+;=@_)!`yL=r``LBZ~XMq7IAny&LD4A?EJK$o_pV~Rf(GfDLrQ1|RM{W`}GT3puGL!%hhe2Qnzpapw*Hg!@79` zv&V*{o~GAdZtoTV6zH{z_Kt?gMzh!S&NaF;>SMBDQb{4D&#H;WG%e$px?bYhhJV!WF^GNlQ)XRt{bVnkbh4{2C z_*SR(nyQys8f#BbGpa3bi)ZwHexo~MD=1FIWL1JL@rF;Hnq^(vjO6NcEXt(%*Rf_BOrNf#O<=Zd9(bm2TF;IohThQMXM^L4K4z%cne0 z>8=&a_K;?Gjg+YLkz{vN&`BEGOjx7MU4Ef||D-Z6#LY&UZ*JrOj{yk5AP6tbRn0y0 z3mYzK+WuT5IKEh3J2ZQe{?S7IVISD$g*pl>N} zB|nAn4_daj`*BvOn`0vcIO#lmVAs*H-rV7GMVi&IuMl>vqI}n64xuloxfRp7iN^cp zlzpGct5D_1mi7&IUY%SzS&*HWuRzL^70*{iea-6dPQcOvXk;X0pGXlx<;if}HiKG3 z_zPGfLi`;p3u+;S>{UD#-Tk+u^hxw_3UNY!Ir9HvQvUmpzFN%EK{~nWoh5##>Fo_U z6?@voUz6A*H;KIx$E7WWIP>3+*~F7R*&p^KC9n@${y|$!d7@t(&rGuB#X3liWG7N(U)JeoB-hK>1u3%ln6Y^zzu0cb0YK+^* zgb913W>kzUBlIiPe|DOjxas4E=P1`PjmPDNsP6*Q(z6daQz$^14A$$&eF+O2W6sWw zzl=Ay+**%~e_Jj^))}326<-#v-G#$$#P`8el4~~hIIK0holI`G4N77;DR%C|$hn@Vt}-PnU!W7PHvFUINn|OocjY!@6cb zAPTJpIjEgrKHghYQL&TdI8L)eX_o7v<4LsqXDgJ=`C-Y)4=kcC&Q@qRjG$F|x0Tkp z(7O?V1$sDCH{P77${RMh)MBeHEbbgDK^MI=>#>p$T*A%oAfBDjU%w z=p4}=j+6H@oO6mhvqQyf;BB|Q+6k4e_J1+Fu0s1EGcGcJrCA{NB5)s6H#;g4?X1%@Hx<$2Max$$DS2NV#bc$}roA%ehfmmbWz!q%)i*3na zo!Ti2ztX9e3s9UQdbD%(5{#YDsjl}m>zUnXKgW^2M3tGQ?5@}g+o<@x-*|;Gt0H_8 z#(cezofOPmK2@znOmgY7Ws^?6*fv7^4&4*Ex0(qsP;NWfbH&x4wI3$ugY&n4j`#@( zb?+2|>trk5!a}=iD5Ief4hFAx#Be<=i7Q7OonFQ1%cnFc*|Ii#{iCLWYXQd@jG|gl z;^lcMUBAjYPIwfM+k9vpv?&c`(Jh=J0g*e|F3fh014LPJkmarxv~lzZo&3dLa0L&k zbk|1S!;qQhEf`)pJR~j2@jAQF6CdiZi?4HClAf!_)pZl<;naSo)1n|>uglT58K;t_ zhN-D~Ik#;5NvZqYZV3V#Erksd%=1(8TO4Ricd@dJQ7RK^z{A9BsJ#(|1Eqb~qZAGy zRnXjhApPWU()S6MH2zRxZ_>MTP_CiZLQ02xr*o62gf#>%tZ&F|r-~I{9BLs-u9G1S z+q;aWOjC*7ci~+K^ex-me~7KST$4UE zb;F<8i~Ya1v@#igdAQ4M9R+$wFSwFrp*F>#dNTJBNjF)+n-X!iW{Xz#ZkwP1iz9TF zbE4zI_FXyWr&M)uxzB6KQq)FIZ}XC-g(a*-P0+1Flv}60n;FlH{k}Hk zI%yfhqxG?$FT?C;(vE~AL_pDH`6X(W)n8gcuJ^urtz~5GN%GRGwcYpb|Fq|5Gub9n z*We-!xWi~XQmJgROU!(v)s70)A8%F?CyWuUof1>uJfQ6`oc2jD^AI048O0`o53Vik zm!#T7S`19spvKGPQ~4RBoSm$;x7P7E=~n{&%f$KbIe4oLPiiXCr4;^5S_)9i`0-3w zQwgxjk|N_dSx0b=p<5~_SS$PMcf6ubo<~H6Nc~OHhWw4qQ<6aQ)@uFEjITy_Ur~Qz$15@PQsN6l zfA$WaE#6M^?ea~*szguJIkToEsl$ z3Ra>rvOltPpw-=N&pBkq?I{X*_fGFR zTZ!-E?x<5X)aiBQ-hfYZy+s>+YbIqQYFi}_)%tD#@GSps3M-8?g2yqtJWbo@4z| z+jQA~Ga%6QMt}4oPo?9og5w||z5Uid730#;>Dpo6Ajtpl@tfpED86)8^$%a78?i5s z5uP?|mXI!FfjZp}3?q=c-iZ*Sa08Awi)*mDuPZK2$?Bifg{3K?FMN}XO*TRzjscl3 z=5Z28ZlpFREU!59SjoI4PoLFljCd3EC%=*E3Mb?uZ2xo4Mwx2r*bzfw%e_Pg3VG}A zs`lL9O*osr}0Eb$DV)UQ3bcQZXorkIL&E82Y)q1WSS& z56VWU{YkoyIx5(mO)FVg@A9!egD$zdGcKM|$xmFlcY}vra9FTk&ztX>e|CoduT?54 zBfj8AiQWFzB2TkJI|CetV15|=*+dhx%b1kavrIIanBYOh#95Vhlxxo_t#xrlObVshGb!&npIY* zrnQMUejc9?%UL7WQrDtfbJqT^>+xyHlS*bD`pV!W<=U)+5I zyVf(aAHrn^34QTY_!pEbHd05*n_BiqYpN>>97MjsC)Ay9Yl7!%R zE7kMfae|A7TX)x+$r^=EYhhk0{D0LEX=b%|c;)D|5r&9FoYX<1+{dF&i{Axy%gDvh z+yG;4`uPN?2qKO!wywZ-QRC{pq4CRysis%AT*;j%az&1zHm*Q}Ji!uw^Ek)*0ohy8 z+p|-mU{q=dY;K<2Xf|E>5#GMC9l5NZYWl5L{!C0+ro_N<;*O-^nil3kKbM6&U%@w> z%KWb`v%HhJK!7_!fg`NAMg{7U|Iq1NZe zDG;9Gbm7wPl=*SqNYl$WkM%{`9)0ch|rcH6sM~TiXCpU)+lZ#DCCX(B= zgsCZEz%&X(uC&$Zi>34h#-6$W)jzq8e6cCaD1RAETLs!!g z%(YIR=Uq*`56E2&ubP}yCKMLXqjPx6`2N(+VpVWNBeEU$TFOW5)d@?*20_8rOSVZl zPUiWbj(HqizIvAKwuuH!K$ca3-a$_5Ux)F~uAP-(MJY+GoQ9PbC(bO^4w$aO*9IR7 z(EbKDwyZK)EXKPFzfGWhsrJ3G@%dR#eCEaL!_}U-v-4AxdSJW#Nk+l^ya%?5nbsl| zBPkC2@K;HItmV5W$ed|zy#1h__b{4Mcj`&Lu*A5}2roEGZRKBS74}l;^0r#6rl#o~ zviD6%a_Q}K5IM7R76(gtg35d4@6^u2<-X5e6L;7z@QaFJnSJ?W;#UMa5gwg&(WNRM z94td9W4$pTy!X*Ra8$qXw*iagOyK;jX;vU!GaZa@9BZU+WRQc@ceNbl{&y_?7hFb%;FaXO!0aUe^z=lZTxRj_8=Vb?TG|-LG)t(%#W?33 zSIDxgHf3f!xH}eiEVYcEx@%J|@Hrf`2Ox7*|DcgP7^OeaePO^Rg%pK*+JoQ!pndX| zC>-g0DistZVIl(kYADJ8m)*Qp@Vq<)p9m$enHbjB)~J@?UaVN@S>i>Hq9otovi7p! zXAceV!=?$_Umo)Vm>pJEg$DF<4vSWx94#PlaUz$3^gn2_Ek$C$aDLxGn52 a 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 b4fdngh@MNU$aNH@?w53%n)IRvA0Ph%b8*;O literal 0 HcmV?d00001 diff --git a/notes/strat-language.md b/notes/strat-language.md index 1892622..51cc544 100644 --- a/notes/strat-language.md +++ b/notes/strat-language.md @@ -9,7 +9,8 @@ the STPC chunk as **code units** (one per compiled source file; notes/editor-cro | `OpTable` | opcode/property names and docs (resources `ops.tsv`, `props.tsv`; notes/strat-opcodes.md) | | `StratListing` | unit → assembly text (+ per-line metadata: offsets, editable constants) | | `StratAssembler` | text → unit words; layout = where the unit goes + model/anim/unit offsets | -| `StratPseudo` | read-only structured view (expressions, if/else, loops) | +| `StratPseudo` | read-only structured view (expressions, if/else, loops, switch, break/continue) | +| `StratCompiler` | script language → assembly (new behaviour) | | `Num` | literals: `42`, `0x2a`, `1.5` (20.12), `90deg` | **Round trip (golden test `StratRoundTripTest`)**: disassemble → assemble is byte-identical for @@ -95,11 +96,23 @@ own-unit addresses), plus the model/animation/unit offsets of the target STPC fo ## Script view (`StratPseudo`) -Read-only. Stack code folded into expressions (`self.y = self.floorHeight + 204`), properties as -`self.x`, `player.y`, `parent.v3`, `camera.…`; forward `jz/jnz` → `if {…}` (with `else` when the -block ends in a forward `jmp`), backward `jmp`/`jmpYield` → `loop {… yield}`; blocks are only -built when they nest, everything else stays `goto label`. Inline operands in `<>`: -`spawn<3, 6, 0, 0, 0>(10.0, 204, 450, unit:35+0x28)`. Example (Coin): +Read-only (not parsed back). Stack code folded into expressions (`self.y = self.floorHeight + 204`), +properties as `self.x`, `player.y`, `parent.v3`, `camera.…`. Control flow is rebuilt from the jumps +where the blocks nest: + +| Jumps | Shown as | +|---|---| +| forward `jz`/`jnz` over a block (+ `jmp` over a second block) | `if (…) {…} else {…}`; an `if` that is the whole else part → `} else if (…) {`; an empty then-part is negated | +| backward `jmp`/`jmpYield` | `loop {… yield}`; first statement `if (c) break` → `while (!c) {…}` | +| backward conditional jump | `do {…} while (c)` (`/*yield*/` for jzYield/jnzYield; empty body: `do {} while (c) /*yield*/`) | +| jump to the end / head of the innermost loop | `break` / `continue` (also as `if (c) break`) | +| `switch` + `jmp end` with the cases in between | `switch (v) { case 1.0: … break … }` (`default:` when the jmp goes to a case-like block) | + +Everything else stays `goto label` (mostly multi-level breaks out of nested loops and `||` chains +that jump to a common far target). Over all 1461 units: **11 019 → 400 gotos** (2026-11-07; +guarded by `StratPseudoTest`, which also checks balanced blocks and that every remaining goto has +its label). Inline operands in `<>`: `spawn<3, 6, 0, 0, 0>(10.0, 204, 450, unit:35+0x28)`. +Example (Coin): ``` strat Coin: @@ -116,6 +129,58 @@ if (v0) { loop { turnLeft(5.625deg); yield } ``` +## Script language (`StratCompiler`) – writing NEW behaviour + +A small structured language in the style of the script view, compiled to the assembly above (so +everything the assembler checks still applies). Implemented slice (2026-11-07): strats, subroutines, +aliases, assignments, expressions, if/else if/else, while, loop, do-while, break/continue, yield, +calls of any opcode by name. Tests: `StratCompilerTest`; verified in game (village 1: +`img/mods/strats_script_game.jpg`). + +``` +// bobs one cell up and down and turns +strat Bobber { + alias base = v0 // .alias base = v0 + alias phase = v1 + setModel(model:5) // any opcode: name(stack arguments) + base = self.y + 1.0 + phase = 0 + loop { + phase = phase + 4deg + self.y = base + sin(phase) + turnLeft(4deg) + yield // last statement of a loop → the loop's jmpYield back edge + } +} + +sub wobble { // called with "call wobble", ends with return + self.rotZ = sin(self.rotY) * 0.1 +} +``` + +| Construct | Compiles to | +|---|---| +| `strat Name { … }` | `.string "Name"`, label `Name:`, `debugName "Name"`, body, `end` unless the body cannot fall through | +| `sub name { … }` / `call name` / `return` | label, body, `return` / `call name` / `return` | +| `x = e`, `x += e` (`-=`, `*=`, `/=`) | e, pop op of x; `x += 1.0` / `x -= 1.0` → address + `inc`/`dec` | +| places | `vN`, alias, `gN`, `self.prop`, `player.prop`, `parent.prop`, `parent.vN`, `camera.`/`target.`/`target2.`/`boss.`/`dialog.prop` (props.tsv names or `propN`) | +| literals | as in the assembly: `10.0` = ten, `10` = 10 raw units (1/4096), `90deg`, `0x10`; 16-bit values use `pushShort`, others `push` | +| references | `model:N`, `anim:N`, `unit:N` (`address`), `sound:N` (`soundAddress`), `tex:N` (`push`) | +| operators (low → high) | `||` `|` (or) · `&&` (and) · `&` · `==` `!=` · `<` `>` `<=` `>=` · `<<` `>>` · `+` `-` · `*` `/` · unary `-` `!` | +| `op(e1, e2)` | e1, e2, `op a, b`; the argument count must match the opcode's pops; a value-returning op used as a statement is followed by `pop` | +| `if (c) {…} else if … else {…}` | `c; jz else; …; jmp end; else: …` | +| `while (c) {…}` / `loop {…}` | head label, `c; jz end`, body, `jmp`/`jmpYield head` | +| `do {…} while (c)` | body, `c; jnz head` | +| `break` / `continue` / `yield` / `end` | `jmp end` / `jmp head` (do: the condition) / `jmpYield next` / `end` | + +The generated assembly starts with the script as `;| ` comment lines, so the editor can show the +script again (*Edit type…*). Comments: `//`, `/* */`; `;` and newlines separate statements. + +**Next steps (not implemented)**: event handlers (`on touched { … }` → `.event` table + `onEvent`), +`switch`, `spawn` with typed arguments, local names for parameters from the object schema, `for`, +constant folding, typed numbers (int vs fixed) instead of the assembly's literal rules, +short-circuit `&&`/`||` (now: both sides are evaluated, like the original `and`/`or` opcodes). + ## Editing in the level editor (`editor.tools.strats`) * **Script panel** (bottom dock, View → Panels → Script, Ctrl+Shift+K): unit chooser (all code units @@ -136,6 +201,15 @@ loop { turnLeft(5.625deg); yield } Verification: the merged STPC is disassembled again (no decode errors, entry decoded, every `address` operand of the new unit hits a model, animation set or code, and the new unit's listing re-assembles to the same words). +* **Edit type… / Delete type…** (Script panel, Inspector *Script* section of a custom object): + edit opens the same dialog with the type's source (script or assembly), *Apply* rebuilds all + custom units (`TypeEdits.edit`, one undo step) and the placed objects move to the new entry. + Delete warns with the number of objects that use the type and removes them with it + (`TypeEdits.delete`: `Edits.delete` of the users + the type list change, one undo step). + Creating is undoable too (`TypeEdits.create`), except when imported types follow the custom + block (then appended as before). +* **Language** (dialog): *Assembly* or *Script* (compiled by `StratCompiler`, see above); + switching Script → Assembly shows the generated code. * **Load order** (`ProjectIO.LoadHook.order()`): constants of base units (−10) → imported types (CrossImport, 0) → constants of imported units and custom types (+10). Custom units are always last on load; if types were imported after a custom type in the session, the stored strat codes @@ -143,8 +217,11 @@ loop { turnLeft(5.625deg); yield } ## Limits -* Custom types cannot be removed or re-edited in place (clone again; the old unit stays as dead - code until the project is recreated). Constants of custom types are changed through their source. +* Custom types are edited and deleted as a whole list: the custom units are cut off the code and + appended again (objects follow their type's new entry). Not possible while object types imported + after the custom ones sit behind them in the code (save and reopen the project first; on load the + custom types always come last). A custom type that addresses another custom type's unit with + `unit:N` breaks when that index changes. Constants of custom types are changed through their source. * `pushShort` holds only −8.0…7.99; bigger values need a source edit (`push`). * The script view is a reading aid (gotos where blocks do not nest; expressions assume the documented pop/push counts; ops with variable stack use are shown raw). diff --git a/notes/strat-opcodes.md b/notes/strat-opcodes.md index b2f88d8..c20ce17 100644 --- a/notes/strat-opcodes.md +++ b/notes/strat-opcodes.md @@ -10,8 +10,19 @@ properties). Language/syntax: `notes/strat-language.md`. Disassembler/assembler: of the word, 0x45+ "long" with inline operand words). All of them have a name and a one-line semantics from reading every handler (headless Ghidra decompile of the two handler tables 0x5796bc / 0x578ff4, plus the helpers they call). -* Confidence: **329 high, 71 medium, 34 low**. Of the **222 opcodes the 34 level WADs use**: 170 high, - 37 medium, 15 low; high-confidence opcodes cover **96.8 %** of the 556314 instructions in the levels. +* Confidence: **353 high, 79 medium, 2 low**. Of the **222 opcodes the 34 level WADs use**: 177 high, + 44 medium, 1 low; high-confidence opcodes cover **97.3 %** of the 556314 instructions in the levels. +* **Low-confidence review (2026-11-07)**: all 34 former low opcodes re-read (handler table entry checked + against the exe, Ghidra decompile of handler + callees, `objdump` of the exe where Ghidra's C was + incomplete – e.g. it drops the bone index of 0xc7 and every reader of +0x114), and cross-checked + with their uses in the WADs. Findings: 0x107 setAnimSpeed is the per-frame animation step (sub-frame + accumulator +0x116, 1.0 = one frame per game frame); 0x2f freezes a strat while it is off-camera + (with the camera pass's +0xEC 0x8000); 0x28 is read by the camera scripts to look at the strat + registered with 0x113; 0x14a is a no-op (FUN_004268c0 only acts for 0); 0x9c's value is dead; + 0x18a/0x18b set the pending particle settings consumed by the next spawnParticle; 0x1a9's top + value is the rain texture and the others are wind x, amount, wind z; all no-op/drop stubs verified. + Still low: 0x34 and 0xf2 (no reader of their flag bits found). Names unchanged (stored sources use + them); see the table for the new descriptions. * **252 opcodes matched to Argonaut names** (column *ref*: Croc 2 PSX demo jump table / Croc 1 handler names), by handler behaviour and table position. 99 slots are no-ops, error stubs or pop-only stubs (dropped Croc features). @@ -100,30 +111,30 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x23 | `error_0x23` | - | 0 | 0 | | high | stCollide_AlienVarAddress | Prints "stCollide_AlienVarAddress" not-implemented error; unused. 54d220 | | 0x24 | `pushTarget2Prop` | prop | 0 | 1 | | medium | stTarget_AlienVar | Pushes property n of the second target strat (DAT_006D9E34, set by 0xca), 0 if none; unused. 552bd0 | | 0x25 | `pushTarget2PropAddr` | prop | 0 | 1 | | medium | stTarget_AlienVarAddress | Pushes address of target2 property n (0 if none); unused. 552c00 | -| 0x26 | `pushBossProp` | prop | 0 | 1 | | low | stBoss_AlienVar | Pushes property n of the strat in DAT_006D9E24 (set by 0xef), no null check; unused. 552b10 | -| 0x27 | `pushBossPropAddr` | prop | 0 | 1 | | low | stBoss_AlienVarAddress | Pushes address of property n of the DAT_006D9E24 strat; unused. 552b30 | -| 0x28 | `pushDialogProp` | prop | 0 | 1 | 1678 | low | stDialog_AlienVar | Pushes property n of the strat in DAT_006D9E2C (set by 0x113, used by NPC/puzzle strats), 0 if none. 552cb0 | -| 0x29 | `pushDialogPropAddr` | prop | 0 | 1 | | low | stDialog_AlienVarAddress | Pushes address of property n of the DAT_006D9E2C strat (0 if none); unused. 552ce0 | +| 0x26 | `pushBossProp` | prop | 0 | 1 | | high | stBoss_AlienVar | Pushes property n of the boss strat DAT_006D9E24 (set by 0xef isBoss) via the getter FUN_00550E60; no null check; unused in the levels. 552b10 | +| 0x27 | `pushBossPropAddr` | prop | 0 | 1 | | high | stBoss_AlienVarAddress | Pushes the address of property n of the boss strat DAT_006D9E24 (setter FUN_005509F0 returns the address); no null check; unused. 552b30 | +| 0x28 | `pushDialogProp` | prop | 0 | 1 | 1678 | high | stDialog_AlienVar | Pushes property n of the strat registered by 0x113 (DAT_006D9E2C: the NPC/puzzle/door that a cut-scene is about), 0 if none. WAD use: Camera and CutSceneCameraDirectional read its x/y/z/rotY to look at it (1585 of 1678 uses). 552cb0 | +| 0x29 | `pushDialogPropAddr` | prop | 0 | 1 | | high | stDialog_AlienVarAddress | Pushes the address of property n of the DAT_006D9E2C strat (0 if none); unused. 552ce0 | | 0x2a | `shadow` | imm | 0 | 0 | 887 | medium | stShadow | arg!=0 sets, 0 clears +0xE8 bit 0x20 (shadow on; shadow pass requires it plus size from 0x59 and texture from 0x5a). 54e8e0 | | 0x2b | `jmpYield` | rel | 0 | 0 | 2958 | high | - | Jumps to next+arg*4 and yields this frame (loop back-edge / wait one frame). 553da0 | | 0x2c | `nop_0x2c` | - | 0 | 0 | | high | - | No-op (shared empty handler); unused. 426500 | | 0x2d | `nop_0x2d` | - | 0 | 0 | | high | - | No-op (shared empty handler); unused. 426500 | | 0x2e | `nop_0x2e` | - | 0 | 0 | | high | - | No-op (shared empty handler); unused. 426500 | -| 0x2f | `flagEC10000` | imm | 0 | 0 | 1888 | low | - | arg!=0 sets, 0 clears +0xEC bit 0x10000 (with 0x8000 both set the strat skips player-distance updates; property 0xf2 reads it); meaning unclear. 54f720 | +| 0x2f | `flagEC10000` | imm | 0 | 0 | 1888 | medium | - | arg!=0 sets, 0 clears +0xEC bit 0x10000 = "freeze when off-camera": the camera pass (FUN_00436190) sets +0xEC 0x8000 when the strat is outside the camera range; with both bits set the frame loop (0x54c603) and the strat-vs-strat collision loop (0x54cc1a) skip it. Used by ~1350 strats (pickups, triggers, enemies). 54f720 | | 0x30 | `trackPlayer` | imm | 0 | 0 | | medium | - | If no player yet: re-executes itself next frame (pc-=4, yield); else arg sets/clears +0xEC bit 0x4000 = update distance to player each frame (+0x148). 54fa80 | -| 0x31 | `flagEC2` | imm | 0 | 0 | 410 | low | - | arg sets/clears +0xEC bit 2 (checked by collision/floor code via +0xC0, readable as property 0x1f). 54e090 | -| 0x32 | `flagE8_80000000` | imm | 0 | 0 | | low | - | arg sets/clears +0xE8 bit 31; unused. 54dd90 | -| 0x33 | `flagEC100` | imm | 0 | 0 | 60 | low | - | arg sets/clears +0xEC bit 0x100 (tested in the collision response, skips floor handling; used by drops/projectiles/rollercoaster). 54dd30 | -| 0x34 | `flagEC200000` | imm | 0 | 0 | 50 | low | - | arg sets/clears +0xEC bit 0x200000 (used by NPC helpers/canoe/llama). 54dd60 | +| 0x31 | `flagEC2` | imm | 0 | 0 | 410 | medium | - | arg sets/clears +0xEC bit 2 = "others can stand on / touch me": in the strat collision loop (0x54cc96) a strat touching a strat with this bit gets +0xE8 0x400000 (and 0x800000 when it moves) = properties 32/33; also readable as property 0x1f. Set by Llama, Coin, Jar, EnemyCoin, RubyIdol. 54e090 | +| 0x32 | `flagE8_80000000` | imm | 0 | 0 | | medium | - | arg sets/clears +0xE8 bit 31; no reader of the bit found in the exe (scan of all +0xE8 flag tests); unused in the levels. 54dd90 | +| 0x33 | `flagEC100` | imm | 0 | 0 | 60 | medium | - | arg sets/clears +0xEC bit 0x100; the collision response (0x4044f7) skips the floor/slope handling when it is set. Used by LlamaSpit, DropObject, RollerCoaster, KuscoTurtle (objects that move by script, not by floor physics). 54dd30 | +| 0x34 | `flagEC200000` | imm | 0 | 0 | 50 | low | - | arg sets/clears +0xEC bit 0x200000; no direct test of the bit found in the exe (all +0xEC flag tests scanned). Used by Llama, RiverCroc, RiverLog, Rock, river NPCs (river/canoe level objects). 54dd60 | | 0x35 | `nop_0x35` | - | 0 | 0 | | high | - | No-op (shared empty handler); unused. 426500 | | 0x36 | `nop_0x36` | - | 0 | 0 | | high | - | No-op (shared empty handler); unused. 426500 | | 0x37 | `popPlayerProp` | playerProp | 1 | 0 | 1131 | high | - | Pops value and stores it into player property n (discarded if no player). 553920 | | 0x38 | `popCameraProp` | prop | 1 | 0 | 564 | high | - | Pops value into camera strat property n (discarded if none). 553950 | | 0x39 | `popTargetProp` | prop | 1 | 0 | 186 | medium | - | Pops value into camera target (DAT_006D9E30) property n (discarded if none). 553980 | | 0x3a | `popTarget2Prop` | prop | 1 | 0 | | medium | - | Pops value into DAT_006D9E34 strat property n (discarded if none); unused. 5539b0 | -| 0x3b | `popDialogProp` | prop | 1 | 0 | | low | - | Pops value into DAT_006D9E2C strat property n (discarded if none); unused. 5539e0 | +| 0x3b | `popDialogProp` | prop | 1 | 0 | | high | - | Pops a value into property n of the DAT_006D9E2C strat (discarded if none); unused. 5539e0 | | 0x3c | `error_0x3c` | - | 0 | 0 | | high | - | Prints "stCollide_AlienVar_Equals" not-implemented error; unused. 54d240 | -| 0x3d | `popBossProp` | prop | 1 | 0 | | low | - | Pops value into DAT_006D9E24 strat property n (no null check); unused. 553a10 | +| 0x3d | `popBossProp` | prop | 1 | 0 | | high | - | Pops a value into property n of the boss strat DAT_006D9E24 (no null check); unused. 553a10 | | 0x3e | `popParentVar` | var | 1 | 0 | 204 | high | - | Pops value into variable n of the +0xC strat. 553a40 | | 0x3f | `popParentProp` | prop | 1 | 0 | | high | - | Pops value into property n of the +0xC strat; unused. 553a60 | | 0x40 | `popProp` | prop | 1 | 0 | 15730 | high | - | Pops value into own property n (via FUN_005509F0 address). 553a90 | @@ -197,15 +208,15 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x84 | `collHeight` | - | 0 | 0 | | high | stCollHeight | Unimplemented: logs "stCollheight" only. 54d300 | | 0x85 | `collExtent` | - | 1 | 0 | | medium | stCollextent | pops extent; stores its low 16 bits raw into short +0xC4. 54e930 | | 0x86 | `collView` | - | 0 | 0 | | high | stCollView | Unimplemented: logs "stCollview" only. 54d320 | -| 0x87 | `nop_0x87` | - | 0 | 0 | | low | stCollPoints | Shared no-op handler (0x426500); unused. Slot of Croc2 stCollPoints. 426500 | -| 0x88 | `nop_0x88` | - | 0 | 0 | | low | stCollSetPoint | Shared no-op handler (0x426500); unused. Slot of Croc2 stCollSetPoint. 426500 | +| 0x87 | `nop_0x87` | - | 0 | 0 | | high | stCollPoints | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stCollPoints. 426500 | +| 0x88 | `nop_0x88` | - | 0 | 0 | | high | stCollSetPoint | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stCollSetPoint. 426500 | | 0x89 | `createTrigger` | - | 0 | 0 | 45 | medium | stCreateTrigger | Sets flag 0x40 in +0xE8 (strat becomes a trigger/touchable, used by pickups like Health, Carrot). 54e4c0 | | 0x8a | `killTrigger` | - | 0 | 0 | | medium | stKillTrigger | Clears flags 0x40 and 0x4000000 in +0xE8 (undoes createTrigger). 54e4b0 | | 0x8b | `wait` | - | 1 | 0 | 1671 | high | stWait | pops frames (fixed, >>12) into wait counter short +0xFE and sets flag 0x2 in +0xE8 (strat sleeps until the counter runs out). 54fb40 | | 0x8c | `hold` | - | 0 | 0 | 110 | medium | stHold | Sets flags 0x12 (0x2 wait + 0x10 stopped) in +0xE8: suspends the strat indefinitely until released. 54fce0 | | 0x8d | `release` | - | 0 | 0 | | high | stRelease | Unimplemented: logs "stRelease" only. 54d340 | | 0x8e | `remove` | - | 0 | 0 | 985 | high | stRemove | Sets flags 0x6 in +0xE8 (yield + kill); same handler as 0xb4 end. 5535e0 | -| 0x8f | `nop_0x8f` | - | 0 | 0 | | low | stMapRemove | Shared no-op handler (0x426500); unused. Slot of Croc2 stMapRemove. 426500 | +| 0x8f | `nop_0x8f` | - | 0 | 0 | | high | stMapRemove | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stMapRemove. 426500 | | 0x90 | `mapAdd` | - | 0 | 0 | | high | stMapAdd | Unimplemented: logs "stMapadd" only. 54d360 | | 0x91 | `mapReplace` | - | 0 | 0 | | high | stMapReplace | Unimplemented: logs "stMapreplace" only. 54d380 | | 0x92 | `activated` | - | 0 | 0 | | medium | stActivated | Sets bit 0x8 in byte +0x44 of the strat's map-instance record (+0xF0): marks the map object as activated (persistent state). 54db40 | @@ -218,8 +229,8 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x99 | `soundStop` | - | 1 | 0 | 209 | high | stSoundStop | pops sound channel; stops that channel if owned by this strat, or (channel <0/invalid) all sounds of this strat. 54e1c0 | | 0x9a | `musicPlay` | - | 1 | 0 | 108 | high | stCdPlay | pops music track index (fixed, >>12); if different from the current track (0x586430) starts that ASF music stream (FUN_00546b70). 54d4c0 | | 0x9b | `streamPlay` | - | 0 | 0 | | high | - | Unimplemented: logs "stStreamPlay" only. 54d3e0 | -| 0x9c | `speechSetPos` | - | 1 | 0 | 31 | low | - | pops a value (fixed, >>12) into global 0x6DA2B8 (meaning unknown, likely speech volume/range) and moves the speech/voice stream (handle 0x6D94B4, started by '#' text) to this strat's position. 54d530 | -| 0x9d | `discard_0x9d` | - | 1 | 0 | 28 | low | stMidiVolume | pops a value (>>12) and passes it to the no-op debug print; effectively drop. Croc2 slot midiVolume/cdFade. 54d4f0 | +| 0x9c | `speechSetPos` | - | 1 | 0 | 31 | high | - | Pops a value into global 0x6DA2B8 (written only, never read: no effect) and moves the speech/voice channel (DAT_006D94A0, started by "#" texts) to this strat's position (+0x30..0x38), so the voice plays from the speaker. 54d530 | +| 0x9d | `discard_0x9d` | - | 1 | 0 | 28 | high | stMidiVolume | Pops a value (>>12) and passes it to the empty function 0x426500: a pure drop on PC. Croc2 slot midiVolume/cdFade. 54d4f0 | | 0x9e | `speechStop` | - | 0 | 0 | 141 | high | stMidiStop | Stops the current speech/voice stream (handle 0x6D94B4) if one is playing and resets the handle to -1. 54d510 | | 0x9f | `streamQueue` | - | 0 | 0 | | high | stMidiQueue | Unimplemented: logs "stStreamQueue" only. 54d400 | | 0xa0 | `isLight` | - | 0 | 0 | | high | stIsLight | Unimplemented: logs "stIsLight" only. 54d420 | @@ -239,7 +250,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0xae | `cos` | - | 1 | 1 | 3149 | high | stCos | pops angle; pushes cos (table 0x574318 offset by quarter turn 0x400). 54e810 | | 0xaf | `not` | - | 1 | 1 | 4952 | high | stNot | pops x; pushes 1 if x==0 else 0. 54fc20 | | 0xb0 | `pop` | - | 1 | 0 | | high | stPop | Drops the top stack value (stack pointer +0x104 -= 4). 553dd0 | -| 0xb1 | `stkCmp` | imm | 0 | 1 | | low | stStkCmp | Peeks (does not pop) the top stack entry, dereferences it as a pointer and pushes imm minus the pointed-to int (compare helper). 553de0 | +| 0xb1 | `stkCmp` | imm | 0 | 1 | | high | stStkCmp | Reads one inline word imm (pc += 4), peeks the top stack entry (no pop), dereferences it as an int pointer and pushes imm − *top. Unused in the levels. 553de0 | | 0xb2 | `address` | addr | 0 | 1 | 7890 | high | stAddress | Patches itself into 0x45 (push immediate) after resolving the operand to an absolute address (negative = import table 0x6DA324, else + STPC base 0x6D9DBC) and pushes it (code/model/anim address). 553630 | | 0xb3 | `return` | - | 1 | 0 | 4974 | high | stReturn | pops code address and jumps there (pc = popped). 5537d0 | | 0xb4 | `end` | - | 0 | 0 | 2006 | high | stEndStrat | Sets flags 0x6 in +0xE8 (yield + kill): ends the strat. Same handler as 0x8e. 5535e0 | @@ -249,36 +260,36 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0xb8 | `bitwiseAnd` | - | 2 | 1 | 6814 | high | stBitwiseAnd | pops b, a; pushes a & b. 552e30 | | 0xb9 | `discard_0xb9` | - | 1 | 0 | | medium | - | Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 ext-var slots). 554fb0 | | 0xba | `discard_0xba` | - | 1 | 0 | | medium | - | Shared stub 0x554fb0: pops one value and discards it. Unused. 554fb0 | -| 0xbb | `nop_0xbb` | - | 0 | 0 | | low | - | Shared no-op handler (0x426500); unused. 426500 | +| 0xbb | `nop_0xbb` | - | 0 | 0 | | high | - | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. 426500 | | 0xbc | `notEqual` | - | 2 | 1 | 2576 | high | stNotEqual | pops b, a; pushes 1 if a != b else 0. 54fbd0 | | 0xbd | `greaterEqual` | - | 2 | 1 | 1169 | high | stGreaterEqual | pops b, a; pushes 1 if a >= b else 0. 553b80 | | 0xbe | `lessEqual` | - | 2 | 1 | 2129 | high | stLessEqual | pops b, a; pushes 1 if a <= b else 0. 553b50 | | 0xbf | `rnd` | - | 1 | 1 | 4990 | high | stRnd | pops n; pushes random value (two rand() halves) modulo n, 0 if n==0; result is in the same units as n (fixed in, fixed out). 54f960 | | 0xc0 | `loseHeart` | - | 0 | 0 | 219 | high | stLoseHeart | In game state 3, unless player invulnerable (0x584710 bit 0): health 0x584E70 -= 1.0, or if already 0 sets 0x584638 = 2 (player dies); refreshes HUD (FUN_004268c0(1)). 54f5c0 | -| 0xc1 | `nop_0xc1` | - | 0 | 0 | | low | stResettoCheckPoint | Shared no-op handler (0x426500); unused. Croc2 slot stResettoCheckPoint. 426500 | +| 0xc1 | `nop_0xc1` | - | 0 | 0 | | high | stResettoCheckPoint | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stResettoCheckPoint. 426500 | | 0xc2 | `forceCollision` | - | 0 | 0 | 1619 | medium | stForceCollision | Runs world collision for this strat (FUN_00403020 with level geometry): updates floor/ceiling/wall info in the collision block +0xC0 (ground height, surface type). 54e9c0 | | 0xc3 | `turnFromPlayerY` | - | 1 | 0 | | medium | stTurnFromPlayerY | pops max turn step (angle, 0x1000000 = full turn); turns yaw +0x24 toward the direction from the player (0x6D9E1C) to this strat, i.e. away from the player, by at most step. 54f1c0 | -| 0xc4 | `rumble` | - | 2 | 0 | 93 | low | stRumble | Shared stub 0x555090: pops two values and discards them (PSX pad rumble/vibrate not implemented on PC). 555090 | -| 0xc5 | `suspendIfTooFar` | - | 1 | 0 | 232 | low | stSuspendIfTooFar | Shared stub 0x554fb0: pops one value (likely distance) and discards it. 554fb0 | +| 0xc4 | `rumble` | - | 2 | 0 | 93 | high | stRumble | Shared stub 0x555090: pops two values and discards them (PSX pad rumble is not implemented on PC). 555090 | +| 0xc5 | `suspendIfTooFar` | - | 1 | 0 | 232 | high | stSuspendIfTooFar | Shared stub 0x554fb0: pops one value (distance) and discards it – no effect on PC (op 0x2f gives the off-camera freeze instead). 554fb0 | | 0xc6 | `collisionBone` | - | 2 | 0 | 90 | medium | stCollisionBone | pops value (short), then bone id (fixed, >>12); sets/adds entry {id, value} in the bone table at +0xC8 (count +0xC6). 54e6c0 | -| 0xc7 | `useBone` | - | 1 | 0 | 345 | low | stUseBone | pops one value (ignored); if a model/anim is set (+0x14) rebuilds the rotation matrix and stores a transformed point (matrix * local vector + translation +0x94) into +0xD8/+0xDC/+0xE0. 54e4d0 | +| 0xc7 | `useBone` | - | 1 | 0 | 345 | high | stUseBone | Pops bone n (>>12); if the strat has an animated model (+0x14) it takes bone n of the current animation frame (+0x110; anim+0x1C frame table, 64 bytes per bone, offset +0x30..0x38 = bone position), rotates it by the strat's rotation matrix and adds the position: world point in +0xD8/+0xDC/+0xE0 = properties boneX/Y/Z. (The Ghidra C output drops the bone index; read from the assembly.) Used to spawn effects at hands/mouths. 54e4d0 | | 0xc8 | `isCamera` | - | 0 | 0 | 34 | high | stIsCamera | Registers this strat as the camera (global 0x6D9E28) and sets flag 0x8000000 in +0xE8. 5500f0 | | 0xc9 | `lookAtMe` | - | 0 | 0 | 86 | high | stLookatme | Sets camera look-at target global 0x6D9E30 = this strat. 5500e0 | | 0xca | `lookAtMe2` | - | 0 | 0 | | medium | stLookatme | Sets secondary look-at global 0x6D9E34 = this strat. Unused. 5500d0 | | 0xcb | `pushCamera` | - | 0 | 0 | | high | stPushCamera | Pushes current camera (0x6D9E28) and look-at (0x6D9E30) pair onto the camera stack 0x6D9DCC (index 0x6D9E40). 54dbb0 | | 0xcc | `popCamera` | - | 0 | 0 | | high | stPopCamera | If the camera stack is not empty, restores camera and look-at from it and increments camera-change counter 0x6D9D34. 54db00 | -| 0xcd | `nop_0xcd` | - | 0 | 0 | | low | stResetCamerapos | Shared no-op handler (0x426500); unused. Croc2 slot stResetCamerapos. 426500 | +| 0xcd | `nop_0xcd` | - | 0 | 0 | | high | stResetCamerapos | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stResetCamerapos. 426500 | | 0xce | `gainHeart` | - | 0 | 0 | 94 | high | stGainHeart | Health 0x584E70 += 1.0 if below max 0x584E6C; refreshes HUD (FUN_004268c0(1)). 54f650 | -| 0xcf | `nop_0xcf` | - | 0 | 0 | | low | stGainHeartPot | Shared no-op handler (0x426500); unused. Croc2 slot stGainHeartPot. 426500 | +| 0xcf | `nop_0xcf` | - | 0 | 0 | | high | stGainHeartPot | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stGainHeartPot. 426500 | | 0xd0 | `addInv` | imm | 0 | 0 | | medium | stAddInv | Adds inline item to inventory via FUN_00426860(item,1,1,0,0), which is a stub returning 0 on PC (no effect). 54da00 | -| 0xd1 | `nop_0xd1` | - | 0 | 0 | | low | stGainCrystal | Shared no-op handler (0x426500); unused. Croc2 slot stGainCrystal. 426500 | -| 0xd2 | `discard_0xd2` | - | 1 | 0 | | low | stCutscene | Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 slot stCutscene). 554fb0 | +| 0xd1 | `nop_0xd1` | - | 0 | 0 | | high | stGainCrystal | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stGainCrystal. 426500 | +| 0xd2 | `discard_0xd2` | - | 1 | 0 | | high | stCutscene | Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 slot stCutscene). 554fb0 | | 0xd3 | `inventory` | imm | 0 | 1 | | medium | stInventory | Queries inline item via stub FUN_00426860 and pushes result<<12 (always 0 on PC). 54d9d0 | | 0xd4 | `debugName` | imm,count | 0 | 0 | 1804 | high | stDebugname | Strat name: skips the first inline word, reads the byte length of the following name string, sets the name pointer (+0x18) to that string and jumps past it. 553ef0 | | 0xd5 | `soundPlay` | - | 1 | 0 | 1835 | high | stSoundPlay | pops sound id; plays it on this strat (FUN_00546170); outside game states 3/4 first sets game state 0x5846E4 = 5. 54e230 | | 0xd6 | `soundPlayAss` | - | 1 | 1 | 288 | high | stSoundPlayass | pops sound id; in game states 3/4 plays it and pushes the channel (raw int), else pushes -1. 54e1e0 | | 0xd7 | `soundAddress` | sound | 0 | 1 | 2996 | high | stSoundAddress | Pushes the inline sound id (same handler as 0x45 push immediate). 5535f0 | -| 0xd8 | `nop_0xd8` | - | 0 | 0 | | low | stOnground | Shared no-op handler (0x426500); unused. Croc2 slot stOnground/stObjectFallslow. 426500 | +| 0xd8 | `nop_0xd8` | - | 0 | 0 | | high | stOnground | Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stOnground/stObjectFallslow. 426500 | | 0xd9 | `collisionOffset` | - | 3 | 0 | 403 | high | stCollisionOffset | pops z, y, x; stores low 16 bits into shorts +0xD0, +0xCE, +0xCC (collision centre offset). 54e050 | | 0xda | `abs` | - | 1 | 1 | 1847 | high | stAbs | pops x; pushes \|x\|. 5508d0 | | 0xdb | `pickup` | imm | 0 | 0 | | medium | stPickup | inline flag: nonzero sets bit 0x200 in +0xEC, zero clears it (strat can be picked up/carried). 54dd00 | @@ -304,7 +315,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0xef | `isBoss` | - | 0 | 0 | | high | stIsboss | registers this strat as the boss: DAT_006d9e24 = self 550130 | | 0xf0 | `topSay` | text | 0 | 0 | 1308 | high | stTopsay | shows dialog text (inline text index) in the top text box: sets DAT_006d9858=1 and formats via FUN_0040d4c0 40d480 | | 0xf1 | `getParentPos` | - | 0 | 0 | 48 | high | stGetparentpos | copies parent's (+0xC) orientation+position block (+0x20..+0x3C, 8 words) into this strat 54e030 | -| 0xf2 | `setDrawMode` | - | 1 | 0 | | low | - | pops mode (raw int): 1 sets flag 0x80000 in +0xEC, 2 sets 0x100000, other clears both (exact effect of the bits unknown); unused 54fe40 | +| 0xf2 | `setDrawMode` | - | 1 | 0 | | low | - | Pops mode (raw int): 1 sets +0xEC 0x80000, 2 sets 0x100000, anything else clears both; no reader of these two bits found in the exe; unused in the levels. 54fe40 | | 0xf3 | `afterBoss` | - | 0 | 0 | | high | stAfterboss | if no boss (DAT_006d9e24) rewinds pc and yields (waits); else relinks this strat in the process list right after the boss 553290 | | 0xf4 | `afterPlayer` | - | 0 | 0 | 144 | high | stAfterPlayer | if no player (DAT_006d9e1c) rewinds pc and yields (waits); else relinks this strat in the process list right after the player 553380 | | 0xf5 | `beforePlayer` | - | 0 | 0 | 22 | high | stBeforePlayer | if no player rewinds pc and yields (waits); else relinks this strat in the process list right before the player 553300 | @@ -325,7 +336,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x104 | `moveDownQ` | - | 1 | 0 | 314 | high | stMoveDownq | pops distance (fixed); y(+0x34) -= d 550940 | | 0x105 | `forcePlayerDist` | - | 0 | 0 | | high | stForcePlayerdist | recomputes the cached squared player distance +0x148 (coords >>6) and clears +0x1C; 0x200000 if no player; unused 54e950 | | 0x106 | `nop_0x106` | - | 0 | 0 | | high | stShadeType? | no-op handler FUN_00426500 (does nothing, no inline operands); unused 426500 | -| 0x107 | `setAnimSpeed` | - | 1 | 0 | 645 | low | stSetanimSpeed? | pops value and stores its low 16 bits (raw, not >>12) in halfword +0x114 (animation timing field, zeroed when the anim frame is set) 54d880 | +| 0x107 | `setAnimSpeed` | - | 1 | 0 | 645 | high | stSetanimSpeed? | Pops the animation speed (20.12, 1.0 = one animation frame per game frame) into halfword +0x114; while animating (+0xE8 bit 8) the frame loop adds it to the sub-frame counter +0x116 and advances the frame (+0x110) each time it passes 1.0 (0x54c630). WAD use: 1.0, 0.25, 1.5 and computed values. 54d880 | | 0x108 | `nop_0x108` | - | 0 | 0 | | high | stCheckleveldoor? | no-op handler FUN_00426500 (does nothing, no inline operands); unused 426500 | | 0x109 | `nop_0x109` | - | 0 | 0 | | high | - | no-op handler FUN_00426500 (does nothing, no inline operands); unused 426500 | | 0x10a | `nop_0x10a` | - | 0 | 0 | | high | - | no-op handler FUN_00426500 (does nothing, no inline operands); unused 426500 | @@ -392,7 +403,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x147 | `nop_0x147` | - | 0 | 0 | | high | - | Empty handler FUN_00426500 (shared no-op); does nothing. 426500 | | 0x148 | `gotoLevel4_1` | - | 0 | 0 | | medium | - | Hardcoded level change: next level (0x584EB4/EB8/EBC/EC0) = 4/1/1/0, previous level (0x585008..14) = 4/1/4/0, game state 0x584638 = 7 (load level). 54e430 | | 0x149 | `nop_0x149` | - | 0 | 0 | | high | - | Empty handler FUN_00426500 (shared no-op); does nothing. 426500 | -| 0x14a | `hudReset2` | - | 0 | 0 | | low | - | Calls HUD/panel init FUN_004268c0(2): re-initialises the on-screen counter panels (coins, lives, etc.) for the current level. 54f700 | +| 0x14a | `hudReset2` | - | 0 | 0 | | high | - | Calls FUN_004268c0(2), which returns at once for any argument other than 0 (verified in the assembly): a no-op. Unused. 54f700 | | 0x14b | `setGlobal5fd086` | imm | 0 | 0 | | medium | - | Stores the low 16 bits of the inline word in global 0x5FD086 (never read elsewhere; dead leftover). 54e890 | | 0x14c | `removeCollPoint` | - | 1 | 0 | 49 | medium | stSetCollPoint (inverse) | pops id (fixed, >>12); removes the collision point with that id from the strat's collision point list (+0xC8 array of 4-byte entries, count +0xC6). Counterpart of 0xc6 (add/set collision point). 54e720 | | 0x14d | `setFlagEC_400000` | flags | 0 | 0 | | high | - | Inline word: nonzero sets, zero clears bit 0x400000 of strat flags2 (+0xEC); the bit selects which height constant own property 0xF2 returns. 54f780 | @@ -410,7 +421,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x159 | `nop_0x159` | - | 0 | 0 | | high | - | Empty handler FUN_00426500 (shared no-op); does nothing. 426500 | | 0x15a | `setPosToPlayer` | - | 0 | 0 | 27 | high | - | Copies the player's position x/y/z (+0x30..+0x38) and +0x3C into the strat (player strat = 0x6D9E1C). 554480 | | 0x15b | `setPosToPlayerXZ` | - | 0 | 0 | | high | - | Copies the player's x and z (+0x30, +0x38) into the strat; y unchanged. 5544b0 | -| 0x15c | `setShadowHeight` | - | 1 | 0 | 1 | low | - | pops v; stores it in strat +0x14C, used by the shadow renderer as the shadow/ground height override (-0x1000 = use default 0x586424). 5544d0 | +| 0x15c | `setShadowHeight` | - | 1 | 0 | 1 | medium | - | Pops v into +0x14C, the water/floor height limit used by the shadow pass (FUN_00555140: -0x1000 = use the camera-cell floor height DAT_00586424, prop camFloorHeight); the shadow is skipped when the floor under the strat lies below it. One use (SinkingStatuePad). 5544d0 | | 0x15d | `packRgb` | - | 3 | 1 | 98 | high | - | pops c (top), b, a (fixed 0..255); pushes (c<<16)\|(b<<8)\|a as a raw packed colour int (push order r,g,b gives 0x00BBGGRR). 5544f0 | | 0x15e | `trailCreate` | - | 2 | 1 | 6 | medium | - | pops vertB (top), vertA (fixed vertex indices of the strat's model/anim frame); allocates a free trail/ribbon slot (0x5FD180, 0x42C bytes each) owned by this strat and pushes its handle (0 if none free). 554530 | | 0x15f | `trailAddPoint` | - | 3 | 0 | 6 | medium | - | pops colourB (top), colourA, trail handle; transforms the two trail vertices of the current anim frame into world space and appends them to the trail history (20 points) with the given colours; no-op if handle 0. 5545c0 | @@ -456,8 +467,8 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x187 | `emitterInit` | - | 7 | 0 | 113 | medium | stSpawnparticle | pops colour/texture (top, raw), z, y, x (vector/offset), type (fixed 1..0x2B preset, or >=0x1000 type flags), size/speed (fixed, 0x1000 default), slot (0..2, >=3 = extra slot +0x153); (re)initialises the strat's particle emitter in that slot (records at 0x5FE230, 0x34 bytes; texture/colour stored per type). 552f40 | | 0x188 | `emitParticles` | - | 3 | 0 | | medium | - | pops yStep (top, fixed), count, slot; emits count particles from the slot's emitter at own position with random XZ velocity, each raised by yStep. 552fb0 | | 0x189 | `randSigned` | - | 1 | 1 | 922 | high | - | pops n; pushes a random value in (-n, n) ((rand32 - rand32) % n, same fixed scale as n). 54f9a0 | -| 0x18a | `emitterSetParams` | - | 5 | 0 | 113 | low | - | pops e (top), d, c, b, slot; sets emitter slot params: +0x254 = b (rate/speed), +0x24A = c>>12 (life); if e==0 +0x25C = (d>>12)*32-32 else +0x246 = e, +0x23C = d. Allocates the slot if empty. 5530b0 | -| 0x18b | `emitterSetColour` | - | 5 | 0 | 9 | low | - | pops colour (top, raw packed, see 0x15d), b, g, r, slot; sets emitter colour (+0x250) and fade/alpha (+0x240..243): if r has no fraction it is an alpha value only, else r,g,b are per-channel fade values. 553100 | +| 0x18a | `emitterSetParams` | - | 5 | 0 | 113 | medium | - | Pops e (top), d, c, b, slot (>>12): pending particle settings of this strat (slot 0–2 → record index at strat+0x150+slot, ≥3 → +0x153, record allocated on demand in the 0x34-byte table 0x5FE23C): b = size scale (1.0 = default), c>>12 = extra lifetime in frames, e≠0: +0x246 = e (drift), +0x23C = d; e==0: +0x25C = (d>>12)*32-32 (sprite size). spawnParticle consumes and resets the +0x153 record; same as spawnParticle type 0x19. 5530b0 | +| 0x18b | `emitterSetColour` | - | 5 | 0 | 9 | medium | - | Pops colour (top, raw packed, see 0x15d), b, g, r, slot: pending particle colour for the next particle(s) of this strat (record as 0x18a; same as spawnParticle type 0x1e): +0x250 = colour; r without fraction = alpha r>>12 (7 bits), else r,g,b>>12 = per-channel fade, +0x243 = 0x80; alpha 0 = 0xFF/lifetime. 553100 | | 0x18c | `emitParticlesStill` | - | 3 | 0 | 50 | medium | - | pops yStep (top, raw fixed), count, slot; emits count particles from the slot's emitter at own position without velocity, stacked by yStep. 552ff0 | | 0x18d | `stubPop2_0x18d` | - | 2 | 0 | | high | - | Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). 555090 | | 0x18e | `stubPop2_0x18e` | - | 2 | 0 | | high | - | Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). 555090 | @@ -487,7 +498,7 @@ ops = operands (inline words for long ops, the 16-bit argument for short ops); p | 0x1a6 | `emitterKill` | - | 1 | 0 | | high | - | pops slot (fixed); frees the strat's particle emitter in that slot (+0x150+slot = 0xFF) and resets the record. 553150 | | 0x1a7 | `stubPush0_0x1a7` | - | 0 | 1 | | high | - | Stub FUN_0054e880: pushes 0. 54e880 | | 0x1a8 | `processFirst` | - | 0 | 0 | 1 | high | - | Moves self to the head of the strat update list (0x6D9E38) if not already there. 554e20 | -| 0x1a9 | `setRain` | - | 4 | 0 | 4 | low | - | pops colour (top, raw -> 0x6D9BE8), b (->0x578EF4), a2 (->0x6D9BF4), a1 (->0x578EF0) (all >>12); if the three counts/params are 0 rain is stopped and cleared, else rain is enabled (0x6D9BE4 = 1). 554fc0 | +| 0x1a9 | `setRain` | - | 4 | 0 | 4 | medium | - | Weather: pops texture (top, raw tex index → 0x6D9BE8, read by the rain renderer), windZ (>>12 → 0x578EF4), c (>>12 → 0x6D9BF4, only used for the off test), windX (>>12 → 0x578EF0); each raindrop restarts with velocity (windX, -256, windZ) per frame. windX, c, windZ all 0 = rain off (drops cleared, 0x6D9BE4 = 0), else on. Rain type: setRain(v0, v1, v2, tex:768) with params 16.0, 0, 16.0. 554fc0 | | 0x1aa | `stubPop1Push0_0x1aa` | - | 1 | 1 | | high | - | Stub FUN_005550b0: pops 1 value and pushes 0. 5550b0 | | 0x1ab | `stubPop2_0x1ab` | - | 2 | 0 | | high | - | Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). 555090 | | 0x1ac | `stubPop1Push0_0x1ac` | - | 1 | 1 | | high | - | Stub FUN_005550b0: pops 1 value and pushes 0. 5550b0 | diff --git a/src/main/java/com/eliasmueller/llamamod/editor/model/StratCatalog.java b/src/main/java/com/eliasmueller/llamamod/editor/model/StratCatalog.java index 2ad14f2..6815d1e 100644 --- a/src/main/java/com/eliasmueller/llamamod/editor/model/StratCatalog.java +++ b/src/main/java/com/eliasmueller/llamamod/editor/model/StratCatalog.java @@ -74,6 +74,20 @@ public final class StratCatalog { names.putIfAbsent(code, name); } + /** Removes a type and the names of its variants' codes (custom types being rebuilt). */ + public void remove(String name) { + Type t = types.remove(name); + if (t != null) { + t.variants.forEach(v -> names.remove(v.code, name)); + } + codeOnly.remove(name); + } + + /** Forgets the name of a code offset. */ + public void removeName(int code) { + names.remove(code); + } + /** Placeable types, sorted by name. */ public List types() { return List.copyOf(types.values()); diff --git a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/ScriptPanel.java b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/ScriptPanel.java index 34301f4..5aadd72 100644 --- a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/ScriptPanel.java +++ b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/ScriptPanel.java @@ -97,6 +97,23 @@ final class ScriptPanel extends JPanel { "duplicate", "Copy this type into a custom type and edit its script", () -> TypeDialog.showClone(ctx, primaryType()))); + row2.add(Widgets.button("Edit type…", null, "Edit the script of this custom type (undoable)", () -> { + int k = customIndex(); + if (k < 0) { + status.setText("Only custom types can be edited – use Clone as new type… for original types"); + } else { + TypeDialog.showEdit(ctx, k); + } + })); + row2.add(Widgets.button( + "Delete type…", "delete", "Delete this custom type (warns about objects using it)", () -> { + int k = customIndex(); + if (k < 0) { + status.setText("Only custom types can be deleted"); + } else { + TypeDialog.delete(ctx, k); + } + })); JPanel top = new JPanel(new java.awt.GridLayout(2, 1)); top.add(row1); top.add(row2); @@ -148,6 +165,11 @@ final class ScriptPanel extends JPanel { reload(); } + private int customIndex() { + Scene s = ctx.scene(); + return s == null || listing == null ? -1 : StratEdits.customIndex(s, listing.unit); + } + private int selectedUnit() { UnitItem u = (UnitItem) units.getSelectedItem(); return u == null ? -1 : u.unit; @@ -172,7 +194,7 @@ final class ScriptPanel extends JPanel { RawChunk c = s == null ? null : StratEdits.chunk(s); if (s != shownScene || c == null || c.data() != shownData) { int keep = list.getSelectedIndex(); - int u = selectedUnit(); + int u = listing != null ? listing.unit : selectedUnit(); reloadUnits(); if (u >= 0) { selectUnit(u); @@ -501,7 +523,7 @@ final class ScriptPanel extends JPanel { return; } if (StratEdits.isCustomUnit(ctx.scene(), listing.unit)) { - status.setText("Custom types are edited through their source: clone it again with the changed script"); + status.setText("Custom types are edited through their source: Edit type…"); return; } Map changes = ConstantDialog.show(ctx, r.consts); diff --git a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratEdits.java b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratEdits.java index 54c87ca..0261140 100644 --- a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratEdits.java +++ b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratEdits.java @@ -519,9 +519,14 @@ public final class StratEdits { /** Assembles a type's source as a new unit appended to the scene's code and verifies it. */ public static Built build(Scene s, CustomType t) { Analysis a = analysis(s); - byte[] old = a.img.data; + return build(a.img.data, s.settings().wfpc(), a.entries, t); + } + + /** Assembles a type's source as a new unit appended to the STPC data old and verifies it. */ + static Built build(byte[] old, int wfpc, Set entries, CustomType t) { + StpcImage img0 = new StpcImage(old, wfpc); int base = old.length + 4; - StratAssembler.Result r = StratAssembler.assemble(t.source, StratListing.layout(a.img, base)); + StratAssembler.Result r = StratAssembler.assemble(t.source, StratListing.layout(img0, base)); Integer e = r.labels().get(t.entryLabel); if (e == null) { throw new IllegalArgumentException("entry label " + t.entryLabel + " not found in the source"); @@ -530,20 +535,20 @@ public final class StratEdits { byte[] d = new byte[old.length + 4 + words.length]; System.arraycopy(old, 0, d, 0, old.length); int n = words.length / 4; - d[old.length] = (byte) n; - d[old.length + 1] = (byte) (n >> 8); - d[old.length + 2] = (byte) (n >> 16); - d[old.length + 3] = (byte) (n >> 24); + putInt(d, old.length, n); System.arraycopy(words, 0, d, old.length + 4, words.length); - int nu = Bytes.i32(d, a.img.codeStart) + 1; - d[a.img.codeStart] = (byte) nu; - d[a.img.codeStart + 1] = (byte) (nu >> 8); - d[a.img.codeStart + 2] = (byte) (nu >> 16); - d[a.img.codeStart + 3] = (byte) (nu >> 24); - List problems = verify(d, s.settings().wfpc(), a.entries, base, base + e, r); + putInt(d, img0.codeStart, Bytes.i32(d, img0.codeStart) + 1); + List problems = verify(d, wfpc, entries, base, base + e, r); return new Built(d, base, base + e, r, problems); } + private static void putInt(byte[] d, int o, int v) { + d[o] = (byte) v; + d[o + 1] = (byte) (v >> 8); + d[o + 2] = (byte) (v >> 16); + d[o + 3] = (byte) (v >> 24); + } + /** * Re-disassembly of the merged code: no decode errors, the new unit's listing assembles back * to the same words, and every address operand of the new unit hits a model, an animation set @@ -637,6 +642,154 @@ public final class StratEdits { return code; } + /** Why the custom types of a scene cannot be rebuilt in place (null = they can). */ + public static String rebuildBlocker(Scene s) { + State st = state(s); + if (st.firstCustom >= 0 && st.firstCustom + st.customEntries.size() != units(s)) { + return "object types were imported after the custom types – save and reopen the project first"; + } + return null; + } + + /** STPC data of a scene without its custom units. */ + private static byte[] withoutCustom(Scene s) { + State st = state(s); + Analysis a = analysis(s); + if (st.firstCustom < 0) { + return a.img.data; + } + int cut = a.img.units.get(st.firstCustom).start() - 4; + byte[] d = java.util.Arrays.copyOf(a.img.data, cut); + putInt(d, a.img.codeStart, Bytes.i32(d, a.img.codeStart) - st.customEntries.size()); + return d; + } + + /** + * Problems of a new list of custom types for a scene (assembled one after another behind the + * base code, as on load); null when all of them assemble and verify. index = the type to report + * words for (out[0], −1 = none). + */ + public static List checkTypes(Scene s, List types, int index, int[] words) { + String blocker = rebuildBlocker(s); + if (blocker != null) { + return List.of(blocker); + } + byte[] d = withoutCustom(s); + Set entries = new TreeSet<>(analysis(s).entries); + entries.removeIf(o -> o >= d.length); + byte[] cur = d; + for (int i = 0; i < types.size(); i++) { + CustomType t = types.get(i); + Built x = build(cur, s.settings().wfpc(), entries, t); + if (!x.problems.isEmpty()) { + return x.problems.stream().map(m -> t.name + ": " + m).toList(); + } + if (i == index && words != null) { + words[0] = x.asm.words().length; + } + entries.add(x.entry); + for (int v : x.asm.strats().values()) { + entries.add(x.base + v); + } + cur = x.stpc; + } + return null; + } + + /** + * Replaces the custom types of reference and scene by types (the custom units are cut off the + * code and the new ones appended); objects of old type k move to the entry of type remap[k] + * (objects of a type mapped to −1 must have been removed). Records the list in the project. + */ + static void setTypes(Project p, List types, int[] remap) { + for (Scene s : List.of(p.reference(), p.scene())) { + List problems = checkTypes(s, types, -1, null); + if (problems != null) { + throw new IllegalStateException(String.join("; ", problems)); + } + } + for (Scene s : List.of(p.reference(), p.scene())) { + Runnable r = () -> rebuild(s, types, remap); + if (s == p.scene()) { + s.bulk(r); + } else { + r.run(); + } + } + Records rec = Records.of(p.extra()); + new Records(rec.constants, List.copyOf(types)).store(p.extra(), session(p.scene())); + } + + private static void rebuild(Scene s, List types, int[] remap) { + State st = state(s); + List oldEntries = new ArrayList<>(st.customEntries); + Analysis a = analysis(s); + int from = st.firstCustom < 0 + ? a.img.data.length + : a.img.units.get(st.firstCustom).start() - 4; + int to = a.img.data.length; + List oldUnitOf = new ArrayList<>(), oldCode = new ArrayList<>(); + for (Strat x : s.strats()) { + boolean custom = x.code() >= from && x.code() < to; + oldUnitOf.add(custom ? a.img.unitOf(x.code()) - st.firstCustom : -1); + oldCode.add(x.code()); + if (custom) { + s.set(x, "code", 0); // keep stale codes out of the analysis roots while appending + } + } + byte[] cut = withoutCustom(s); + StratCatalog cat = s.catalog(); + for (var e : List.copyOf(cat.names().entrySet())) { + if (e.getKey() >= from && e.getKey() < to) { + StratCatalog.Type t = cat.type(e.getValue()); + if (t != null && t.variants().stream().allMatch(v -> v.code() >= from && v.code() < to)) { + cat.remove(e.getValue()); + } + cat.removeName(e.getKey()); + } + } + chunk(s).setRaw("data", cut); + st.firstCustom = -1; + st.customEntries.clear(); + for (CustomType t : types) { + appendType(s, t, false); + } + List strats = List.copyOf(s.strats()); + for (int i = 0; i < strats.size(); i++) { + int k = oldUnitOf.get(i); + if (k < 0) { + continue; + } + Strat x = strats.get(i); + int nk = k < remap.length ? remap[k] : -1; + if (nk < 0 || nk >= st.customEntries.size()) { + throw new IllegalStateException(x.id() + " still uses a removed custom type"); + } + int oldEntry = oldEntries.get(k); + // objects placed at the entry follow the entry; other codes keep their offset in the unit + int c0 = oldCode.get(i); + int code = c0 == oldEntry ? st.customEntries.get(nk) : c0 - oldEntry + st.customEntries.get(nk); + s.set(x, "code", code); + } + } + + /** Objects of the scene whose code lies in custom type index k's unit. */ + public static List users(Scene s, int k) { + State st = state(s); + Analysis a = analysis(s); + List out = new ArrayList<>(); + if (st.firstCustom < 0 || k < 0 || k >= st.customEntries.size()) { + return out; + } + int unit = st.firstCustom + k; + for (Strat x : s.strats()) { + if (a.img.unitOf(x.code()) == unit) { + out.add(x); + } + } + return out; + } + /** Current position of the custom units (for remapping codes on load), or null. */ static Map session(Scene s) { State st = state(s); diff --git a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratsEditorPlugin.java b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratsEditorPlugin.java index 9c6aba2..61ca70c 100644 --- a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratsEditorPlugin.java +++ b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/StratsEditorPlugin.java @@ -123,10 +123,17 @@ public final class StratsEditorPlugin implements EditorPlugin { JPanel p = new JPanel(new BorderLayout(6, 0)); p.setBorder(BorderFactory.createEmptyBorder(4, 6, 4, 6)); p.add(new JLabel(info, Icons.get("script", 16), JLabel.LEADING), BorderLayout.CENTER); - p.add( - Widgets.button( - "Open script", null, "Show and edit this type's strat script", () -> ctx.showPanel(PANEL)), - BorderLayout.EAST); + JPanel buttons = new JPanel(new java.awt.FlowLayout(java.awt.FlowLayout.TRAILING, 4, 0)); + int k = a == null || a.img().unitOf(s.code()) < 0 + ? -1 + : StratEdits.customIndex(s.scene(), a.img().unitOf(s.code())); + if (k >= 0) { + buttons.add(Widgets.button( + "Edit type…", null, "Edit this custom type's script", () -> TypeDialog.showEdit(ctx, k))); + } + buttons.add(Widgets.button( + "Open script", null, "Show and edit this type's strat script", () -> ctx.showPanel(PANEL))); + p.add(buttons, BorderLayout.EAST); return p; } } diff --git a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeDialog.java b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeDialog.java index 0ca1616..bf35c9a 100644 --- a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeDialog.java +++ b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeDialog.java @@ -5,6 +5,7 @@ import com.eliasmueller.llamamod.editor.model.Scene; import com.eliasmueller.llamamod.editor.model.StratCatalog; import com.eliasmueller.llamamod.editor.ui.EditorContext; import com.eliasmueller.llamamod.format.strat.StratAssembler; +import com.eliasmueller.llamamod.format.strat.StratCompiler; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; @@ -42,6 +43,18 @@ final class TypeDialog { end """; + static final String SCRIPT_TEMPLATE = + """ + // A custom strat in the script language (manual chapter "Strat scripts"). + strat MyStrat { + setModel(model:0) // first model of the level (pick one from another type's script) + loop { + turnLeft(4deg) // turn per frame + yield // wait one frame + } + } + """; + static void showClone(EditorContext ctx, String type) { if (ctx.document() == null) { return; @@ -57,7 +70,7 @@ final class TypeDialog { Scene s = ctx.scene(); String name = freeName(s, type + "Custom"); StratEdits.CustomType t = StratEdits.cloneOf(s, type, name); - open(ctx, "Clone " + type + " as a new type", t.name(), t.source(), type, t.entryLabel(), true); + open(ctx, "Clone " + type + " as a new type", t.name(), t.source(), type, t.entryLabel(), true, -1); } static void showNew(EditorContext ctx) { @@ -67,7 +80,86 @@ final class TypeDialog { Scene s = ctx.scene(); String base = s.catalog().has("Coin") ? "Coin" : s.catalog().types().get(0).name(); - open(ctx, "New object type from script", freeName(s, "MyStrat"), TEMPLATE, base, "MyStrat", false); + open(ctx, "New object type from script", freeName(s, "MyStrat"), TEMPLATE, base, "MyStrat", false, -1); + } + + /** Edits custom type k in place: its name, entry label and source (type fields are kept). */ + static void showEdit(EditorContext ctx, int k) { + if (ctx.document() == null) { + return; + } + String blocker = StratEdits.rebuildBlocker(ctx.scene()); + List types = + StratEdits.records(ctx.document().project()).types(); + if (blocker != null || k < 0 || k >= types.size()) { + JOptionPane.showMessageDialog( + ctx.frame(), + blocker != null ? "Cannot edit the type: " + blocker + "." : "Not a custom type.", + "Edit object type", + JOptionPane.INFORMATION_MESSAGE); + return; + } + StratEdits.CustomType t = types.get(k); + open( + ctx, + "Edit object type " + t.name(), + t.name(), + t.source(), + t.basedOn(), + t.entryLabel(), + t.basedOn() != null && !t.basedOn().isEmpty(), + k); + } + + /** Deletes custom type k after a confirmation that names the objects using it. */ + static void delete(EditorContext ctx, int k) { + if (ctx.document() == null) { + return; + } + Project p = ctx.document().project(); + Scene s = ctx.scene(); + List types = StratEdits.records(p).types(); + if (k < 0 || k >= types.size()) { + return; + } + String name = types.get(k).name(); + String blocker = StratEdits.rebuildBlocker(s); + List rest = new java.util.ArrayList<>(types); + rest.remove(k); + List problems = blocker != null ? List.of(blocker) : StratEdits.checkTypes(s, rest, -1, null); + if (problems != null) { + JOptionPane.showMessageDialog( + ctx.frame(), + "Cannot delete " + name + ": " + problems.get(0) + ".", + "Delete object type", + JOptionPane.WARNING_MESSAGE); + return; + } + int n = StratEdits.users(s, k).size(); + String msg = n == 0 + ? "Delete the custom type " + name + "? No object in the level uses it." + : n + " object" + (n == 1 ? "" : "s") + " in the level use" + (n == 1 ? "s " : " ") + name + + ".\nDelete the type and " + (n == 1 ? "this object" : "these objects") + "?"; + Object[] opts = {n == 0 ? "Delete type" : "Delete type and objects", "Cancel"}; + int r = JOptionPane.showOptionDialog( + ctx.frame(), + msg, + "Delete object type", + JOptionPane.DEFAULT_OPTION, + JOptionPane.WARNING_MESSAGE, + null, + opts, + opts[1]); + if (r != 0) { + return; + } + try { + ctx.execute(TypeEdits.delete(p, k)); + } catch (RuntimeException ex) { + ctx.error("Delete object type", ex); + return; + } + ctx.status("Object type " + name + " deleted" + (n == 0 ? "" : " with " + n + " object" + (n == 1 ? "" : "s"))); } static String freeName(Scene s, String base) { @@ -85,14 +177,25 @@ final class TypeDialog { String source, String fieldsFrom, String entry, - boolean clone) { + boolean clone, + int editIndex) { JDialog d = new JDialog(ctx.frame(), title, true); JTextField nameField = new JTextField(name, 18); JTextField entryField = new JTextField(entry, 14); JComboBox from = new JComboBox<>(); ctx.scene().catalog().types().forEach(t -> from.addItem(t.name())); from.setSelectedItem(fieldsFrom); - JTextArea text = new JTextArea(source, 30, 90); + boolean editing = editIndex >= 0; + String oldName = editing ? name : null; + if (editing) { + from.setEnabled(false); + from.setToolTipText("An edited type keeps its type fields and parameters"); + } + String script = StratCompiler.embeddedSource(source); + JTextArea text = new JTextArea(script != null ? script : source, 30, 90); + JComboBox lang = new JComboBox<>(new String[] {"Assembly", "Script"}); + lang.setSelectedIndex(script != null ? 1 : 0); + lang.setToolTipText("Assembly = the exact instruction list; Script = structured language compiled to assembly"); text.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12)); text.setTabSize(8); JLabel result = new JLabel(" "); @@ -101,10 +204,12 @@ final class TypeDialog { top.add(nameField); top.add(new JLabel("Entry label")); top.add(entryField); + top.add(new JLabel("Language")); + top.add(lang); top.add(new JLabel("Type fields / parameters from")); top.add(from); JButton check = new JButton("Check"); - JButton create = new JButton("Create type"); + JButton create = new JButton(editing ? "Apply" : "Create type"); JButton cancel = new JButton("Cancel"); JPanel bottom = new JPanel(new BorderLayout()); JPanel buttons = new JPanel(new FlowLayout(FlowLayout.TRAILING)); @@ -128,6 +233,39 @@ final class TypeDialog { d.getContentPane().add(north, BorderLayout.NORTH); d.getContentPane().add(new JScrollPane(text), BorderLayout.CENTER); d.getContentPane().add(bottom, BorderLayout.SOUTH); + String[] shown = {text.getText()}; + int[] shownLang = {lang.getSelectedIndex()}; + lang.addActionListener(e -> { + int to = lang.getSelectedIndex(); + if (to == shownLang[0]) { + return; + } + String cur = text.getText(); + if (to == 0) { + try { + text.setText(StratCompiler.compile(cur)); + } catch (StratCompiler.CompileException ex) { + result.setText("⚠ " + ex.getMessage() + " – fix the script before switching to assembly"); + highlight(text, ex.line); + lang.setSelectedIndex(1); + return; + } + } else { + String embedded = StratCompiler.embeddedSource(cur); + if (embedded != null) { + text.setText(embedded); + } else if (cur.equals(TEMPLATE) || cur.equals(shown[0]) && !clone && editIndex < 0) { + text.setText(SCRIPT_TEMPLATE); + } else { + result.setText( + "⚠ Assembly cannot be turned into script; start from the script template (New object type from script…)"); + lang.setSelectedIndex(0); + return; + } + } + shownLang[0] = to; + text.setCaretPosition(0); + }); Runnable[] verify = new Runnable[1]; StratEdits.CustomType[] ok = new StratEdits.CustomType[1]; verify[0] = () -> { @@ -138,12 +276,55 @@ final class TypeDialog { result.setText("⚠ The name must be letters, digits and _ (max 40)."); return; } - if (s.catalog().has(n) || s.catalog().names().containsValue(n)) { + if (!n.equals(oldName) && (s.catalog().has(n) || s.catalog().names().containsValue(n))) { result.setText("⚠ A type named " + n + " already exists."); return; } String src = text.getText(); + if (lang.getSelectedIndex() == 1) { + try { + src = StratCompiler.compile(src); + } catch (StratCompiler.CompileException e) { + result.setText("⚠ " + e.getMessage()); + highlight(text, e.line); + return; + } + String first = StratCompiler.firstStrat(text.getText()); + if (first != null && !src.contains("\n" + entryField.getText().trim() + ":\n")) { + entryField.setText(first); + } + } StratCatalog.Type ft = s.catalog().type((String) from.getSelectedItem()); + if (editing) { + StratEdits.CustomType old = + StratEdits.records(ctx.document().project()).types().get(editIndex); + StratEdits.CustomType t = new StratEdits.CustomType( + n, old.basedOn(), entryField.getText().trim(), src, old.proto()); + List all = new java.util.ArrayList<>( + StratEdits.records(ctx.document().project()).types()); + all.set(editIndex, t); + int[] words = new int[1]; + try { + List ps = StratEdits.checkTypes(s, all, editIndex, words); + if (ps != null) { + result.setText("⚠ " + String.join("; ", ps)); + return; + } + } catch (StratAssembler.AsmException e) { + List ps = e.problems; + result.setText("⚠ " + ps.size() + " error" + (ps.size() == 1 ? "" : "s") + ": " + ps.get(0)); + highlight(text, ps.get(0).line()); + return; + } catch (RuntimeException e) { + result.setText("⚠ " + e.getMessage()); + return; + } + int users = StratEdits.users(s, editIndex).size(); + result.setText("✓ " + words[0] + " words, verified. " + users + " object" + (users == 1 ? "" : "s") + + " in the level use" + (users == 1 ? "s" : "") + " this type."); + ok[0] = t; + return; + } if (ft == null) { result.setText("⚠ Choose the type whose type fields and parameters the new type uses."); return; @@ -181,12 +362,21 @@ final class TypeDialog { } Project p = ctx.document().project(); try { - StratEdits.addType(p, ok[0]); + if (editing) { + ctx.execute(TypeEdits.edit(p, editIndex, ok[0])); + } else if (StratEdits.rebuildBlocker(ctx.scene()) == null) { + ctx.execute(TypeEdits.create(p, ok[0])); + } else { + StratEdits.addType(p, ok[0]); // types imported after the custom ones: append, no undo + } } catch (RuntimeException ex) { - ctx.error("Create object type", ex); + ctx.error(editing ? "Edit object type" : "Create object type", ex); return; } - ctx.status("Object type " + ok[0].name() + " created – place it from Assets → Objects"); + ctx.status( + editing + ? "Object type " + ok[0].name() + " updated – rebuild/play to see the effect" + : "Object type " + ok[0].name() + " created – place it from Assets → Objects"); d.dispose(); }); cancel.addActionListener(e -> d.dispose()); diff --git a/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeEdits.java b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeEdits.java new file mode 100644 index 0000000..cea072a --- /dev/null +++ b/src/main/java/com/eliasmueller/llamamod/editor/tools/strats/TypeEdits.java @@ -0,0 +1,81 @@ +package com.eliasmueller.llamamod.editor.tools.strats; + +import com.eliasmueller.llamamod.editor.io.Project; +import com.eliasmueller.llamamod.editor.model.Scene; +import com.eliasmueller.llamamod.editor.model.Strat; +import com.eliasmueller.llamamod.editor.model.cmd.Batch; +import com.eliasmueller.llamamod.editor.model.cmd.Command; +import com.eliasmueller.llamamod.editor.model.cmd.Edits; +import java.util.ArrayList; +import java.util.List; + +/** Undoable create / edit / delete of custom object types (the custom code block is rebuilt). */ +final class TypeEdits { + private TypeEdits() {} + + /** Replaces the custom type list; fwd/back map type indexes of the old list to the new one and back. */ + record SetTypes( + Project p, + String label, + List before, + List after, + int[] fwd, + int[] back) + implements Command { + @Override + public void apply(Scene s) { + StratEdits.setTypes(p, after, fwd); + } + + @Override + public void revert(Scene s) { + StratEdits.setTypes(p, before, back); + } + } + + static int[] identity(int n) { + int[] a = new int[n]; + for (int i = 0; i < n; i++) { + a[i] = i; + } + return a; + } + + static Command create(Project p, StratEdits.CustomType t) { + List before = StratEdits.records(p).types(); + List after = new ArrayList<>(before); + after.add(t); + return new SetTypes( + p, "Create object type " + t.name(), before, after, identity(before.size()), identity(before.size())); + } + + /** Replaces custom type k by t (objects of the type stay and use the new code). */ + static Command edit(Project p, int k, StratEdits.CustomType t) { + List before = StratEdits.records(p).types(); + List after = new ArrayList<>(before); + after.set(k, t); + return new SetTypes( + p, "Edit object type " + t.name(), before, after, identity(before.size()), identity(before.size())); + } + + /** Deletes custom type k together with the objects that use it. */ + static Command delete(Project p, int k) { + List before = StratEdits.records(p).types(); + List after = new ArrayList<>(before); + StratEdits.CustomType gone = after.remove(k); + int[] fwd = new int[before.size()], back = new int[after.size()]; + for (int i = 0; i < fwd.length; i++) { + fwd[i] = i < k ? i : i == k ? -1 : i - 1; + } + for (int j = 0; j < back.length; j++) { + back[j] = j < k ? j : j + 1; + } + List cmds = new ArrayList<>(); + List users = StratEdits.users(p.scene(), k); + if (!users.isEmpty()) { + cmds.add(Edits.delete(p.scene(), users)); + } + cmds.add(new SetTypes(p, "Delete object type " + gone.name(), before, after, fwd, back)); + return new Batch("Delete object type " + gone.name(), cmds); + } +} diff --git a/src/main/java/com/eliasmueller/llamamod/format/strat/StratCompiler.java b/src/main/java/com/eliasmueller/llamamod/format/strat/StratCompiler.java new file mode 100644 index 0000000..73bc975 --- /dev/null +++ b/src/main/java/com/eliasmueller/llamamod/format/strat/StratCompiler.java @@ -0,0 +1,652 @@ +package com.eliasmueller.llamamod.format.strat; + +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Compiler for strat scripts, a small structured language for NEW behaviour (notes/strat-language.md, + * "Script language"): statements and expressions in the style of the script view, compiled to the + * assembly of {@link StratAssembler}. Literals mean the same as in the assembly (10.0 = ten, 10 = + * ten raw 1/4096 units, 90deg). + */ +public final class StratCompiler { + /** A compile error at a 1-based source line. */ + public static final class CompileException extends RuntimeException { + public final int line; + + CompileException(int line, String message) { + super("line " + line + ": " + message); + this.line = line; + } + } + + /** Prefix of the comment lines that carry the script source inside the generated assembly. */ + public static final String SOURCE_PREFIX = ";| "; + + private record Tok(String kind, String text, int line) {} + + private static final Map PREC = Map.ofEntries( + Map.entry("||", 1), + Map.entry("&&", 2), + Map.entry("|", 3), + Map.entry("&", 4), + Map.entry("==", 5), + Map.entry("!=", 5), + Map.entry("<", 6), + Map.entry(">", 6), + Map.entry("<=", 6), + Map.entry(">=", 6), + Map.entry("<<", 7), + Map.entry(">>", 7), + Map.entry("+", 8), + Map.entry("-", 8), + Map.entry("*", 9), + Map.entry("/", 9)); + + private static final Map BINOP = Map.ofEntries( + Map.entry("||", "or"), + Map.entry("|", "or"), + Map.entry("&&", "and"), + Map.entry("&", "bitwiseAnd"), + Map.entry("==", "eq"), + Map.entry("!=", "notEqual"), + Map.entry("<", "lt"), + Map.entry(">", "gt"), + Map.entry("<=", "lessEqual"), + Map.entry(">=", "greaterEqual"), + Map.entry("<<", "shl"), + Map.entry(">>", "shr"), + Map.entry("+", "add"), + Map.entry("-", "sub"), + Map.entry("*", "mul"), + Map.entry("/", "div")); + + /** Target prefix → push, pop, address mnemonics (variables of the parent use the *Var ops). */ + private static final Map TARGETS = Map.of( + "self", new String[] {"pushProp", "popProp", "pushPropAddr"}, + "player", new String[] {"pushPlayerProp", "popPlayerProp", null}, + "parent", new String[] {"pushParentProp", "popParentProp", "pushParentPropAddr"}, + "camera", new String[] {"pushCameraProp", "popCameraProp", null}, + "target", new String[] {"pushTargetProp", "popTargetProp", null}, + "target2", new String[] {"pushTarget2Prop", "popTarget2Prop", null}, + "boss", new String[] {"pushBossProp", "popBossProp", null}, + "dialog", new String[] {"pushDialogProp", "popDialogProp", null}); + + private static final List REFS = List.of("model", "anim", "unit", "sound", "tex", "text"); + + private final OpTable ops = OpTable.get(); + private final List toks; + private int p; + private final StringBuilder out = new StringBuilder(); + private final Map aliases = new HashMap<>(); + private int labels; + /** Enclosing loops: {break label, continue label}. */ + private final Deque loops = new ArrayDeque<>(); + + private StratCompiler(String src) { + toks = lex(src); + } + + /** Compiles a script to assembly text; the script is kept as {@link #SOURCE_PREFIX} comments. */ + public static String compile(String src) { + StratCompiler c = new StratCompiler(src); + for (String l : src.split("\n", -1)) { + c.out.append(SOURCE_PREFIX).append(l.stripTrailing()).append('\n'); + } + c.program(); + return c.out.toString(); + } + + /** The script embedded in compiled assembly, or null if the text is not compiler output. */ + public static String embeddedSource(String asm) { + if (!asm.startsWith(SOURCE_PREFIX)) { + return null; + } + StringBuilder b = new StringBuilder(); + for (String l : asm.split("\n", -1)) { + if (!l.startsWith(SOURCE_PREFIX.trim())) { + break; + } + b.append(l.length() >= SOURCE_PREFIX.length() ? l.substring(SOURCE_PREFIX.length()) : "") + .append('\n'); + } + return b.toString().stripTrailing() + "\n"; + } + + /** Entry label of the first strat of a script (null if none). */ + public static String firstStrat(String src) { + List t = lex(src); + for (int i = 0; i + 1 < t.size(); i++) { + if (t.get(i).text.equals("strat") && t.get(i + 1).kind.equals("id")) { + return t.get(i + 1).text; + } + } + return null; + } + + // ------------------------------------------------------------------ lexer + + private static List lex(String s) { + List out = new ArrayList<>(); + int line = 1; + int i = 0; + while (i < s.length()) { + char c = s.charAt(i); + if (c == '\n') { + line++; + i++; + } else if (Character.isWhitespace(c) || c == ';') { + i++; + } else if (s.startsWith("//", i)) { + while (i < s.length() && s.charAt(i) != '\n') { + i++; + } + } else if (s.startsWith("/*", i)) { + int e = s.indexOf("*/", i + 2); + e = e < 0 ? s.length() : e + 2; + for (int k = i; k < e; k++) { + line += s.charAt(k) == '\n' ? 1 : 0; + } + i = e; + } else if (Character.isDigit(c)) { + int j = i; + if (s.startsWith("0x", i) || s.startsWith("0X", i)) { + j += 2; + while (j < s.length() && Character.digit(s.charAt(j), 16) >= 0) { + j++; + } + } else { + while (j < s.length() && (Character.isDigit(s.charAt(j)) || s.charAt(j) == '.')) { + j++; + } + if (s.startsWith("deg", j)) { + j += 3; + } + } + out.add(new Tok("num", s.substring(i, j), line)); + i = j; + } else if (Character.isLetter(c) || c == '_') { + int j = i; + while (j < s.length() && (Character.isLetterOrDigit(s.charAt(j)) || s.charAt(j) == '_')) { + j++; + } + out.add(new Tok("id", s.substring(i, j), line)); + i = j; + } else if (c == '"') { + int j = i + 1; + while (j < s.length() && s.charAt(j) != '"' && s.charAt(j) != '\n') { + j += s.charAt(j) == '\\' ? 2 : 1; + } + out.add(new Tok("str", s.substring(i, Math.min(j + 1, s.length())), line)); + i = j + 1; + } else { + String two = i + 1 < s.length() ? s.substring(i, i + 2) : ""; + String op = List.of("==", "!=", "<=", ">=", "&&", "||", "<<", ">>", "+=", "-=", "*=", "/=") + .contains(two) + ? two + : String.valueOf(c); + out.add(new Tok("op", op, line)); + i += op.length(); + } + } + out.add(new Tok("eof", "", line)); + return out; + } + + // ------------------------------------------------------------------ parser helpers + + private Tok peek() { + return toks.get(p); + } + + private Tok peek(int k) { + return toks.get(Math.min(p + k, toks.size() - 1)); + } + + private Tok next() { + return toks.get(p < toks.size() - 1 ? p++ : p); + } + + private boolean at(String text) { + return peek().text.equals(text) && !peek().kind.equals("str"); + } + + private boolean at1(String text) { + return peek(1).text.equals(text) && !peek(1).kind.equals("str"); + } + + private boolean accept(String text) { + if (at(text)) { + p++; + return true; + } + return false; + } + + private Tok expect(String text) { + if (!at(text)) { + throw err("expected '" + text + "' but found " + describe(peek())); + } + return next(); + } + + private String ident() { + if (!peek().kind.equals("id")) { + throw err("expected a name but found " + describe(peek())); + } + return next().text; + } + + private static String describe(Tok t) { + return t.kind.equals("eof") ? "the end of the script" : "'" + t.text + "'"; + } + + private CompileException err(String m) { + return new CompileException(peek().line, m); + } + + private String label() { + return "c_" + (++labels); + } + + private void emit(String instr) { + out.append(" ").append(instr).append('\n'); + } + + private void place(String label) { + out.append(label).append(":\n"); + } + + // ------------------------------------------------------------------ program + + private void program() { + while (!peek().kind.equals("eof")) { + if (accept("strat")) { + String name = ident(); + out.append(" .string \"").append(name).append("\"\n"); + place(name); + emit("debugName \"" + name + "\""); + boolean ends = block(); + if (!ends) { + emit("end"); + } + } else if (accept("sub")) { + String name = ident(); + place(name); + accept("("); + accept(")"); + boolean ends = block(); + if (!ends) { + emit("return"); + } + } else if (at("alias")) { + statement(); + } else { + throw err("expected 'strat', 'sub' or 'alias' but found " + describe(peek())); + } + } + } + + /** Parses { statements }; returns whether control never falls out of its end. */ + private boolean block() { + expect("{"); + boolean ends = false; + while (!at("}")) { + if (peek().kind.equals("eof")) { + throw err("missing '}'"); + } + ends = statement(); + } + expect("}"); + return ends; + } + + /** One statement; returns whether control never continues after it (end, endless loop, return). */ + private boolean statement() { + Tok t = peek(); + switch (t.text) { + case "if" -> { + next(); + ifRest(); + return false; + } + case "while" -> { + next(); + String top = label(), done = label(); + place(top); + expect("("); + cond(done); + expect(")"); + loops.push(new String[] {done, top}); + loopBody(top); + loops.pop(); + place(done); + return false; + } + case "loop" -> { + next(); + String top = label(), done = label(); + place(top); + loops.push(new String[] {done, top}); + loopBody(top); + loops.pop(); + place(done); + return false; + } + case "do" -> { + next(); + String top = label(), check = label(), done = label(); + place(top); + loops.push(new String[] {done, check}); + block(); + loops.pop(); + expect("while"); + expect("("); + place(check); + expr(); + expect(")"); + emit("jnz " + top); + place(done); + return false; + } + case "break", "continue" -> { + next(); + if (loops.isEmpty()) { + throw new CompileException(t.line, t.text + " outside a loop"); + } + emit("jmp " + loops.peek()[t.text.equals("break") ? 0 : 1]); + return true; + } + case "yield" -> { + next(); + String l = label(); + emit("jmpYield " + l); + place(l); + return false; + } + case "return" -> { + next(); + emit("return"); + return true; + } + case "end" -> { + next(); + emit("end"); + return true; + } + case "call" -> { + next(); + String l = ident(); + if (accept("(")) { + expect(")"); + } + emit("call " + l); + return false; + } + case "alias" -> { + next(); + String n = ident(); + expect("="); + String v = ident(); + if (!v.matches("v\\d+")) { + throw new CompileException(t.line, "an alias names a variable vN"); + } + aliases.put(n, v); + out.append(" .alias ").append(n).append(" = ").append(v).append('\n'); + return false; + } + default -> { + // fall through to assignments and calls + } + } + if (!t.kind.equals("id")) { + throw err("expected a statement but found " + describe(t)); + } + if (isOp(t.text) && !isLvalueStart()) { + String mn = callExpr(); + OpTable.Op op = ops.byName(mn); + if (op.pushes() == 1) { + emit("pop"); + } + return mn.equalsIgnoreCase("end") || mn.equalsIgnoreCase("remove"); + } + assignment(); + return false; + } + + private void ifRest() { + String other = label(); + expect("("); + cond(other); + expect(")"); + block(); + if (accept("else")) { + String done = label(); + emit("jmp " + done); + place(other); + if (accept("if")) { + ifRest(); + } else { + block(); + } + place(done); + } else { + place(other); + } + } + + /** Condition: jumps to falseTarget when it is 0. */ + private void cond(String falseTarget) { + expr(); + emit("jz " + falseTarget); + } + + /** Loop body; a trailing yield becomes the yielding back edge. */ + private void loopBody(String top) { + expect("{"); + int mark = -1; + while (!at("}")) { + if (peek().kind.equals("eof")) { + throw err("missing '}'"); + } + mark = at("yield") && peek(1).text.equals("}") ? out.length() : -1; + if (mark >= 0) { + next(); + break; + } + statement(); + } + expect("}"); + emit((mark >= 0 ? "jmpYield " : "jmp ") + top); + } + + private boolean isOp(String name) { + return ops.byName(name) != null; + } + + private boolean isLvalueStart() { + String a = peek().text; + return aliases.containsKey(a) + || a.matches("[vg]\\d+") + || TARGETS.containsKey(a) && peek(1).text.equals("."); + } + + // ------------------------------------------------------------------ assignments and lvalues + + /** A writable place: push/pop/address instructions with their operand. */ + private record Place(String push, String pop, String addr) {} + + private Place place() { + Tok t = peek(); + String a = ident(); + if (aliases.containsKey(a)) { + a = aliases.get(a); + } + if (a.matches("v\\d+")) { + return new Place("pushVar " + a, "popVar " + a, "pushVarAddr " + a); + } + if (a.matches("g\\d+")) { + return new Place("pushGlobal " + a, "popGlobal " + a, "pushGlobalAddr " + a); + } + if (TARGETS.containsKey(a) && accept(".")) { + String n = ident(); + if (a.equals("parent") && n.matches("v\\d+")) { + return new Place("pushParentVar " + n, "popParentVar " + n, "pushParentVarAddr " + n); + } + if (ops.propByName(n) == null && !n.matches("prop\\d+")) { + throw new CompileException(t.line, "unknown property " + n); + } + String[] m = TARGETS.get(a); + return new Place(m[0] + " " + n, m[1] + " " + n, m[2] == null ? null : m[2] + " " + n); + } + throw new CompileException( + t.line, + "unknown name " + a + " (variables are vN or aliases, globals gN, " + + "properties self.name, player.name, …)"); + } + + private void assignment() { + Tok t = peek(); + Place pl = place(); + String op = next().text; + switch (op) { + case "=" -> { + expr(); + emit(pl.pop); + } + case "+=", "-=", "*=", "/=" -> { + boolean one = at("1.0") && (peek(1).line != peek().line || at1("}")); + if ((op.equals("+=") || op.equals("-=")) && pl.addr != null && one) { + next(); + emit(pl.addr); + emit(op.equals("+=") ? "inc" : "dec"); + } else { + emit(pl.push); + expr(); + emit(BINOP.get(op.substring(0, 1))); + emit(pl.pop); + } + } + default -> throw new CompileException(t.line, "expected '=', '+=', '-=', '*=' or '/=' after a name"); + } + } + + // ------------------------------------------------------------------ expressions + + private void expr() { + binary(1); + } + + private void binary(int min) { + unary(); + while (peek().kind.equals("op") && PREC.containsKey(peek().text) && PREC.get(peek().text) >= min) { + String op = next().text; + binary(PREC.get(op) + 1); + emit(BINOP.get(op)); + } + } + + private void unary() { + if (accept("-")) { + if (peek().kind.equals("num")) { + number("-" + next().text); + return; + } + unary(); + emit("neg"); + } else if (accept("!")) { + unary(); + emit("not"); + } else { + primary(); + } + } + + private void primary() { + Tok t = peek(); + if (t.kind.equals("num")) { + number(next().text); + } else if (accept("(")) { + expr(); + expect(")"); + } else if (t.kind.equals("id") && REFS.contains(t.text) && peek(1).text.equals(":")) { + next(); + next(); + StringBuilder ref = new StringBuilder(t.text + ":" + next().text); + if (at("+") && peek(1).kind.equals("num") && !t.text.equals("sound") && !t.text.equals("tex")) { + next(); + ref.append('+').append(next().text); + } + switch (t.text) { + case "sound" -> emit("soundAddress " + ref); + case "tex" -> emit("push " + ref); + case "text" -> throw new CompileException(t.line, "text:N is an inline operand: topSay()"); + default -> emit("address " + ref); + } + } else if (t.kind.equals("id") && isOp(t.text) && !isLvalueStart()) { + String mn = callExpr(); + if (ops.byName(mn).pushes() != 1) { + throw new CompileException(t.line, mn + " gives no value"); + } + } else if (t.kind.equals("id")) { + emit(place().push); + } else { + throw err("expected a value but found " + describe(t)); + } + } + + private void number(String text) { + Integer v = Num.parse(text); + if (v == null) { + throw err("bad number " + text); + } + emit((v >= Short.MIN_VALUE && v <= Short.MAX_VALUE ? "pushShort " : "push ") + text); + } + + /** op(args): pushes the arguments and emits the opcode; returns its mnemonic. */ + private String callExpr() { + Tok t = peek(); + String mn = ident(); + OpTable.Op op = ops.byName(mn); + mn = op.name(); + List inline = new ArrayList<>(); + if (accept("<")) { + StringBuilder cur = new StringBuilder(); + while (!at(">")) { + if (peek().kind.equals("eof")) { + throw err("missing '>'"); + } + Tok x = next(); + if (x.text.equals(",")) { + inline.add(cur.toString()); + cur.setLength(0); + } else { + cur.append(x.text); + } + } + expect(">"); + inline.add(cur.toString()); + } + int args = 0; + if (accept("(")) { + while (!at(")")) { + expr(); + args++; + if (!accept(",")) { + break; + } + } + expect(")"); + } + if (op.pops() >= 0 && args != op.pops()) { + throw new CompileException( + t.line, mn + " takes " + op.pops() + " value" + (op.pops() == 1 ? "" : "s") + ", got " + args); + } + emit(mn + (inline.isEmpty() ? "" : " " + String.join(", ", inline))); + return mn; + } +} diff --git a/src/main/java/com/eliasmueller/llamamod/format/strat/StratPseudo.java b/src/main/java/com/eliasmueller/llamamod/format/strat/StratPseudo.java index afe2e12..f3b9f8e 100644 --- a/src/main/java/com/eliasmueller/llamamod/format/strat/StratPseudo.java +++ b/src/main/java/com/eliasmueller/llamamod/format/strat/StratPseudo.java @@ -119,7 +119,19 @@ public final class StratPseudo { return b.toString(); } - private record Block(int open, int close, String kind) {} + /** + * A structured block. if: open = the conditional jump, close = its target label; loop/do: open + * = head label, close = the backward jump; switch: open = the switch, close = the end label. + */ + private record Block(int open, int close, String kind) { + boolean breakable() { + return !kind.equals("if"); + } + + boolean isLoop() { + return kind.startsWith("loop"); + } + } private String mn(StratListing.Line l) { String t = l.text(); @@ -133,27 +145,64 @@ public final class StratPseudo { return sp < 0 ? "" : t.substring(sp + 1).trim(); } + private static boolean condJump(int op) { + return op >= 0x12 && op <= 0x15; + } + + private static boolean jump(int op) { + return condJump(op) || op == 0x16 || op == 0x2b; + } + + // structure found by build(), used while emitting + private final Map ifAt = new HashMap<>(), loopEnd = new HashMap<>(), switchAt = new HashMap<>(); + private final Map> opensAt = new HashMap<>(); + private final Map closeCount = new HashMap<>(), elseAt = new HashMap<>(); + private final Map switchDepth = new HashMap<>(); + private final Map> caseAt = new HashMap<>(); + private final Set elseJumps = new HashSet<>(), silentJumps = new HashSet<>(); + private final Map jumpAs = new HashMap<>(); + private Map labelIdx; + + private Integer target(int i) { + return labelIdx.get(operand(ls.get(i))); + } + + /** Index of the first non-label line at or after i (labels at the same address share it). */ + private int anchor(int i) { + while (i < ls.size() && ls.get(i).kind() == StratListing.Kind.LABEL) { + i++; + } + return i; + } + private void build() { - Map labelIdx = new HashMap<>(); + labelIdx = new HashMap<>(); for (int i = 0; i < ls.size(); i++) { if (ls.get(i).kind() == StratListing.Kind.LABEL) { labelIdx.put(ls.get(i).label(), i); } } + Map> tables = switchTables(); // candidate blocks List cand = new ArrayList<>(); Map elseOf = new HashMap<>(); + List switches = new ArrayList<>(); + Map> switchCases = new HashMap<>(); for (int i = 0; i < ls.size(); i++) { StratListing.Line l = ls.get(i); if (l.kind() != StratListing.Kind.INSTR) { continue; } int op = l.op(); + if (op == StratOps.SWITCH) { + switchCandidate(i, tables, switches, switchCases); + continue; + } Integer t = labelIdx.get(operand(l)); if (t == null) { continue; } - if ((op == 0x14 || op == 0x15 || op == 0x12 || op == 0x13) && t > i && clean(i, t)) { + if (condJump(op) && t > i && clean(i, t)) { cand.add(new Block(i, t, "if")); int pj = prevInstr(t); if (pj > i && ls.get(pj).op() == 0x16) { @@ -164,54 +213,85 @@ public final class StratPseudo { } } else if ((op == 0x16 || op == 0x2b) && t <= i && clean(t, i)) { cand.add(new Block(t, i, op == 0x2b ? "loopYield" : "loop")); + } else if (condJump(op) && t <= i && clean(t, i)) { + cand.add(new Block(t, i, "do")); } } List accepted = new ArrayList<>(); Set elseAccepted = new HashSet<>(); cand.sort((a, b) -> a.open != b.open ? Integer.compare(a.open, b.open) : Integer.compare(b.close, a.close)); for (Block b : cand) { - int end = b.kind.equals("if") && elseOf.containsKey(b.open) ? elseOf.get(b.open) : b.close; - boolean ok = true; - for (Block a : accepted) { - int ae = a.kind.equals("if") && elseAccepted.contains(a.open) ? elseOf.get(a.open) : a.close; - ok &= nests(b.open, end, a.open, ae); - if (ok && b.kind.equals("if") && elseOf.containsKey(b.open)) { - ok &= nests(b.open, b.close, a.open, ae) && nests(b.close, end, a.open, ae); - } - if (ok && a.kind.equals("if") && elseAccepted.contains(a.open)) { - ok &= nests(b.open, end, a.open, a.close) && nests(b.open, end, a.close, ae); - } + boolean withElse = b.kind.equals("if") && elseOf.containsKey(b.open); + if (withElse && !fits(b, true, accepted, elseOf, elseAccepted)) { + withElse = false; } - if (ok && accepted.stream().noneMatch(a -> a.open == b.open)) { + if (fits(b, withElse, accepted, elseOf, elseAccepted) + && accepted.stream().noneMatch(a -> a.open == b.open && a.close == b.close) + && !(b.isLoop() && accepted.stream().anyMatch(a -> a.open == b.open && a.isLoop())) + && (b.kind.equals("if") + || accepted.stream().noneMatch(a -> a.open == b.open && a.kind.equals("if")))) { accepted.add(b); - if (elseOf.containsKey(b.open) && b.kind.equals("if")) { + if (withElse) { elseAccepted.add(b.open); } } } - Map ifAt = new HashMap<>(), loopAt = new HashMap<>(), loopEnd = new HashMap<>(); - Map closeCount = new HashMap<>(), elseAt = new HashMap<>(); - Set elseJumps = new HashSet<>(); - Map consumed = new HashMap<>(); - for (Block b : accepted) { - if (b.kind.equals("if")) { - ifAt.put(b.open, b); - consumed.merge(ls.get(b.close).label(), 1, Integer::sum); - if (elseAccepted.contains(b.open)) { - int m = elseOf.get(b.open); - elseAt.put(b.close, b.open); - elseJumps.add(prevInstr(b.close)); - consumed.merge(ls.get(m).label(), 1, Integer::sum); - closeCount.merge(m, 1, Integer::sum); - } else { - closeCount.merge(b.close, 1, Integer::sum); + for (Block sw : switches) { + if (!fits(sw, false, accepted, elseOf, elseAccepted)) { + continue; + } + boolean ok = true; + for (int[] c : switchCases.get(sw.open)) { + for (Block a : accepted) { + int ae = end(a, elseOf, elseAccepted); + if (a.open > sw.open && ae <= sw.close && a.open < c[0] && c[0] < ae) { + ok = false; + } } - } else { - loopAt.computeIfAbsent(b.open, k -> b); - loopEnd.put(b.close, b); - consumed.merge(ls.get(b.open).label(), 1, Integer::sum); + } + if (ok) { + accepted.add(sw); } } + Map consumed = new HashMap<>(); + for (Block b : accepted) { + switch (b.kind) { + case "if" -> { + ifAt.put(b.open, b); + consumed.merge(ls.get(b.close).label(), 1, Integer::sum); + if (elseAccepted.contains(b.open)) { + int m = elseOf.get(b.open); + elseAt.put(b.close, b.open); + elseJumps.add(prevInstr(b.close)); + consumed.merge(ls.get(m).label(), 1, Integer::sum); + closeCount.merge(m, 1, Integer::sum); + } else { + closeCount.merge(b.close, 1, Integer::sum); + } + } + case "switch" -> { + switchAt.put(b.open, b); + closeCount.merge(b.close, 1, Integer::sum); + silentJumps.add(b.open + 1); + consumed.merge(ls.get(b.close).label(), 1, Integer::sum); + for (int[] c : switchCases.get(b.open)) { + String text = c[1] < 0 + ? "default:" + : "case " + tables.get(operand(ls.get(b.open))).get(c[1])[0] + ":"; + caseAt.computeIfAbsent(c[0], k -> new ArrayList<>()).add(text); + caseOwner.put(c[0], b.open); + consumed.merge(ls.get(c[0]).label(), 1, Integer::sum); + } + } + default -> { + opensAt.computeIfAbsent(b.open, k -> new ArrayList<>()).add(b); + loopEnd.put(b.close, b); + consumed.merge(ls.get(b.open).label(), 1, Integer::sum); + } + } + } + opensAt.values().forEach(l -> l.sort((a, b) -> Integer.compare(b.close, a.close))); + resolveJumps(accepted, consumed); Map refs = new HashMap<>(); for (StratListing.Line l : ls) { if (l.kind() == StratListing.Kind.INSTR || l.kind() == StratListing.Kind.DATA) { @@ -245,6 +325,13 @@ public final class StratPseudo { out(-1, "} else {"); depth++; } + if (caseAt.containsKey(i)) { + depth = switchDepth.get(caseOwner.get(i)); + for (String t : caseAt.get(i)) { + out(-1, t); + } + depth++; + } int r = refs.getOrDefault(l.label(), 0) - consumed.getOrDefault(l.label(), 0); if (src.strats.containsKey(l.offset())) { out(l.offset(), ""); @@ -254,8 +341,8 @@ public final class StratPseudo { || l.label().startsWith("ev_")) { out(l.offset(), l.label() + ":"); } - if (loopAt.containsKey(i)) { - out(-1, "loop {"); + for (Block b : opensAt.getOrDefault(i, List.of())) { + out(-1, b.kind.equals("do") ? "do {" : "loop {"); depth++; } } @@ -263,10 +350,245 @@ public final class StratPseudo { flush(); out(l.offset(), l.text()); } - case INSTR -> instr(i, l, ifAt, loopEnd, elseJumps); + case INSTR -> instr(i, l); } } flush(); + whileLoops(); + elseIfChains(); + } + + private final Map caseOwner = new HashMap<>(); + + private static int end(Block a, Map elseOf, Set elseAccepted) { + return a.kind.equals("if") && elseAccepted.contains(a.open) ? elseOf.get(a.open) : a.close; + } + + private static boolean fits( + Block b, boolean withElse, List accepted, Map elseOf, Set elseAccepted) { + int end = withElse ? elseOf.get(b.open) : b.close; + for (Block a : accepted) { + int ae = end(a, elseOf, elseAccepted); + boolean ok = nests(b.open, end, a.open, ae); + if (ok && withElse) { + ok = nests(b.open, b.close, a.open, ae) && nests(b.close, end, a.open, ae); + } + if (ok && a.kind.equals("if") && elseAccepted.contains(a.open)) { + ok = nests(b.open, end, a.open, a.close) && nests(b.open, end, a.close, ae); + } + if (!ok) { + return false; + } + } + return true; + } + + /** Switch tables of the unit: table label → rows {case value text, target label}. */ + private Map> switchTables() { + Map> out = new HashMap<>(); + for (int i = 0; i + 1 < ls.size(); i++) { + if (ls.get(i).kind() == StratListing.Kind.LABEL + && ls.get(i + 1).kind() == StratListing.Kind.DATA + && ls.get(i + 1).text().startsWith(".switch ")) { + Integer n = Num.parse(ls.get(i + 1).text().substring(8).trim()); + List rows = new ArrayList<>(); + for (int k = 0; n != null && k < n && i + 2 + k < ls.size(); k++) { + String t = ls.get(i + 2 + k).text(); + if (!t.startsWith(".case ")) { + break; + } + t = t.substring(6).trim(); + if (t.startsWith("imm ")) { + t = t.substring(4); + } + int comma = t.lastIndexOf(','); + rows.add(new String[] { + t.substring(0, comma).trim(), t.substring(comma + 1).trim() + }); + } + if (n != null && rows.size() == n) { + out.put(ls.get(i).label(), rows); + } + } + } + return out; + } + + /** switch at s followed by "jmp E": cases (and default) inside (s, E] become a switch block. */ + private void switchCandidate( + int s, Map> tables, List out, Map> cases) { + List rows = tables.get(operand(ls.get(s))); + if (rows == null || s + 1 >= ls.size()) { + return; + } + StratListing.Line j = ls.get(s + 1); + if (j.kind() != StratListing.Kind.INSTR || j.op() != 0x16) { + return; + } + Integer d = target(s + 1); + if (d == null || d <= s + 1) { + return; + } + List cs = new ArrayList<>(); + int e = d; + for (int k = 0; k < rows.size(); k++) { + Integer t = labelIdx.get(rows.get(k)[1]); + if (t == null || t <= s + 1) { + return; + } + cs.add(new int[] {t, k}); + e = Math.max(e, t); + } + // the end: the default target when it lies behind every case, else the first label after + // the last case's code that a "jmp" in a case body targets + int endIdx = d; + if (d < e) { + endIdx = -1; + for (int i = s + 2; i < ls.size() && endIdx < 0; i++) { + if (ls.get(i).kind() == StratListing.Kind.INSTR && ls.get(i).op() == 0x16) { + Integer t = target(i); + if (t != null && t > e) { + endIdx = t; + } + } + } + if (endIdx < 0) { + return; + } + cs.add(new int[] {d, -1}); + } + if (!clean(s, endIdx)) { + return; + } + for (int[] c : cs) { + if (c[0] > endIdx) { + return; + } + } + int stop = endIdx; + cs.removeIf(c -> c[0] == stop); + if (cs.isEmpty()) { + return; + } + cs.sort((a, b) -> Integer.compare(a[0], b[0])); + if (anchor(cs.get(0)[0]) != anchor(s + 2)) { + return; + } + out.add(new Block(s, endIdx, "switch")); + cases.put(s, cs); + } + + /** Remaining jumps to the end (or head) of the innermost enclosing loop/switch become break/continue. */ + private void resolveJumps(List accepted, Map consumed) { + for (int i = 0; i < ls.size(); i++) { + StratListing.Line l = ls.get(i); + if (l.kind() != StratListing.Kind.INSTR + || !jump(l.op()) + || ifAt.containsKey(i) + || loopEnd.containsKey(i) + || elseJumps.contains(i) + || silentJumps.contains(i)) { + continue; + } + Integer t = target(i); + if (t == null) { + continue; + } + Block in = null; + for (Block b : accepted) { + if (b.breakable() + && b.open < i + && i < b.close + && (in == null || b.open >= in.open && b.close <= in.close)) { + in = b; + } + } + if (in == null) { + continue; + } + int endAt = in.kind.equals("switch") ? in.close : in.close + 1; + String as = null; + if (anchor(t) == anchor(endAt)) { + as = "break"; + } else if (in.isLoop() && anchor(t) == anchor(in.open)) { + as = "continue"; + } + if (as != null) { + jumpAs.put(i, as); + consumed.merge(ls.get(t).label(), 1, Integer::sum); + } + } + } + + /** "loop {" directly followed by "if (c) break" becomes "while (!c) {". */ + private void whileLoops() { + for (int i = 0; i + 1 < lines.size(); i++) { + Line a = lines.get(i), b = lines.get(i + 1); + if (a.text.equals("loop {") + && b.depth == a.depth + 1 + && b.text.startsWith("if (") + && b.text.endsWith(") break")) { + String c = b.text.substring(4, b.text.length() - 7); + String w = c.startsWith("!(") && c.endsWith(")") && balanced(c.substring(2, c.length() - 1)) + ? c.substring(2, c.length() - 1) + : c.startsWith("!") && !c.contains(" ") ? c.substring(1) : "!(" + c + ")"; + lines.set(i, new Line(b.offset, a.depth, "while (" + w + ") {")); + lines.remove(i + 1); + } + } + } + + /** "} else {" + a lone "if" up to the else's end becomes "} else if (…) {"; an empty then-block is negated. */ + private void elseIfChains() { + for (int i = 0; i + 1 < lines.size(); i++) { + Line a = lines.get(i), b = lines.get(i + 1); + if (a.text.startsWith("if (") + && a.text.endsWith(") {") + && b.text.equals("} else {") + && b.depth == a.depth) { + String c = a.text.substring(4, a.text.length() - 3); + String n = c.startsWith("!(") && c.endsWith(")") && balanced(c.substring(2, c.length() - 1)) + ? c.substring(2, c.length() - 1) + : "!(" + c + ")"; + lines.set(i, new Line(a.offset, a.depth, "if (" + n + ") {")); + lines.remove(i + 1); + } + } + for (int i = 0; i + 1 < lines.size(); i++) { + Line a = lines.get(i), b = lines.get(i + 1); + if (!a.text.equals("} else {") + || b.depth != a.depth + 1 + || !b.text.startsWith("if (") + || !b.text.endsWith(" {")) { + continue; + } + int d = a.depth; + int close = -1; + boolean ok = true; + for (int k = i + 2; k < lines.size(); k++) { + Line x = lines.get(k); + if (x.depth <= d) { + close = x.depth == d && x.text.equals("}") ? k : -1; + break; + } + if (x.depth == d + 1 && !x.text.startsWith("}")) { + ok = false; + break; + } + } + if (!ok || close < 0 || !lines.get(close - 1).text.equals("}") || lines.get(close - 1).depth != d + 1) { + continue; + } + lines.set(i, new Line(b.offset, d, "} else " + b.text)); + lines.remove(i + 1); + close--; + lines.remove(close - 1); + close--; + for (int k = i + 1; k < close; k++) { + Line x = lines.get(k); + lines.set(k, new Line(x.offset, x.depth - 1, x.text)); + } + } } private static boolean nests(int a0, int a1, int b0, int b1) { @@ -339,8 +661,7 @@ public final class StratPseudo { return d == 0; } - private void instr( - int i, StratListing.Line l, Map ifAt, Map loopEnd, Set elseJumps) { + private void instr(int i, StratListing.Line l) { int op = l.op(); String mn = mn(l); String a = operand(l); @@ -388,18 +709,29 @@ public final class StratPseudo { push(off, "!" + pop()); return; } - boolean cond = op >= 0x12 && op <= 0x15; - if (cond) { + if (condJump(op)) { String e = strip(pop()); boolean neg = op == 0x13 || op == 0x15; String yield = op <= 0x13 ? " /*yield*/" : ""; int b0 = begin(off); flush(); + Block lp = loopEnd.get(i); + String jumpIf = neg ? e : "!(" + e + ")"; if (ifAt.containsKey(i)) { out(b0, "if (" + (neg ? "!(" + e + ")" : e) + ")" + yield + " {"); depth++; + } else if (lp != null) { + depth--; + Line last = lines.isEmpty() ? null : lines.get(lines.size() - 1); + if (last != null && last.text.equals("do {") && last.depth == depth) { + lines.set(lines.size() - 1, new Line(b0, depth, "do {} while (" + jumpIf + ")" + yield)); + } else { + out(b0, "} while (" + jumpIf + ")" + yield); + } + } else if (jumpAs.containsKey(i)) { + out(b0, "if (" + jumpIf + ") " + jumpAs.get(i) + yield); } else { - out(b0, "if (" + (neg ? e : "!(" + strip(e) + ")") + ") goto " + a + yield); + out(b0, "if (" + jumpIf + ") goto " + a + yield); } return; } @@ -412,15 +744,26 @@ public final class StratPseudo { } depth--; out(-1, "}"); - } else if (elseJumps.contains(i)) { + } else if (elseJumps.contains(i) || silentJumps.contains(i)) { if (op == 0x2b) { out(off, "yield"); } + } else if (jumpAs.containsKey(i)) { + out(off, (op == 0x2b ? "yield; " : "") + jumpAs.get(i)); } else { out(off, (op == 0x2b ? "yield; " : "") + "goto " + a); } return; } + if (op == StratOps.SWITCH && switchAt.containsKey(i)) { + String v = strip(pop()); + int b0 = begin(off); + flush(); + switchDepth.put(i, depth); + out(b0, "switch (" + v + ") { // " + a); + depth++; + return; + } if (op == 0x11 || op == 0x10) { flush(); out(off, "call " + a + (op == 0x10 ? " /*yield*/" : "") + "()"); diff --git a/src/main/resources/com/eliasmueller/llamamod/format/strat/ops.tsv b/src/main/resources/com/eliasmueller/llamamod/format/strat/ops.tsv index 793dce1..e7cf0cb 100644 --- a/src/main/resources/com/eliasmueller/llamamod/format/strat/ops.tsv +++ b/src/main/resources/com/eliasmueller/llamamod/format/strat/ops.tsv @@ -37,30 +37,30 @@ 0x23 error_0x23 - 0 0 Prints "stCollide_AlienVarAddress" not-implemented error; unused. high stCollide_AlienVarAddress 0x24 pushTarget2Prop prop 0 1 Pushes property n of the second target strat (DAT_006D9E34, set by 0xca), 0 if none; unused. medium stTarget_AlienVar 0x25 pushTarget2PropAddr prop 0 1 Pushes address of target2 property n (0 if none); unused. medium stTarget_AlienVarAddress -0x26 pushBossProp prop 0 1 Pushes property n of the strat in DAT_006D9E24 (set by 0xef), no null check; unused. low stBoss_AlienVar -0x27 pushBossPropAddr prop 0 1 Pushes address of property n of the DAT_006D9E24 strat; unused. low stBoss_AlienVarAddress -0x28 pushDialogProp prop 0 1 Pushes property n of the strat in DAT_006D9E2C (set by 0x113, used by NPC/puzzle strats), 0 if none. low stDialog_AlienVar -0x29 pushDialogPropAddr prop 0 1 Pushes address of property n of the DAT_006D9E2C strat (0 if none); unused. low stDialog_AlienVarAddress +0x26 pushBossProp prop 0 1 Pushes property n of the boss strat DAT_006D9E24 (set by 0xef isBoss) via the getter FUN_00550E60; no null check; unused in the levels. high stBoss_AlienVar +0x27 pushBossPropAddr prop 0 1 Pushes the address of property n of the boss strat DAT_006D9E24 (setter FUN_005509F0 returns the address); no null check; unused. high stBoss_AlienVarAddress +0x28 pushDialogProp prop 0 1 Pushes property n of the strat registered by 0x113 (DAT_006D9E2C: the NPC/puzzle/door that a cut-scene is about), 0 if none. WAD use: Camera and CutSceneCameraDirectional read its x/y/z/rotY to look at it (1585 of 1678 uses). high stDialog_AlienVar +0x29 pushDialogPropAddr prop 0 1 Pushes the address of property n of the DAT_006D9E2C strat (0 if none); unused. high stDialog_AlienVarAddress 0x2a shadow imm 0 0 arg!=0 sets, 0 clears +0xE8 bit 0x20 (shadow on; shadow pass requires it plus size from 0x59 and texture from 0x5a). medium stShadow 0x2b jmpYield rel 0 0 Jumps to next+arg*4 and yields this frame (loop back-edge / wait one frame). high - 0x2c nop_0x2c - 0 0 No-op (shared empty handler); unused. high - 0x2d nop_0x2d - 0 0 No-op (shared empty handler); unused. high - 0x2e nop_0x2e - 0 0 No-op (shared empty handler); unused. high - -0x2f flagEC10000 imm 0 0 arg!=0 sets, 0 clears +0xEC bit 0x10000 (with 0x8000 both set the strat skips player-distance updates; property 0xf2 reads it); meaning unclear. low - +0x2f flagEC10000 imm 0 0 arg!=0 sets, 0 clears +0xEC bit 0x10000 = "freeze when off-camera": the camera pass (FUN_00436190) sets +0xEC 0x8000 when the strat is outside the camera range; with both bits set the frame loop (0x54c603) and the strat-vs-strat collision loop (0x54cc1a) skip it. Used by ~1350 strats (pickups, triggers, enemies). medium - 0x30 trackPlayer imm 0 0 If no player yet: re-executes itself next frame (pc-=4, yield); else arg sets/clears +0xEC bit 0x4000 = update distance to player each frame (+0x148). medium - -0x31 flagEC2 imm 0 0 arg sets/clears +0xEC bit 2 (checked by collision/floor code via +0xC0, readable as property 0x1f). low - -0x32 flagE8_80000000 imm 0 0 arg sets/clears +0xE8 bit 31; unused. low - -0x33 flagEC100 imm 0 0 arg sets/clears +0xEC bit 0x100 (tested in the collision response, skips floor handling; used by drops/projectiles/rollercoaster). low - -0x34 flagEC200000 imm 0 0 arg sets/clears +0xEC bit 0x200000 (used by NPC helpers/canoe/llama). low - +0x31 flagEC2 imm 0 0 arg sets/clears +0xEC bit 2 = "others can stand on / touch me": in the strat collision loop (0x54cc96) a strat touching a strat with this bit gets +0xE8 0x400000 (and 0x800000 when it moves) = properties 32/33; also readable as property 0x1f. Set by Llama, Coin, Jar, EnemyCoin, RubyIdol. medium - +0x32 flagE8_80000000 imm 0 0 arg sets/clears +0xE8 bit 31; no reader of the bit found in the exe (scan of all +0xE8 flag tests); unused in the levels. medium - +0x33 flagEC100 imm 0 0 arg sets/clears +0xEC bit 0x100; the collision response (0x4044f7) skips the floor/slope handling when it is set. Used by LlamaSpit, DropObject, RollerCoaster, KuscoTurtle (objects that move by script, not by floor physics). medium - +0x34 flagEC200000 imm 0 0 arg sets/clears +0xEC bit 0x200000; no direct test of the bit found in the exe (all +0xEC flag tests scanned). Used by Llama, RiverCroc, RiverLog, Rock, river NPCs (river/canoe level objects). low - 0x35 nop_0x35 - 0 0 No-op (shared empty handler); unused. high - 0x36 nop_0x36 - 0 0 No-op (shared empty handler); unused. high - 0x37 popPlayerProp playerProp 1 0 Pops value and stores it into player property n (discarded if no player). high - 0x38 popCameraProp prop 1 0 Pops value into camera strat property n (discarded if none). high - 0x39 popTargetProp prop 1 0 Pops value into camera target (DAT_006D9E30) property n (discarded if none). medium - 0x3a popTarget2Prop prop 1 0 Pops value into DAT_006D9E34 strat property n (discarded if none); unused. medium - -0x3b popDialogProp prop 1 0 Pops value into DAT_006D9E2C strat property n (discarded if none); unused. low - +0x3b popDialogProp prop 1 0 Pops a value into property n of the DAT_006D9E2C strat (discarded if none); unused. high - 0x3c error_0x3c - 0 0 Prints "stCollide_AlienVar_Equals" not-implemented error; unused. high - -0x3d popBossProp prop 1 0 Pops value into DAT_006D9E24 strat property n (no null check); unused. low - +0x3d popBossProp prop 1 0 Pops a value into property n of the boss strat DAT_006D9E24 (no null check); unused. high - 0x3e popParentVar var 1 0 Pops value into variable n of the +0xC strat. high - 0x3f popParentProp prop 1 0 Pops value into property n of the +0xC strat; unused. high - 0x40 popProp prop 1 0 Pops value into own property n (via FUN_005509F0 address). high - @@ -134,15 +134,15 @@ 0x84 collHeight - 0 0 Unimplemented: logs "stCollheight" only. high stCollHeight 0x85 collExtent - 1 0 pops extent; stores its low 16 bits raw into short +0xC4. medium stCollextent 0x86 collView - 0 0 Unimplemented: logs "stCollview" only. high stCollView -0x87 nop_0x87 - 0 0 Shared no-op handler (0x426500); unused. Slot of Croc2 stCollPoints. low stCollPoints -0x88 nop_0x88 - 0 0 Shared no-op handler (0x426500); unused. Slot of Croc2 stCollSetPoint. low stCollSetPoint +0x87 nop_0x87 - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stCollPoints. high stCollPoints +0x88 nop_0x88 - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stCollSetPoint. high stCollSetPoint 0x89 createTrigger - 0 0 Sets flag 0x40 in +0xE8 (strat becomes a trigger/touchable, used by pickups like Health, Carrot). medium stCreateTrigger 0x8a killTrigger - 0 0 Clears flags 0x40 and 0x4000000 in +0xE8 (undoes createTrigger). medium stKillTrigger 0x8b wait - 1 0 pops frames (fixed, >>12) into wait counter short +0xFE and sets flag 0x2 in +0xE8 (strat sleeps until the counter runs out). high stWait 0x8c hold - 0 0 Sets flags 0x12 (0x2 wait + 0x10 stopped) in +0xE8: suspends the strat indefinitely until released. medium stHold 0x8d release - 0 0 Unimplemented: logs "stRelease" only. high stRelease 0x8e remove - 0 0 Sets flags 0x6 in +0xE8 (yield + kill); same handler as 0xb4 end. high stRemove -0x8f nop_0x8f - 0 0 Shared no-op handler (0x426500); unused. Slot of Croc2 stMapRemove. low stMapRemove +0x8f nop_0x8f - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Slot of Croc2 stMapRemove. high stMapRemove 0x90 mapAdd - 0 0 Unimplemented: logs "stMapadd" only. high stMapAdd 0x91 mapReplace - 0 0 Unimplemented: logs "stMapreplace" only. high stMapReplace 0x92 activated - 0 0 Sets bit 0x8 in byte +0x44 of the strat's map-instance record (+0xF0): marks the map object as activated (persistent state). medium stActivated @@ -155,8 +155,8 @@ 0x99 soundStop - 1 0 pops sound channel; stops that channel if owned by this strat, or (channel <0/invalid) all sounds of this strat. high stSoundStop 0x9a musicPlay - 1 0 pops music track index (fixed, >>12); if different from the current track (0x586430) starts that ASF music stream (FUN_00546b70). high stCdPlay 0x9b streamPlay - 0 0 Unimplemented: logs "stStreamPlay" only. high - -0x9c speechSetPos - 1 0 pops a value (fixed, >>12) into global 0x6DA2B8 (meaning unknown, likely speech volume/range) and moves the speech/voice stream (handle 0x6D94B4, started by '#' text) to this strat's position. low - -0x9d discard_0x9d - 1 0 pops a value (>>12) and passes it to the no-op debug print; effectively drop. Croc2 slot midiVolume/cdFade. low stMidiVolume +0x9c speechSetPos - 1 0 Pops a value into global 0x6DA2B8 (written only, never read: no effect) and moves the speech/voice channel (DAT_006D94A0, started by "#" texts) to this strat's position (+0x30..0x38), so the voice plays from the speaker. high - +0x9d discard_0x9d - 1 0 Pops a value (>>12) and passes it to the empty function 0x426500: a pure drop on PC. Croc2 slot midiVolume/cdFade. high stMidiVolume 0x9e speechStop - 0 0 Stops the current speech/voice stream (handle 0x6D94B4) if one is playing and resets the handle to -1. high stMidiStop 0x9f streamQueue - 0 0 Unimplemented: logs "stStreamQueue" only. high stMidiQueue 0xa0 isLight - 0 0 Unimplemented: logs "stIsLight" only. high stIsLight @@ -176,7 +176,7 @@ 0xae cos - 1 1 pops angle; pushes cos (table 0x574318 offset by quarter turn 0x400). high stCos 0xaf not - 1 1 pops x; pushes 1 if x==0 else 0. high stNot 0xb0 pop - 1 0 Drops the top stack value (stack pointer +0x104 -= 4). high stPop -0xb1 stkCmp imm 0 1 Peeks (does not pop) the top stack entry, dereferences it as a pointer and pushes imm minus the pointed-to int (compare helper). low stStkCmp +0xb1 stkCmp imm 0 1 Reads one inline word imm (pc += 4), peeks the top stack entry (no pop), dereferences it as an int pointer and pushes imm − *top. Unused in the levels. high stStkCmp 0xb2 address addr 0 1 Patches itself into 0x45 (push immediate) after resolving the operand to an absolute address (negative = import table 0x6DA324, else + STPC base 0x6D9DBC) and pushes it (code/model/anim address). high stAddress 0xb3 return - 1 0 pops code address and jumps there (pc = popped). high stReturn 0xb4 end - 0 0 Sets flags 0x6 in +0xE8 (yield + kill): ends the strat. Same handler as 0x8e. high stEndStrat @@ -186,36 +186,36 @@ 0xb8 bitwiseAnd - 2 1 pops b, a; pushes a & b. high stBitwiseAnd 0xb9 discard_0xb9 - 1 0 Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 ext-var slots). medium - 0xba discard_0xba - 1 0 Shared stub 0x554fb0: pops one value and discards it. Unused. medium - -0xbb nop_0xbb - 0 0 Shared no-op handler (0x426500); unused. low - +0xbb nop_0xbb - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. high - 0xbc notEqual - 2 1 pops b, a; pushes 1 if a != b else 0. high stNotEqual 0xbd greaterEqual - 2 1 pops b, a; pushes 1 if a >= b else 0. high stGreaterEqual 0xbe lessEqual - 2 1 pops b, a; pushes 1 if a <= b else 0. high stLessEqual 0xbf rnd - 1 1 pops n; pushes random value (two rand() halves) modulo n, 0 if n==0; result is in the same units as n (fixed in, fixed out). high stRnd 0xc0 loseHeart - 0 0 In game state 3, unless player invulnerable (0x584710 bit 0): health 0x584E70 -= 1.0, or if already 0 sets 0x584638 = 2 (player dies); refreshes HUD (FUN_004268c0(1)). high stLoseHeart -0xc1 nop_0xc1 - 0 0 Shared no-op handler (0x426500); unused. Croc2 slot stResettoCheckPoint. low stResettoCheckPoint +0xc1 nop_0xc1 - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stResettoCheckPoint. high stResettoCheckPoint 0xc2 forceCollision - 0 0 Runs world collision for this strat (FUN_00403020 with level geometry): updates floor/ceiling/wall info in the collision block +0xC0 (ground height, surface type). medium stForceCollision 0xc3 turnFromPlayerY - 1 0 pops max turn step (angle, 0x1000000 = full turn); turns yaw +0x24 toward the direction from the player (0x6D9E1C) to this strat, i.e. away from the player, by at most step. medium stTurnFromPlayerY -0xc4 rumble - 2 0 Shared stub 0x555090: pops two values and discards them (PSX pad rumble/vibrate not implemented on PC). low stRumble -0xc5 suspendIfTooFar - 1 0 Shared stub 0x554fb0: pops one value (likely distance) and discards it. low stSuspendIfTooFar +0xc4 rumble - 2 0 Shared stub 0x555090: pops two values and discards them (PSX pad rumble is not implemented on PC). high stRumble +0xc5 suspendIfTooFar - 1 0 Shared stub 0x554fb0: pops one value (distance) and discards it – no effect on PC (op 0x2f gives the off-camera freeze instead). high stSuspendIfTooFar 0xc6 collisionBone - 2 0 pops value (short), then bone id (fixed, >>12); sets/adds entry {id, value} in the bone table at +0xC8 (count +0xC6). medium stCollisionBone -0xc7 useBone - 1 0 pops one value (ignored); if a model/anim is set (+0x14) rebuilds the rotation matrix and stores a transformed point (matrix * local vector + translation +0x94) into +0xD8/+0xDC/+0xE0. low stUseBone +0xc7 useBone - 1 0 Pops bone n (>>12); if the strat has an animated model (+0x14) it takes bone n of the current animation frame (+0x110; anim+0x1C frame table, 64 bytes per bone, offset +0x30..0x38 = bone position), rotates it by the strat's rotation matrix and adds the position: world point in +0xD8/+0xDC/+0xE0 = properties boneX/Y/Z. (The Ghidra C output drops the bone index; read from the assembly.) Used to spawn effects at hands/mouths. high stUseBone 0xc8 isCamera - 0 0 Registers this strat as the camera (global 0x6D9E28) and sets flag 0x8000000 in +0xE8. high stIsCamera 0xc9 lookAtMe - 0 0 Sets camera look-at target global 0x6D9E30 = this strat. high stLookatme 0xca lookAtMe2 - 0 0 Sets secondary look-at global 0x6D9E34 = this strat. Unused. medium stLookatme 0xcb pushCamera - 0 0 Pushes current camera (0x6D9E28) and look-at (0x6D9E30) pair onto the camera stack 0x6D9DCC (index 0x6D9E40). high stPushCamera 0xcc popCamera - 0 0 If the camera stack is not empty, restores camera and look-at from it and increments camera-change counter 0x6D9D34. high stPopCamera -0xcd nop_0xcd - 0 0 Shared no-op handler (0x426500); unused. Croc2 slot stResetCamerapos. low stResetCamerapos +0xcd nop_0xcd - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stResetCamerapos. high stResetCamerapos 0xce gainHeart - 0 0 Health 0x584E70 += 1.0 if below max 0x584E6C; refreshes HUD (FUN_004268c0(1)). high stGainHeart -0xcf nop_0xcf - 0 0 Shared no-op handler (0x426500); unused. Croc2 slot stGainHeartPot. low stGainHeartPot +0xcf nop_0xcf - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stGainHeartPot. high stGainHeartPot 0xd0 addInv imm 0 0 Adds inline item to inventory via FUN_00426860(item,1,1,0,0), which is a stub returning 0 on PC (no effect). medium stAddInv -0xd1 nop_0xd1 - 0 0 Shared no-op handler (0x426500); unused. Croc2 slot stGainCrystal. low stGainCrystal -0xd2 discard_0xd2 - 1 0 Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 slot stCutscene). low stCutscene +0xd1 nop_0xd1 - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stGainCrystal. high stGainCrystal +0xd2 discard_0xd2 - 1 0 Shared stub 0x554fb0: pops one value and discards it. Unused (Croc2 slot stCutscene). high stCutscene 0xd3 inventory imm 0 1 Queries inline item via stub FUN_00426860 and pushes result<<12 (always 0 on PC). medium stInventory 0xd4 debugName imm,count 0 0 Strat name: skips the first inline word, reads the byte length of the following name string, sets the name pointer (+0x18) to that string and jumps past it. high stDebugname 0xd5 soundPlay - 1 0 pops sound id; plays it on this strat (FUN_00546170); outside game states 3/4 first sets game state 0x5846E4 = 5. high stSoundPlay 0xd6 soundPlayAss - 1 1 pops sound id; in game states 3/4 plays it and pushes the channel (raw int), else pushes -1. high stSoundPlayass 0xd7 soundAddress sound 0 1 Pushes the inline sound id (same handler as 0x45 push immediate). high stSoundAddress -0xd8 nop_0xd8 - 0 0 Shared no-op handler (0x426500); unused. Croc2 slot stOnground/stObjectFallslow. low stOnground +0xd8 nop_0xd8 - 0 0 Shared empty handler 0x426500 (verified in the handler table); unused in the levels. Croc2 slot stOnground/stObjectFallslow. high stOnground 0xd9 collisionOffset - 3 0 pops z, y, x; stores low 16 bits into shorts +0xD0, +0xCE, +0xCC (collision centre offset). high stCollisionOffset 0xda abs - 1 1 pops x; pushes |x|. high stAbs 0xdb pickup imm 0 0 inline flag: nonzero sets bit 0x200 in +0xEC, zero clears it (strat can be picked up/carried). medium stPickup @@ -241,7 +241,7 @@ 0xef isBoss - 0 0 registers this strat as the boss: DAT_006d9e24 = self high stIsboss 0xf0 topSay text 0 0 shows dialog text (inline text index) in the top text box: sets DAT_006d9858=1 and formats via FUN_0040d4c0 high stTopsay 0xf1 getParentPos - 0 0 copies parent's (+0xC) orientation+position block (+0x20..+0x3C, 8 words) into this strat high stGetparentpos -0xf2 setDrawMode - 1 0 pops mode (raw int): 1 sets flag 0x80000 in +0xEC, 2 sets 0x100000, other clears both (exact effect of the bits unknown); unused low - +0xf2 setDrawMode - 1 0 Pops mode (raw int): 1 sets +0xEC 0x80000, 2 sets 0x100000, anything else clears both; no reader of these two bits found in the exe; unused in the levels. low - 0xf3 afterBoss - 0 0 if no boss (DAT_006d9e24) rewinds pc and yields (waits); else relinks this strat in the process list right after the boss high stAfterboss 0xf4 afterPlayer - 0 0 if no player (DAT_006d9e1c) rewinds pc and yields (waits); else relinks this strat in the process list right after the player high stAfterPlayer 0xf5 beforePlayer - 0 0 if no player rewinds pc and yields (waits); else relinks this strat in the process list right before the player high stBeforePlayer @@ -262,7 +262,7 @@ 0x104 moveDownQ - 1 0 pops distance (fixed); y(+0x34) -= d high stMoveDownq 0x105 forcePlayerDist - 0 0 recomputes the cached squared player distance +0x148 (coords >>6) and clears +0x1C; 0x200000 if no player; unused high stForcePlayerdist 0x106 nop_0x106 - 0 0 no-op handler FUN_00426500 (does nothing, no inline operands); unused high stShadeType? -0x107 setAnimSpeed - 1 0 pops value and stores its low 16 bits (raw, not >>12) in halfword +0x114 (animation timing field, zeroed when the anim frame is set) low stSetanimSpeed? +0x107 setAnimSpeed - 1 0 Pops the animation speed (20.12, 1.0 = one animation frame per game frame) into halfword +0x114; while animating (+0xE8 bit 8) the frame loop adds it to the sub-frame counter +0x116 and advances the frame (+0x110) each time it passes 1.0 (0x54c630). WAD use: 1.0, 0.25, 1.5 and computed values. high stSetanimSpeed? 0x108 nop_0x108 - 0 0 no-op handler FUN_00426500 (does nothing, no inline operands); unused high stCheckleveldoor? 0x109 nop_0x109 - 0 0 no-op handler FUN_00426500 (does nothing, no inline operands); unused high - 0x10a nop_0x10a - 0 0 no-op handler FUN_00426500 (does nothing, no inline operands); unused high - @@ -329,7 +329,7 @@ 0x147 nop_0x147 - 0 0 Empty handler FUN_00426500 (shared no-op); does nothing. high - 0x148 gotoLevel4_1 - 0 0 Hardcoded level change: next level (0x584EB4/EB8/EBC/EC0) = 4/1/1/0, previous level (0x585008..14) = 4/1/4/0, game state 0x584638 = 7 (load level). medium - 0x149 nop_0x149 - 0 0 Empty handler FUN_00426500 (shared no-op); does nothing. high - -0x14a hudReset2 - 0 0 Calls HUD/panel init FUN_004268c0(2): re-initialises the on-screen counter panels (coins, lives, etc.) for the current level. low - +0x14a hudReset2 - 0 0 Calls FUN_004268c0(2), which returns at once for any argument other than 0 (verified in the assembly): a no-op. Unused. high - 0x14b setGlobal5fd086 imm 0 0 Stores the low 16 bits of the inline word in global 0x5FD086 (never read elsewhere; dead leftover). medium - 0x14c removeCollPoint - 1 0 pops id (fixed, >>12); removes the collision point with that id from the strat's collision point list (+0xC8 array of 4-byte entries, count +0xC6). Counterpart of 0xc6 (add/set collision point). medium stSetCollPoint (inverse) 0x14d setFlagEC_400000 flags 0 0 Inline word: nonzero sets, zero clears bit 0x400000 of strat flags2 (+0xEC); the bit selects which height constant own property 0xF2 returns. high - @@ -347,7 +347,7 @@ 0x159 nop_0x159 - 0 0 Empty handler FUN_00426500 (shared no-op); does nothing. high - 0x15a setPosToPlayer - 0 0 Copies the player's position x/y/z (+0x30..+0x38) and +0x3C into the strat (player strat = 0x6D9E1C). high - 0x15b setPosToPlayerXZ - 0 0 Copies the player's x and z (+0x30, +0x38) into the strat; y unchanged. high - -0x15c setShadowHeight - 1 0 pops v; stores it in strat +0x14C, used by the shadow renderer as the shadow/ground height override (-0x1000 = use default 0x586424). low - +0x15c setShadowHeight - 1 0 Pops v into +0x14C, the water/floor height limit used by the shadow pass (FUN_00555140: -0x1000 = use the camera-cell floor height DAT_00586424, prop camFloorHeight); the shadow is skipped when the floor under the strat lies below it. One use (SinkingStatuePad). medium - 0x15d packRgb - 3 1 pops c (top), b, a (fixed 0..255); pushes (c<<16)|(b<<8)|a as a raw packed colour int (push order r,g,b gives 0x00BBGGRR). high - 0x15e trailCreate - 2 1 pops vertB (top), vertA (fixed vertex indices of the strat's model/anim frame); allocates a free trail/ribbon slot (0x5FD180, 0x42C bytes each) owned by this strat and pushes its handle (0 if none free). medium - 0x15f trailAddPoint - 3 0 pops colourB (top), colourA, trail handle; transforms the two trail vertices of the current anim frame into world space and appends them to the trail history (20 points) with the given colours; no-op if handle 0. medium - @@ -393,8 +393,8 @@ 0x187 emitterInit - 7 0 pops colour/texture (top, raw), z, y, x (vector/offset), type (fixed 1..0x2B preset, or >=0x1000 type flags), size/speed (fixed, 0x1000 default), slot (0..2, >=3 = extra slot +0x153); (re)initialises the strat's particle emitter in that slot (records at 0x5FE230, 0x34 bytes; texture/colour stored per type). medium stSpawnparticle 0x188 emitParticles - 3 0 pops yStep (top, fixed), count, slot; emits count particles from the slot's emitter at own position with random XZ velocity, each raised by yStep. medium - 0x189 randSigned - 1 1 pops n; pushes a random value in (-n, n) ((rand32 - rand32) % n, same fixed scale as n). high - -0x18a emitterSetParams - 5 0 pops e (top), d, c, b, slot; sets emitter slot params: +0x254 = b (rate/speed), +0x24A = c>>12 (life); if e==0 +0x25C = (d>>12)*32-32 else +0x246 = e, +0x23C = d. Allocates the slot if empty. low - -0x18b emitterSetColour - 5 0 pops colour (top, raw packed, see 0x15d), b, g, r, slot; sets emitter colour (+0x250) and fade/alpha (+0x240..243): if r has no fraction it is an alpha value only, else r,g,b are per-channel fade values. low - +0x18a emitterSetParams - 5 0 Pops e (top), d, c, b, slot (>>12): pending particle settings of this strat (slot 0–2 → record index at strat+0x150+slot, ≥3 → +0x153, record allocated on demand in the 0x34-byte table 0x5FE23C): b = size scale (1.0 = default), c>>12 = extra lifetime in frames, e≠0: +0x246 = e (drift), +0x23C = d; e==0: +0x25C = (d>>12)*32-32 (sprite size). spawnParticle consumes and resets the +0x153 record; same as spawnParticle type 0x19. medium - +0x18b emitterSetColour - 5 0 Pops colour (top, raw packed, see 0x15d), b, g, r, slot: pending particle colour for the next particle(s) of this strat (record as 0x18a; same as spawnParticle type 0x1e): +0x250 = colour; r without fraction = alpha r>>12 (7 bits), else r,g,b>>12 = per-channel fade, +0x243 = 0x80; alpha 0 = 0xFF/lifetime. medium - 0x18c emitParticlesStill - 3 0 pops yStep (top, raw fixed), count, slot; emits count particles from the slot's emitter at own position without velocity, stacked by yStep. medium - 0x18d stubPop2_0x18d - 2 0 Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). high - 0x18e stubPop2_0x18e - 2 0 Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). high - @@ -424,7 +424,7 @@ 0x1a6 emitterKill - 1 0 pops slot (fixed); frees the strat's particle emitter in that slot (+0x150+slot = 0xFF) and resets the record. high - 0x1a7 stubPush0_0x1a7 - 0 1 Stub FUN_0054e880: pushes 0. high - 0x1a8 processFirst - 0 0 Moves self to the head of the strat update list (0x6D9E38) if not already there. high - -0x1a9 setRain - 4 0 pops colour (top, raw -> 0x6D9BE8), b (->0x578EF4), a2 (->0x6D9BF4), a1 (->0x578EF0) (all >>12); if the three counts/params are 0 rain is stopped and cleared, else rain is enabled (0x6D9BE4 = 1). low - +0x1a9 setRain - 4 0 Weather: pops texture (top, raw tex index → 0x6D9BE8, read by the rain renderer), windZ (>>12 → 0x578EF4), c (>>12 → 0x6D9BF4, only used for the off test), windX (>>12 → 0x578EF0); each raindrop restarts with velocity (windX, -256, windZ) per frame. windX, c, windZ all 0 = rain off (drops cleared, 0x6D9BE4 = 0), else on. Rain type: setRain(v0, v1, v2, tex:768) with params 16.0, 0, 16.0. medium - 0x1aa stubPop1Push0_0x1aa - 1 1 Stub FUN_005550b0: pops 1 value and pushes 0. high - 0x1ab stubPop2_0x1ab - 2 0 Stub FUN_00555090: pops and discards 2 values (feature removed in PC port). high - 0x1ac stubPop1Push0_0x1ac - 1 1 Stub FUN_005550b0: pops 1 value and pushes 0. high - diff --git a/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratEditsTest.java b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratEditsTest.java index 982e5ad..d9e4c8c 100644 --- a/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratEditsTest.java +++ b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratEditsTest.java @@ -106,6 +106,86 @@ class StratEditsTest { assertEquals(wad2.length, WadBuilder.build(r.scene()).length); } + static int entry(Project p, String type) { + return p.scene().catalog().type(type).variant(0).code(); + } + + static StratEdits.CustomType withSource(StratEdits.CustomType t, String src) { + return new StratEdits.CustomType(t.name(), t.basedOn(), t.entryLabel(), src, t.proto()); + } + + /** Edit and delete custom types: codes of placed objects follow, undo/redo, save/reload. */ + @Test + void editAndDeleteCustomTypes() throws Exception { + Bases cd = cd(); + StratEdits.init(); + Project p = ProjectIO.read(ProjectIO.write(Project.create(cd, "types", "t1l1m001"), cd), cd); + History h = new History(p.scene()); + StratEdits.CustomType a = StratEdits.cloneOf(p.scene(), "Coin", "CoinA"); + h.execute(TypeEdits.create(p, a)); + StratEdits.CustomType b = StratEdits.cloneOf(p.scene(), "Coin", "CoinB"); + h.execute(TypeEdits.create(p, b)); + h.execute(Edits.placeStrat(p.scene(), "CoinA", 0, 30, 2, 30, 0.0)); + h.execute(Edits.placeStrat(p.scene(), "CoinB", 0, 31, 2, 30, 0.0)); + h.execute(Edits.placeStrat(p.scene(), "CoinB", 0, 32, 2, 30, 0.0)); + int n = p.scene().strats().size(); + List placed = List.copyOf(p.scene().strats().subList(n - 3, n)); + int b0 = entry(p, "CoinB"); + assertEquals( + List.of(1, 2), + List.of( + StratEdits.users(p.scene(), 0).size(), + StratEdits.users(p.scene(), 1).size())); + + // edit A: three more words, faster spin → B's entry moves by 12 bytes + String src = a.source() + .replace("push 5.625deg", "push 90deg") + .replace("\nCoinA:\n", "\nCoinA:\n nop_0x00 0\n nop_0x00 0\n nop_0x00 0\n"); + assertTrue(src.contains("nop_0x00"), src); + assertTrue(StratEdits.checkTypes(p.scene(), List.of(withSource(a, src), b), 0, null) == null); + h.execute(TypeEdits.edit(p, 0, withSource(a, src))); + assertEquals(b0 + 12, entry(p, "CoinB")); + assertEquals(entry(p, "CoinB"), placed.get(1).code()); + assertEquals(entry(p, "CoinB"), placed.get(2).code()); + assertEquals("CoinB", placed.get(2).type()); + assertEquals(entry(p, "CoinA"), placed.get(0).code()); + assertEquals(0x400000, spin(p, "CoinA").value()); + assertTrue(StratEdits.records(p).types().get(0).source().contains("nop_0x00")); + assertTrue(StratEdits.analysis(p.scene()).code().errors.isEmpty()); + h.undo(); + assertEquals(b0, entry(p, "CoinB")); + assertEquals(b0, placed.get(1).code()); + assertEquals(0x40000, spin(p, "CoinA").value()); + h.redo(); + assertEquals(b0 + 12, placed.get(2).code()); + + // delete A: its object goes, B moves to A's place + int a0 = entry(p, "CoinA"); + byte[] before = WadBuilder.build(p.scene()); + h.execute(TypeEdits.delete(p, 0)); + assertTrue(p.scene().catalog().type("CoinA") == null); + assertTrue(!p.scene().strats().contains(placed.get(0))); + assertEquals(1, StratEdits.records(p).types().size()); + assertEquals(entry(p, "CoinB"), placed.get(1).code()); + assertTrue(entry(p, "CoinB") < b0, "CoinB moved down to the start of the custom block"); + assertEquals("CoinB", nameAt(WadBuilder.build(p.scene()), placed.get(1).code())); + Project q = ProjectIO.read(ProjectIO.write(p, cd), cd); + assertTrue(q.warnings().isEmpty(), q.warnings().toString()); + assertArrayEquals( + WadBuilder.build(p.scene()), WadBuilder.build(q.scene()), "reloaded project builds the same WAD"); + h.undo(); + assertTrue(p.scene().strats().contains(placed.get(0))); + assertEquals(a0, placed.get(0).code()); + assertEquals("CoinA", placed.get(0).type()); + assertArrayEquals(before, WadBuilder.build(p.scene()), "undo restores the level"); + // undo the creation of both types: no custom code left + while (h.canUndo()) { + h.undo(); + } + assertTrue(StratEdits.records(p).types().isEmpty()); + assertEquals(-1, StratEdits.firstCustomUnit(p.scene())); + } + @Test void templateAssemblesAndVerifies() throws Exception { Bases cd = cd(); diff --git a/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsGameLevel.java b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsGameLevel.java new file mode 100644 index 0000000..7fd2a5d --- /dev/null +++ b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsGameLevel.java @@ -0,0 +1,122 @@ +package com.eliasmueller.llamamod.editor.tools.strats; + +import com.eliasmueller.llamamod.editor.io.Bases; +import com.eliasmueller.llamamod.editor.io.Project; +import com.eliasmueller.llamamod.editor.io.ProjectIO; +import com.eliasmueller.llamamod.editor.model.Strat; +import com.eliasmueller.llamamod.editor.model.cmd.Edits; +import com.eliasmueller.llamamod.editor.model.cmd.History; +import com.eliasmueller.llamamod.format.strat.StratCompiler; +import java.nio.file.Path; +import java.util.List; + +/** + * Builds the in-game test level for custom types and compiled scripts (not a unit test): + * {@code java -cp all.jar:build/classes/java/test ...StratsGameLevel OUT.llamalevel [rain]}. Village 1 + * with, in front of the start: BigCoin (a Coin clone, edited afterwards to scale 3), Bobber (script: + * bobs up and down), Pulser (script: grows and shrinks), and a deleted type (its object is gone). + */ +public final class StratsGameLevel { + static final String BOBBER = + """ + // bobs one cell up and down and turns + strat Bobber { + alias base = v0 + alias phase = v1 + setModel(model:5) + base = self.y + 1.0 + phase = 0 + loop { + phase = phase + 4deg + self.y = base + sin(phase) + turnLeft(4deg) + yield + } + } + """; + + static final String PULSER = + """ + // grows to 4x, shrinks back to 1x, forever + strat Pulser { + alias size = v0 + setModel(model:5) + self.y = self.y + 1.0 + size = 1.0 + loop { + while (size < 4.0) { + size = size + 0.05 + scale(size) + yield + } + do { + size = size - 0.05 + scale(size) + yield + } while (size > 1.0) + } + } + """; + + /** Rain with strong wind in x from the start (setRain: windX, unused, windZ, texture). */ + static final String STORM = + """ + strat Storm { + setRain(200.0, 0, 0, tex:768) + loop { + yield + } + } + """; + + public static void main(String[] a) throws Exception { + Bases cd = Bases.fromCd(Path.of(System.getProperty("user.home") + "/.wine-lama/iso-dk/Setup/Eng/Cd")); + StratEdits.init(); + if (a.length > 1 && a[1].equals("rain")) { + Project p = ProjectIO.read(ProjectIO.write(Project.create(cd, "edit", "t1l2m001"), cd), cd); + History h = new History(p.scene()); + StratEdits.CustomType coin = StratEdits.cloneOf(p.scene(), "Coin", "X"); + h.execute(TypeEdits.create( + p, new StratEdits.CustomType("Storm", null, "Storm", StratCompiler.compile(STORM), coin.proto()))); + Strat start = p.scene().playerStart(); + h.execute(Edits.placeStrat( + p.scene(), "Storm", 0, start.x() / 4096.0, start.y() / 4096.0, start.z() / 4096.0, 0.0)); + ProjectIO.save(p, Path.of(a[0]), cd); + System.out.println("saved " + a[0]); + return; + } + Project p = ProjectIO.read(ProjectIO.write(Project.create(cd, "edit", "t1l1m001"), cd), cd); + History h = new History(p.scene()); + StratEdits.CustomType big = StratEdits.cloneOf(p.scene(), "Coin", "BigCoin"); + h.execute(TypeEdits.create(p, big)); + StratEdits.CustomType temp = StratEdits.cloneOf(p.scene(), "Coin", "TempCoin"); + h.execute(TypeEdits.create(p, temp)); + for (String[] s : List.of(new String[] {"Bobber", BOBBER}, new String[] {"Pulser", PULSER})) { + String asm = StratCompiler.compile(s[1]); + h.execute(TypeEdits.create(p, new StratEdits.CustomType(s[0], null, s[0], asm, big.proto()))); + } + Strat start = p.scene().playerStart(); + double sx = start.x() / 4096.0, sy = start.y() / 4096.0, sz = start.z() / 4096.0; + double yaw = start.ry() * 2 * Math.PI / 4096.0; + double fx = Math.sin(yaw), fz = Math.cos(yaw), rx = Math.cos(yaw), rz = -Math.sin(yaw); + // a row between the start view and the VillagerHerder (34.5, 7.25, 66.1), 1 cell apart + String[] types = {"Coin", "BigCoin", "Bobber", "Pulser", "TempCoin"}; + for (int i = 0; i < types.length; i++) { + h.execute(Edits.placeStrat(p.scene(), types[i], 0, 31.5 + i, 8.0, 64.6, 0.0)); + } + // edit BigCoin after placing it: three times the size (the object follows the new code) + String src = + big.source().replace(" setModel\n", " setModel\n pushShort 3.0\n scale\n"); + if (src.equals(big.source())) { + throw new IllegalStateException("no setModel line in the Coin source"); + } + h.execute( + TypeEdits.edit(p, 0, new StratEdits.CustomType("BigCoin", "Coin", big.entryLabel(), src, big.proto()))); + // delete TempCoin together with its object + h.execute(TypeEdits.delete(p, 1)); + System.out.println("types: " + StratEdits.customNames(p)); + ProjectIO.save(p, Path.of(a[0]), cd); + System.out.println("saved " + a[0] + " (" + p.scene().strats().size() + " objects, start " + sx + "," + sy + "," + + sz + ")"); + } +} diff --git a/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsTour.java b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsTour.java new file mode 100644 index 0000000..86c7bb0 --- /dev/null +++ b/src/test/java/com/eliasmueller/llamamod/editor/tools/strats/StratsTour.java @@ -0,0 +1,119 @@ +package com.eliasmueller.llamamod.editor.tools.strats; + +import com.eliasmueller.llamamod.editor.model.Strat; +import com.eliasmueller.llamamod.editor.model.cmd.Edits; +import com.eliasmueller.llamamod.editor.ui.EditorApp; +import com.eliasmueller.llamamod.editor.ui.EditorEnv; +import com.eliasmueller.llamamod.editor.ui.EditorWindow; +import com.eliasmueller.llamamod.format.strat.StratCompiler; +import java.awt.Rectangle; +import java.awt.Robot; +import java.awt.Window; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.concurrent.Callable; +import java.util.concurrent.atomic.AtomicReference; +import javax.imageio.ImageIO; +import javax.swing.JDialog; +import javax.swing.SwingUtilities; + +/** + * Screenshots of custom-type editing and the script view (not a unit test): + * {@code java -cp all.jar:build/classes/java/test -Dllamamod.data=DIR ...StratsTour OUTDIR}. + */ +public final class StratsTour { + static EditorWindow w; + static Path out; + + public static void main(String[] args) throws Exception { + out = Path.of(args[0]); + Files.createDirectories(out); + EditorEnv env = EditorEnv.resolve(); + edt(() -> { + EditorApp.applyTheme("light"); + w = EditorApp.open(env, "t1l1m001"); + w.setBounds(0, 0, 1600, 1000); + return null; + }); + sleep(4000); + for (int i = 0; i < 300 && edt(() -> w.busy() || w.scene() == null); i++) { + sleep(200); + } + sleep(2000); + edt(() -> { + var p = w.document().project(); + StratEdits.CustomType big = StratEdits.cloneOf(w.scene(), "Coin", "BigCoin"); + w.execute(TypeEdits.create(p, big)); + String asm = StratCompiler.compile(StratsGameLevel.PULSER); + w.execute(TypeEdits.create(p, new StratEdits.CustomType("Pulser", null, "Pulser", asm, big.proto()))); + Strat st = w.scene().playerStart(); + double x = st.x() / 4096.0, y = st.y() / 4096.0, z = st.z() / 4096.0; + w.execute(Edits.placeStrat(w.scene(), "Pulser", 0, x + 1, y, z + 2, 0.0)); + w.execute(Edits.placeStrat(w.scene(), "Pulser", 0, x - 1, y, z + 2, 0.0)); + w.execute(Edits.placeStrat(w.scene(), "BigCoin", 0, x, y, z + 3, 0.0)); + Strat last = w.scene().strats().get(w.scene().strats().size() - 2); + w.selection().set(last, null); + w.showPanel(StratsEditorPlugin.PANEL); + return null; + }); + sleep(2500); + shot("strats_custom_panel"); + SwingUtilities.invokeLater(() -> TypeDialog.showEdit(w, 1)); + sleep(2500); + shot("strats_edit_script"); + closeDialogs(); + SwingUtilities.invokeLater(() -> TypeDialog.delete(w, 1)); + sleep(2000); + shot("strats_delete_warning"); + closeDialogs(); + edt(() -> { + w.selection().set(w.scene().playerStart(), null); + return null; + }); + sleep(2500); + shot("strats_view_llama"); + System.out.println("tour done"); + System.exit(0); + } + + static void closeDialogs() throws Exception { + edt(() -> { + for (Window x : Window.getWindows()) { + if (x instanceof JDialog d && d.isShowing()) { + d.dispose(); + } + } + return null; + }); + sleep(800); + } + + static void shot(String name) throws Exception { + Rectangle r = new Rectangle(0, 0, 1600, 1000); + ImageIO.write( + new Robot().createScreenCapture(r), + "png", + out.resolve(name + ".png").toFile()); + System.out.println("shot " + name); + } + + static void sleep(long ms) throws InterruptedException { + Thread.sleep(ms); + } + + static T edt(Callable c) throws Exception { + AtomicReference r = new AtomicReference<>(); + AtomicReference e = new AtomicReference<>(); + SwingUtilities.invokeAndWait(() -> { + try { + r.set(c.call()); + } catch (Exception x) { + e.set(x); + } + }); + if (e.get() != null) { + throw e.get(); + } + return r.get(); + } +} diff --git a/src/test/java/com/eliasmueller/llamamod/format/strat/StratCompilerTest.java b/src/test/java/com/eliasmueller/llamamod/format/strat/StratCompilerTest.java new file mode 100644 index 0000000..425099b --- /dev/null +++ b/src/test/java/com/eliasmueller/llamamod/format/strat/StratCompilerTest.java @@ -0,0 +1,86 @@ +package com.eliasmueller.llamamod.format.strat; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +/** Script language → assembly → words → script view again. */ +class StratCompilerTest { + static final String SPINNER = + """ + // spins up, bobs, then waits for the player + strat Spinner { + alias count = v0 + count = 0 + while (count < 10.0) { + turnLeft(4deg) + count += 1.0 + yield + } + loop { + if (self.y > 2.0 && !self.animPlaying) { + self.y = self.y - 0.01 + } else if (self.distToPlayerSqXZ < 4.0) { + break + } else { + call wobble + } + yield + } + do { + count -= 1.0 + } while (count > 0) + } + + sub wobble { + self.rotZ = sin(self.rotY) * 0.1 + } + """; + + @Test + void compilesStructuredCode() { + String asm = StratCompiler.compile(SPINNER); + assertEquals(SPINNER.stripTrailing() + "\n", StratCompiler.embeddedSource(asm)); + assertEquals("Spinner", StratCompiler.firstStrat(SPINNER)); + StratListing li = StratPseudoTest.listing(asm, "Spinner"); + String view = StratPseudo.of(li).text(); + assertFalse(view.contains("goto"), view); + assertTrue(view.contains("strat Spinner:"), view); + assertTrue(view.contains("while (v0 < 10.0) {\n turnLeft(4deg)\n v0 += 1.0\n yield\n}"), view); + assertTrue(view.contains("if ((self.y > 2.0) && !self.animPlaying) {"), view); + assertTrue( + view.contains( + "} else if (self.distToPlayerSqXZ < 4.0) {\n break\n } else {\n call L_00b4()"), + view); + assertTrue(view.contains("do {\n v0 -= 1.0\n} while (v0 > 0)"), view); + assertTrue(view.contains("self.rotZ = sin(self.rotY) * 0.1\nreturn"), view); + } + + @Test + void numbersMatchTheAssembly() { + String asm = StratCompiler.compile("strat N { v0 = 1.5\n v1 = 100.0\n v2 = 90deg\n v3 = -3 }"); + assertTrue(asm.contains("pushShort 1.5\n"), asm); + assertTrue(asm.contains("push 100.0\n"), asm); + assertTrue(asm.contains("push 90deg\n"), asm); + assertTrue(asm.contains("pushShort -3\n"), asm); + assertTrue(asm.trim().endsWith("end"), asm); + } + + @Test + void reportsErrorsWithLines() { + StratCompiler.CompileException e = assertThrows( + StratCompiler.CompileException.class, () -> StratCompiler.compile("strat A {\n v0 = \n}")); + assertEquals(3, e.line); + e = assertThrows( + StratCompiler.CompileException.class, () -> StratCompiler.compile("strat A {\n turnLeft(1, 2)\n}")); + assertTrue(e.getMessage().contains("turnLeft takes 1 value"), e.getMessage()); + e = assertThrows(StratCompiler.CompileException.class, () -> StratCompiler.compile("strat A {\n break\n}")); + assertEquals(2, e.line); + e = assertThrows( + StratCompiler.CompileException.class, () -> StratCompiler.compile("strat A {\n self.nope = 1\n}")); + assertTrue(e.getMessage().contains("unknown property nope"), e.getMessage()); + } +} diff --git a/src/test/java/com/eliasmueller/llamamod/format/strat/StratPseudoTest.java b/src/test/java/com/eliasmueller/llamamod/format/strat/StratPseudoTest.java new file mode 100644 index 0000000..eedebdd --- /dev/null +++ b/src/test/java/com/eliasmueller/llamamod/format/strat/StratPseudoTest.java @@ -0,0 +1,175 @@ +package com.eliasmueller.llamamod.format.strat; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.eliasmueller.llamamod.format.stpcmerge.StpcImage; +import com.eliasmueller.llamamod.format.stpcmerge.StratCode; +import java.io.IOException; +import java.nio.file.Path; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.junit.jupiter.api.Test; + +/** Structuring of the script view: loops, do-while, while, break/continue, switch, else-if. */ +class StratPseudoTest { + /** A one-unit STPC (no models/animations) holding the assembled source. */ + static StratListing listing(String src, String entry) { + StratAssembler.Result r = + StratAssembler.assemble(src, new StratAssembler.Layout(16, List.of(), List.of(), List.of())); + int[] w = r.words(); + // header: 0 models, 0 animation sets, 1 unit + byte[] stpc = new byte[16 + 4 * w.length]; + put(stpc, 0, 0); + put(stpc, 4, 0); + put(stpc, 8, 1); + put(stpc, 12, w.length); + for (int i = 0; i < w.length; i++) { + put(stpc, 16 + 4 * i, w[i]); + } + StpcImage img = new StpcImage(stpc, 0); + Set roots = Set.of(16 + r.labels().get(entry)); + return StratListing.of(img, StratCode.analyse(img, roots), 0, roots, StratListing.Names.NONE); + } + + static void put(byte[] d, int o, int v) { + d[o] = (byte) v; + d[o + 1] = (byte) (v >> 8); + d[o + 2] = (byte) (v >> 16); + d[o + 3] = (byte) (v >> 24); + } + + static final String SRC = + """ + Main: + push 0 + popVar v0 + top: + pushVar v0 ; while (v0 < 10) + push 10.0 + lt + jz done + pushVar v0 + push 5.0 + eq + jz notFive + jmp done ; break + notFive: + pushVar v1 + jz skip + jmp top ; continue + skip: + pushVarAddr v0 + inc + jmpYield top + done: + again: + pushVar v2 ; do … while (v2) + push 1.0 + sub + popVar v2 + pushVar v2 + jnz again + pushVar v3 + switch tab + jmp end + one: + push 1.0 + popVar v4 + jmp end + two: + push 2.0 + popVar v4 + end: + pushVar v5 + jz e1 + push 1.0 + popVar v6 + jmp e3 + e1: + pushVar v7 + jz e2 + push 2.0 + popVar v6 + jmp e3 + e2: + push 3.0 + popVar v6 + e3: + end + tab: + .switch 2 + .case imm 1.0, one + .case imm 2.0, two + """; + + @Test + void structuresLoopsSwitchAndElseIf() { + StratListing li = listing(SRC, "Main"); + String t = StratPseudo.of(li).text(); + assertFalse(t.contains("goto"), t); + assertTrue(t.contains("while (v0 < 10.0) {"), t); + assertTrue(t.contains("if (v0 == 5.0) {\n break\n }"), t); + assertTrue(t.contains("if (v1) {\n continue\n }"), t); + assertTrue(t.contains("do {\n v2 = v2 - 1.0\n} while (v2)"), t); + assertTrue( + t.contains("switch (v3) { // sw_00d4\ncase 1.0:\n v4 = 1.0\n break\ncase 2.0:\n v4 = 2.0\n}"), + t); + assertTrue(t.contains("if (v5) {\n v6 = 1.0\n} else if (v7) {\n v6 = 2.0\n} else {\n v6 = 3.0\n}"), t); + // the assembly still round-trips + StratAssembler.Result back = StratAssembler.assemble(li.text(), StratListing.layout(li.img, li.start)); + assertEquals(List.of(toList(li.words())), List.of(toList(back.words()))); + } + + static List toList(int[] a) { + return java.util.Arrays.stream(a).boxed().toList(); + } + + /** Over all units of the CD: balanced blocks, every remaining goto has its label, few gotos left. */ + @Test + void everyUnitIsWellFormed() throws IOException { + int gotos = 0, units = 0; + Pattern g = Pattern.compile("goto (\\w+)"); + for (Path p : StratRoundTripTest.levels()) { + StratRoundTripTest.Loaded l = StratRoundTripTest.load(p); + if (l == null) { + continue; + } + for (int u = 0; u < l.img().units.size(); u++) { + StratListing li = StratListing.of(l.img(), l.code(), u, l.entries(), StratListing.Names.NONE); + StratPseudo ps = StratPseudo.of(li); + units++; + int open = 0; + Set labels = new HashSet<>(); + for (StratPseudo.Line x : ps.lines) { + String s = x.text().replaceAll("\\s*//.*$", ""); + if (s.startsWith("}")) { + open--; + } + assertTrue(open >= 0, p + " unit " + u + ": unbalanced at " + s); + if (s.endsWith("{")) { + open++; + } + if (s.matches("\\w+:")) { + labels.add(s.substring(0, s.length() - 1)); + } + } + assertEquals(0, open, p + " unit " + u + ": unclosed block"); + for (StratPseudo.Line x : ps.lines) { + Matcher m = g.matcher(x.text()); + if (m.find()) { + gotos++; + assertTrue(labels.contains(m.group(1)), p + " unit " + u + ": goto without label " + x.text()); + } + } + } + } + System.out.printf("script view: %d units, %d gotos%n", units, gotos); + assertTrue(units >= 1400); + assertTrue(gotos < 500, "gotos: " + gotos); + } +}