From 72f2294d8d2a2a2ab5f9ed4e2ca0cb6605dd741a Mon Sep 17 00:00:00 2001 From: bryanthaboi Date: Mon, 5 Oct 2026 11:06:01 -0400 Subject: [PATCH] CLOSES #2649, CLOSES #2650, CLOSES #2652, CLOSES #2653, CLOSES #2654, CLOSES #2657, CLOSES #2658, CLOSES #2659, CLOSES #2660, CLOSES #2662, CLOSES #2664, CLOSES #2665, CLOSES #2666, CLOSES #2669, CLOSES #2671, CLOSES #2672, CLOSES #2674, CLOSES #2676, CLOSES #2682, CLOSES #2683, CLOSES #2684, CLOSES #2685, CLOSES #2686, CLOSES #2687, CLOSES #2688, CLOSES #2689 CLOSES #2649, CLOSES #2650, CLOSES #2652, CLOSES #2653, CLOSES #2654, CLOSES #2657, CLOSES #2658, CLOSES #2659, CLOSES #2660, CLOSES #2662, CLOSES #2664, CLOSES #2665, CLOSES #2666, CLOSES #2669, CLOSES #2671, CLOSES #2672, CLOSES #2674, CLOSES #2676, CLOSES #2682, CLOSES #2683, CLOSES #2684, CLOSES #2685, CLOSES #2686, CLOSES #2687, CLOSES #2688, CLOSES #2689 --- assets/labels/ruby.png | Bin 246799 -> 445637 bytes assets/labels/sapphire.png | Bin 243420 -> 394304 bytes data/scripts/flavor/route_23.lua | 30 +- data/scripts/oaks_lab.lua | 17 +- data/scripts/story.lua | 12 +- data/scripts/story4.lua | 68 +-- src/battle/BattleState.lua | 80 +++- src/battle/EffectRegistry.lua | 25 +- src/battle/MoveEffects.lua | 10 +- src/battle/WideBattle.lua | 2 +- src/core/BattleCheckpoint.lua | 2 +- src/inventory/Bag.lua | 422 +++++++++++++++--- src/pokemon/Evolution.lua | 62 ++- src/render/PaletteFX.lua | 6 + src/render/SpriteRenderer.lua | 10 +- src/render/TextBox.lua | 26 +- src/render/TileRenderer.lua | 110 +++-- src/save_convert/GenSave.lua | 106 +++-- src/ui/BagMenu.lua | 66 ++- src/ui/Diploma.lua | 105 +++-- src/ui/EvolutionState.lua | 8 +- src/ui/NamingScreen.lua | 19 +- src/ui/OakSpeech.lua | 94 +++- src/ui/PartyMenu.lua | 35 +- src/ui/PlayerPC.lua | 111 ++--- src/ui/ShopMenu.lua | 28 +- src/ui/TitleState.lua | 6 +- src/ui/game3/option_rows.lua | 12 +- src/ui/game3/rs/main_menu.lua | 60 ++- src/ui/game3/rs/option_menu.lua | 46 +- src/ui/game3/rs/start_menu_data.lua | 2 +- src/ui/game3/rse/option_menu.lua | 10 +- src/world/OverworldController.lua | 214 ++++++--- tests/drivers/bag_use_box_bug2657.lua | 140 ++++++ tests/drivers/battle_intro_balls_bug2662.lua | 156 +++++++ tests/drivers/battle_intro_bug317_test.lua | 18 +- tests/drivers/boulder_dust_color_bug2650.lua | 150 +++++++ tests/drivers/champion_end_text_bug2660.lua | 107 +++++ tests/drivers/champion_entrance_bug2666.lua | 65 +++ .../drivers/continue_info_counts_bug2684.lua | 180 ++++++++ tests/drivers/dex_rating_complete_bug2674.lua | 98 ++++ tests/drivers/diploma_og_obj_bug2676.lua | 170 +++++++ tests/drivers/e4_exit_after_text_bug2658.lua | 90 ++++ tests/drivers/evolution_double_bug2664.lua | 119 +++++ tests/drivers/game3_shaderfx_shots.lua | 2 +- tests/drivers/grass_feet_strip_bug2688.lua | 144 ++++++ tests/drivers/indigo_statues_bug2683.lua | 80 ++++ tests/drivers/lance_side_trigger_bug2669.lua | 57 +++ tests/drivers/lance_victory_music_bug2659.lua | 85 ++++ tests/drivers/lance_walk_in_bug2665.lua | 77 ++++ tests/drivers/mart_split_stack_bug2671.lua | 128 ++++++ .../oak_naming_empty_start_bug2687.lua | 89 ++++ tests/drivers/oak_shrink_bug2685.lua | 96 ++++ .../drivers/oak_starter_ball_hide_bug2686.lua | 141 ++++++ tests/drivers/og_sprite_obp0_bug2689.lua | 48 ++ tests/drivers/party_hp_columns_bug2672.lua | 106 +++++ .../drivers/party_hp_palette_bug274_test.lua | 16 +- tests/drivers/party_icon_hollow_bug2682.lua | 114 +++++ tests/drivers/rage_building_bug2652.lua | 135 ++++++ .../route23_go_right_ahead_bug2649.lua | 157 +++++++ tests/drivers/rs_menus_parity.lua | 176 ++++++++ tests/drivers/rs_option_pages.lua | 6 +- tests/drivers/shrink_test.lua | 87 ++-- tests/drivers/take_down_recoil_bug2653.lua | 153 +++++++ .../trainer_sight_order_bug1948_test.lua | 10 +- tests/engine/bag_split_stack_bug2671.lua | 315 +++++++++++++ .../bag_use_toss_hollow_cursor_2063.lua | 73 ++- tests/engine/battle_arrow_cell_bug2674.lua | 143 ++++++ .../battle_intro_balls_after_cry_bug2662.lua | 160 +++++++ tests/engine/boulder_dust_obp1_bug2650.lua | 179 ++++++++ .../engine/champion_entrance_walk_bug2666.lua | 54 +++ tests/engine/continue_info_layout_2684.lua | 76 ++++ tests/engine/diploma_test.lua | 103 +++++ .../evolution_double_after_battle_bug2664.lua | 164 +++++++ tests/engine/game3_shaderfx_options_test.lua | 29 +- tests/engine/gen1_field_fx_palette_h13.lua | 5 +- tests/engine/grass_feet_strip_2688.lua | 133 ++++++ tests/engine/indigo_statues_bug2683.lua | 62 +++ .../lance_side_trigger_facing_bug2669.lua | 62 +++ tests/engine/lance_victory_music_bug2659.lua | 45 ++ tests/engine/lance_walk_in_bug2665.lua | 88 ++++ tests/engine/mart_bag_full_bug2162.lua | 24 +- tests/engine/naming_empty_confirm_bug833.lua | 38 +- tests/engine/oak_shrink_timing_2685.lua | 176 ++++++++ .../oaks_lab_starter_ball_hide_2686.lua | 61 +++ .../oaks_lab_starter_energetic_bug1334.lua | 13 +- tests/engine/oaks_pc_flow.lua | 25 +- tests/engine/overworld_og_obp0_bug2689.lua | 119 +++++ .../engine/party_icon_anim_freeze_bug2682.lua | 122 +++++ tests/engine/rage_building_bug2654.lua | 179 ++++++++ tests/engine/recoil_hp_drain_bug2653.lua | 155 +++++++ .../engine/route23_go_right_ahead_bug2649.lua | 223 +++++++++ tests/engine/textbox_arrow_cell_bug2674.lua | 116 +++++ .../warp_fade_obp0_identity_bug2689.lua | 87 ++++ tests/game3_pause_and_main_menu_exit_test.lua | 29 ++ tests/gen2_crystal_extras_test.lua | 2 + tests/mod_ui_tests.lua | 2 +- tests/parity_B.lua | 6 +- tests/parity_battle_intro_chrome.lua | 14 +- tests/parity_e4_after.lua | 40 +- tests/parity_party_hp_bar_palette.lua | 6 +- tests/parity_party_row_columns.lua | 126 ++++++ tests/parity_rival_end_text_bug2660.lua | 58 +++ tests/quick.list | 20 + tests/run_save_editor_tests.lua | 3 +- .../save_editor_split_stack_bug2671_test.lua | 249 +++++++++++ tests/save_editor_task6_tests.lua | 5 +- tools/run_driver.sh | 2 +- tools/save-editor/Ops.lua | 113 +++-- tools/save-editor/panels/Items.lua | 28 +- 110 files changed, 8042 insertions(+), 694 deletions(-) create mode 100644 tests/drivers/bag_use_box_bug2657.lua create mode 100644 tests/drivers/battle_intro_balls_bug2662.lua create mode 100644 tests/drivers/boulder_dust_color_bug2650.lua create mode 100644 tests/drivers/champion_end_text_bug2660.lua create mode 100644 tests/drivers/champion_entrance_bug2666.lua create mode 100644 tests/drivers/continue_info_counts_bug2684.lua create mode 100644 tests/drivers/dex_rating_complete_bug2674.lua create mode 100644 tests/drivers/diploma_og_obj_bug2676.lua create mode 100644 tests/drivers/e4_exit_after_text_bug2658.lua create mode 100644 tests/drivers/evolution_double_bug2664.lua create mode 100644 tests/drivers/grass_feet_strip_bug2688.lua create mode 100644 tests/drivers/indigo_statues_bug2683.lua create mode 100644 tests/drivers/lance_side_trigger_bug2669.lua create mode 100644 tests/drivers/lance_victory_music_bug2659.lua create mode 100644 tests/drivers/lance_walk_in_bug2665.lua create mode 100644 tests/drivers/mart_split_stack_bug2671.lua create mode 100644 tests/drivers/oak_naming_empty_start_bug2687.lua create mode 100644 tests/drivers/oak_shrink_bug2685.lua create mode 100644 tests/drivers/oak_starter_ball_hide_bug2686.lua create mode 100644 tests/drivers/og_sprite_obp0_bug2689.lua create mode 100644 tests/drivers/party_hp_columns_bug2672.lua create mode 100644 tests/drivers/party_icon_hollow_bug2682.lua create mode 100644 tests/drivers/rage_building_bug2652.lua create mode 100644 tests/drivers/route23_go_right_ahead_bug2649.lua create mode 100644 tests/drivers/rs_menus_parity.lua create mode 100644 tests/drivers/take_down_recoil_bug2653.lua create mode 100644 tests/engine/bag_split_stack_bug2671.lua create mode 100644 tests/engine/battle_arrow_cell_bug2674.lua create mode 100644 tests/engine/battle_intro_balls_after_cry_bug2662.lua create mode 100644 tests/engine/boulder_dust_obp1_bug2650.lua create mode 100644 tests/engine/champion_entrance_walk_bug2666.lua create mode 100644 tests/engine/continue_info_layout_2684.lua create mode 100644 tests/engine/evolution_double_after_battle_bug2664.lua create mode 100644 tests/engine/grass_feet_strip_2688.lua create mode 100644 tests/engine/indigo_statues_bug2683.lua create mode 100644 tests/engine/lance_side_trigger_facing_bug2669.lua create mode 100644 tests/engine/lance_victory_music_bug2659.lua create mode 100644 tests/engine/lance_walk_in_bug2665.lua create mode 100644 tests/engine/oak_shrink_timing_2685.lua create mode 100644 tests/engine/oaks_lab_starter_ball_hide_2686.lua create mode 100644 tests/engine/overworld_og_obp0_bug2689.lua create mode 100644 tests/engine/party_icon_anim_freeze_bug2682.lua create mode 100644 tests/engine/rage_building_bug2654.lua create mode 100644 tests/engine/recoil_hp_drain_bug2653.lua create mode 100644 tests/engine/route23_go_right_ahead_bug2649.lua create mode 100644 tests/engine/textbox_arrow_cell_bug2674.lua create mode 100644 tests/engine/warp_fade_obp0_identity_bug2689.lua create mode 100644 tests/parity_party_row_columns.lua create mode 100644 tests/parity_rival_end_text_bug2660.lua create mode 100644 tests/save_editor_split_stack_bug2671_test.lua diff --git a/assets/labels/ruby.png b/assets/labels/ruby.png index f6e8bf497d2478de0f8de7dacecc59e2bc3f32a0..7ca7ccced44b91f19517ea88053589e611ddedec 100644 GIT binary patch literal 445637 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�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%0AuO86mpa@DI9E6L?V;LFV7A( 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
#? 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�hVls!vGC$-K!@)!98B`LT$ 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
>GzX%BMc}`P_RVzxH_;E#c-N^lysIp&|N| ze8Da8);Bg{1sXBuz**Lf-<3+wfBHocX0rvghDJ55)1? zM=M6rymVV8A@qbI95hw;gA{bY!l^W)rYjDlIB*6B_O8g0 z{G^)AzaJ9yq$GFrVIbROa6!6@%mSFCwVNoN6ynW3?JxQ%d4M2ub zejS>=9GJY{wJmucTQdA!f#b!WDe8dx@cPi@9xh_k4wDVRZKfC&oGSt5vn##9{!Eb8 zp9g`m-=@UU09U@>pc}EIt_l8eqC{v3=Y4MWO)6d5>f+8xn8rha@pO$yPImF!4I!V7 z(@;{qwaR+@4Z;Kgg1fzGu`ZV1e(CO1yIc?!mHn~m>E}}Drd_2$($V+Djrb1QoLtt{eE;y#AZ8hY zes?D~)2MOigEs0JRfPQ{d~0Hb_P&OTbBZI}S1f25i)P;)7!v&=06~k&*;dz=Zr8Su zK`G;#KX8S@zsDs0h#(0&jg;d!h z?&YpQQ7)z53N&puPV}~iLGSos(G!G9kH(jIU>PwrH&LGjt7AGPyi%~G=it(xMVn6e zTOPv|MFA{-=bF%anCx7}se$AwkkGLU`N$Ft|IIYA{lq0#h>57p`voyX1gUZlG!CjZ zC^WJ6IVvCNn8Gc%u9Eo710_cox4XI3Z|P52%R)>uZ0DS99Bmo*->}xc6RKa?RcuOD znXv|C83be){T$DM%l`=BWMT6^*)1BDiH%*Meth)Whsfp~ArJ`9QMAu|mvqk{3cVXX z{N9*Qjwq3Jnq;A6X*6UbZbjAA_dN&c*l+ZcWZG61eN#()Gv35Nw7@ati}^$bRy%-* zPT{Zbt<>xAMI57CWQXcE_^@}&G-Gi6uZEGgWb*_v$*ASC-4Ybsa#xq9R(My} zpP@k2AqO;K z_z4UC$){s{&k-Mnlb&NUkFgzKo~Hl7Qe1s;cU&u9P*iL9rS<$cIgoCfKAs#-77@6xrO#T%xKZWG}l3-!6t_E%*oj0Rsb+DIHC$1I?}p4M-gIukr;%)UEq# zG;Tjz>h}59OTap2NKY6Xs`X*nqwe^lRGSQi}h;NE-Msiu@m&mCh%v8>gX?V{=Su#t%{t_8b1U1Bkk z1;v%rtlj^kBx>v(zW$By4v}k{y0}jm87jy45B>D#gz`)W7}ScP80enR8OAhPg_K?n zl)No=tYTLlh3SX@j4`|(Sx>areZDTmt7EW4diN~mp;R+el?G{rv?=fIzL6PVN+pi} zdL<`xHJL{rYeHyv$tgRxwfNf6ybHLyHkm@IJ$Ne}*;-cLMKc7s4_>kYcuP@3+1?y4 z=iWM|-ZGL8(DA)jeE_O_IZ(|h;uzlnvZY`mN7#ZYt~IzFRQSR;_=l@M-XJ zr$N*6V*5=PYr&h81&^EqVRd!YlmbioIF$r0>-Pw2w8_BCW{^L#{UZ~#p)l-kW@udF zP)ehdbHr{v3_U2_-(qD3UL56@BqS`kOOfJ_dT~s%Qd#3}vmSpI=7jR*!Rl$imj)*Y%icP)A^Q*~;frk@GmVn{GWXtWk8nt06KG{4L(y8W6)7ltjf+ zEc`qt!+ksH=1^nkE1j?78~+)WgMJkeQRMv?-vE~-emahKc+hC%F+e2TqQ_H`asK~E)?^%diJ$aEoL)^+usPHSleH9SP+=H(-Y_67LMubX6KuOR4>bFo?KkLz=2~=$D z{+o`dP?iY{8FG)Am0Ck4YEYhXV;s8y>{ySk^Gvp>-A9)V1UPz_|w#0OJIqc0p=XZfvJF1^& zLHnZ3<2YP3twR~<<2#nm(`W)f?~)Hhl{vQfs$JQDqDlb5Y%QA(A)3Iu-u=@wFhs0U zuwPb8G@+$tlnL^dDKBaGIJggZ|6T^7B_c8K9*;C5eBL3skDb4YwhYEbrdq?l^1^vR z_>fd!$$FF3aYn}>X{1WG0lmceU zip=t^;5DI{I)i<)<8~d|Z_#&F<1?>B3fx9{Pu@y@7BE+A0LW-t;PEn3Pp4WMmOX6jtE1r^FEa`Ak>}{@u{9k;gxM+$ZSzs? z+caA}FS2-kD8VWp<1k7E6g)eWJo8U>|3#O;wXX|YRr~Lu0z7Cq6ZIJ?a8aDBp7iJR zBG%hCUp_Pl5GO>C!{+&c#rN#AvmJD6Iy~S`^b=7$mKpyWrE#To0QPL^o_yyct=xHF<$ojuWXY*8Sj3dNV(TX zL}!X2B(!jUbS)OwsTy`40{~^K+AZ|vzGScIA%ier-sBLG#ihjup|j$aJ6zeP`MO<_ zd{MZFc^Rr*>sX=MfsK-2J0p}{7A?Z%-C~MV9cKjhE7*z0nqU-0XzNx2by^xOmQDXC zj!ewUL_OQgc5=T>DG&07>=_#>%pi)IR6aV?f~S_$rXyy)+Pn2CF&lvW=y2=VlFA#K z22@xe!jZo*e&eb2{D_jjaz<+Iv z4Sbz^viptvdW9nZSue}nefHcCpA<>OVY2A*!k%O@d3KX*5}x)8Hral=xYpKeqEf^41EF=UZm?{?gNbo<}+FdVWibhkEQ;bi)YH@plK2|B&b1Xfo@;YfI(j-%r^A z562>|Q3in?5ib@Mx6K|UcLT9=1D&>SV53iKwv}qQ4ubgY^Jp1ejYb}heR#OJN~?2c zcqVm-QlZ^B&c-@@m&pAmb@j1>VQzL~QSZ@^`+}XW{NEK?_Pgn)smw9p3e-#9H&%H&-vF#4 zmcz}H2SEI7>tRp!%Nb3(LBt37ErEdEnAA~#joH_L92gHkK{eM+J&uc%+BXY5(vTkI z6YOC#do_BY#iwdO{`=Cmn1-t)K~O|6^5Wj+!a~-|UPIR5QHY_bzucN}_nU3z0^8P) z4T*$+HJERjsYSOFfqrtq3(wh=!2nH8DL z=OQZti%ir{p!o6E@mSz9XZ5kvA6#wUSc>cqFW%VD6PxIWVnIRpOT`JjW;M-(=3Y`| z(=z3Fy0`4TD=U1IJOw=ThzFNX*474a;Eq9XtGeXi^*UoffI|S`r)lu_YVca?mtVsP z0j1+scFRH?bUP$QZJL?_6-)L~8btQH80HX$1oZ)4Y|HPRcfB_%C{Nd^6p1-zVDrE8 z8GiqiB988$hVkbrU*jFP?UJ}paG`G#N4RF@LboX$Y7|6P&{vMRr(E1KFZ+bj=p@^FUuRmC=;~K#XCqf=c^+spJHa=6$|<4w#DR zyF@hmYULndM0UZ0&|JR6P6Lq~8Ovs0!f(3Zv&e)Po0TF?lpdVkW$eiW_pB~f_A*Qt zm}320Uml#~3Ds9Z`?&c3{WxIfW4t(-EaOXWd%oPuPuU=r8^b}3I+DE9RAC7%Jd!yq z@uo#ptCoy^wE-eE4Oo46e}-pVo9M^7%dCar8#VJd$^;P|G)p(ZDcgUdL?d-2!PC^&Yvg%B=t5AY_XA=dEjjRn*+@HU7_7yV`Bx8Id;1 z$H?1}F-``m?p#qZi%c*k%apzth=dk;K59_QpTW{HauY0R9ZY=yPU-o1LZQL?FzD^@ z3m+DytdKR?jx@D$QKw@VKL4&@&L=0nEkV=xcOOj>+Y_>C+D2yUxF%(k{JB*?lL+49 zPp7R&i*FcZmiI;KM(DPKM)iJoo>%C$!$~y!6MFpzK1q_7oq{5#ca@s3 zxwJ_mWnNO<>MiOuKj$M+xn(Y)#|0nyeobq??7J^PcJzvz%9A+MYOj*%U4ZRGMv&1D zK6BNW+-D-W5`zKLTxQSwT)-CZKtv>ry#k*|*Y}%HjU8BrdkoV#xeWJ9XXn#^|EK4P#nW#7pYpXJSk>8rD`k6Di;BA*5 z>lYc#EmrF>WLNWT{Rr)tYfaqWc)A%F79#)~GvT>~W**#$^P7~~>!Z8YO|rL$njq7F z_>Cgr2JeXkxpdP&$pleUvBuM@ppCs>!m8Ify?!}^BuBh`aJSC2R^PjV;=Q-{^c={7 zpuBB%{2uBOhH(L%o8R-)Tj?hFEDl~j2@Myc6K^domw&1JmeqI>1?A6w7WN!8J6L8O zSpElqdL6-e81L`Fjvbx|g{<>(V0jPi-Xb;2q%T5_{d=)MB*-c@tU=TSVaADwb`At&d<8miC?_U%`z*q8d3hwbneDN*48#TVho9yUJGa9q`A2fY55ZurD8U5~179|H&c&k#+{^Eq zZD*HzbHqGJvRVT9j0^>s46jMsClb5bR1x>DyAjfW*b14yFsh0AX{nOure*u^w=-@~ z#hQku&$-*Z){w4TdD;^ED^%OUvNTL8TsKN)2H|LDog>50PVT0U#k^?3HT4JU7X0ZI zvB&CkJer_{rb8wQaHZu-+7(`Es$49JTH>#arK7Hb$o2aqtZZyq!6}|t{)ezGQb4SX z|E&rbV@k{wlaz+O5-&|+zlCAJZFoXQ<9nc{Sx3E7L)`m>dMj%&Iw6Za=>rIGXNYNM zXe(6$cJ>S91pRG0etC)wb6ht2i_SVuPn15u6g=+0IY`kp^>{BNQ7gQDrMFpZr8+Pl zjc4VEqS9L!fRP5;VY>%ldK8_3HA`@1{(uxLIlOaYwwe!wiO#D}x^klQr&dA+T_UE! z=N@Qul66v?h71di-2sWXi!Nj_?f8fMXuhSZ+{9Hk{&YTxo#q5uIN=S^W#PE3iu9`~ z#a)^srFmXUydO!x`t{1T`(qBUVcCY=g@D6>dfVvInl*UHQONV_s$)i;LR~z$tLsLN zbTPF)IK>Dji^Lt&-L>~6$_n5T{?yJ&X1X|0sMbZkOZ+g_>zgb;yU#8Ln8}D#xG(!x zj_RJ7=dHRqhP{KQc;VZs4}P&7{COIISZCr%)3;IRMQmej7V$fxZ$EhPc;{sKEpD;~ zerMR;m-<$)Nowa4ej8NLHc`d{kJ4MH_E^%W*SA3k#OJha@41KsE8gytn6}2Zg~0N~ z;l0+9Gc#6;87CUe`O*y}6om7T#*H@?jkOVS-qrEWNidUbs48b|+7|4>bGsX3nr~~G z%1)pL*>kFX+V#<4jm4wT)2j%-aKXJcw;AIpzUuNqh_jXTP`wW+N_2I*W$&@j_bEyFS86 ziGY2BALSgZ0W#YllGc4VYw0zsDTCobaQ_h1@$-g>1tsB8Q(T}i4br>PbJkB z&<=3zhi)2JK7?%;sUv02vWFMpKAM^9(={@R%<)k)WH55n;?gs2bK;{DaO*noq}y<% z-d}`FOy**{vjY75z$mz5s+uE8L~9%2$Eg<<8{QSZqWubL8DA>2i?!ZE8nWlV$QmAa z=7qZwVK|1NoENN9SUI@j)+tr=+Bl=A6te_H)4N$2Cxk`Q$peqki~t^GY4+ta?dD-Td=2-$rQG z+@L0K^vOEVUi(F5%vb>vWV=HJGHBDl%f##=;$bciI_Z8amjc5*a#CnL4%{od7NpVL)+iC)z&De{3KxG=QMS=|SJbv=XlBo3 zXl^ZtSzbBE-L}wY4ZtVYvPg>NvWS`}t;7!>?JtmtIO0IhB^)_E7Pc~s zBGmote0J2zpKYV%I?9J#N%?rne8a{2X&DWUzjo^U&XQqIk1BL}IXi>L+JF~}7#SV& zMFh^L{H44I5RsTKW;6T|VLu4)(4^&m2Vc(sO!RAKpvRp|a%|q}i(1)|9sj|g+o3K+ z`b3_c{aFm!7k)CkZRu?=;HSs9;drCvA?}4SA^|q%xed(_wy1AM<&Jx!+mF^)KBmE7S7KOi4O+qOL zT`#uJ6vns~R}o_hV_A#atkmxQs*VqFdn&$1TvhCJa^YE|X70qFsbFM8D(H?TfW8v3 z+%9}MYmS5?_12hYpA=cXh^P8P$fQY`AdszjMz%WrT%p9sXxwn4@xtLl;#TBw=W62WA{v zm6f2Zj?I|DkwfkIgSCKNLU-h8Ue(2}+?@PKe11N_g>uFjcqH9Ff$DocHPQFzFp!Lg zszi0f#gF>6>~DU!+E@;-s$WPN{DDZ3FFpF+lKd-)5Yp~Om|*W1mHM*n5R@wfokGK5 z;OH;ZYK-24g>)4PXX(8q*4$rc-E0@?waDDv5l-%!MPeuwNVXFEPUDMV(VuR45rUCz zD=_1Bmc&%QoSUXe>b<*4KbdT)3aq0)<>$TY%=QfdcKAKq8t@>WkA0%hl>^OR!Lf(}4HPOn+&PcpV$CU#ePqvO2xrb|^|ke70BQV*?$K zY2TpI>Mh{RMOU9$RoZ<0*y9+&GOVJidP`97(73sc)_40+*Q+ebX0V>| zRpj~koyD)6lCT_)wrVGTjY5M6Vd+<%>%Q|fZ{SffyA41TWjmKRvIpjWW73o7BnKN? z*YVw20L)Ql{yzjhOqZ+Pze3EDIZ_hl-4vg|GK^>C6dN2rUzMSJ$UR@JFqXQ}=u?W# zFy>Lzdf8JV6>Aj!Me7a^(k~-Nb!sSZ4HeFwEbAm(OEswiZ9n1?(#KVs9ws>$-H|HP zu{oOl($qSy7iJ4^=1r%4>#dSrjZJ&}?XhNvP^6mVOD`}|M~GtON6eFf0mY9Gh7uml z{95CX|HQ+^CXy{Oo;kpdf^nh;L5?}$P`ioFhdf!=9lfH~Lyo-L&+qSLVU=TwhqtxD zwJ+DSg0n4B=GGw>1(Xm+y(5TJo^CH`!ke-EH%+(Xiwj*Be1$t~(9c=l$kT%@F=EmE zsFcqF^BVHvWzH@>5%LeE@&xD|O_j9B&l-sPX8J_Jz6ZhbMQ`d?z&?{sfvxv4yq(;t z6qFDYdoH#bJLwls@5p-N=tCc6MHg7J=Zm4#${M_MAAZbjWjNh>)RpZ^XLE!%6woT0 z$b%Kjqx6p3+rGoRH)7FqoPWK1@ep(%p_T7yd(P($#x8%O=9DF1p=<*)jP%lsFc8^c z*=Oyu0VopP`VWrVefbB+Rc;Qp;MN~U)x1FE+Es-dlfDxc0$_G1e^n2z^mPn!lJ;`-(rcyy?c`wG3nwG{c%iuE=Hs^hv*FbZZ=1Pnx2 zJvC?*h^j3x^)N*}PXu#xS}(z&4wBV2qCM?2e#j4;oGC|^v%|~sJADcoe`~Dy2uR@) zv0+~K<$Uk*NEW&0$HrH}lvpq&>1Z;pWW5stmB9|v9u?$&Sb~%Ix)56qlLg`r#JJML zwjoF6Cv|4aUf*`*NQNTlf|HI|xnV;W?a~+K6JrKrhaW6;n_Img(KfsYC(x z?pl;@K>*Tl&V7zZ3l!jM^4V7^tz_Kai0R)>WZjJqBtQYRU{vnTxhFLNX&ZDAE*zT9 zKuw27irvh10$Byd?B_HI&jgYXcA($=$L4@_{nauBA0d8k+yHx;CTFd=F2H_=oY%Ew z$~!w{c;tQwP>+%CBIJmR-2t*3V* zx?1tyU0zK?bNuge_;azM+s0W+s^XAVywjO(!RU$u_+f4#wCSJe`0PK{nN4tnD0MyX~i%-n?HaX-T;uHc`w=J8E{fmd zs911dDlLCd-ky$pAf}gN3Kf4ER)3If9jC*Sj)iFaHMI?+aM{qEiRHmbDVRGI$}WWk zL>M9+8?oZWgXj48)99u@*@JgO&wfS!IhBSB^8luvq`eaRVs5_P{xjrpH2rP9-g%B^ zf3lAgBm`AICqyYZ#VL!xG5bt=!VT4IXZTvz+MXZI=^1Z4Cd{^zi{?IHP2UN6Iz>~Og;^5ic|F=-Umc(xtmO{ zs*(<*+!&V041zg+f9^$DK339L_4Qs6;vN$CXe;IEyg4w){qIhLmD#iIDJ+p{>FuUoG(<|Qqyeq%~K7`S2^oP4?=fk3I8;j zXFeD%N4-8BSkYm&n@g79M8KdV983fssa6!mN&HpnkFjX~={}p9Ru6M6@^k{quCBIF zwu{gASez!wk+YWr!Grg7rAh7^DF>p$^Ja4Wo2tRp*{ZdP#XI zh!FtqorI;1@j_gQ7^lckR{T|lF{}YT^c*YOtDx`<%?ZqF!ziZ$E78OOxp&w-WRX~y zf7P|A5DD*v6eF>%NmYrJDlsGfN!{(I8^RCB{#E;jVSy~lT%~}2+X#(e>3`b>0<4=h z`_I>(3A-KFgn8CKeqw4m-eKt0JdM2NOY=f);3+~pvM-4AtbyFdy61$is;$5Hc_!zB zsmatPKRd0;ZFsKkhnoi$XEgncpb0m;9cn;o*f+(mpZ588P}-+%`a8?XY!QI z{R`G#zTBYfO3;t>b3U(TOm~i)1y+DNj_B@(k5TStwqGS(s{5Ju!oEYL{xYsSXn!17 zaYwoB+WU$;b6B~v?ql!sV_<3cm9kxfdla^F_k4+OT`1ezf``$&YD-3&=4kdLYpu`Q zFxns`KRQafAy2m6N%x^)!DEsTV1I7A8wBHd5=QTjzz8>nhzBRT*7E@?k`3JaNu<18D zNZ)**jDPg3(#%*@fJIRbpc3Xz;o@prmDHcXYxKxNiF#+x)gS_)Bo_mw{a<@)UrFU;XWTV*n;gOF*Y%wW5b8MORh&Ji>SRU-q!rQFZ3m!6)oF<^dQ;s=CAnlpRMZd= zc+kKZMNS)YjaFJuCe%B-^8Zz%ng6O$Ns#O`JU{u$n+bAg`uUt__x-ECLp{6J>2EnX zfbS>7nKsm?`}N|Yee3jXzJ)BRu;!7IyK2;GGINwA3X3`rSCn5InUN=ZhN3mHZVrnY zIHvO~(|&x1i?p+nkFdPMps8$EGq1#13T36$mWt7xD6VTO$HJ)F%)4qHb!jPIRih$? zX$PTx!?f`p_Hi#=lxQbC!#0OF2}y62Vs6JKCj}8Sy@R&Eawv!eDkR&cb%Aw-eD`hjH&4( z1Pu!z)aZxWgqS{M0jAzxEtGa|g}7fupQZZL`v3h&+xhded`$SKW{cV2ZvC$CnG}tu z=GhBW&->AGpjugdITn>Lx%fq=JN_rUVDXvK>S9U?d`AkqAH$I6T2fX#*s`xSQe?z5@ z`b>_8E%boD+Zga}-j?usCm$PM;t0hM;q9IbwF5_Y=)P(j{t%~z|4hIcK~5TNVr8Kf zEp!~yio-Q@Y>sJhqKx9tZdZn>ZeBVhzN#8w!BgK}Pu(Qn;+shBM!de$7uD;YE!nNM z**(C(kyH0=_XBtNJ*nSK2MK|NOG4jribzHf?21WwUm%q*C4y5lGbf!)8gr}art6~$ zks#*fz`qt9d6~aWJ=``#(*kKQc;nXXy?v`+b9U-}RRlIxaYQEUg=ofFteBR3=?{&X zm9{Xg@H^F04|ZfGGkE7>^CweQ47zLLY!_bCn}*v}oQ5YT^~HF6&CrMUnob@nnoo}< zZnk;OYbWd)fpy!X1ZR*fR$Y1{&TdZ;TCiTl+1XyQ@a*Xs6%qHnAUiP=JBr)u zP7LdJaj$>u!VC|!Kem!1y$x{I-tU9qQWwttT1e&FUEZUEn!Xo~_hd~a9KV-B(CQZ@ zk9rYR;ZGo^>t6G_{s~c3DJoPHyH&`jafX!kZo~-n5z{}Y6FWF*BIV4|Co%J8VEhWh z#ElDXD2jY3eOqhFpwk~;5B&PPB@o4()>31%b~eBps4*lkZcK(;gl^3 zD_iNW`l&Z##GoRs6Ug-3GgIvyK6kUsG&vHEe`K!__;laJ+eU<&O)TFkVuf9V&OGqH z%bDk(;~&#>mHbZ(AywmUaA^Egw(ru0qQ30vM*m{PRw z-3*>cd{wtVyerv_DTm6nTe7cxv$=ZgWh1;P&X^UGxZd`!8k>32zLX*LaUXq+rw(K* zd;;1L_Qo7T+cY@~e0ew%%(?0y)S1^Khge{j8og>XplF$Qz{lo6$Ah=W=DxO&-iA$5 zvsKi2e{(gI??QU!qxlKPr+422wn(fC$tGkZgAW}(bI-+oJ~X_aSNDRKQf+u87O=eR zJG(8*EUgM(u3*lrK7Yo$oOyAze6f`9mt~_)V-k2KW@lI2fit@txqENmnOqs5-H$eN zVIs5pSFff>@kcsf-<<98&nq@?jj=%dATWQxK)WnTZ2A z&JP&V!FpbB+{)+>qaCX*u-N?Ta+3HCG>>H9?cbN)D)65itB6*Ni&BgWzMhkSc3VSx ztY`G;f!^?CFF+(?LdnO+$$5*?dn<&opLX#ZLUbf==BAB}N-_I(E-tmI`su)zd?&e) z$rN_VFEky-`9yLK5o%>(Y86e!ld~_mHD$*^-sPI64OQ)|XjT&1lm&jFj)Ir9_C2X& zGG(8HSiWE1Q~rLD)=UNx+3dg$+yX@Kc|ee#GL9haqg*$=m)cKqXby?82_eQJbm>%j z?s$Y(a}0GJ;c+0IK2{+OERC`=+xB{(_>4g9iyFs0{i1ev^((R9UQL9AF{2L)(aqwb z2eQYS4?)TU`%mBo6;NA;(Nv$MP1tUmFWQn;;t>Qc+JCmGA~*yb5cOW(Y>abAk8=PD z_lOvW5IgYVNnJ!`UZr4FAdy#fFScbiudF$|mmP2eA@d`A4dc6WzTNMxd|GG^h7*Df za0&}X?BAzWj9x#`zOa4Z_Gu^~qfUC4G|;|MA9Gwx9+i;JyN$UKmTk_sJ)8|iOf<*l z*L%GY_2yRUn?`}u?CRomGhcI1+mrqP_a{}f+vNC_3AVV8ym{00eTv5_dOCxR)eq%l zeAc3DOFhrQ+OU`dXk^;AF`k@E#^JcKS^`SsQHl^(>ED41EIt)?m7sF|sJN->7J+2h zckgf+ZN?OF(TYQYMm%sC>TShj9d7C@i3vh^80SMhJB=mChXmG`1juB5QGm6ct(oK2 z%?3nNvjlTcOsGMTL5*wi9orwKKk+$ihM`^t{=YaR~^7UwW(qgpeQ!^qU|_Q zT>KKgt$ZsI=j6BY-%cm3Y5JI0mE`vnP211WoDpiEL~a6QuX~@szF4Jt4*8t)KeN|? z+jJC=>|w4xinskTbrd!*r@?*Qxe+a|K=Wfr$($XK!k50?ulVUJ!;@dlUy*_4c9ZI0 z5aHWxwR*DzGD5{jusxy&mDTP7^0jQ0=8kpynp^Tx$wy>?n;nY0it>xVDdOA5l_ zFrFdWrB~NJtbw3ENMD_EsiLspjvo&EAdiK;2Uk9ZO_AWNlY2=9l(fKyw}OO{3Y#^)hJla8Nfosn))_O_jPFE5eihY0Sbad;}Wj1G$vbg&!p(XtN2z z+f8>X6CkYq_z&ra_!D9m8{K|uBW6{1cXMPA#TndjCF+EN;mOCFT1oHuMfJ}a4Ojf? z!WQ>OnWLm(NSbH5B^6V){O`mZbJVz4jnL3+p)6m10#U&8(PTa`deq&?W4}A?9PY;@ zHef>MgRdQ4!W2hy#u0r~Dsbia(6;s5v2y=7I*UM;40%r>dxR$N%LF|BaLv-_0acSYD6iw& z=h}AZ#M^1YIvc-WE*zU9hEG1VB*Ab|D6xh%&X=Batu}khy)_%|nY5KvYU=U=$w$A& z8nKTgC8jxQcZX&q?G-r}WijKEv&cF-qTGUF5c5>b#*JYnFb2TL1>h^wW3+3s_?s8! zRi3hz&_^DvSoJok#zO{KL$2EW2U8{ekMaRC=}zQMTG9ji3*raJOTlc<^tk{5C6Ds= zGI@;eh-EtK5xE&k=H zqU6RkZSV_avnx(iC`gE|gu+50! zE>C(5^TEgW}Nj1Q3hJmKHcyx@g(`8JW5KeOy8^jcS44h*rUP+{p$LRf=k+ zmtziCF)t>rj)Q43lR)?hAd~6l&{)f%x5P=4!Stm28Xth$XlMkH<&=(fe3KALMN{)0 z-6QAT$#T}c5B^|%DL(VgFlQ><$coZsLpdyzB6-d*=qxBN85|RgOm8i(HJOhIYV0N{Q>g|2a z!ogemg$03+K20yVuCq;d;QJ6m2JC6=b+RU4v@d+m`A?W1WcB;?TeXZb`mU|xPfH)K z8un4&ofG^zv`>-^IBQPzqB;y@6V;LcCxW!aWO94wJmZ1mqREt>e1+~W@gug z4p&LYx}1TZy)l?|BIpi9l27qV=D$uR^}Q61OBxJ7)T4YcH18<4yGH$$%g@Rmn_j$CqyJ+nARb zEr%Z{jhx&FC1ra%>!{{pz16y&fQ!eo?NUw@w!0kdq+T`-R5eE3vT(~V)?Gu%tdY#jlPxo!`abnD+RspRb^%LhcIHfTgB z%VYjqf7yTQ|BA5wfB~u^5>}I_R0U$0ox9y=^2J@z_Q0!2jRIcPes^|wM^H1+|HN<_ z3n|)nW)S_!8@dmEi~_XTmdj`=El#6E{p?_l!pkNrb0&VQ8CeudqBCWfxaF7I-MRsD zGTX?|!g2cLd{ZgtM4Ii-+W;1w@*ve3ikaYCID193Rm{eadv?Mcy<6#sna1?wGe=Wb zBhnU*l9Z|O+yT2xPMD1tVFDagil%|R^@p;yWvET+^x#oR3l(jHdSv{279-09zr{;u zRL;<9sVJ+6P75J4qO_sGu-7aE-kxXN;K=+K)}yCeRBdP4{uNpeY=DRC>zOE_hi8-T zm}UhOy?qZH6+CpYV2MKvikm{xowOYdq>8YK{NDO!S28xGM<2EKTIO%Y-Qbb008KJ7 z&M9YmBm5b8*z{$NAVuZC@kWw(|7Rm=UT^>1@`_hHdmxi=&S zaLhj?YEibK`Mo|eD7W_IITY{~DZZ%BIAb|Ck*NsDRnP+o1D)-ZtJ2kANJ5q`t=Zl$ zl@pu-icC6$E$%^ZwSAgKLFA7)`}CSt_^eC`8>fgW>C6$vmLOI|k&~bA68vJ-4m)kk z++}Gd&5t|`OK5sKRtW`?iJ^fMY727IOyv{6`&TvMo5u4MSBx*)%+epX9TzX*GDqqJ zzhdwrB~MY1GUQ!`5cW_UXB zuyM28oEa~Rp8kglChj;uo8{ZCRo&bVYwbSalLQGpw*VkXFV*@62l1Xz7jQBHl`ltw zW+ei-3EEPrV6HBRHKSv3_ZzUwphQ{Ap8`%Sf(VzA{VDSL4^5(U0H;vzOTiKZcpYmK zpD(nqhqaD(;<;7m{Phue!&m0`Pf{wkW_aWOdsd0=$A=K=ju>V_)e-k!)zKaI??4u1 z4aCUa{abG|dsi355}Vb=vmB0IWep_wKJH6o2GNt0-`s6&f@Z`g<%Y|0NAYpsGUaB5 z13XSIY=HxZyDQ=4roJg&_U6szHQ@03&xP#rdxqt*{Nvu0f%|Qo zgsf-kyld6uUp;w8vU-AX!*Fazj^B#EL=S1SHFnQx*Lof^CAJ+lYLfS(NkLgc!_C3e z+%{K$d{{A*KdF3>CM$qjq_}~SLPA7bVj9GjKw#jU1YW6$mn?hxM3fa@?ZU_^pyrt0 zA%Gb^M2Jj}0UYaw(>cioHLC{_0)!Pr)1L`JkRRP#4;9VKvH{0{!3@CpB9Ko&i)*5A zsN`Y3{Dk?(VojVVDjY@t6bDKKD zpPN_|eLrRHr@0i-@4&jZ+W&EG&fE}k9W3K;bk&%8xa?T%*gQ;kgjEKL`Vupn_`f0Y zek1VMqjqv76ua)DCm7}Hj0L={pSjESw8G<7qlA`li9|SgsZpl0t0Zh#WvDrISVlB|lohi2p4?cfdUrMJqY-6H0+tD1X8^t}Ol&tfGJzMlI(nqfZhFh~$$G zG@<_eb#OUdP$+oxcchL@wvaEUAi`)_N+fYnk-~Y-VwDKysY|&a$Kem=S(mJ}FTSvx7 zL;gcQjx6OP8m1yHo@b*CoX6;P_QRuPSv-6d5+3&1@c%dmJVZ!M&atgx| zFcg~)h=ZF+?UQ7JAUB-7OD`~`kR8%TTyIfhG zlyD4)Vu}e1ElybI+vVfw67>_>??eReFjJ2z8Z=QG-j0R{$bO9vxC}?{VRysz^@}F7 zspHyzY$tFWDMnKoTRRyVuhjUmqsp=M`;EYk*q`%u3Dy?R%A&H)I`Y+8+gd-b?SWJoQd+tA8#V^o6?~Vx>IT8R^5-dr6s?YsUnhGiv3#ZMGWE+W-|%(_NEU(B+b znX-}wxt&@dSht#}hv$F=V;*NCyW*YIb`NbvO{EM=uhQ_Q&eOPwLSt90Uc4(CRw0%d81V_8!Cm-d+`!_zJ z-&*4@K?{0QlaAXhJw*iIs|W}KvJb5VwxUOdL-e5?dw)i?h;TZxEC19_4%^5-@gaVM zyKP`6mf$j*3PR=jt)TvZ0GT%tTKJvDnb(V9?fb7%#>fJ#S7O*2b%BjkbAnOBM^?=6 z=3AZx;I|PgDN7w|zgw(UiTuVg+1F$KA5~u&5OvqQZGj*NEZxG=E!`m9AR!^$Ae~Di z(hbtFAPv$Xv6LVkOLv2?G}1`<{_wt^=lQ>1kS{K0&p9)5%{AA|0c-adr*pp^qIXV? zi2_N{5=c#>Q`rPfm7})dZh zYprnVc56~qMnqGe24?128B&#|2KtFY2G2~e3oNz@W^g5joyuOMCu&>fs z(Lo?pb=h!;{HXJbWztYXq+bFX)Vu1iZ8No2*KwU9gTMk4R!)A2^Q%os!ik>^;pOYE zn_+6(`-&yHJ9P;&8N*wNH>^-MFegBDA72_5BToECA|sU{Nb&^%U&(bmq0XL)_gDM5 z6|l11au-QhBKAfXLy5p1;HbMy2U^NpHePQ|LuTT~2HrOP%@I+K=`W7(r5&*UJ&n^* zH<|0m2uIi8W>WE8&6n60pi=EBO!NKEe5_6jbE9rJZj?C3aa4=^$lMG9#6w!~ML$6{ zzM{*?ly7xkt!fuY1`RkSqBybt91<{dc`0j2634yKmk!FWVW+NT&v#L!b^+zPfCvj? zGE1n^UQ(Hc#190IC81H-S<7Y!yys+RR+`D>WCHjRtJycjY-`G7?R;X2+*cnWH*!Y^ zXvDKQ<9F$H!#58_U3c23enfZeOD7!2cb&E?aJ{tP+iLvvWI=%3wrN%(6d#poCLKj> z9Ff*X*ry{GgiRFGNy+@-NPM^xzsnRvGe6av8x|^294&B3Bf^OvU3?C<^>m6CF9;GG zVW(GaDl-+F9z|(SU(6GkgG z{9gW9;tJS{KA+Lz&O&=ihagoCqW_w)Yar#gcDr?=18b0h4(>b z86a7=ZL6D)OoKb{#~-R9l=-ByMZiCK4~PUE^rhvHXIykfzvkP^ZyUWYFW2Hg0fl<* z{4|UF?56T&E;k1+x+<_YvJHy!ZHdS1B;82dj1`&=f8MXg#nzmyv$X#Hoao$N;`y>3 z?~|RBQJShYwo^%#*!pZHio)PDlwM&ly1wqzIQ;_&QCM(vW&x$mB!#6cuYN1r;-+LG z&KfI$)+c=q0v6UqB4byJAF_m$`DPq$W=n_{)>(YoCsJNCUc1?%;Kex(6sEb14_Lyp z+_KUF>wDosVbYVwWhDYju7!#aU_Wy_!=E`7Jv5?KYBs(u8Ye|6B}z-m-{ z0vblV!6;Ce@CTg`apK zyrg0b3(05FU7L&A1~uEvb1Cn=~yB-27kPWli3#ycDAd#3R zcQ`Lq1LEX|p!z_JP`!Epei|H+7v011LAf3?qAjQ0K$3zH(~@@+BPcdO9if1%3GJ)C zP43R)3{>bgCYVs13{vcJRX|k=3?Y^oz8o(R-D$oYvG$eJ|JuSH{xm_jJD$^|Z>wHI~KcL7;$fDgZ*7%R) z2@h}0mD^}twZnqUjHV>1%^26;Ih?zOgy0V>}h+*M4M;xTBIiG}YJB@_GPmfrSS zTG+%Z^5!scqlPQuC^{|8B~um3l@)-*z$8*&60!Hma&*w0Flcf?&LB#TFoAe8NE!@C zUqf@|j5n8S_v4Nh0dA{l%J{3c@=S+iQ$jhzOcsiJA^HvDhWyUVJ6wJ`<+mA}zsUG3 z&0IT|1=W0D5R>Acc95Lk}UeM1jZcAB+KK6UsG{|^Ab!V3IlKE1bz(i9e zsrzjRMH1vM;|}n%Vh<4V>+=_ophlp8o*222JfSfHjg5HbBGt?x{ifBo?^h}Mn+R=$ z(tV!3OlFr5a`IL-E1|wl6~`5GM=(%T+Qw6Bz&5qkp``ifnQ$s(Fj>Gn*sHhI{M*(F zmh-I6tR6&G622{~Bn=iOFT~y?U1L4ydGBs+x{bXCM=6n;wgz^|k~OH_me8*0HFhD@ zWbh`JS0%+SY*=>S?TeY59Gy||^god-^s>pW3rOe?zx_-XzV>a9#Dl zCfBWKjahG?&zNVT?^$6TNuKqa26V!)_nU1vk5%}OCLt+4#=BTlwGoBrVO}vrmA@`O zqC71O^D1N@N-n-NlbYkj!QIvVKNzx5vZ_ zLl7?@&2`ZQJZ_%f%eofnJ`i9TE{hO}i4)Prua5qEhkIbfGGf4-P9Tf2t zXXcY&5-0k5Nt;vXQ>4y}y>cv7#zx&u+C6+@B0a>)bwK7v6!&pCI;TVn+zJtEI$9hH%%YhyfSju7CfX8^eWM%k%Py;LAc{W}KqcqEFiI&IvS4lbxp>$DaO z9&IHY1`9hZccbj8VU5@wG*_6r7qbdEk~+8HBc%Pj8a||*Vte)CY-*?gMrF5N=mK^6 zkOs?k(Q{|S=6tSHKWM&)GE~Mi8~$`eN2NLjJ$UaQA0SP2hj+d`P8Af_2Ec7uUSJ0Y zaw$F!l7*j9aRjdGdj5Px^ed@JHEkWgHV1M#;u-VFL=f!-uHC(gSX|_^m~xUlVj>Y5}Ixk-ILUv zP|^%r8`yC&|CAkq@A79`nTwAvaSa#?1_hud(feer-FA`ogc0GLHf;hd#I-+c(3?}9 z^65@}uq(j1RP)Uj%P{mkWK&g18uGaAG~mKMfYSOlD6t z(_zr^$pdsxKp{nKzmoX@lgX|Cv)S`WfQ-afb(Bpbpf$XiIX}{oMjt}knZw+fLy856 zp?;_1kForWWs;XHB8zI!;E&BJ6_4Ajs1=vw0*y-6)pncHiR(WdpA(?2{kAPTMU@s! zWiFZMXsH8kk$e6*rb1CeO3&R)@;h3oAOBALLmwuy5>TG$!l_otWoy2?_C&~`#s(BC zIiQU^&fUS!^?J+IpS`r2#%lc$tt*l>iVQu7!f8Y22D*n+un^NN@YRhjj{M@#jePeuUTCVq6lgc2%RKG0mGSrsIX8=xX+U;zcJO2RaV%b2)bKJHa1yDBt8V)xO+TRC+UA{H{U( zw5ira|9OrOJB<)qX9u7~<-;4$89*xQ^y=eeDGB#{`fh!4E1C2G#Ne+B@YkC>pQ1ow zaOW=3ALze(sh@n=R{?Vt>?sEcIUO?`!=r~1J@L9qGO-SuP%sV$D5}-ymJV})r}>6F zLO~vAQpL5lXvr*rU9`3f&Omo4auZpwLmx&8x^Rrf;cX7}AHMvX7!5RRD8rLf`=3~F zYEp>4Y+DDC|k=H+zSWsL? zU@kde5; z5;?1#^a$5_gKzEO9?3&pqiH2#mI5(wMLqtbF1w;Bdw9wFJdp=E?s z5oLZISA&!?YCw$ch#bRd7q4Zpdbi_OT?Mjiuc)oY0xH% zq6w`+xtUPUz){9db%Xf58cr7N!Zl#};#v~XR%i+IbXBq7RIuNQV*Ee^F!Go5#|lBL zoX-U_*kWD491`-4gFPg1AV?O9uKi>_-_ibC>OZXoq>eGAN|LPHM=uOxv@Nd0Gw52H zF!vo8pt`CbN;go`bT$b!ob4WucOz9T3PV5Dn z4h|bR^?LO~ndZaylrvp8G)uuOOWX36`#gL{5Zml zGP#Z=6PX?9S{<+~Y>U6iCY>>4n1gf;o_ubfX{`e3ugZMPp;&bpqd{WOW!BLUCn?Ps zuY9@mAtp~rQdpmbU`@H-zCQRZYxz2l6!U~q`0|i|JvUGo5$A-;DzMd$&o!OeX(uz| z^UuGHaCJu3ls1o@r8x0gt>?D6 zxR_;o;(N@PWo6!y=qg|Ax{jFxUFFJ-*(h@S>et(usS1@F%02I)F@jE;{UUDp`H=ve z=?*T!X0p>xCoRW$MQi$Xz`ID#DR?~ba{&;MxVPn75~{V1_cxJR@$ivpa2*@yg1==THz*Pj&RD z>D2FY%VG1a7tNWQ_cGx}WJuOJSqaZW$sEWC6aFpFCVd3(oiCt8#HKzHWx@>t<|lrF zVjt+Gh&lYo1c#K^*;15Vue;`#@x8C13=$;40z6odd9aa=@v*4K^DpZx0GtPu);MCr z3n>S^y7RB4OeR^n>U<2f?zc}_1(U9{9qR%Nc(smpg)f{btTtI#`O0pgoh}OpiV9g) z)nrT%DDL^@BdWbHNR@H8V^P2U(?ZHzedTcX54tnXbWaM~>884WqBEE3y3;5DTbIhZf7EkW=QXJwOn20Hq1Fq{_9U!0`@Nd(9#~ z61>d@h9sk`hYW_VT7(#zQ~4cb{_&AowCmUm=C;XlfrGX>VM}>MHos8A^n80XFYxV% z_JPTLkEY6M^_ITc!&-_FVRjw8u+zixvXlyH-7Z1Up(M%_8D_3^x_!I8^7+CXBQfiW z6C%_Crs}ZvMh2(5x%#R1QJ?G^{!I*i#fJk8iu-_lPT2al?E(l`IDmkBeAoh;atFoTbF9KaC7tfMXAi5>2vPFc zRB+N$6}vp0QSKra`m0;U9yO)IM|K@qON5Hw;4YI%b8;G}1JxUNj9vku$WkgY)Oe4T zp7FAe_m{h@=xl}C$XC^#40hYCZ@VA%p9hKPRKPOKT6Z#Wl+;1F1LkytG`TFZJCg?< z?-Dc8)a{ew*3hHW8%VqXZxHn?leHPwBwX_xN~jTNtiXu$kdb~yeC73YHu z0|nJi5n*vz8lW5?oA#Q+#dhP{cm5^!HUzvEG@1G5x>n^}TPu3Pj>MQ|k_hEyEb4JD zbb%WontjyBw48^qRlm}c5a*9irokv)jUTV3Hpx^x^v8a@+ok=!D)B8s^8Hu0@ud79 z{z1HDJ+TpjtFq1;1Azc%B(5J^sm<2=Xdiy(Q zDrV}fkaSdC%zFkcFaN=1PF|GbhQ80*xBQc2F~abN~rSJRV>Fq4W?WjPo7b|~Al&QdOixu=mxs>D}v94yUN zWHCflb1Uo0^z6b-#?cB%rpjX?>vibXy(-P0FT}nlz>pUJI{iJ?KJAadvP>}nCMxb9 zCW>)7eqDdl*lcT7QW8cgE^9++hNadC<@+^Y{hb7q7}daBt@O*>>q$!E;$&i=9kDVS zbV3ag=@c`&#kZyLtZ+|L-CMId6)s}b-0Fl>Ap|j$=QB||wvnWOdO;xc21}az zVaHM{_TV@Nw=n|0RVGf=zXxdQz)oeV{zs_UY2A=`Y3$6#(J)Em7OwtW4DO!Jla(i;eiQ`*xgX_`Ee zi)9eU**`7M51q6G4@qOb7jXIe9zAT0L_RSZ3_FihYydCR_2qlnQ1TaIGj3KK{FsD{ zOBERrT6+28pHx$_-dO5<c?lkPr(NX|BX@nNIOSBN3zn^!ioyl>AMp@6 zfX02m!@y<@Wgyv7HJJYTd-4+I^}0 zoi^H)Q~WY#rmG9|vbPEfVUVn_!d&w1IST-jrrF}@THka+CnU7w8&89U@!W{QqV|vL z?(kTpp1sTr{7h$kmCpg%6;BS2ix0FX9`MyV@kwBR=?&a1uNmkl_fYRYTh?b4^l!6le?06L-2#&QAt`SvZ_`QEtM%ffyhWtESIsP1Pty6;^+GdliawusHh~iTG7C_w z4TcKdXNi6gtxzK`5twf&R^*FMmalUO<`-q0h=id_>j{V_)wcV*G8iM!6gQlZw^R4% z{E9tXleoZ2oxpcQm?U@ou@w@8{_^~g-`CAhv?R`||!ifTli~%A9@;hWN1gWZ$ls+t`@rid98;rj*8>eW; zZNc;A#S2&Xwa*KSw^xIeuOj=tHF&*uQ7pL}_aK7+wxJ4OA>Oj|X zLBh6tyNz-e7f$j{mmcFWE5#!JCq0A4J+WWE(MVmpyZI4Go=(ZFd_TXw-mL)_7poSH zj2!)<%73*Ez1;}<%to068w9eQa-KWVW>}ZAK(95ifxP zNTmV~CEqdXH7VotD+eC-S_$N)Gw>&JI3Q94Gdw=&e*e7{{-&*Y7<8B^D^J&{_Dm4Z zdPiE@>*kyk@*4y8QMR}~!AcRKebRd{e9>3B-zL={I|yQJ0dYh z#n3;uMOx&qH;Rvc2Dop54zM-+`K7H&2hFlZl6rgf_&_{7yEk_{mLE ztb&nE`aSH-iqoaz@=(nNn6AiNPdm?P;{E_H={_LLEQTBqru_> zX$JMj6vbJTcJf_JS>I_CL{z(WajP`eq6GWy2>rABRW zU}+M4eP4B(MmQCaU;KZ62j$o(o194Q0r7PL7I3!C18*`;NZ&BP34n7w&VM}kR@kE= zv&e+QytU-4!AGd@mHAH7c8jb+`vzS1$Zehfj1~iFoIeL|8P!(G(>hI6SrEsVDo~a+ zIIcg(sAeBPIzaOKpL-V92Gn4_K5QrY6CkWWJw9c^rX*n#P@3emMxe7dk6QSZN{b5* zv+D?6WP__Z&r)j`pH&K?hG{nF$&%4J3PdN!WqpkzpX2Z60=k`l?r)qq5a)?706XT8 z1-^yrx}1rawPMo-^N*A@c?G-Ha(X;#IZ(xXoU-6BM~?0Zf`~FH7;pv}_QBbCV^LBQp_p)8qIqnFDz*h=nrCI((qlyGWUHRHF zecBE)YPw|CMm9gSwm70xFuv0_kRhjlt+>l(TUbf)gVRiQ0p0 z7h{9Sle;LCG+lyuDWX@Xl$$`$^}pUy_JK7e@diF>^PgDU!ja-mokJ;xO zpdNP_%l*4+%vYwb=KuUHTmUiiUp&NGij5{RqBQ;*P=o#uk8088+fdSR6spKL;#(>z z0-5~UFAK@LsL9Zp;a80iR=B{zFV!3)s+x*BnB5V%6V?Qy#+11$o$Jt?VU>j#I z&wc`uD~U%`oH8Qd#V(^S8TO@eza{pua%qTDEHvu>YNNPJq}4<~}q z#|zUMiWUU9i~|&0vnU%h)?REl;7u{+M|Ii393UeAN~dr>1F|US}C!sL5cLR zG)pw1OBfn#LnV?2zJeOjf2B2{OeGv(SCs+bFupp-DVL+mW|@s zwMSpRBZTQFf3Pg~znX3F`4|`QzXQ<@%{4d|2ap9Nz+X}ku;Hufxqs^`VX!9&v%+^C z;8jFU@bM`?am)&YJ1;pBt$>QAnTj%-%b5=Qy>yZZu7ob3wW1^82RYf@rQ=X2h@OUIGOilMik%+9!t`nEE)`U9%G8Ui{GF$ z<7>3-WnrwZq*v@R&P5K{Z5_n(Fp`zi@G+04SJ0w3&2(M%!W>aWbm?sQG-Lomfn0sQ z6lv-dP4P^=-9#qkaA*6;f=g}Cp%5=rC>uh$lr^EhDx@;z7KF~WM8dx>}hCMWg zJ>+g353p}f6c`4QWzBL-C7h zq|SQ@;LV!-3c(zk)Y#yEcR{)o@VdkI5^MJ8akhJ;hY}QK8kFK1fFV?xk6Bq7SqXd& zqmWvw_=v@f$3h&hs}I|7{%H4IxxlEDm0!JEPrxZ9<`IH_;iT0~xgnE4H7&LpR}#zB zdrwb{4Oodi8e$p;4V5VR!G8s)A1!nI9q{va|1mFi&ViHwsFpsWOY1V9rizp{i>sFC zvldXx+h>{zk8{nXzT=b2?%XtZR!9)S@Ck~;@PSYNV-?nmIh0^#!Za=pGH4b0PS#*C zz|R!HaSp}Tfu`6j9H*TyxAfB>_Xc_eUJFjPp-odhR3fIoEBJ4)MIjQQ-#s^Tjpo1+ z?|aLCX!KafG`7h1)@g`8q5SaqjAsIhD-7Cx1ab~;P89@7^$4Yd zN--G@Q;MscY-c>wnvaiHsj)4~uY_p3FY^4%>r&|M^Z+nl`?xtYPJc43wy4SHzNg zwKaBgwbg(P-<}@i#F)Ei%JboXbUi(%i^XcWSx1;X<@fK^liS}3Gppe?F{8-@ht%t8 znZfI+r+~7=oZy(u4LP@dqgdT3HQ*qVez%2Qf2F@!R=ns z>_uwAJT_73WII_K)i zKUyHmT`x!+3X=`%e{5atlwTU{l(DJuI&pll-X-J`4w4l*T%2*!PDUE!ic_Fv_bYh! zYf53nxK;m>87rjCfN>5Ol1Ximbv?B90DW27Vdtw9WJ zXZPGD2P-|<5agz`5#dKE;(C}idq0aa)@1eg%<2~=xdek(YcZlzyeFk9bc>HvOtFi{QiML0 z-zjC8qj~grs{)5EvjK|Y085u_tR+>2N5h7IQEB(EDyHdvnw0m2zdDfYte~#5-w;K3=zK+s$GUq-I z{pLRRbmH-l)6rmjW&M(}xiHW4Xc&>ML+l3mEP3zaMnqR$)ylh>o4xLxWF^<%y=G~J z*f>&Q^CaKfBlb^II14G?>xMGe_?H^}KJ{-Z>#e8bnp*u@pYLzDjuLH)TyI=_`5iPy zTJ2DjFrqQhpOE1wtfFy-51b9U=k%gwJK% zY%A$%{nE_Zz6iP(8iNxcB;#C6IZnwS?j5HC_d=A8I;nLvSK?v-au>ro5(;g;J(dGP zTkHSvY|YwtxaY`&1$3t0%+TWww@D}O=yVsZ7p3*o*2NXRv7S2wvl)0yuWZ54ST7OX zp0uni#=p;}*_u}5N*hfw_h7Y3y`>l5kJx@S^iz`oLj)o)J5uMEqZFl=kmb18q-DZi z>Gd9Kl7jk&^pp=&wt{^tZ%N*_-RBxL8N+UG2y2vd#x|rBYr^ zD^23AvC+??u0O*aW1F50veNerkWdNtO5#%PM$M&Pw%hZQjvh{cb?eLRfPYawUy{pSSPfSJ zS9LGOv^w<}wLsM-o(V>yy1&3Vz@?p&Q0h zDE*DMkHPE!F-c!4C}eOKKQI*00CAnG%(k2gfTLpOeY=%YFZ#YkwdT zpt-v3T`s(`s3~aQ0s}_Sv5SwbOQg9a6w-fNOrViiGEiaA(6a#1memm3^ZWRdUSBp( z-Zc|2cNaLjLB2=R`rL$VeB?yy7WAwSDVgxvSC?$BY-YJpK?NyF)~7hYl)D4%z4zsi zdYKZE2G^VxLNuuhIkrpC<*17#y$9;C**~PGHqNK-zW8)#C{P^|l8g8zxLd1=yj(4C z<6fad2=Cw?c3YaFDtcB?cEb?=tIx!#2&LRxa7*Zz zdAkizgwJG_=(#vY{gzdv+v3>HFU6N^DYXW2rrO9uL2*WOAa`TH{BMXuA==+oDkqR3 z4{l}`ud#C!mdjEvBdj&_1|6It@(N4jn!a|;(b#`8)6Kx1v=`cv^k3+H)aH4qM6=jm zk6q1hgVAeKrAAT1L2pt1?FU>qmJZq}7;w`%S+KStL;lg45Jd)D#jGCwc0I9_O!RTK z$R94!k!%SDRLZ70qV^S6U!VK)CyFtl)gwnEKOo9?@5b!>9Xrh19O?Y3kzTa~T63aN z(eKeJ^5^CQ(5%HG9qCCvxl_=v z#G}ROyW^!pCZ`eMY6Hu){+0K52;Z}J9q!{qv(RP95tAYRBfBXEdiM17;>1gZOh|tL zi?;nz+U|>xHG;#gJACOL4635wxRZ9j(}hh_T4B}U_{)}BN@0hXtF5vGyOt}3N>Nrq zQ-+a@qXM)r-}>6t1}K3Y5$=;#c=LyR`%VvTRDc;RVFr*({(p0F0I%pUa36wAIlh4x z@rX`&YnpaJhi0Q`fihGCpl12%>*R&6m?lj_zDHzb4KuMux-rE+rIaevB^wh88}N9S zYI;SMVSCe`#PHcdRKq_8g!S$DH44VuU7BiZ8noPh(7XD^bX@RK&wIYo>380rZaI~f zNz;Xp&B9W?0lLK-gk23$#o&dIL{X+MW7eH-Tk~NVfdT9FV!Lno>)aE_E59%HQa*{N zh^7fYJ*}fi_fC?Uk#|KKxjJax`=_5841U;U*s4~Qk(L|`r7U-P0x79P*Gx^2VDlC4 zcT<9_Kw*D3Ke@~KU#3g}t!%gd-Cu0JZ1%4kxVTX#T0Ih>&DDp=mwj;maredQJ zIhr)ew&&=+xxLRtk3(0@-Mgl+D5X!)mn~9SFwcZ9Fkyl_<=strJVGOZ z>Z0Fe0M~W#UG0ww-v4gEKX!mu0mE_XxG+Hp zXo9}#yyN-#tozo7L4u{;(~%a<_19>zE}bvBUl~T+zj(!B=x5;CWc^c$G2F=O`UK6} zmZ}vZ2s;hkg>#02$3ES+WIGrV;s|iRt_)o~;CdOpMI#mand~f`q+@o%x z#_jg$H)yKjLj1z}w(GK=>=Cl>hwymC$O#$^Tlg#K+CBD>G6_A{B2b+*D=c4UG@?ev z%N4vG?qf>gQ%LKQYG^sQkmH!E&i%^`QPIz{^CZM&{V(n4dn*oHJd`HI!j&aR0al5_ z^7Eq$Z4v8pZf_r>ndLRXHpgxL=4ANwR~dpVN&6SMbp7t`;UeDxOz@nNP?;R6-D1s4 zrVBg@7HU);xw0G*={9Xtw|}31G(BtGK)!eHx9umKT)wp&fkl^FMAug!ATVkOlQBrf zJ{&)=6HewIHp57sQ*RljO)!sac?$CH-=-mi%ApXEBFO&mQRf5v;=fcB3Xwb?4`+xh zq*3{c*!Lm4c4Qrr)z#}>6;V~!COX9qG9ewey@O1_`e<8ljzxCUwTdt~L3rJfe_`LkCYkP0rOAdbA(n+ulqdvVYMSYTrZufL5ZH#ldO-o9^)oWW)O)4y`miT|AR2~~y^D^%RXy4H)uIWxhcEM&sJ>J>SY zL}NxhykYXAatc$@!Q)lY9oI2CmAkP3sg#u$tI6QO3{CBl-kOyA3q-DylDg(jlbs=- zYMSt!>n6s0+vC;s14!q$xm(NCpS@W>_$LZWJ@fiJ`&`|V58f{xecfaCJ#ecwo7M`O znrdcM)^W$x;rGM0ID%eBDl1Wxe3@%)5Mld=%W>&@! zr%=Z;wg^^-^g}4#%+5As_}p-E+pov#RQaC8a{a?Z5V`ZS??9X>u~Pc2VW!?+Lz-T% zBhco$u%XP_Wbf^Cwd5Qdp-p3o_E4eoc(AYW_%uhhY4AU33_u>qM^bMmY4;W@s)3kG zkAOOb_>ikRy%W<^Juca4yXv5Bq;2z?Ld=!DYM%+{Db#7Nf^RMxQz~!thcOLB+dDIV zuVP5_Jco0iYaLaFB0Xr-bd138;y3K17mJBup5=Pw`K-o-)^Of zR+iL`DfsB}3ulWl1E{P;cI$vlfc6S1LLN|^D` zE8S<+J+zWGdoN6Q_vn=0&|Ix|TOPX;EwHGue~zJe7g6d@FP7PT3>Hh8V5L|N2H(9h z7{6&+^0my=sJhhxG^90uMmQpWZ(L*Pb1Aj*p74L3p~|Ka6Op+EQ#~*%jz&jhlm-7O zX#oscz_@NFsFznxihfFk*5~)_gtov9({_AVghZmBAWJ^g#8fatX=OpzSCf{T(Yq`6 z2HC!7e;+KzGAgX$S)WMqSkIm046o=D*XzX>=2W4Mb{L59_+ZDy>oe`g=LM(-mK|@|7XgY_bWislCt2orRl)8yS}?g&Q&S z{|%-QG8XcDf`5lB{|!$X#1A?1*|bW1&&3MSn;*o#x+GLKuIvZ9$`RG;$QfrILue!I zIlriNl(e3DIm0EGOOjj=-)vi!*|mLF6kbjNtneB!03=VVS}g10em zQ@QQp4#bAd^1f14C`Kdk*=a-kWLmEycdy()-&em`QOdL z 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 literal 246799 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 z%0D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�#5kxme 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�AiT+A1|X&%v1m0(=0-B)_1#DOn?M?c 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

{aez1` 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 literal 243420 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%0D=gm<-iT*fF6zgmK$@#fdR?4)@Qm| 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
    rajsPQOJy)v{&SQRlxJsv7qLvaF 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 U%Lnig5fp0oj*#tj+t^wE2S68J&;S4c diff --git a/data/scripts/flavor/route_23.lua b/data/scripts/flavor/route_23.lua index 644d0d11..0ad7cdb4 100644 --- a/data/scripts/flavor/route_23.lua +++ b/data/scripts/flavor/route_23.lua @@ -1,31 +1,11 @@ --- Route 23's badge-gate guards (pokered scripts/Route23.asm). Each --- guard/swimmer stands beside the staircase to Victory Road and, when --- talked to, checks whether the player holds the badge matching that --- step; the automatic walk-into-the-guard blocking script --- (Route23DefaultScript / Route23CheckForBadgeScript) is not ported --- here -- only the talk-triggered text_asm bodies, which share that --- same subroutine (Route23CheckForBadgeScript) and text --- (Route23YouDontHaveTheBadgeYetText / Route23OhThatIsTheBadgeText, --- pokered/text/Route23.asm _Route23YouDontHaveTheBadgeYetText / --- _Route23OhThatIsTheBadgeText). Once shown the badge, pokered sets --- EVENT_PASSED__CHECK so the walk-through gate (when ported) --- won't re-ask; we mirror that with set_flag for fidelity even though --- no onStep gate currently reads it. - +-- scripts/Route23.asm:153 local M = {} --- rows: check_item(badge) -> have it? show "Oh! That is the X!" and --- set EVENT_PASSED_X_CHECK : show "You don't have the X yet!" +-- scripts/Route23.asm:195 local function badgeGuard(badge, passFlag) - local subs = { RAM = badge } - return { - { "check_item", badge }, -- 1 - { "jump_if_true", 5 }, -- 2 - { "show_text", "_Route23YouDontHaveTheBadgeYetText", subs }, -- 3 - { "jump", 7 }, -- 4 (end) - { "show_text", "_Route23OhThatIsTheBadgeText", subs }, -- 5 - { "set_flag", passFlag }, -- 6 - } + return function(game, ow, npc, done) + ow:route23BadgeCheck(badge, passFlag, done) + end end -- Route23SetVictoryRoadBoulders (pokered scripts/Route23.asm:8): every entry diff --git a/data/scripts/oaks_lab.lua b/data/scripts/oaks_lab.lua index 5596e284..02632ae2 100644 --- a/data/scripts/oaks_lab.lua +++ b/data/scripts/oaks_lab.lua @@ -34,18 +34,19 @@ local function starterBall(askText, species, choseFlag, ownBall, { species = species, forceOwned = true } }, -- 5 { "ask", askText }, -- 6 { "jump_if_false", "end" }, -- 7 - -- scripts/OaksLab.asm:919 - { "show_text", "_OaksLabMonEnergeticText" }, -- 8 + -- scripts/OaksLab.asm:918 + { "hide_object", "OAKS_LAB", ownBall }, -- 8 + -- scripts/OaksLab.asm:921 + { "show_text", "_OaksLabMonEnergeticText" }, -- 9 -- OaksLab.asm: ReceivedMon (sound_get_key_item) then AddPartyMon; the -- jingle fires once the box has typed and holds it (#668) - { "text_sound", "Get_Key_Item" }, -- 9 - { "show_text", "_OaksLabReceivedMonText", { RAM = species } }, -- 10 - { "give_pokemon", species, 5 }, -- 11 - { "set_flag", "EVENT_GOT_STARTER" }, -- 12 - { "set_flag", choseFlag }, -- 13 + { "text_sound", "Get_Key_Item" }, -- 10 + { "show_text", "_OaksLabReceivedMonText", { RAM = species } }, -- 11 + { "give_pokemon", species, 5 }, -- 12 + { "set_flag", "EVENT_GOT_STARTER" }, -- 13 -- POKé BALLs come later, at OaksLabOak1Text's .give_poke_balls beat -- once the Route 22 rival is beaten (see TEXT_OAKSLAB_OAK1 below) - { "hide_object", "OAKS_LAB", ownBall }, -- 14 + { "set_flag", choseFlag }, -- 14 -- the rival walks to the countering ball (around the furniture) { "move_npc_to", 1, rivalBallX, 4 }, -- 15 { "face_object", 1, "up" }, -- 16 diff --git a/data/scripts/story.lua b/data/scripts/story.lua index 1718d154..ec040087 100644 --- a/data/scripts/story.lua +++ b/data/scripts/story.lua @@ -1061,7 +1061,8 @@ M.VICTORY_ROAD_3F = { -- pokered forces the fight on map entry: Agatha's victory arms -- SCRIPT_CHAMPIONSROOM_PLAYER_ENTERS (scripts/AgathasRoom.asm), and -- ChampionsRoomPlayerEntersScript then runs RivalEntrance_RLEMovement --- (up 1, right 1, up 3) before ChampionsRoomRivalReadyToBattleScript. +-- (played back to front: up 3, right 1, up 1) before +-- ChampionsRoomRivalReadyToBattleScript. -- The rival object has no trainer header / sight range, so without that -- entrance script the player can walk past (issue #99). We arm on the -- run flag instead of Agatha's victory bit: same observable effect for @@ -1090,6 +1091,7 @@ local championsRoomRivalScript = { -- playBattle("final") then no-ops on the same song, so the theme stays -- continuous into the fight { "play_music", "Music_FinalBattle" }, -- 5 + { "save_end_battle_text", "_RivalDefeatedText" }, -- scripts/ChampionsRoom.asm:65 { "rival_battle", "OPP_RIVAL3", 1 }, -- 6 -- losing halts here; the numeric target this replaced pointed at the -- closing warp, which inducted a player who had just lost the fight (#704) @@ -1098,8 +1100,7 @@ local championsRoomRivalScript = { { "set_flag", "EVENT_BEAT_CHAMPION_RIVAL" }, -- 9 -- ChampionsRoomRivalDefeatedScript re-displays TEXT_CHAMPIONSROOM_RIVAL, -- whose text_asm takes the EVENT_BEAT_CHAMPION_RIVAL branch = - -- _ChampionsRoomRivalAfterBattleText (the in-battle _RivalDefeatedText - -- is the port's generic " defeated BLUE!" engine line instead). + -- _ChampionsRoomRivalAfterBattleText. { "show_text", "_ChampionsRoomRivalAfterBattleText" }, -- 10 -- ChampionsRoomOakArrivesScript: Music_Cities1AlternateTempo -- (Cities1, kept into HALL_OF_FAME like BIT_NO_MAP_MUSIC after @@ -1153,10 +1154,11 @@ M.CHAMPIONS_ROOM = { end -- RivalEntrance_RLEMovement, then the battle/Oak script (queued -- separately so talk-script jump indices stay 1-based as written). + -- home/overworld.asm:1844 ow:queueScript({ - { "move_player", "up", 1 }, - { "move_player", "right", 1 }, { "move_player", "up", 3 }, + { "move_player", "right", 1 }, + { "move_player", "up", 1 }, }) ow:queueScript(championsRoomRivalScript, { npc = rival }) end, diff --git a/data/scripts/story4.lua b/data/scripts/story4.lua index 37713777..631365ad 100644 --- a/data/scripts/story4.lua +++ b/data/scripts/story4.lua @@ -867,20 +867,19 @@ M.SAFFRON_CITY = { -- ------------------------------------------------------------------- local function e4ExitSeal(flag, closedBlock, openBlock, dontRunText, autoFlag) + local function door(game, ow) + ow:replaceBlock(2, 0, game.save.flags[flag] and openBlock or closedBlock) + end local seal = function(game, ow) - local open = game.save.flags[flag] - ow:replaceBlock(2, 0, open and openBlock or closedBlock) + door(game, ow) -- the auto walk-in on first (south) entry (LoreleiScriptWalkIntoRoom) if autoFlag and not game.save.flags[autoFlag] and ow.player.cellY >= 10 then game.save.flags[autoFlag] = true ow:scriptMove(ow.player, "up", 6) end end - -- onVictory re-runs the seal so the door opens right after the - -- battle, like pokered's post-battle map reload return { onEnter = seal, - onVictory = seal, -- retreating toward the entrance gets "Don't run away!" and a -- shove back up (the entrance coords rows in each room script) onStep = function(game, ow, x, y) @@ -892,14 +891,14 @@ local function e4ExitSeal(flag, closedBlock, openBlock, dontRunText, autoFlag) end)) return true end, - } + }, door end -- Lorelei/Bruno/Agatha EndBattleScript (pokered): EndTrainerBattle then -- DisplayTextID -> TalkToTrainer, which prints the AfterBattle text on a -- win. engageTrainer only shows the won line, so wrap talk like Lance / -- Game Corner Rocket and push header.after immediately after a win. -local function e4LeaderTalk(afterLabel) +local function e4LeaderTalk(afterLabel, door) return function(game, ow, npc, done) done = done or function() end if ow:trainerDefeated(npc) then @@ -912,26 +911,33 @@ local function e4LeaderTalk(afterLabel) done() return end + -- scripts/AgathasRoom.asm:2 + local function reopen() + door(game, ow) + done() + end local after = text(game)[afterLabel] - if after then push(game, after, done) else done() end + if after then push(game, after, reopen) else reopen() end end) end end -M.LORELEIS_ROOM = e4ExitSeal("EVENT_BEAT_LORELEIS_ROOM_TRAINER_0", 0x24, 0x05, +local loreleiDoor, brunoDoor, agathaDoor +M.LORELEIS_ROOM, loreleiDoor = e4ExitSeal("EVENT_BEAT_LORELEIS_ROOM_TRAINER_0", 0x24, 0x05, "_LoreleisRoomLoreleiDontRunAwayText", "EVENT_AUTOWALKED_INTO_LORELEIS_ROOM") M.LORELEIS_ROOM.talk = { - TEXT_LORELEISROOM_LORELEI = e4LeaderTalk("_LoreleisRoomLoreleiAfterBattleText"), + TEXT_LORELEISROOM_LORELEI = e4LeaderTalk("_LoreleisRoomLoreleiAfterBattleText", + loreleiDoor), } -M.BRUNOS_ROOM = e4ExitSeal("EVENT_BEAT_BRUNOS_ROOM_TRAINER_0", 0x24, 0x05, +M.BRUNOS_ROOM, brunoDoor = e4ExitSeal("EVENT_BEAT_BRUNOS_ROOM_TRAINER_0", 0x24, 0x05, "_BrunosRoomBrunoDontRunAwayText", "EVENT_AUTOWALKED_INTO_BRUNOS_ROOM") M.BRUNOS_ROOM.talk = { - TEXT_BRUNOSROOM_BRUNO = e4LeaderTalk("_BrunoAfterBattleText"), + TEXT_BRUNOSROOM_BRUNO = e4LeaderTalk("_BrunoAfterBattleText", brunoDoor), } -M.AGATHAS_ROOM = e4ExitSeal("EVENT_BEAT_AGATHAS_ROOM_TRAINER_0", 0x3b, 0x0e, +M.AGATHAS_ROOM, agathaDoor = e4ExitSeal("EVENT_BEAT_AGATHAS_ROOM_TRAINER_0", 0x3b, 0x0e, "_AgathasRoomAgathaDontRunAwayText", "EVENT_AUTOWALKED_INTO_AGATHAS_ROOM") M.AGATHAS_ROOM.talk = { - TEXT_AGATHASROOM_AGATHA = e4LeaderTalk("_AgathaAfterBattleText"), + TEXT_AGATHASROOM_AGATHA = e4LeaderTalk("_AgathaAfterBattleText", agathaDoor), } -- ------------------------------------------------------------------- @@ -953,21 +959,15 @@ M.AGATHAS_ROOM.talk = { -- (5,11)/(6,11) the doorway -> CheckAndSetEvent -- EVENT_LANCES_ROOM_LOCK_DOOR: first crossing seals -- the door behind the player with SFX_GO_INSIDE --- (24,16) the entrance staircase -> WalkToLance: an auto-walk --- landing on (6,11). Vanilla WalkToLance_RLEList is --- up 12 / left 12 / down 7 / left 6 and skips collision --- through void tiles; our camera follows that literally --- and briefly shows the empty upper chamber (reads as --- "Gary's room"). We keep the same landing cell but --- route along the open-door floor corridor instead. +-- (24,16) the entrance staircase -> WalkToLance -- ------------------------------------------------------------------- --- Floor corridor (24,16) -> (6,11) with EVENT_LANCES_ROOM_LOCK_DOOR --- unset (entrance blocks $31/$32). Exposed for parity tests. -local LANCE_WALK_IN = { - { "down", 2 }, { "left", 6 }, { "down", 5 }, { "left", 10 }, - { "up", 9 }, { "left", 2 }, { "up", 3 }, -} +-- scripts/LancesRoom.asm:111 +-- home/overworld.asm:1845 +local function lanceWalkInRoute(yellow) + return { { "left", 6 }, { "down", 7 }, { "left", 12 }, { "up", yellow and 13 or 12 } } +end +local LANCE_WALK_IN = lanceWalkInRoute(false) local function lanceEntranceBlocks(game, ow) local locked = game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR @@ -983,15 +983,17 @@ local function lanceLockDoor(game, ow) end local function lanceWalkIn(game, ow) + local route = lanceWalkInRoute(require("src.core.GameVersion").isYellow()) local i = 0 local function step() i = i + 1 - local seg = LANCE_WALK_IN[i] + local seg = route[i] if not seg then - -- lands on (6,11); vanilla's per-frame coord poll then locks the - -- door at once. scriptMove landings do not fire onStep, so lock - -- here. - lanceLockDoor(game, ow) + -- scripts/LancesRoom.asm:82 + local p = ow.player + if (p.cellX == 5 or p.cellX == 6) and p.cellY == 11 then + lanceLockDoor(game, ow) + end return end ow:scriptMove(ow.player, seg[1], seg[2], step) @@ -1001,6 +1003,7 @@ end M.LANCES_ROOM = { walkInRoute = LANCE_WALK_IN, + walkInRouteFor = lanceWalkInRoute, onEnter = function(game, ow) lanceEntranceBlocks(game, ow) -- the warp arrival lands ON the staircase trigger, and onStep only @@ -1019,7 +1022,6 @@ M.LANCES_ROOM = { if npc.def and npc.def.name == "LANCESROOM_LANCE" then lance = npc break end end if not lance or ow:trainerDefeated(lance) then return false end - lance:facePlayer(ow.player) -- LancesRoomLanceEndBattleScript DisplayTextID -> TalkToTrainer -- after-battle text (rival became champion first). engageTrainer -- only shows the won line, so push the after text on a win. diff --git a/src/battle/BattleState.lua b/src/battle/BattleState.lua index 1565d87d..facaf3fd 100644 --- a/src/battle/BattleState.lua +++ b/src/battle/BattleState.lua @@ -1268,8 +1268,9 @@ end -- Returns true while animating. function BattleState:stepHPDrain() local busy = false + local only = self.drainOnly for _, b in ipairs({ self.player, self.enemy }) do - if b and b.shownHP then + if b and b.shownHP and (not only or b == only) then -- drainFloor is the stop the running row carries (see drainNext) local goal = b.mon.hp if b.drainFloor and b.drainFloor > goal @@ -1393,6 +1394,19 @@ function BattleState:beginMsgLine() self.shown[#self.shown + 1] = {} end +-- home/text.asm:264 +function BattleState:arrowOwnsCell() + local save = self.game and self.game.save + if save and (save.generation == 2 or save.version == "gold") then return false end + return not self:wideLayout() +end + +-- home/text.asm:270 +function BattleState:blankArrowCell() + local line = self.shown and self.shown[2] + if line and line[18] and self:arrowOwnsCell() then line[18] = 0x7F end +end + function BattleState:visibleText() if self.phase ~= "messages" or not (self.current or self.animPlaying) then return nil @@ -1436,7 +1450,7 @@ function BattleState:updateQueue() -- an HP-bar drain holds the queue until the bar catches up if self.draining then if self:stepHPDrain() then return true end - self.draining = nil + self.draining, self.drainOnly = nil, nil if self.player then self.player.drainFloor = nil end if self.enemy then self.enemy.drainFloor = nil end end @@ -1478,7 +1492,7 @@ function BattleState:updateQueue() return true end if item.drain then - self.draining = true + self.draining, self.drainOnly = true, item.battler if item.battler then item.battler.drainFloor = item.stopAt end return true end @@ -1618,6 +1632,7 @@ function BattleState:updateQueue() end if input:wasPressed("a") or input:wasPressed("b") then self.msgWaiting = nil + self:blankArrowCell() self:beginMsgLine() -- then the two ScrollTextUpOneLine calls block for 5 frames each -- (home/text.asm:280-305) before the next line starts typing @@ -1714,6 +1729,7 @@ function BattleState:updateQueue() elseif input:wasPressed("a") or input:wasPressed("b") then -- home/text.asm:218 self.msgPrompt = nil + self:blankArrowCell() self.msgHold = true self.current = nil end @@ -1941,7 +1957,7 @@ function BattleState:enter() -- battle's DrawEnemyHUDAndHPBar only runs after the text (#317). The -- draw is still gated on the slide having landed, so nothing shows while -- the silhouettes are still coming in. - self.introBalls = true + self.introBalls = "pending" -- SGB: the player-side battle palette while the back pic is up is -- MonsterPalettes[0] = PAL_MEWMON (wBattleMonSpecies is still 0 when -- the intro's SET_PAL_BATTLE runs -- SetPal_Battle, @@ -1997,7 +2013,17 @@ function BattleState:enter() table.insert(self.queue, { waitSound = function() return self.introSfx end }) table.insert(self.queue, { wait = Timing.TRAINER_INTRO_SFX_GAP }) end + -- engine/battle/common_text.asm:25 + if not self.ghost and not self.scopeReveal + and not (require("src.core.GameVersion").isYellow() + and (self.safari or self.demo)) then + self:act(function() self.introBalls = true end) + end self:say(self.introText) + -- engine/battle/common_text.asm:46 + if self.ghost then + self:say(self:romText("_GhostCantBeIDdText", "Darn! The GHOST\ncan't be ID'd!")) + end -- the unveil rides on that same box, before _InitBattleCommon clears the -- intro chrome below (#492) if self.scopeReveal then self:queueScopeReveal() end @@ -4553,6 +4579,7 @@ function BattleState:continueTrapping(user, target) -- through the attacker's final hit (endOfTurn nils it) user.trappingTurns = user.trappingTurns - 1 self:applyDamage(target, user.trapDamage or 1) + self:handleBuildingRage(target) if target.mon.hp <= 0 then self:onFaint(target) end end @@ -4573,6 +4600,7 @@ function BattleState:continueBide(user, target) -- here, after UnleashedEnergyText and before the damage (#375) self:animNext("BIDE", user.isPlayer) self:applyDamage(target, dmg) + self:handleBuildingRage(target) if target.mon.hp <= 0 then self:onFaint(target) end end @@ -4581,7 +4609,7 @@ function BattleState:selfDestruct(user) self:onFaint(user) end --- Applies damage honoring Substitute, Bide storage and Rage; returns the +-- Applies damage honoring Substitute and Bide storage; returns the -- amount that counts as dealt (for recoil/drain). function BattleState:applyDamage(target, dmg) if target.substituteHP then @@ -4601,13 +4629,28 @@ function BattleState:applyDamage(target, dmg) if target.bideTurns then target.bideDamage = (target.bideDamage or 0) + dealt end - if target.rageMove and dealt > 0 then - target.stages.attack = math.min(6, (target.stages.attack or 0) + 1) - self:sayNext(self:romText("_BuildingRageText", "%s's\nRAGE is building!", displayName(target))) - end return dealt end +-- engine/battle/move_effects/recoil.asm:28 +function BattleState:applyRecoil(user, recoil) + local mon = user.mon + local before = mon.hp + mon.hp = math.max(0, mon.hp - recoil) + if mon.hp ~= before then self:drainNext(user, mon.hp) end + self:sayNext(self:romText("_HitWithRecoilText", "%s's\nhit with recoil!", displayName(user))) +end + +-- engine/battle/core.asm:4913 +function BattleState:handleBuildingRage(target) + if not target.rageMove or target.mon.hp <= 0 then return end + if (target.stages.attack or 0) >= 6 then return end + self:sayNext(self:romText("_BuildingRageText", "%s's\nRAGE is building!", displayName(target))) + for _, m in ipairs(MoveEffects.changeStage(self, target, "attack", 1, false)) do + self:sayNext(m) + end +end + -- --------------------------------------------------------------------- -- fainting / exp / party -- --------------------------------------------------------------------- @@ -5809,14 +5852,20 @@ end -- PlayBattleVictoryMusic (core.asm:959-967) + EndLowHealthAlarm -- (core.asm:864-872): winning stops the low-health alarm and disables -- it for the rest of the battle (wLowHealthAlarmDisabled), then starts --- the victory theme once; gym leaders, Lance and the final rival share +-- the victory theme once; gym leaders and the final rival share -- MUSIC_DEFEATED_GYM_LEADER (core.asm:917-926). function BattleState:playVictoryMusic() require("src.core.Sound").stopLoop("Low_Health_Alarm") self.lowHealthAlarmDisabled = true if self.victoryMusicPlayed then return end self.victoryMusicPlayed = true - local kind = self.musicKind == "final" and "gym" or (self.musicKind or "wild") + local kind = self.musicKind or "wild" + -- engine/battle/core.asm:917 + if kind == "final" or self.isGymLeader then + kind = "gym" + elseif kind == "gym" then + kind = "trainer" + end require("src.core.Music").playVictory(self.data, kind) end @@ -6885,7 +6934,7 @@ function BattleState:drawHUDs(slide) -- rows coming back when the beaten trainer scrolls in (#282): -- _ScrollTrainerPicAfterBattle redraws tilemap columns and never touches -- OAM, which ClearSprites emptied when the intro text was dismissed. - local showIntroBalls = self.introBalls and slide == 0 + local showIntroBalls = self.introBalls == true and slide == 0 if showIntroBalls then if self.enemyParty and (self.kind == "trainer" or self.kind == "link") then -- PlaceEnemyHUDTiles (hlcoord 1,2): $73, then $74 + 8x $76 + $78 @@ -6975,10 +7024,15 @@ function BattleState:drawTextArea() -- view instead of drawing off-screen at y=144 (#216). local off = self.scrollPx or 0 local ys = { 112, 128 } + -- home/text.asm:264 + local arrowCell = (self.msgWaiting or self.msgPrompt) and off == 0 + and self:arrowOwnsCell() for li, line in ipairs(self.shown or {}) do local y = (ys[li] or 128) + off for i = 1, #line do - drawGlyph(line[i], 8 + (i - 1) * 8, y) + if not (arrowCell and li == 2 and i == 18) then + drawGlyph(line[i], 8 + (i - 1) * 8, y) + end end end -- the blinking down arrow ('▼', glyph $EE) while a \v CONT wait diff --git a/src/battle/EffectRegistry.lua b/src/battle/EffectRegistry.lua index 599eab57..aefe7cbb 100644 --- a/src/battle/EffectRegistry.lua +++ b/src/battle/EffectRegistry.lua @@ -26,6 +26,11 @@ local function missBeat(battle, record) battle:waitNext(Timing.MOVE_STATUS_OR_MISS) end +-- engine/battle/core.asm:3224 +local function explodeMissRage(battle, record, target) + if record and record.explode then battle:handleBuildingRage(target) end +end + -- pokered's / text macros print "Enemy " before the enemy -- mon's nickname (home/text.asm PlaceMoveUsersName) local function displayName(b) @@ -131,6 +136,7 @@ function EffectRegistry.runDamaging(battle, ctx, record) -- runs the explode effect ("even if Explosion or Selfdestruct -- missed, its effect still needs to be activated", core.asm:3223), -- so the user faints against a mid-Fly/Dig target too (#528) + explodeMissRage(battle, record, target) if record and record.onMiss then record.onMiss(ctx, "invulnerable") end return end @@ -153,6 +159,7 @@ function EffectRegistry.runDamaging(battle, ctx, record) if not (record and record.explode) then battle:cancelMoveAnim() end missBeat(battle, record) battle:sayNext(romText(battle.data, "_AttackMissedText", "%s's\nattack missed!", displayName(user))) + explodeMissRage(battle, record, target) -- Jump Kick crash, Explode self-destruct if record and record.onMiss then record.onMiss(ctx, "accuracy") end user.trappingTurns = nil @@ -205,6 +212,7 @@ function EffectRegistry.runDamaging(battle, ctx, record) if not (record and record.explode) then battle:cancelMoveAnim() end missBeat(battle, record) battle:sayNext(romText(battle.data, "_DoesntAffectMonText", "It doesn't affect\n%s!", displayName(target))) + explodeMissRage(battle, record, target) if record and record.onMiss then record.onMiss(ctx, "immune") end return end @@ -213,6 +221,7 @@ function EffectRegistry.runDamaging(battle, ctx, record) if not (record and record.explode) then battle:cancelMoveAnim() end missBeat(battle, record) battle:sayNext(romText(battle.data, "_AttackMissedText", "%s's\nattack missed!", displayName(user))) + explodeMissRage(battle, record, target) if record and record.onMiss then record.onMiss(ctx, "floored") end return end @@ -261,6 +270,7 @@ function EffectRegistry.runDamaging(battle, ctx, record) local totalDealt = 0 local landed, brokeSub = 0, false local critPending, ohkoPending = info.crit, info.ohko + local multi = hits > 1 for h = 1, hits do if target.mon.hp <= 0 then break end local hitRow @@ -310,6 +320,8 @@ function EffectRegistry.runDamaging(battle, ctx, record) damage = dealt, crit = info.crit, typeMult = info.typeMult, }) end + -- engine/battle/core.asm:3243 + if multi then battle:handleBuildingRage(target) end if hadSub and not target.substituteHP then -- AttackSubstitute: breaking the substitute ends a multi-hit move brokeSub = true @@ -317,7 +329,8 @@ function EffectRegistry.runDamaging(battle, ctx, record) end end hits = landed > 0 and landed or hits - if hits > 1 then + -- engine/battle/core.asm:3242 + if hits > 1 and target.mon.hp > 0 then -- player: _MultiHitText; enemy: _HitXTimesText (always plural) if user.isPlayer then battle:sayNext(romText(battle.data, "_MultiHitText", "Hit the enemy\n%d times!", hits)) @@ -330,13 +343,15 @@ function EffectRegistry.runDamaging(battle, ctx, record) ctx.rawDamage, ctx.totalDealt = dmg, totalDealt ctx.brokeSub, ctx.hits = brokeSub, hits ctx.hitSfx = hitSfx + local explode = record and record.explode + if not multi and explode then battle:handleBuildingRage(target) end if record and record.afterDamage then record.afterDamage(ctx, totalDealt) - elseif moveInst.struggle then - local recoil = math.max(1, math.floor(totalDealt / 2)) - battle:sayNext(romText(battle.data, "_HitWithRecoilText", "%s's\nhit with recoil!", displayName(user))) - battle:applyDamage(user, recoil) + elseif moveInst.struggle and not brokeSub then + battle:applyRecoil(user, math.max(1, math.floor(totalDealt / 2))) end + -- engine/battle/core.asm:3243 + if not multi and not explode then battle:handleBuildingRage(target) end -- secondary side effects (blocked by fainting) if record and record.run and record.kind ~= "primary" diff --git a/src/battle/MoveEffects.lua b/src/battle/MoveEffects.lua index befa81ad..2725644e 100644 --- a/src/battle/MoveEffects.lua +++ b/src/battle/MoveEffects.lua @@ -522,11 +522,14 @@ end -- engine/battle/core.asm ApplyDamageToEnemyPokemon local function drainHalf(label, text) return function(ctx) + -- engine/battle/core.asm:4899 + if ctx.brokeSub then return end local heal = math.max(1, math.floor(ctx.totalDealt / 2)) ctx.battle.lastDamage = heal local mon = ctx.user.mon mon.hp = math.min(mon.stats.hp, mon.hp + heal) - ctx.drain() + -- engine/battle/move_effects/drain_hp.asm:81 + ctx.battle:drainNext(ctx.user, mon.hp) -- `text` arrives as a source string (Strings.source at the call -- site keeps it in the catalog); the ROM's own line wins when the -- import carries it, and both are resolved here, at use time @@ -606,11 +609,12 @@ MoveEffects.full = { RECOIL_EFFECT = { afterDamage = function(ctx) + -- engine/battle/core.asm:4899 + if ctx.brokeSub then return end -- engine/battle/move_effects/recoil.asm local recoil = math.max(1, math.floor(ctx.totalDealt / (ctx.moveInst.struggle and 2 or 4))) - ctx.say(romText(ctx.battle.data, "_HitWithRecoilText", "%s's\nhit with recoil!", displayName(ctx.user))) - ctx.battle:applyDamage(ctx.user, recoil) + ctx.battle:applyRecoil(ctx.user, recoil) end, }, DRAIN_HP_EFFECT = { diff --git a/src/battle/WideBattle.lua b/src/battle/WideBattle.lua index 14332147..2df412e4 100644 --- a/src/battle/WideBattle.lua +++ b/src/battle/WideBattle.lua @@ -149,7 +149,7 @@ end -- the party ball rows DrawAllPokeballs puts up with the intro text, moved -- out to the wide screen's own corners local function drawIntroBalls(battle) - if not battle.introBalls then return end + if battle.introBalls ~= true then return end if battle.enemyParty and (battle.kind == "trainer" or battle.kind == "link") then battle:drawBallRow(battle.enemyParty, 88, 40, -8) diff --git a/src/core/BattleCheckpoint.lua b/src/core/BattleCheckpoint.lua index cbf79db7..7d33cf2d 100644 --- a/src/core/BattleCheckpoint.lua +++ b/src/core/BattleCheckpoint.lua @@ -362,7 +362,7 @@ function BattleCheckpoint.restore(game, checkpoint, copy) battle.current, battle.afterQueue, battle.nextInsert = nil, nil, nil battle.pendingHit, battle.waitingUI, battle.waitingSound = nil, nil, nil battle.waitFrames, battle.draining, battle.animPlaying = nil, nil, nil - battle.hitSfxWait = nil + battle.hitSfxWait, battle.drainOnly = nil, nil battle.introText, battle.introBalls, battle.introSlide = nil, nil, nil battle.showPlayerBack, battle.showEnemyTrainer, battle.showEnemyBalls = nil, nil, nil battle.player.shownHP, battle.player.shownStatus = diff --git a/src/inventory/Bag.lua b/src/inventory/Bag.lua index d9d737c6..ef7b1d7f 100644 --- a/src/inventory/Bag.lua +++ b/src/inventory/Bag.lua @@ -56,17 +56,296 @@ end -- menu) can exclude badges the same way the bag does Bag.isBadge = isBadge +local MAX_STACK = 99 + +local function splits(id, data) + if require("src.core.GameVersion").generation() ~= 1 then return false end + data = data or require("src.core.Data") + local def = data and data.items and data.items[id] + return not (def and def.pocket) +end + +local function stackList(stacks, id, total) + local list = stacks and stacks[id] + if type(list) ~= "table" or #list == 0 or type(total) ~= "number" then return nil end + local sum = 0 + for i = 1, #list do + local c = list[i] + if type(c) ~= "number" or c < 1 or c > MAX_STACK or c % 1 ~= 0 then return nil end + sum = sum + c + end + if sum ~= total then return nil end + return list +end + +-- engine/items/inventory.asm:59 +local function slotsFor(id, n, data, stacks) + if not n or isBadge(id) then return 0 end + if type(n) ~= "number" then return 1 end + if n <= 0 then return 0 end + if not splits(id, data) then return 1 end + local list = stackList(stacks, id, n) + if list then return #list end + if n <= MAX_STACK then return 1 end + return math.ceil(n / MAX_STACK) +end +Bag.slotsFor = slotsFor + +local function derivedCount(total, k, n) + if type(total) ~= "number" or n <= 1 then return total end + if k < n then return MAX_STACK end + return total - MAX_STACK * (n - 1) +end + +local function isDerived(counts) + for k = 1, #counts - 1 do + if counts[k] ~= MAX_STACK then return false end + end + return true +end + +local function countsOf(store, id, data, stacks) + local total = store[id] + local n = slotsFor(id, total, data, stacks) + local list = stackList(stacks, id, total) + local out = {} + for k = 1, n do out[k] = (list and list[k]) or derivedCount(total, k, n) end + return out +end + +local function setCounts(store, id, counts, stacks) + local sum = 0 + for i = 1, #counts do sum = sum + counts[i] end + store[id] = sum > 0 and sum or nil + if stacks then + stacks[id] = (#counts > 1 and not isDerived(counts)) and counts or nil + end +end + +local function occurrences(order, id) + local at = {} + for i = 1, #order do + if order[i] == id then at[#at + 1] = i end + end + return at +end + +local function byIndex(data) + data = data or require("src.core.Data") + local items = data and data.items + local function key(id) + local def = items and items[id] + return (def and (def.index or def.itemId)) or math.huge + end + return function(a, b) + local ia, ib = key(a), key(b) + if ia ~= ib then + if type(ia) == type(ib) then return ia < ib end + return tostring(ia) < tostring(ib) + end + if type(a) == type(b) then return a < b end + return tostring(a) < tostring(b) + end +end + +local function normalize(store, order, data, stacks) + if stacks then + for id in pairs(stacks) do + local list = splits(id, data) and stackList(stacks, id, store[id]) + if not list or #list < 2 or isDerived(list) then stacks[id] = nil end + end + end + local seen, w = {}, 0 + for i = 1, #order do + local id = order[i] + local k = (seen[id] or 0) + 1 + if k <= slotsFor(id, store[id], data, stacks) then + seen[id] = k + w = w + 1 + order[w] = id + end + end + for i = #order, w + 1, -1 do order[i] = nil end + local missing = {} + for id, n in pairs(store) do + for _ = (seen[id] or 0) + 1, slotsFor(id, n, data, stacks) do + missing[#missing + 1] = id + end + end + if #missing > 1 then table.sort(missing, byIndex(data)) end + for _, id in ipairs(missing) do order[#order + 1] = id end + return order +end +Bag.normalize = normalize + +local function storeSlots(store, data, keep, stacks) + local n = 0 + for id, count in pairs(store or {}) do + if not keep or keep(id) then n = n + slotsFor(id, count, data, stacks) end + end + return n +end +Bag.storeSlots = storeSlots + +function Bag.stackRows(store, order, data, stacks) + local rows, seen = {}, {} + for i, id in ipairs(order) do + local k = (seen[id] or 0) + 1 + seen[id] = k + local total = store[id] + local list = stackList(stacks, id, total) + rows[#rows + 1] = { id = id, slot = k, index = i, + count = (list and list[k]) + or derivedCount(total, k, slotsFor(id, total, data, stacks)) } + end + return rows +end + +function Bag.setRows(store, order, rows, data, stacks) + local per = {} + for i = 1, #rows do + local id = rows[i].id + order[i] = id + if splits(id, data) and type(rows[i].count) == "number" then + local counts = per[id] or {} + counts[#counts + 1] = rows[i].count + per[id] = counts + end + end + for i = #order, #rows + 1, -1 do order[i] = nil end + for id, counts in pairs(per) do setCounts(store, id, counts, stacks) end +end + +-- engine/items/inventory.asm:7 +function Bag.addTo(store, order, id, qty, data, used, cap, stacks) + qty = qty or 1 + local old = store[id] + if type(old) == "number" and old <= 0 then old = nil end + if isBadge(id) then + store[id] = (old or 0) + qty + return true + end + if not splits(id, data) then + if not old and used >= cap then return false end + if (old or 0) + qty > MAX_STACK then return false end + store[id] = (old or 0) + qty + if not old then order[#order + 1] = id end + return true + end + local free = cap - used + local counts = old and countsOf(store, id, data, stacks) or {} + local left = qty + for k = 1, #counts do + local sum = counts[k] + left + if sum < MAX_STACK + 1 then + counts[k] = sum + left = 0 + break + end + -- engine/items/inventory.asm:72 + if free <= 0 then return false end + counts[k] = MAX_STACK + left = sum - MAX_STACK + end + while left > 0 do + -- engine/items/inventory.asm:44 + if free <= 0 then return false end + counts[#counts + 1] = math.min(left, MAX_STACK) + left = left - MAX_STACK + end + local before = #occurrences(order, id) + setCounts(store, id, counts, stacks) + for _ = before + 1, #counts do order[#order + 1] = id end + return true +end + +-- engine/items/inventory.asm:100 +function Bag.removeFrom(store, order, id, qty, data, slot, stacks) + qty = qty or 1 + local old = store[id] + if old ~= nil and type(old) ~= "number" then return end + if not old or old <= 0 then + store[id] = nil + if order then + for i = #order, 1, -1 do + if order[i] == id then table.remove(order, i) end + end + end + return + end + if isBadge(id) or not splits(id, data) then + local left = old - qty + store[id] = left > 0 and left or nil + if order and not store[id] then + for i = #order, 1, -1 do + if order[i] == id then table.remove(order, i) end + end + end + return + end + local counts = countsOf(store, id, data, stacks) + local k = (slot and counts[slot]) and slot or 1 + local take = math.min(qty, counts[k]) + counts[k] = counts[k] - take + qty = qty - take + for i = 1, #counts do + if qty <= 0 then break end + take = math.min(qty, counts[i]) + counts[i] = counts[i] - take + qty = qty - take + end + if order then + local at = occurrences(order, id) + for i = #at, 1, -1 do + if counts[i] ~= nil and counts[i] <= 0 then table.remove(order, at[i]) end + end + end + local kept = {} + for i = 1, #counts do + if counts[i] > 0 then kept[#kept + 1] = counts[i] end + end + setCounts(store, id, kept, stacks) +end + +-- engine/menus/swap_items.asm:78 +function Bag.swapSlots(store, order, first, second, data, stacks) + if first == second or not order[first] or not order[second] then return false end + local rows = Bag.stackRows(store, order, data, stacks) + local a, b = rows[first], rows[second] + if a.id ~= b.id or type(a.count) ~= "number" or type(b.count) ~= "number" + or not splits(a.id, data) then + rows[first], rows[second] = b, a + else + -- engine/menus/swap_items.asm:98 + local sum = a.count + b.count + if sum < MAX_STACK + 1 then + b.count = sum + table.remove(rows, first) + else + a.count = sum - MAX_STACK + b.count = MAX_STACK + end + end + Bag.setRows(store, order, rows, data, stacks) + return true +end + +local function stacksOf(save, key) + local t = save[key] + if type(t) ~= "table" then t = {} end + return t +end + +local function keepStacks(save, key, t) + save[key] = next(t) ~= nil and t or nil +end + -- Occupied slots, of one pocket when named or of the whole inventory when not. function Bag.slots(save, data, pocket) if not save or not save.inventory then return 0 end - local n = 0 - for id in pairs(save.inventory) do - if not isBadge(id) - and (not pocket or pocketOf(id, data) == pocket) then - n = n + 1 - end - end - return n + return storeSlots(save.inventory, data, pocket and function(id) + return pocketOf(id, data) == pocket + end, save.bagStacks) end -- Acquisition-ordered id list (wBagItems). Rebuilt sorted once for @@ -76,40 +355,67 @@ function Bag.order(save, data) save.inventory = save.inventory or {} local order = save.bagOrder if not order then - local items = (data or require("src.core.Data")).items order = {} - for id in pairs(save.inventory) do - if not isBadge(id) then table.insert(order, id) end - end - table.sort(order, function(a, b) - local ia = (items and items[a] and (items[a].index or items[a].itemId)) or math.huge - local ib = (items and items[b] and (items[b].index or items[b].itemId)) or math.huge - if ia ~= ib then - if type(ia) == type(ib) then return ia < ib end - return tostring(ia) < tostring(ib) - end - if type(a) == type(b) then return a < b end - return tostring(a) < tostring(b) - end) save.bagOrder = order end -- drop stale ids, append unknown ones (defensive against direct -- inventory writes) - local seen = {} - for i = #order, 1, -1 do - local id = order[i] - if not save.inventory[id] or seen[id] then - table.remove(order, i) - else - seen[id] = true - end - end - for id in pairs(save.inventory) do - if not isBadge(id) and not seen[id] then table.insert(order, id) end - end + local stacks = stacksOf(save, "bagStacks") + normalize(save.inventory, order, data, stacks) + keepStacks(save, "bagStacks", stacks) return order end +function Bag.rows(save, data) + if not save then return {} end + local order = Bag.order(save, data) + return Bag.stackRows(save.inventory, order, data, save.bagStacks) +end + +function Bag.swap(save, first, second, data) + if not save or not save.inventory then return false end + local order = Bag.order(save, data) + local stacks = stacksOf(save, "bagStacks") + local ok = Bag.swapSlots(save.inventory, order, first, second, data, stacks) + keepStacks(save, "bagStacks", stacks) + return ok +end + +-- ram/wram.asm:1895 +function Bag.pcOrder(save, data) + if not save then return {} end + save.pcItems = save.pcItems or {} + local order = type(save.pcOrder) == "table" and save.pcOrder or {} + save.pcOrder = order + local stacks = stacksOf(save, "pcStacks") + normalize(save.pcItems, order, data, stacks) + keepStacks(save, "pcStacks", stacks) + return order +end + +function Bag.pcRows(save, data) + if not save then return {} end + local order = Bag.pcOrder(save, data) + return Bag.stackRows(save.pcItems, order, data, save.pcStacks) +end + +function Bag.pcAdd(save, id, qty, data, cap) + if not save then return false end + local order = Bag.pcOrder(save, data) + local stacks = stacksOf(save, "pcStacks") + local ok = Bag.addTo(save.pcItems, order, id, qty, data, + storeSlots(save.pcItems, data, nil, stacks), cap or 50, stacks) + keepStacks(save, "pcStacks", stacks) + return ok +end + +function Bag.pcRemove(save, id, qty, data, slot) + if not save or not save.pcItems then return end + local stacks = stacksOf(save, "pcStacks") + Bag.removeFrom(save.pcItems, save.pcOrder, id, qty, data, slot, stacks) + keepStacks(save, "pcStacks", stacks) +end + -- engine/items/switch_items.asm:38 SwitchItemsInBag .below / .above -- the -- rotate the PACK's SELECT performs, over the rows of ONE pocket. function Bag.move(save, id, pocket, toIndex, data) @@ -133,49 +439,33 @@ function Bag.move(save, id, pocket, toIndex, data) return true end --- Add qty of an item; returns false (and adds nothing) when a new slot --- is needed and the bag is full, or when the stack would pass 99 --- (AddItemToInventory's per-slot quantity cap). +-- engine/items/inventory.asm:59 function Bag.add(save, id, qty, data) if not save then return false end save.inventory = save.inventory or {} local inv = save.inventory + if isBadge(id) then + inv[id] = (inv[id] or 0) + (qty or 1) + return true + end -- Only the item's OWN pocket has to have room -- a full ITEM pocket does not -- keep a KEY_ITEM or an HM out, which is the whole point of pockets. local pocket = pocketOf(id, data) - if not inv[id] and not isBadge(id) - and Bag.slots(save, data, pocket) >= Bag.capacity(data, pocket) then - return false - end - if not isBadge(id) and (inv[id] or 0) + (qty or 1) > 99 then - return false - end - -- Insert into the order BEFORE the inventory write: Bag.order's defensive - -- append reads save.inventory, so writing first made it add the id and the - -- table.insert below add it again -- one pickup, two bag rows, until the - -- next order() pass deduped it (and a save taken in between kept both). - local isNew = not inv[id] - if isNew and not isBadge(id) then - table.insert(Bag.order(save, data), id) - end - inv[id] = (inv[id] or 0) + (qty or 1) - return true + local order = Bag.order(save, data) + local stacks = stacksOf(save, "bagStacks") + local ok = Bag.addTo(inv, order, id, qty, data, + Bag.slots(save, data, pocket), Bag.capacity(data, pocket), stacks) + keepStacks(save, "bagStacks", stacks) + return ok end -- Remove qty (default 1); clears the slot and its order entry at zero. -function Bag.remove(save, id, qty) +-- engine/menus/pc.asm:118 +function Bag.remove(save, id, qty, data, slot) if not save or not save.inventory then return end - local inv = save.inventory - inv[id] = (inv[id] or 0) - (qty or 1) - if inv[id] <= 0 then - inv[id] = nil - local order = save.bagOrder - if order then - for i, oid in ipairs(order) do - if oid == id then table.remove(order, i) break end - end - end - end + local stacks = stacksOf(save, "bagStacks") + Bag.removeFrom(save.inventory, save.bagOrder, id, qty, data, slot, stacks) + keepStacks(save, "bagStacks", stacks) end return Bag diff --git a/src/pokemon/Evolution.lua b/src/pokemon/Evolution.lua index cc91ef88..0d5010ec 100644 --- a/src/pokemon/Evolution.lua +++ b/src/pokemon/Evolution.lua @@ -159,9 +159,52 @@ function Evolution.learnEvolutionMoves(game, mon, onDone) nextStep() end +local function clearScreenLayer() + local layer = { isOpaque = true, evoClear = true } + layer.update = function() end + layer.draw = function() + love.graphics.setColor(1, 1, 1, 1) + love.graphics.rectangle("fill", 0, 0, 160, 144) + end + -- engine/movie/evolution.asm:68 + layer.sgbPalettes = function(_, g) + local P = require("src.render.PaletteFX") + local c = layer.species and P.monPal(g.data, layer.species) + if c then return { P.whole(c) } end + return P.wholeNamed(g.data, "MEWMON") + end + return layer +end + +-- engine/pokemon/evos_moves.asm:156 +function Evolution.clearScreen(game, species) + while game.stack:top() and game.stack:top().evoIntro do game.stack:pop() end + local top = game.stack:top() + if not (top and top.evoClear) then + top = clearScreenLayer() + game.stack:push(top) + end + if species then top.species = species end +end + +local function dropClearScreen(game) + local top = game.stack:top() + while top and (top.evoClear or top.evoIntro) do + game.stack:pop() + top = game.stack:top() + end +end + +-- engine/pokemon/evos_moves.asm:245 +local function finishEvolution(game) + dropClearScreen(game) + -- engine/link/cable_club.asm:290 + Music.restoreMap(game.data) +end + -- Play the evolution movie (flashing forms), then apply + text. -- Headless (no real graphics) falls back to the plain text flow. -function Evolution.evolve(game, mon, newSpecies, onDone, via) +function Evolution.evolve(game, mon, newSpecies, onDone, via, batch) local oldName = mon.nickname or game.data.pokemon[mon.species].name -- IsEvolvingText, DelayFrames 50; ClearScreenArea then wipes rows 0-11 -- ONLY, so the box rides through EvolveMon (evos_moves.asm:120-134) @@ -181,8 +224,11 @@ function Evolution.evolve(game, mon, newSpecies, onDone, via) -- forward `via` so trade evolutions stay non-cancelable while -- others accept B (evos_moves.asm:72-75) (#213) Screens.push(game, "EvolutionState", mon, newSpecies, function() - -- the result/cancel box owns the intro box's pop (#1596) - if game.stack:top() == intro then game.stack:pop() end + if batch then + Evolution.clearScreen(game) + else + finishEvolution(game) + end if onDone then onDone() end end, via) end @@ -190,6 +236,7 @@ function Evolution.evolve(game, mon, newSpecies, onDone, via) game.stack:push(hold) end, } }) + intro.evoIntro = true game.stack:push(intro) return end @@ -201,10 +248,12 @@ function Evolution.evolve(game, mon, newSpecies, onDone, via) .. romText(game.data, "_IntoText", "\ninto %s!", game.data.pokemon[newSpecies].name) game.stack:push(TextBox.new(game, msg, function() - Music.restoreMap(game.data) -- re-run the evolved species' level-up learn check before onDone -- (evos_moves.asm EvolveMon -> learn_move.asm LearnMoveFromLevelUp, #12) - Evolution.learnEvolutionMoves(game, mon, onDone) + Evolution.learnEvolutionMoves(game, mon, function() + if not batch then finishEvolution(game) end + if onDone then onDone() end + end) end, TextBox.soundOpts(game, "Get_Item2"))) end @@ -245,10 +294,11 @@ function Evolution.checkParty(game, onDone, leveledUp) i = i + 1 local p = pending[i] if not p then + dropClearScreen(game) if onDone then onDone() end return end - Evolution.evolve(game, p.mon, p.to, nextOne, p.via) + Evolution.evolve(game, p.mon, p.to, nextOne, p.via, true) end nextOne() return #pending diff --git a/src/render/PaletteFX.lua b/src/render/PaletteFX.lua index 3801efa8..e49f7aa6 100644 --- a/src/render/PaletteFX.lua +++ b/src/render/PaletteFX.lua @@ -251,6 +251,12 @@ function PaletteFX.ogObjNormal() return OG_OBJ_NORMAL, "gbcobjnormal_soft" end +-- home/fade.asm:68 +function PaletteFX.ogObjWorld() + if darkWorld or fadeObpMap then return PaletteFX.ogObj() end + return PaletteFX.ogObjNormal() +end + -- The DMG object ramp every mode except OG RED bakes onto overworld sprites, -- plus its cache group (same two-value contract as ogObj). Entry 1 is never -- read -- SpriteRenderer.getObpImage keys OBJ color 0 to alpha, the hardware's diff --git a/src/render/SpriteRenderer.lua b/src/render/SpriteRenderer.lua index a730c278..15e0932a 100644 --- a/src/render/SpriteRenderer.lua +++ b/src/render/SpriteRenderer.lua @@ -319,10 +319,10 @@ function SpriteRenderer:resolveImage() local colors, group = PaletteFX.spriteObp(self.def, self.seed) if colors then return getObpImage(self.def.image, colors, group) end elseif PaletteFX.usesSpriteObp() then - -- OG boot-ROM OBJ palette: green on Red, pink on Blue (PaletteFX.ogObj + -- OG boot-ROM OBJ palette: green on Red, pink on Blue (PaletteFX.ogObjWorld -- returns colors + a version-distinct cache group so the two never -- collide in obpCache) -- see issue #155 - return getObpImage(self.def.image, PaletteFX.ogObj()) + return getObpImage(self.def.image, PaletteFX.ogObjWorld()) end -- Every other mode (SGB and the mono/inverted novelties) leaves the sprite -- in DMG shades so the zone shader colors it out of the map's own palette, @@ -435,11 +435,11 @@ function SpriteRenderer:draw(px, py, camX, camY, facing, walkPhase, stepFlip, elseif PaletteFX.usesSpriteObp() and PaletteFX.spriteRedrawPassActive() then -- OG RED (GBC boot-ROM look): every OBJ wears the one global object -- palette -- green over Red's red background, pink over Blue's blue - -- background (PaletteFX.ogObj, #155). The BG zone shader still runs over + -- background (PaletteFX.ogObjWorld, #155). The BG zone shader still runs over -- the world canvas, so the baked sprite is queued for a post-zone redraw -- (PaletteFX.markSpriteRedraw) that restores its object-colored pixels on -- top. - image = getObpImage(self.def.image, PaletteFX.ogObj()) + image = getObpImage(self.def.image, PaletteFX.ogObjWorld()) redraw = true else -- SGB and the mono/inverted modes (and OG RED's tilt upright pass, which @@ -529,7 +529,7 @@ function SpriteRenderer:drawTile(path, x, y, flip, quad) local colors, group = PaletteFX.spriteObp(self.def, self.seed) if colors then image = getObpImage(path, colors, group) end elseif PaletteFX.usesSpriteObp() and PaletteFX.spriteRedrawPassActive() then - image, redraw = getObpImage(path, PaletteFX.ogObj()), true + image, redraw = getObpImage(path, PaletteFX.ogObjWorld()), true else image = getObpImage(path, PaletteFX.dmgObj()) end diff --git a/src/render/TextBox.lua b/src/render/TextBox.lua index 786120f4..13d1e7e1 100644 --- a/src/render/TextBox.lua +++ b/src/render/TextBox.lua @@ -444,6 +444,22 @@ function TextBox:arrowPos() gold and (self.boxTy + self.boxTh - 1) * 8 or self.line2Y end +-- home/text.asm:270 +function TextBox:blankArrowCell() + if not self.fixedGen1Rows then return end + local line = self.shown[#self.shown] + if not line or #self.shown < 2 then return end + local ax = self:arrowPos() + local pen = self.textX + for i, code in ipairs(line) do + if pen == ax then + line[i] = 0x7F + return + end + pen = pen + Font.advanceOf(code) + end +end + -- scripts/MtMoonPokecenter.asm:30 function TextBox:moneyVisible() if not self.money then return false end @@ -640,6 +656,7 @@ function step(self, dt) if self.contAdvance then -- ContText / ManualTextScroll: keep the box, scroll one line self.contAdvance = false + self:blankArrowCell() self.lineIndex = self.lineIndex + 1 self:beginLine() -- ScrollTextUpOneLine is 5 blocking frames and, as its own comment @@ -760,13 +777,20 @@ function TextBox:draw() -- nothing in the original is ever drawn between two rows. local off = self.scrollPx or 0 local ys = { self.line1Y, self.line2Y } + -- home/text.asm:264 + local coverX, coverY + if self.fixedGen1Rows and self:arrowVisible() then + coverX, coverY = arrowX, arrowY + end for i, line in ipairs(self.shown) do local y = (ys[i] or self.line2Y) + (i == 1 and off or 0) -- the pen advances per glyph, matching the pixel budget paginate -- measured with; every fixed-width page still lands on the 8px grid local pen = self.textX for _, code in ipairs(line) do - drawGlyph(code, pen, y) + if not (pen == coverX and y == coverY) then + drawGlyph(code, pen, y) + end pen = pen + Font.advanceOf(code) end end diff --git a/src/render/TileRenderer.lua b/src/render/TileRenderer.lua index 72c4938b..171a5a02 100644 --- a/src/render/TileRenderer.lua +++ b/src/render/TileRenderer.lua @@ -733,48 +733,92 @@ local function getKeyedTile(self, tile) return img or nil end -function TileRenderer:drawCellBottomRaw(cx, cy, camX, camY) - local ty = cy * 2 + 1 - for i = 0, 1 do - local tx = cx * 2 + i - local tile = self.map:tileAt(tx, ty) - local keyed = tile and self.gbcCtx and getKeyedTile(self, tile) - if keyed then - love.graphics.draw(keyed, tx * 8 - camX, ty * 8 - camY) - else - local quad = self.quads[tile] - if quad then - love.graphics.draw(self.image, quad, tx * 8 - camX, ty * 8 - camY) - end +-- data/sprites/facings.asm:51 +-- engine/gfx/sprite_oam.asm:127 +function TileRenderer.feetStrip(px, py, sprite) + local fw = sprite and sprite.frameWidth or 16 + local fh = sprite and sprite.frameHeight or 16 + local ax = sprite and sprite.anchorX or fw / 2 + local ay = sprite and sprite.anchorY or fh + local x0 = math.floor(px + 8 - ax) + local top = math.floor(py + 12 - ay) + local y0 = top + math.max(0, fh - 8) + return x0, y0, x0 + fw, y0 + math.min(8, fh) +end + +function TileRenderer.eachStripSpan(x0, y0, x1, y1, fn, a, b, c, d) + for ty = math.floor(y0 / 8), math.floor((y1 - 1) / 8) do + local top, bottom = math.max(y0, ty * 8), math.min(y1, ty * 8 + 8) + for tx = math.floor(x0 / 8), math.floor((x1 - 1) / 8) do + local left, right = math.max(x0, tx * 8), math.min(x1, tx * 8 + 8) + fn(tx, ty, left, top, left - tx * 8, top - ty * 8, + right - left, bottom - top, a, b, c, d) end end end --- redraw a cell's bottom tile row (tall grass hides the lower half of --- sprites standing in it, like the GB sprite-priority trick) -function TileRenderer:drawCellBottom(cx, cy, camX, camY) +local function stripQuad(self, image, tile, ox, oy, w, h) + local cache = self.stripQuads + if not cache then + cache = {} + self.stripQuads = cache + end + local sub = ((ox * 9 + w) * 8 + oy) * 9 + h + local key = image == self.image and tile * 6000 + sub or -1 - sub + local q = cache[key] + if q then return q end + local iw, ih = image:getDimensions() + local sx, sy = 0, 0 + if image == self.image then + local perRow = self.map.tileset.tilesPerRow + sx, sy = (tile % perRow) * 8, math.floor(tile / perRow) * 8 + end + q = love.graphics.newQuad(sx + ox, sy + oy, w, h, iw, ih) + cache[key] = q + return q +end + +local function drawStripTile(tx, ty, x, y, ox, oy, w, h, self, camX, camY) + local tile = self.map:tileAt(tx, ty) + if not (tile and self.quads[tile]) then return end + local img = self.gbcCtx and getKeyedTile(self, tile) or self.image + love.graphics.draw(img, stripQuad(self, img, tile, ox, oy, w, h), + x - camX, y - camY) +end + +local function markStripTile(tx, ty, x, y, ox, oy, w, h, self, camX, camY, colors) + local tile = self.map:tileAt(tx, ty) + if not (tile and self.quads[tile]) then return end + PaletteFX.markSpriteRedraw(self.image, + stripQuad(self, self.image, tile, ox, oy, w, h), + x - math.floor(camX), y - math.floor(camY), + 1, colors, true) +end + +function TileRenderer:drawStripRaw(x0, y0, x1, y1, camX, camY) + TileRenderer.eachStripSpan(x0, y0, x1, y1, drawStripTile, self, camX, camY) +end + +function TileRenderer:drawStrip(x0, y0, x1, y1, camX, camY) -- the RED++ path is pre-keyed; the white test would be a no-op there at -- best, and a false hit on some other group's near-white color 0 at worst local shader = not self.gbcCtx and getColor0KeyShader() or nil if shader then love.graphics.setShader(shader) end - self:drawCellBottomRaw(cx, cy, camX, camY) + self:drawStripRaw(x0, y0, x1, y1, camX, camY) if shader then love.graphics.setShader() end end --- queue the same bottom tile row for the post-zone sprite-redraw pass --- (GBC mode: OBP-baked sprites replay after the zone shader, so the --- grass patch that hides their feet must replay over them, colorized --- with the map's palette and color-0 keyed) -function TileRenderer:markCellBottomRedraw(cx, cy, camX, camY, colors) - local ty = cy * 2 + 1 - for i = 0, 1 do - local tx = cx * 2 + i - local quad = self.quads[self.map:tileAt(tx, ty)] - if quad then - PaletteFX.markSpriteRedraw(self.image, quad, tx * 8 - math.floor(camX), - ty * 8 - math.floor(camY), 1, colors, true) - end - end +function TileRenderer:markStripRedraw(x0, y0, x1, y1, camX, camY, colors) + TileRenderer.eachStripSpan(x0, y0, x1, y1, markStripTile, + self, camX, camY, colors) +end + +function TileRenderer:drawCellBottomRaw(cx, cy, camX, camY) + self:drawStripRaw(cx * 16, cy * 16 + 8, cx * 16 + 16, cy * 16 + 16, camX, camY) +end + +function TileRenderer:drawCellBottom(cx, cy, camX, camY) + self:drawStrip(cx * 16, cy * 16 + 8, cx * 16 + 16, cy * 16 + 16, camX, camY) end @@ -1024,6 +1068,10 @@ function TileRenderer:releaseBatches() for _, q in pairs(self.quads) do safeRelease(q) end self.quads = nil end + if self.stripQuads then + for _, q in pairs(self.stripQuads) do safeRelease(q) end + self.stripQuads = nil + end if self.anims then for _, a in ipairs(self.anims) do safeRelease(a.batch); a.batch = nil diff --git a/src/save_convert/GenSave.lua b/src/save_convert/GenSave.lua index 997ae8fa..1b2b2a52 100644 --- a/src/save_convert/GenSave.lua +++ b/src/save_convert/GenSave.lua @@ -845,43 +845,91 @@ local function decodeItemRows(bytes, off, capacity) return rows end +local function stackCounts(stacks, id, qty) + local list = type(stacks) == "table" and stacks[id] + if type(list) ~= "table" or #list < 2 then return nil end + local sum = 0 + for i = 1, #list do + local c = list[i] + if type(c) ~= "number" or c < 1 or c > 99 or c % 1 ~= 0 then return nil end + sum = sum + c + end + if sum ~= qty then return nil end + return list +end + local function foldRows(rows, cw) - local inventory, order = {}, {} + local inventory, order, counts = {}, {}, {} for _, r in ipairs(rows) do local id = cw.itemsByIndex[r[1]] if id and not BADGE_BY_BIT_SET[id] and r[2] > 0 then - if not inventory[id] then order[#order + 1] = id end + order[#order + 1] = id inventory[id] = (inventory[id] or 0) + r[2] + local list = counts[id] or {} + list[#list + 1] = r[2] + counts[id] = list end end - return inventory, order + local stacks = {} + for id, list in pairs(counts) do + local derived = true + for k = 1, #list - 1 do + if list[k] ~= 99 then derived = false end + end + if not derived and stackCounts({ [id] = list }, id, inventory[id]) then stacks[id] = list end + end + return inventory, order, next(stacks) ~= nil and stacks or nil end -local function modelRows(inventory, order, capacity, cw) - local rows, seen, ids, rest = {}, {}, {}, {} - for _, id in ipairs(type(order) == "table" and order or {}) do - if not seen[id] then seen[id] = true; ids[#ids + 1] = id end +-- engine/items/inventory.asm:64 +local function modelRows(inventory, order, capacity, cw, stacks) + inventory = inventory or {} + local need, lists = {}, {} + local function slots(id) + if need[id] == nil then + local qty = tonumber(inventory[id]) + qty = qty and math.floor(qty) or 0 + lists[id] = stackCounts(stacks, id, qty) + need[id] = (qty > 0 and cw.itemsIndex[id] and not BADGE_BY_BIT_SET[id]) + and (lists[id] and #lists[id] or math.ceil(qty / 99)) or 0 + end + return need[id] end - for id in pairs(inventory or {}) do - if not seen[id] then rest[#rest + 1] = id end + local kept, have = {}, {} + for _, id in ipairs(type(order) == "table" and order or {}) do + if (have[id] or 0) < slots(id) then + have[id] = (have[id] or 0) + 1 + kept[#kept + 1] = id + end + end + local ids, at = {}, {} + for _, id in ipairs(kept) do + at[id] = (at[id] or 0) + 1 + ids[#ids + 1] = id + if at[id] == have[id] then + for _ = have[id] + 1, slots(id) do ids[#ids + 1] = id end + end + end + local rest = {} + for id in pairs(inventory) do + if not have[id] and slots(id) > 0 then rest[#rest + 1] = id end end table.sort(rest, function(a, b) local ia, ib = cw.itemsIndex[a] or 1e9, cw.itemsIndex[b] or 1e9 if ia ~= ib then return ia < ib end return tostring(a) < tostring(b) end) - for _, id in ipairs(rest) do ids[#ids + 1] = id end + for _, id in ipairs(rest) do + for _ = 1, slots(id) do ids[#ids + 1] = id end + end + local rows, k = {}, {} for _, id in ipairs(ids) do - local qty = tonumber((inventory or {})[id]) - local idx = cw.itemsIndex[id] - if qty and qty > 0 and idx and not BADGE_BY_BIT_SET[id] then - qty = math.floor(qty) - while qty > 0 and #rows < capacity do - local q = math.min(qty, 99) - rows[#rows + 1] = { idx, q } - qty = qty - q - end - end + if #rows >= capacity then break end + k[id] = (k[id] or 0) + 1 + local n = slots(id) + local q = lists[id] and lists[id][k[id]] + or (k[id] < n and 99 or math.floor(tonumber(inventory[id])) - 99 * (n - 1)) + rows[#rows + 1] = { cw.itemsIndex[id], q } end return rows end @@ -904,14 +952,14 @@ end local function decodeItems(bytes, off, capacity, cw) local rows = decodeItemRows(bytes, off, capacity) - local inventory, order = foldRows(rows, cw) + local inventory, order, stacks = foldRows(rows, cw) local carrier = nil - if not sameRows(modelRows(inventory, order, capacity, cw), rows) then carrier = rows end - return inventory, order, carrier + if not sameRows(modelRows(inventory, order, capacity, cw, stacks), rows) then carrier, stacks = rows, nil end + return inventory, order, carrier, stacks end -local function encodeItems(buf, countOff, off, capacity, inventory, order, carrier, cw) - local rows = modelRows(inventory, order, capacity, cw) +local function encodeItems(buf, countOff, off, capacity, inventory, order, carrier, cw, stacks) + local rows = modelRows(inventory, order, capacity, cw, stacks) carrier = validRows(carrier) if carrier then local inv, ord = foldRows(carrier, cw) @@ -1023,8 +1071,8 @@ function GenSave.decode(bytes, data, opts) if bitGet(bytes, O.pokedexSeen, bitIdx) then save.pokedex.seen[species] = true end end - save.inventory, save.bagOrder, save.cartBag = decodeItems(bytes, O.bagItems, 20, cw) - save.pcItems, save.pcOrder, save.cartPc = decodeItems(bytes, O.pcItems, 50, cw) + save.inventory, save.bagOrder, save.cartBag, save.bagStacks = decodeItems(bytes, O.bagItems, 20, cw) + save.pcItems, save.pcOrder, save.cartPc, save.pcStacks = decodeItems(bytes, O.pcItems, 50, cw) -- badges: truthy save.inventory[id] entries (src/inventory/Badges.lua), -- set AFTER the bag decode since that call replaces save.inventory @@ -1424,8 +1472,8 @@ function GenSave.encode(save, data, template) -- wBagItems (they only ever live in wObtainedBadges, already encoded -- above), so they must be filtered out here or they'd corrupt the bag -- with bogus "badge items". - encodeItems(buf, O.numBagItems, O.bagItems, 20, save.inventory or {}, save.bagOrder, save.cartBag, cw) - encodeItems(buf, O.numPcItems, O.pcItems, 50, save.pcItems or {}, save.pcOrder, save.cartPc, cw) + encodeItems(buf, O.numBagItems, O.bagItems, 20, save.inventory or {}, save.bagOrder, save.cartBag, cw, save.bagStacks) + encodeItems(buf, O.numPcItems, O.pcItems, 50, save.pcItems or {}, save.pcOrder, save.cartPc, cw, save.pcStacks) local flags = type(save.flags) == "table" and save.flags or {} local events = data.eventFlags diff --git a/src/ui/BagMenu.lua b/src/ui/BagMenu.lua index 6194d39a..5b04cea3 100644 --- a/src/ui/BagMenu.lua +++ b/src/ui/BagMenu.lua @@ -19,7 +19,8 @@ local BAG_RETURN_WHITE = 19 -- acquisition order like wBagItems (Bag.order), not alphabetical local function buildItems(game) local items = {} - for _, id in ipairs(Bag.order(game.save)) do + for _, row in ipairs(Bag.rows(game.save, game.data)) do + local id = row.id local def = game.data.items[id] -- PrintListMenuEntries skips the quantity for anything IsKeyItem_ owns: -- the KeyItemFlags bitfield plus the HMs (item_effects.asm:2616-2641) @@ -27,7 +28,9 @@ local function buildItems(game) table.insert(items, { value = id, label = def and def.name or id, - count = (not unsellable) and game.save.inventory[id] or nil, + count = (not unsellable) and row.count or nil, + slot = row.slot, + stack = row.count, }) end -- the $ff terminator's row: CANCEL is selectable and exits like B @@ -37,9 +40,12 @@ local function buildItems(game) end local function consume(game, id, list) - Bag.remove(game.save, id, 1) + local before = #Bag.rows(game.save, game.data) + local row = list and list.items and list.items[list.index] + local slot = row and row.value == id and row.slot or nil + Bag.remove(game.save, id, 1, game.data, slot) -- engine/items/inventory.asm:131-136 - if not game.save.inventory[id] then + if #Bag.rows(game.save, game.data) < before then game.bagSavedMenuItem, game.bagListScrollOffset = 0, 0 if list then list.index, list.scroll = 1, 0 end end @@ -362,13 +368,7 @@ local function vanillaUseOn(game, battle, id, target, list, moveIndex, picker) local function removeUsed() consume(game, id, list) -- refresh counts in the list - for i, it in ipairs(list.items) do - if it.value == id then - local left = game.save.inventory[id] - if left then it.count = left else table.remove(list.items, i) end - break - end - end + list.items = buildItems(game) list.index = math.min(list.index, math.max(1, #list.items)) end if not battle and not target and not picker then @@ -516,6 +516,8 @@ local function useOn(game, battle, id, target, list, moveIndex, picker) end local function pickTargetAndUse(game, battle, id, list) + -- engine/menus/start_sub_menus.asm:416 + if list then list.optionBox = nil end -- pick a target from the party -- the ETHERs and PP UP open the move menu after picking a mon -- (ItemUsePPRestore / ItemUsePPUp); the ELIXERs hit every move @@ -616,11 +618,13 @@ function BagMenu.new(game, opts) l.swapIndex = l.index return end - local order = Bag.order(game.save) - order[l.swapIndex], order[l.index] = order[l.index], order[l.swapIndex] + -- engine/menus/swap_items.asm:45 + if l.swapIndex == l.index then return end + Bag.swap(game.save, l.swapIndex, l.index, game.data) l.swapIndex = nil require("src.core.Sound").play(game.data, "Swap") l.items = buildItems(game) + l.index = math.max(1, math.min(l.index, #l.items)) end, onChoose = function(item) -- A on CANCEL leaves the list exactly like B (home/list_menu.asm:105-110) @@ -632,11 +636,13 @@ function BagMenu.new(game, opts) local id = item.value local def = game.data.items[id] if list.swapIndex then -- A also completes a pending swap - local order = Bag.order(game.save) - order[list.swapIndex], order[list.index] = order[list.index], order[list.swapIndex] + -- engine/menus/swap_items.asm:45 + if list.swapIndex == list.index then return end + Bag.swap(game.save, list.swapIndex, list.index, game.data) list.swapIndex = nil require("src.core.Sound").play(game.data, "Swap") list.items = buildItems(game) + list.index = math.max(1, math.min(list.index, #list.items)) return end if battle then -- no tossing mid-battle @@ -659,8 +665,12 @@ function BagMenu.new(game, opts) -- (engine/menus/start_sub_menus.asm:330-337; home/window.asm:193-206) list.hollowIndex = list.index local Menu = require("src.ui.Menu") - game.stack:push(Menu.new(game, { + local optionBox + optionBox = Menu.new(game, { { label = Strings("USE"), onSelect = function() + -- engine/menus/start_sub_menus.asm:362 + optionBox.hollowIndex = optionBox.index + list.optionBox = optionBox useItem(game, battle, id, list) end }, { label = Strings("TOSS"), keepOpen = true, onSelect = function() @@ -670,12 +680,13 @@ function BagMenu.new(game, opts) -- engine/menus/start_sub_menus.asm:298-300, 438-439 local function itemMenuLoop(pops) for _ = 1, pops do game.stack:pop() end - if not game.save.inventory[id] then + local fresh = buildItems(game) + if #fresh < #list.items then -- engine/items/inventory.asm:131 game.bagSavedMenuItem, game.bagListScrollOffset = 0, 0 list.index, list.scroll = 1, 0 end - list.items = buildItems(game) + list.items = fresh list.index = math.min(list.index, math.max(1, #list.items)) end -- KeyItemFlags + HMs decide tossability (not price: @@ -689,7 +700,7 @@ function BagMenu.new(game, opts) end local QuantityBox = require("src.ui.QuantityBox") game.stack:push(QuantityBox.new(game, { - max = game.save.inventory[id] or 1, + max = item.stack or game.save.inventory[id] or 1, keepOpen = true, onDone = function(qty) if not qty then itemMenuLoop(2) return end @@ -703,7 +714,7 @@ function BagMenu.new(game, opts) game.stack:push(ChoiceBox.new(game, function(yes) game.stack:pop() if not yes then itemMenuLoop(2) return end - Bag.remove(game.save, id, qty) + Bag.remove(game.save, id, qty, game.data, item.slot) showMessages(game, { ((t._ThrewAwayItemText or Strings("Threw away\n%s.", name)) :gsub("{RAM:wNameBuffer}", name)) }, @@ -713,7 +724,8 @@ function BagMenu.new(game, opts) end, })) end }, - }, { tx = 13, ty = 10, tw = 7, th = 5 })) + }, { tx = 13, ty = 10, tw = 7, th = 5 }) + game.stack:push(optionBox) end, }) -- reopen on the saved cursor: engine/battle/core.asm:2230-2234 and @@ -727,10 +739,22 @@ function BagMenu.new(game, opts) end local baseUpdate = list.update list.update = function(self, dt) + self.optionBox = nil baseUpdate(self, dt) game.bagListScrollOffset = self.scroll game.bagSavedMenuItem = self.index - self.scroll - 1 end + local baseDraw = list.draw + list.draw = function(self) + -- engine/menus/start_sub_menus.asm:299 + if game.stack:top() == self then + self.optionBox = nil + self.hollowIndex = nil + end + baseDraw(self) + -- engine/menus/start_sub_menus.asm:298 + if self.optionBox then self.optionBox:draw() end + end list.closeStartMenu = opts.onClose -- the item box overlaps the kept-open START menu box, so neither docks to -- a screen edge on its own (start_sub_menus.asm:302-329) #1745 diff --git a/src/ui/Diploma.lua b/src/ui/Diploma.lua index bb9f6280..176cb5c9 100644 --- a/src/ui/Diploma.lua +++ b/src/ui/Diploma.lua @@ -6,6 +6,7 @@ local Assets = require("src.render.Assets") local Font = require("src.render.Font") +local GameVersion = require("src.core.GameVersion") local PaletteFX = require("src.render.PaletteFX") local Sprites = require("src.pokemon.Sprites") local SpriteRenderer = require("src.render.SpriteRenderer") @@ -14,6 +15,7 @@ local Strings = require("src.core.Strings") -- engine/events/diploma.asm:65 local OBP0_90 = { { 255, 255, 255 }, { 255, 255, 255 }, { 170, 170, 170 }, { 85, 85, 85 } } +local PIC_X, PIC_Y = 115, 80 local Diploma = {} Diploma.__index = Diploma @@ -69,6 +71,57 @@ local function drawFrameBox(frame, tx, ty, tw, th) end end +local function playerName(game) + return (game.save.player and game.save.player.name) or "RED" +end + +local function drawLines(game) + -- engine/events/diploma.asm:95 + Font.draw(Strings("Player"), 24, 32) + -- engine/events/diploma.asm:39 + Font.draw(playerName(game), 80, 32) + + -- engine/events/diploma.asm:97 + local congrats = { + { text = Strings.source("Congrats! This"), y = 48 }, + { text = Strings.source("diploma certifies"), y = 64 }, + { text = Strings.source("that you have"), y = 80 }, + { text = Strings.source("completed your"), y = 96 }, + { text = Strings.source("POKéDEX."), y = 112 }, + } + for _, line in ipairs(congrats) do + Font.draw(Strings(line.text), 16, line.y) + end + + -- engine/events/diploma.asm:98 + Font.draw(Strings("GAME FREAK"), 72, 128) +end + +local overlayCanvas, overlayKey + +local function textOverlay(game) + local g = love.graphics + if not (g.newCanvas and g.setCanvas and g.push and g.pop) then return nil end + local key = playerName(game) .. "\0" .. tostring(Strings.active()) + if overlayCanvas and overlayKey == key then return overlayCanvas end + if not overlayCanvas then + local ok, c = pcall(g.newCanvas, 160, 144) + if not ok or not c then return nil end + overlayCanvas = c + end + g.push("all") + g.setCanvas(overlayCanvas) + g.origin() + g.setScissor() + g.setShader() + g.clear(0, 0, 0, 0) + g.setColor(0, 0, 0, 1) + drawLines(game) + g.pop() + overlayKey = key + return overlayCanvas +end + function Diploma.new(game, onDone) local self = setmetatable({ game = game, @@ -102,25 +155,32 @@ function Diploma.render(game) titlePlayer or "assets/generated/title/player.png", { side = "front", kind = "diploma", data = game.data }) local pic + local ogObp = false if picPath then if picTrueColor then pic = tryImage(picPath) else - local ok, faded = pcall(SpriteRenderer.obpImage, picPath, OBP0_90, - "diploma") + ogObp = PaletteFX.usesSpriteObp() and PaletteFX.pass() == "ui" + local ramp, group = OBP0_90, "diploma" + if ogObp then + local c = PaletteFX.ogObjBase() + -- engine/events/diploma.asm:65 + ramp = { c[1], c[1], c[2], c[3] } + group = GameVersion.isBlue() and "diploma_og_blue" or "diploma_og" + end + local ok, faded = pcall(SpriteRenderer.obpImage, picPath, ramp, group) pic = (ok and faded) or tryImage(picPath) + ogObp = ogObp and ok and faded ~= nil end end if pic then love.graphics.setColor(1, 1, 1, 1) - local sx, sy, sw, sh = love.graphics.getScissor() -- engine/events/diploma.asm:44 - love.graphics.setScissor(8, 8, 144, 128) - love.graphics.draw(pic, 115, 80) - if sx then love.graphics.setScissor(sx, sy, sw, sh) - else love.graphics.setScissor() end + love.graphics.draw(pic, PIC_X, PIC_Y) if picTrueColor then - PaletteFX.markTrueColor(115, 80, pic:getDimensions()) + PaletteFX.markTrueColor(PIC_X, PIC_Y, pic:getDimensions()) + elseif ogObp then + PaletteFX.markUiSpriteRedraw(pic, nil, PIC_X, PIC_Y) end end @@ -133,26 +193,17 @@ function Diploma.render(game) love.graphics.setColor(0, 0, 0, 1) Font.draw(Strings("Diploma"), 48, 16) -- hlcoord 6, 2 - -- 4. Player info: hlcoord 3, 4 ("PLAYER" / "Player") and hlcoord 10, 4 (name) - Font.draw(Strings("Player"), 24, 32) - local playerName = (game.save.player and game.save.player.name) or "RED" - Font.draw(playerName, 80, 32) - - -- 5. Congratulations text: hlcoord 2, 6 double-spaced lines (rows 6, 8, 10, 12, 14) - local congrats = { - { text = Strings.source("Congrats! This"), y = 48 }, -- hlcoord 2, 6 - { text = Strings.source("diploma certifies"), y = 64 }, -- hlcoord 2, 8 - { text = Strings.source("that you have"), y = 80 }, -- hlcoord 2, 10 - { text = Strings.source("completed your"), y = 96 }, -- hlcoord 2, 12 - { text = Strings.source("POKéDEX."), y = 112 }, -- hlcoord 2, 14 - } - for _, line in ipairs(congrats) do - Font.draw(Strings(line.text), 16, line.y) - end - - -- 6. Developer signature: hlcoord 9, 16 - Font.draw(Strings("GAME FREAK"), 72, 128) + drawLines(game) love.graphics.setColor(1, 1, 1, 1) + + if ogObp then + local overlay = textOverlay(game) + if overlay then + -- engine/events/diploma.asm:44 + PaletteFX.markUiSpriteRedraw(overlay, nil, 0, 0, + { clip = { PIC_X, PIC_Y, pic:getWidth(), pic:getHeight() } }) + end + end end function Diploma:draw() diff --git a/src/ui/EvolutionState.lua b/src/ui/EvolutionState.lua index 014f1bc1..407a856c 100644 --- a/src/ui/EvolutionState.lua +++ b/src/ui/EvolutionState.lua @@ -126,26 +126,28 @@ end function EvolutionState:pushDoneText() local game = self.game local TextBox = require("src.render.TextBox") + local Evolution = require("src.pokemon.Evolution") if self.canceled then game.stack:push(TextBox.new(game, romText(game.data, "_StoppedEvolvingText", "Huh? %s\nstopped evolving!", self.oldName), function() - Music.restoreMap(game.data) game.stack:pop() + -- engine/pokemon/evos_moves.asm:296 + Evolution.clearScreen(game, self.mon.species) if self.onDone then self.onDone() end end)) return end - local Evolution = require("src.pokemon.Evolution") local newName = game.data.pokemon[self.newSpecies].name -- engine/pokemon/evos_moves.asm:136-153 local msg = romText(game.data, "_EvolvedText", "%s evolved", self.oldName) .. romText(game.data, "_IntoText", "\ninto %s!", newName) game.stack:push(TextBox.new(game, msg, function() - Music.restoreMap(game.data) game.stack:pop() + -- engine/pokemon/evos_moves.asm:156 + Evolution.clearScreen(game, self.newSpecies) -- engine/pokemon/evos_moves.asm:212 (#12) Evolution.learnEvolutionMoves(game, self.mon, self.onDone) end, diff --git a/src/ui/NamingScreen.lua b/src/ui/NamingScreen.lua index d9a266be..fb59ae0f 100644 --- a/src/ui/NamingScreen.lua +++ b/src/ui/NamingScreen.lua @@ -150,8 +150,18 @@ function NamingScreen:enter() end end +-- engine/menus/naming_screen.asm:88 +local REPROMPT_WHITE_FRAMES = 45 + function NamingScreen:confirm() local name = table.concat(self.glyphs) + if name == "" and self.presets and #self.presets > 0 then + -- engine/movie/oak_speech/oak_speech2.asm:20 + self.row, self.col = 1, 1 + self.anim = 0 + self.whiteout = REPROMPT_WHITE_FRAMES + return + end if name == "" then -- An empty confirm (START, or the ED cell with nothing typed) must not -- invent a letter (#833). DisplayNamingScreen seeds wStringBuffer with @@ -163,10 +173,10 @@ function NamingScreen:confirm() -- .playerCancelled and keeps the old nick, which is why an explicit -- opts.default still wins here. Player/rival naming -- (oak_speech2.asm ChoosePlayerName) re-opens on '@' and never accepts an - -- empty result; the port keeps its preset fallback for that. + -- empty result. -- Contract for callers: "" means NO name -- BattleState:askNicknameUI and -- Commands.give_pokemon both guard on #name > 0 before setting nickname. - name = (self.presets and self.presets[1]) or self.default or "" + name = self.default or "" end Sound.play(self.game.data, "Press_AB") self.game.stack:pop() @@ -193,6 +203,10 @@ function NamingScreen:jumpToEnd() end function NamingScreen:update(dt) + if (self.whiteout or 0) > 0 then + self.whiteout = self.whiteout - 1 + return + end -- engine/menus/naming_screen.asm:131 self.anim = (self.anim or 0) + 1 local GRID = self:grid() @@ -252,6 +266,7 @@ function NamingScreen:draw() if self.choosing then return end love.graphics.setColor(1, 1, 1, 1) love.graphics.rectangle("fill", 0, 0, 160, 144) + if (self.whiteout or 0) > 0 then return end love.graphics.setColor(0, 0, 0, 1) -- engine/menus/naming_screen.asm:453 if self.mon then diff --git a/src/ui/OakSpeech.lua b/src/ui/OakSpeech.lua index d78304a8..60cd4321 100644 --- a/src/ui/OakSpeech.lua +++ b/src/ui/OakSpeech.lua @@ -253,6 +253,8 @@ function OakSpeech.defaultSteps(speech) pic = "player", -- oak_speech.asm:106-108 reveal = "fade_white_in", + -- data/text/text_2.asm:1753 + auto = true, }, { id = "shrink", @@ -331,6 +333,8 @@ function OakSpeech.new(game, onDone) local sprites = game.data.sprites or {} local red = sprites[playerSprites.walk or "SPRITE_RED"] or sprites.SPRITE_RED self.walkSheet = tryImage(red and red.image) + self.walkDef = red + self.walkPath = red and red.image return self end @@ -453,7 +457,8 @@ function OakSpeech:runStep(step) self.holdBox = box self.game.stack:push(box) else - self:sayText(self:stepText(step), function() self:advance() end) + self:sayText(self:stepText(step), function() self:advance() end, + step.auto and { auto = { delay = 0 } } or nil) end end) elseif kind == "demo" then @@ -687,14 +692,23 @@ function OakSpeech:finish() if self.onDone then self.onDone() end end --- Shrink timeline (oak_speech.asm .next): --- frames 1-4 RedPicFront still up (ld c, 4 / DelayFrames) --- frames 5-8 ShrinkPic1 (ld c, 4 / DelayFrames) --- frames 9-28 ShrinkPic2, music fades (wAudioFadeOutControl; ld c, 20) --- frames 29-78 pic area cleared, walking sprite at the standard --- player screen spot (ResetPlayerSpriteData / --- ClearScreenArea / wUpdateSpritesEnabled; ld c, 50) --- frames 79-102 GBFadeOutToWhite (3 palettes x 8 frames) +-- engine/movie/oak_speech/oak_speech.asm:125 +local SHRINK_PIC1_AT = 36 +local SHRINK_PIC2_AT = 76 +-- engine/movie/oak_speech/oak_speech.asm:154 +local SHRINK_WALK_AT = 108 +local SHRINK_FADE_AT = 158 +local SHRINK_END = SHRINK_FADE_AT + 3 * WHITE_FADE_STEP +-- home/fade.asm:71 +local SHRINK_FADE_BGP = { 0x90, 0x40, 0x00 } +local SHRINK_FADE_OBP0 = { 0x80, 0x40, 0x00 } + +OakSpeech.SHRINK_PIC1_AT = SHRINK_PIC1_AT +OakSpeech.SHRINK_PIC2_AT = SHRINK_PIC2_AT +OakSpeech.SHRINK_WALK_AT = SHRINK_WALK_AT +OakSpeech.SHRINK_FADE_AT = SHRINK_FADE_AT +OakSpeech.SHRINK_END = SHRINK_END + function OakSpeech:update(dt) local r = self.picReveal if r then @@ -708,24 +722,24 @@ function OakSpeech:update(dt) if not self.shrink then return end local s = self.shrink s.frame = s.frame + 1 - if s.frame == 5 then + if s.frame == SHRINK_PIC1_AT then self.pic = self.shrinkPic1 or self.pic self.picTrueColor = false - elseif s.frame == 9 then + elseif s.frame == SHRINK_PIC2_AT then self.pic = self.shrinkPic2 or self.pic self.picTrueColor = false -- wAudioFadeOutControl = 10: the music ramps to silence over ~70 - -- frames (7 levels x 10), reaching 0 just as the fade-to-white - -- begins at frame 79, instead of a hard cut (oak_speech.asm:145-149, + -- frames (7 levels x 10), reaching 0 shortly before the fade-to-white + -- begins, instead of a hard cut (oak_speech.asm:145-149, -- home/fade_audio.asm) Music.fadeOut(10) - elseif s.frame == 29 then + elseif s.frame == SHRINK_WALK_AT then self.pic = nil self.picTrueColor = false self.walkVisible = true - elseif s.frame >= 79 and s.frame <= 102 then - self.fadeLevel = math.floor((s.frame - 79) / 8) + 1 - elseif s.frame > 102 then + elseif s.frame >= SHRINK_FADE_AT and s.frame < SHRINK_END then + self.fadeLevel = math.floor((s.frame - SHRINK_FADE_AT) / WHITE_FADE_STEP) + 1 + elseif s.frame >= SHRINK_END then -- clear before finish(): a finished-listener that pushes a state gets -- ITS state popped in the speech's place, and a live shrink would call -- finish() again next frame, re-firing the event every frame (#308) @@ -734,6 +748,33 @@ function OakSpeech:update(dt) end end +-- engine/movie/oak_speech/oak_speech.asm:162 +function OakSpeech:walkImage() + if not self.walkPath then return self.walkSheet, false end + local PF = require("src.render.PaletteFX") + local colors, group + if PF.usesGbcPack() then + colors, group = PF.spriteObp(self.walkDef) + if colors then colors, group = PF.fadeObp(colors, group) end + end + if not colors then + if PF.usesSpriteObp() then + if self.fadeLevel then + colors, group = PF.ogObjLit() + else + -- home/fade.asm:68 + colors, group = PF.ogObjNormal() + end + else + colors, group = PF.dmgObjLit() + end + end + local ok, img = pcall(require("src.render.SpriteRenderer").obpImage, + self.walkPath, colors, group) + if not (ok and img) then return self.walkSheet, false end + return img, PF.usesSpriteObp() or PF.usesGbcPack() +end + function OakSpeech:draw() love.graphics.setColor(1, 1, 1, 1) love.graphics.rectangle("fill", 0, 0, 160, 144) @@ -743,6 +784,14 @@ function OakSpeech:draw() require("src.render.PaletteFX").setShadeMap( require("src.render.Transition").shadeMapFor(revealBgp)) end + if self.fadeLevel then + -- home/fade.asm:26 + local PF = require("src.render.PaletteFX") + local Transition = require("src.render.Transition") + local i = math.min(#SHRINK_FADE_BGP, self.fadeLevel) + PF.setShadeMap(Transition.shadeMapFor(SHRINK_FADE_BGP[i])) + PF.setFadeObp(Transition.shadeMapFor(SHRINK_FADE_OBP0[i])) + end if self.pic then -- IntroDisplayPicCenteredOrUpperRight centered: the 7x7-tile pic -- area sits at hlcoord 6,4 = (48,32); smaller mon pics pad inside @@ -773,7 +822,11 @@ function OakSpeech:draw() -- ResetPlayerSpriteData: Y screen pos $3c, X screen pos $40 self.walkQuad = self.walkQuad or love.graphics.newQuad(0, 0, 16, 16, self.walkSheet:getDimensions()) - love.graphics.draw(self.walkSheet, self.walkQuad, 64, 60) + local img, redraw = self:walkImage() + love.graphics.draw(img, self.walkQuad, 64, 60) + if redraw then + require("src.render.PaletteFX").markUiSpriteRedraw(img, self.walkQuad, 64, 60) + end end if self.shrinkText then -- This is a REPLICA of the dialogue box that just closed, redrawn at @@ -795,11 +848,6 @@ function OakSpeech:draw() end love.graphics.setColor(1, 1, 1, 1) end - if self.fadeLevel then - love.graphics.setColor(1, 1, 1, self.fadeLevel / 3) - love.graphics.rectangle("fill", 0, 0, 160, 144) - love.graphics.setColor(1, 1, 1, 1) - end end return OakSpeech diff --git a/src/ui/PartyMenu.lua b/src/ui/PartyMenu.lua index bd29ae2e..d675e357 100644 --- a/src/ui/PartyMenu.lua +++ b/src/ui/PartyMenu.lua @@ -35,14 +35,11 @@ PartyMenu.isOpaque = true -- MEWMON instead painted every bar with MEWMON's shades, which is why a -- full bar came out black and a low one purple (#274, absorbing #272). -- --- Two rects differ from the packet's, both because this port draws pixels +-- One rect differs from the packet's, because this port draws pixels -- where the hardware drew OAM over BG: -- * the icon block is rows 0-11, not the packet's 0-12 -- row 12 is the -- message box's top edge, which on hardware was BG under an OBJ-free -- part of the block; here it would take MEWMON instead of the base. --- * the bar blocks sit one tile right of the packet's 05-11 because this --- port's bar starts at tile 5 where party_menu.asm:71-76 starts it at --- 4; the span is the same "left cap + six fill tiles". function PartyMenu:sgbPalettes(game) local P = require("src.render.PaletteFX") local base = P.pal(game.data, "GREENBAR") @@ -65,7 +62,7 @@ function PartyMenu:sgbPalettes(game) if self.heal and self.heal.mon == mon then hp = self.heal.from end local bar = P.pal(game.data, P.barPalName(hp, mon.stats.hp)) if bar then - zones[#zones + 1] = P.zone(bar, 6, i * 2 - 1, 12, i * 2 - 1) + zones[#zones + 1] = P.zone(bar, 5, i * 2 - 1, 11, i * 2 - 1) end end end @@ -466,7 +463,10 @@ end function PartyMenu:update(dt) -- icon animation counter; 320 = a whole cycle at every HP speed - self.blink = ((self.blink or 0) + 1) % 320 + -- home/pokemon.asm:243 + if not (self.submenu or self.chosenHollow or self.heal or self.swapAnim) then + self.blink = ((self.blink or 0) + 1) % 320 + end -- The bar fill owns the menu while it runs: UpdateHPBar2 is a blocking -- predef in item_effects.asm, so no button is read until it lands (#252). local heal = self.heal @@ -497,6 +497,7 @@ function PartyMenu:update(dt) end if anim.frames < 10 or (playing and anim.frames < 30) then return end self.swapAnim = nil + self.blink = 0 -- home/window.asm:16 if self.game.data then require("src.core.Sound").play(self.game.data, "Swap") end @@ -524,6 +525,7 @@ function PartyMenu:update(dt) self.subIndex = self.subIndex < n and self.subIndex + 1 or 1 elseif input:wasPressed("b") then self.submenu = nil + self.blink = 0 -- home/window.asm:16 elseif input:wasPressed("a") then local mon = party[self.index] if followerUnavailable(self.game, mon) then @@ -595,6 +597,7 @@ function PartyMenu:update(dt) return end self.submenu = nil -- engine/menus/start_sub_menus.asm:66 + self.chosenHollow = true ow:useFlashFieldMove(function() self:close() end) return elseif action == "surf" then @@ -614,6 +617,7 @@ function PartyMenu:update(dt) -- trySurf closes this menu when its text does (#385) local fx, fy = ow.player:facingCell() self.submenu = nil -- engine/menus/start_sub_menus.asm:66 + self.chosenHollow = true ow:trySurf(fx, fy, function() self:close() end) return end @@ -687,6 +691,7 @@ function PartyMenu:update(dt) return end self.submenu = nil -- engine/menus/start_sub_menus.asm:66 + self.chosenHollow = true ow:useStrengthFieldMove(mon, function() self:close() end) return elseif ow and ow.useFieldMove then @@ -739,6 +744,7 @@ function PartyMenu:update(dt) return end self.submenu = nil + self.blink = 0 -- home/window.asm:16 end return end @@ -754,12 +760,15 @@ function PartyMenu:update(dt) if grid then self.index = grid self.game.partyMenuSavedIndex = self.index + self.blink = 0 -- home/window.asm:16 elseif input:wasPressed("up") then self.index = self.index > 1 and self.index - 1 or math.max(1, #party) self.game.partyMenuSavedIndex = self.index -- HandlePartyMenuInput #768 + self.blink = 0 -- home/window.asm:16 elseif input:wasPressed("down") then self.index = self.index < #party and self.index + 1 or 1 self.game.partyMenuSavedIndex = self.index -- HandlePartyMenuInput #768 + self.blink = 0 -- home/window.asm:16 elseif input:wasPressed("b") then self.game.stack:pop() if self.onCancel then self.onCancel() end @@ -964,11 +973,11 @@ function PartyMenu:draw() for _, m in ipairs(def.tmhm or {}) do if m == self.tmhm.move then can = true break end end - -- right-aligned so the shorter "ABLE" shares "NOT ABLE"'s right edge + -- engine/menus/party_menu.asm:93 if can then - Font.draw(Strings("ABLE"), 120, y + 8) + Font.draw(Strings("ABLE"), 96, y + 8) else - Font.draw(Strings("NOT ABLE"), 88, y + 8) + Font.draw(Strings("NOT ABLE"), 96, y + 8) end elseif self.evoStone then -- party_menu.asm:114 .evolutionStoneMenu: an EVOLVE_ITEM row matching @@ -979,10 +988,11 @@ function PartyMenu:draw() can = true break end end + -- engine/menus/party_menu.asm:160 if can then - Font.draw(Strings("ABLE"), 120, y + 8) + Font.draw(Strings("ABLE"), 96, y + 8) else - Font.draw(Strings("NOT ABLE"), 88, y + 8) + Font.draw(Strings("NOT ABLE"), 96, y + 8) end else if mon.hp <= 0 then @@ -1006,7 +1016,8 @@ function PartyMenu:draw() shown = { hp = math.floor(self.heal.shown), stats = mon.stats } end love.graphics.setColor(1, 1, 1, 1) - HudTiles.drawHPBar(self.game.data, 5, (y + 8) / 8, shown, nil, barZoned) + -- engine/menus/party_menu.asm:71 + HudTiles.drawHPBar(self.game.data, 4, (y + 8) / 8, shown, nil, barZoned) love.graphics.setColor(0, 0, 0, 1) Font.draw(("%3d/%3d"):format(shown.hp, mon.stats.hp), 104, y + 8) end diff --git a/src/ui/PlayerPC.lua b/src/ui/PlayerPC.lua index b9e6db3f..547fd873 100644 --- a/src/ui/PlayerPC.lua +++ b/src/ui/PlayerPC.lua @@ -6,6 +6,7 @@ -- move one); toss discards after a YES/NO confirm. Follows the -- BoxMenu/BagMenu list idioms. +local Bag = require("src.inventory.Bag") local ChoiceBox = require("src.ui.ChoiceBox") local ListMenu = require("src.ui.ListMenu") local Menu = require("src.ui.Menu") @@ -23,49 +24,19 @@ local function itemName(game, id) return def and def.name or id end -local function pcOrder(game) - local save, pc = game.save, game.save.pcItems - local order = type(save.pcOrder) == "table" and save.pcOrder or {} - local kept, seen = {}, {} - for _, id in ipairs(order) do - if pc[id] and not seen[id] then kept[#kept + 1], seen[id] = id, true end - end - local added = {} - for id in pairs(pc) do if not seen[id] then added[#added + 1] = id end end - table.sort(added, function(a, b) - local da, db = game.data.items[a], game.data.items[b] - local ia = da and (da.index or da.itemId) or math.huge - local ib = db and (db.index or db.itemId) or math.huge - if ia ~= ib then - if type(ia) == type(ib) then return ia < ib end - return tostring(ia) < tostring(ib) - end - if type(a) == type(b) then return a < b end - return tostring(a) < tostring(b) - end) - for _, id in ipairs(added) do kept[#kept + 1] = id end - for i = #order, 1, -1 do order[i] = nil end - for i, id in ipairs(kept) do order[i] = id end - save.pcOrder = order - return order -end - -local function buildItems(game, store, order) +local function buildItems(game, rows) local items = {} - local ids = order - if not ids then - ids = {} - for id in pairs(store) do table.insert(ids, id) end - table.sort(ids) - end - for _, id in ipairs(ids) do - if store[id] then + for _, row in ipairs(rows) do + local id = row.id + if row.count ~= nil then local def = game.data.items[id] local keyItem = (def and def.keyItem) or id:find("^HM_") ~= nil table.insert(items, { value = id, label = itemName(game, id), - count = not keyItem and store[id] or nil, + count = not keyItem and row.count or nil, + slot = row.slot, + stack = row.count, }) end end @@ -104,19 +75,11 @@ local function askQuantity(game, list, count, id, cb) })) end --- refresh the chosen row's count from `store` (or drop the row) -local function refreshRow(list, store, id) - for i, it in ipairs(list.items) do - if it.value == id then - if store[id] then - it.count = store[id] - else - table.remove(list.items, i) - list.index, list.scroll = 1, 0 -- engine/items/inventory.asm:131 - end - break - end +local function refreshRows(list, items) + if #items < #list.items then + list.index, list.scroll = 1, 0 -- engine/items/inventory.asm:131 end + list.items = items list.index = math.max(1, math.min(list.index, #list.items)) end @@ -166,7 +129,7 @@ local function withdraw(game) "There is nothing\nstored."), nil, { noSound = true })) return end - game.stack:push(pcList(game, buildItems(game, pc, pcOrder(game)), { + game.stack:push(pcList(game, buildItems(game, Bag.pcRows(game.save, game.data)), { kind = "pc_item_withdraw", messageBox = true, -- players_pc.asm:151-152 WhatToWithdrawText, printed before the list @@ -176,39 +139,30 @@ local function withdraw(game) onChoose = function(item, list) if leftOnCancel(item, list) then return end list.hollowIndex = list.index -- home/list_menu.asm:91 - askQuantity(game, list, pc[item.value] or 1, item.value, function(qty) - local Bag = require("src.inventory.Bag") + askQuantity(game, list, item.stack or pc[item.value] or 1, item.value, function(qty) if not Bag.add(game.save, item.value, qty, game.data) then list.footer = Strings("You can't carry\nany more items.") return end - pc[item.value] = pc[item.value] - qty - if pc[item.value] <= 0 then - pc[item.value] = nil - pcOrder(game) - end + Bag.pcRemove(game.save, item.value, qty, game.data, item.slot) Sound.play(game.data, "Withdraw_Deposit") list:showCompletion(romText(game.data, "_WithdrewItemText", "Withdrew\n%s.{PROMPT}", itemName(game, item.value)), - function() refreshRow(list, pc, item.value) end) -- engine/menus/players_pc.asm:191 + function() refreshRows(list, buildItems(game, Bag.pcRows(game.save, game.data))) end) -- engine/menus/players_pc.asm:191 end) end, })) end -- wNumBoxItems capacity: 50 stacks (PC_ITEM_CAPACITY) -local function pcFull(game, pc, id) - if pc[id] then return false end -- growing an existing stack is fine +local function storeInPC(game, pc, id, qty) local cap = game.data.field.pcItemCap or 50 - local stacks = 0 - for _ in pairs(pc) do stacks = stacks + 1 end - return stacks >= cap + return Bag.pcAdd(game.save, id, qty, game.data, cap) end local function deposit(game) local pc = game.save.pcItems local inv = game.save.inventory - local Bag = require("src.inventory.Bag") -- engine/menus/players_pc.asm:99 wListPointer = wNumBagItems, so deposit order == bag order local order = Bag.order(game.save, game.data) -- players_pc.asm:90-95: an empty bag never reaches the list @@ -217,7 +171,7 @@ local function deposit(game) "You have nothing\nto deposit."), nil, { noSound = true })) return end - game.stack:push(pcList(game, buildItems(game, inv, order), { + game.stack:push(pcList(game, buildItems(game, Bag.rows(game.save, game.data)), { kind = "pc_item_deposit", messageBox = true, -- players_pc.asm:97-98 WhatToDepositText, printed before the list @@ -227,21 +181,18 @@ local function deposit(game) onChoose = function(item, list) if leftOnCancel(item, list) then return end list.hollowIndex = list.index -- home/list_menu.asm:91 - askQuantity(game, list, inv[item.value] or 1, item.value, function(qty) - if pcFull(game, pc, item.value) then + askQuantity(game, list, item.stack or inv[item.value] or 1, item.value, function(qty) + if not storeInPC(game, pc, item.value, qty) then list.footer = Strings("No room left to\nstore items.") return end - if not pc[item.value] then - local order = pcOrder(game) - order[#order + 1] = item.value - end - require("src.inventory.Bag").remove(game.save, item.value, qty) - pc[item.value] = (pc[item.value] or 0) + qty + Bag.remove(game.save, item.value, qty, game.data, item.slot) Sound.play(game.data, "Withdraw_Deposit") list:showCompletion(romText(game.data, "_ItemWasStoredText", "%s was\nstored via PC.{PROMPT}", itemName(game, item.value)), - function() refreshRow(list, inv, item.value) end) -- engine/menus/players_pc.asm:137 + function() + refreshRows(list, buildItems(game, Bag.rows(game.save, game.data))) + end) -- engine/menus/players_pc.asm:137 end) end, })) @@ -255,7 +206,7 @@ local function toss(game) "There is nothing\nstored."), nil, { noSound = true })) return end - game.stack:push(pcList(game, buildItems(game, pc, pcOrder(game)), { + game.stack:push(pcList(game, buildItems(game, Bag.pcRows(game.save, game.data)), { kind = "pc_item_toss", messageBox = true, -- players_pc.asm:205-206 WhatToTossText, printed before the list @@ -272,20 +223,16 @@ local function toss(game) end local QuantityBox = require("src.ui.QuantityBox") game.stack:push(QuantityBox.new(game, { - max = pc[item.value] or 1, + max = item.stack or pc[item.value] or 1, onDone = function(qty) if not qty then return end list.footer = Strings("Toss %s?", itemName(game, item.value)) game.stack:push(ChoiceBox.new(game, function(yes) if yes then - pc[item.value] = pc[item.value] - qty - if pc[item.value] <= 0 then - pc[item.value] = nil - pcOrder(game) - end + Bag.pcRemove(game.save, item.value, qty, game.data, item.slot) list:showCompletion(romText(game.data, "_ThrewAwayItemText", "Threw away\n%s.{PROMPT}", itemName(game, item.value)), - function() refreshRow(list, pc, item.value) end) -- engine/menus/players_pc.asm:240 + function() refreshRows(list, buildItems(game, Bag.pcRows(game.save, game.data))) end) -- engine/menus/players_pc.asm:240 else list.footer = nil end diff --git a/src/ui/ShopMenu.lua b/src/ui/ShopMenu.lua index c4bbeaa8..ff6cfe96 100644 --- a/src/ui/ShopMenu.lua +++ b/src/ui/ShopMenu.lua @@ -152,13 +152,16 @@ end -- home/list_menu.asm:472-477 local function sellItems(game) local items = {} - for _, id in ipairs(Bag.order(game.save)) do + for _, row in ipairs(Bag.rows(game.save, game.data)) do + local id = row.id local def = game.data.items[id] local keyed = (def and def.keyItem) or id:find("^HM_") ~= nil table.insert(items, { value = id, label = def and def.name or id, - count = (not keyed) and game.save.inventory[id] or nil, + count = (not keyed) and row.count or nil, + slot = row.slot, + stack = row.count, }) end items[#items + 1] = { cancel = true, label = Strings("CANCEL") } @@ -196,11 +199,13 @@ local function sell(game, menu) l.swapIndex = l.index return end - local order = Bag.order(game.save) - order[l.swapIndex], order[l.index] = order[l.index], order[l.swapIndex] + -- engine/menus/swap_items.asm:45 + if l.swapIndex == l.index then return end + Bag.swap(game.save, l.swapIndex, l.index, game.data) l.swapIndex = nil require("src.core.Sound").play(game.data, "Swap") l.items = sellItems(game) + l.index = math.max(1, math.min(l.index, #l.items)) end, onChoose = function(item) -- home/list_menu.asm:105-110, 523-528 @@ -227,7 +232,7 @@ local function sell(game, menu) if game.stack:top() == qtyBox then game.stack:pop() end end qtyBox = QuantityBox.new(game, { - max = game.save.inventory[item.value] or 1, + max = item.stack or game.save.inventory[item.value] or 1, unitPrice = unit, keepOpen = true, onDone = function(qty) @@ -250,13 +255,14 @@ local function sell(game, menu) game.save.money = game.save.money + unit * qty -- home/inventory.asm:15 require("src.core.Sound").play(game.data, "Purchase") - Bag.remove(game.save, item.value, qty) - local left = game.save.inventory[item.value] - if left then - item.count = left - else - list:removeCurrent() + Bag.remove(game.save, item.value, qty, game.data, item.slot) + local fresh = sellItems(game) + if #fresh < #list.items then + -- engine/items/inventory.asm:131 + list.index, list.scroll = 1, 0 end + list.items = fresh + list.index = math.max(1, math.min(list.index, #list.items)) -- a sale prints nothing -- engine/events/pokemart.asm:112 list.footer = greet end })) diff --git a/src/ui/TitleState.lua b/src/ui/TitleState.lua index 821dbf8f..da646c1f 100644 --- a/src/ui/TitleState.lua +++ b/src/ui/TitleState.lua @@ -516,13 +516,15 @@ function ContinueInfo:draw() math.max(96, 40 + (#Font.split(playerLabel) + 1) * 8), 72) local badges = require("src.inventory.Badges").count(self.game.data, save) Font.draw(Strings("BADGES"), 40, 88) - Font.draw(("%2d"):format(badges), 128, 88) + -- engine/menus/main_menu.asm:370 + Font.draw(("%2d"):format(badges), 17 * 8, 11 * 8) local owned = 0 for _ in pairs(save.pokedex and save.pokedex.owned or {}) do owned = owned + 1 end Font.draw(Strings("POKéDEX"), 40, 104) - Font.draw(("%3d"):format(owned), 120, 104) + -- engine/menus/main_menu.asm:372 + Font.draw(("%3d"):format(owned), 16 * 8, 13 * 8) local t = math.floor(save.playTime or 0) Font.draw(Strings("TIME"), 40, 120) Font.draw(("%3d:%02d"):format(math.floor(t / 3600), diff --git a/src/ui/game3/option_rows.lua b/src/ui/game3/option_rows.lua index 9e3d1f19..a8b4d375 100644 --- a/src/ui/game3/option_rows.lua +++ b/src/ui/game3/option_rows.lua @@ -64,7 +64,9 @@ function Rows.build(ctx, skip) local rows = {} local function add(row) rows[#rows + 1] = row end local function addCart(id, make) - if not (skip and skip[id]) then add(make()) end + local swap = skip and skip[id] + if type(swap) == "table" then add(swap) + elseif not swap then add(make()) end end addCart("textSpeed", function() return { @@ -498,4 +500,12 @@ function Rows.group(rows, openPage) return view end +function Rows.withCart(ctx, cartRows, openPage, exclude) + local rows = {} + for _, r in ipairs(Rows.build(ctx, cartRows)) do + if not (exclude and exclude[r.id]) then rows[#rows + 1] = r end + end + return Rows.group(rows, openPage) +end + return Rows diff --git a/src/ui/game3/rs/main_menu.lua b/src/ui/game3/rs/main_menu.lua index 936fa2a6..535798a3 100644 --- a/src/ui/game3/rs/main_menu.lua +++ b/src/ui/game3/rs/main_menu.lua @@ -14,11 +14,15 @@ Menu.__index = Menu Menu.TYPE = { HAS_NO_SAVED_GAME = 0, HAS_SAVED_GAME = 1, HAS_MYSTERY_EVENT = 2 } local T = Menu.TYPE local LABEL = { CONTINUE = "gMainMenuString_Continue", NEW_GAME = "gMainMenuString_NewGame", - OPTION = "gMainMenuString_Option", MYSTERY_EVENTS = "gMainMenuString_MysteryEvents" } + OPTION = "gMainMenuString_Option", MYSTERY_EVENTS = "gMainMenuString_MysteryEvents", EXIT = "SystemText_Exit" } +local SCROLL_PX = 32 function Menu.items(kind) - if kind == T.HAS_MYSTERY_EVENT then return { "CONTINUE", "NEW_GAME", "MYSTERY_EVENTS", "OPTION" } end - if kind == T.HAS_SAVED_GAME then return { "CONTINUE", "NEW_GAME", "OPTION" } end - return { "NEW_GAME", "OPTION" } + local rows + if kind == T.HAS_MYSTERY_EVENT then rows = { "CONTINUE", "NEW_GAME", "MYSTERY_EVENTS", "OPTION" } + elseif kind == T.HAS_SAVED_GAME then rows = { "CONTINUE", "NEW_GAME", "OPTION" } + else rows = { "NEW_GAME", "OPTION" } end + rows[#rows + 1] = "EXIT" + return rows end function Menu.menuType(hasContinue, info, status) if not hasContinue or status == "invalid" or status == "empty" or status == "no_flash" then return T.HAS_NO_SAVED_GAME end @@ -66,7 +70,7 @@ function Menu.new(opts, ctx) opts = opts or {} local self = setmetatable({ info = opts.continueInfo, game = opts.game, bootState = opts.bootState, textSpeed = tonumber(opts.textSpeed) or 1, saveStatus = opts.saveStatus or "ok", pal = Pal.new(), - step = Kit.stepper(), state = "check_save", cursor = 1, + step = Kit.stepper(), state = "check_save", cursor = 1, scroll = 0, blink = 0, manifest = assert(Kit.manifest("birch"), "RS menu palette missing"), frameType = opts.continueInfo and opts.continueInfo.frameType or 0 }, Menu) self.menuType = opts.menuType or Menu.menuType(opts.hasContinue, self.info, self.saveStatus) @@ -74,6 +78,12 @@ function Menu.new(opts, ctx) self.pal:beginFade(Pal.ALL, 0, 16, 0, opts.returningFromOptions and Pal.BLACK or Pal.WHITE) return self end +function Menu:_fixScroll() + local w = Menu.windowFor(self.menuType, self.cursor) + local bottom, topPx = (w.top + w.height + 1) * 8, (w.top - 1) * 8 + while bottom - self.scroll > 160 do self.scroll = self.scroll + SCROLL_PX end + while topPx - self.scroll < 0 and self.scroll > 0 do self.scroll = self.scroll - SCROLL_PX end +end function Menu:_message(key) self.printer = Kit.printer(key, { speed = 2, canSpeedUp = false, textSpeedOption = self.textSpeed }) end @@ -84,6 +94,7 @@ function Menu:_openOptions() end function Menu:frame(inp) local state, result = self.state + self.blink = self.blink + 1 if state == "check_save" and not self.pal:fadeActive() then local key = self.saveStatus == "invalid" and "gSaveFileDeletedMessage" or self.saveStatus == "error" and "gSaveFileCorruptMessage" @@ -108,13 +119,14 @@ function Menu:frame(inp) Kit.playSe("SE_SELECT"); self.pal:beginFade(Pal.ALL, 0, 0, 16, Pal.BLACK); self.state = "pressed_a" elseif inp.new.b then Kit.playSe("SE_SELECT"); self.pal:beginFade(Pal.ALL, 0, 0, 16, Pal.WHITE); self.state = "pressed_b" - elseif inp.new.up and self.cursor > 1 then self.cursor = self.cursor - 1; self.state = "highlight" - elseif inp.new.down and self.cursor < #self.items then self.cursor = self.cursor + 1; self.state = "highlight" end + elseif inp.new.up and self.cursor > 1 then self.cursor = self.cursor - 1; self:_fixScroll(); self.state = "highlight" + elseif inp.new.down and self.cursor < #self.items then self.cursor = self.cursor + 1; self:_fixScroll(); self.state = "highlight" end elseif state == "pressed_a" and not self.pal:fadeActive() then local item = self.items[self.cursor] if item == "CONTINUE" then result = { action = "continue" } elseif item == "NEW_GAME" then result = "newGame" elseif item == "OPTION" then self:_openOptions() + elseif item == "EXIT" then result = { action = "exit" } elseif item == "MYSTERY_EVENTS" then require("src.core.game3.audio").fadeOutBgm(0) self.printer = nil @@ -126,7 +138,7 @@ function Menu:frame(inp) local opts = self.game and self.game.options if opts then self.textSpeed = require("src.core.game3.options").block(opts).textSpeed end if self.bootState then self.bootState.textSpeed = self.textSpeed end - self.options, self.cursor, self.state, self.saveStatus = nil, 1, "check_save", "ok" + self.options, self.cursor, self.scroll, self.state, self.saveStatus = nil, 1, 0, "check_save", "ok" self.pal:beginFade(Pal.ALL, 0, 16, 0, Pal.BLACK) end self.pal:updateFade() @@ -148,17 +160,18 @@ function Menu:colors() info = { bg = normal.bg, fg = Kit.color555(gender), shadow = normal.shadow }, fill = normal.bg, backdrop = Kit.color555(self.manifest.mainMenuPalette[1]) } end -function Menu:_drawContinue(c) +function Menu:_drawContinue(c, dy) local i = self.info or {} - Font.draw(RomText.plain("gMainMenuString_Player"), 16, 24, { colors = c.info }) - Font.draw(i.name or "", 72, 24, { colors = c.info }) - Font.draw(RomText.plain("gMainMenuString_Time"), 128, 24, { colors = c.info }) + local y1, y2 = 24 - dy, 40 - dy + Font.draw(RomText.plain("gMainMenuString_Player"), 16, y1, { colors = c.info }) + Font.draw(i.name or "", 72, y1, { colors = c.info }) + Font.draw(RomText.plain("gMainMenuString_Time"), 128, y1, { colors = c.info }) local time = string.format("%d:%02d", i.hours or 0, i.minutes or 0) - Font.draw(time, 224 - Font.measure(time), 24, { colors = c.info }) - Font.draw(RomText.plain("gMainMenuString_Pokedex"), 16, 40, { colors = c.info }) - Font.draw(tostring(i.dexCount or 0), 72, 40, { colors = c.info }) - Font.draw(RomText.plain("gMainMenuString_Badges"), 128, 40, { colors = c.info }) - Font.draw(tostring(i.badges or 0), 205, 40, { colors = c.info }) + Font.draw(time, 224 - Font.measure(time), y1, { colors = c.info }) + Font.draw(RomText.plain("gMainMenuString_Pokedex"), 16, y2, { colors = c.info }) + Font.draw(tostring(i.dexCount or 0), 72, y2, { colors = c.info }) + Font.draw(RomText.plain("gMainMenuString_Badges"), 128, y2, { colors = c.info }) + Font.draw(tostring(i.badges or 0), 205, y2, { colors = c.info }) end local canvas local function composite(img, rect) @@ -187,17 +200,22 @@ function Menu:draw() canvas = canvas or love.graphics.newCanvas(240, 160) canvas:setFilter("nearest", "nearest") love.graphics.push("all"); love.graphics.setCanvas(canvas); love.graphics.origin(); love.graphics.clear(0, 0, 0, 0) + local dy = self.scroll or 0 for index, item in ipairs(self.items) do local w = Menu.windowFor(self.menuType, index) - Chrome.stdFrame(w.left, w.top, w.width, w.height) - Font.draw(RomText.plain(LABEL[item]), w.left * 8, w.top * 8, { colors = c.headers }) - if item == "CONTINUE" then self:_drawContinue(c) end + Chrome.stdFrame(w.left, w.top - dy / 8, w.width, w.height) + Font.draw(RomText.plain(LABEL[item]), w.left * 8, w.top * 8 - dy, { colors = c.headers }) + if item == "CONTINUE" then self:_drawContinue(c, dy) end end love.graphics.pop() local w = Menu.windowFor(self.menuType, self.cursor) - local rect = { 9, (w.top - 1) * 8 + 1, 231, (w.top + w.height + 1) * 8 - 1 } + local rect = { 9, (w.top - 1) * 8 + 1 - dy, 231, (w.top + w.height + 1) * 8 - 1 - dy } if self.state == "pressed_b" then rect = { 0, 0, 240, 160 } end composite(canvas, rect) + local last = Menu.windowFor(self.menuType, #self.items) + local Arrow = require("src.ui.game3.rs.scroll_arrow") + if (last.top + last.height + 1) * 8 - dy > 160 then Arrow.draw("down", 0x78, 0x98, self.blink) end + if dy > 0 then Arrow.draw("up", 0x78, 8, self.blink) end end if error then Chrome.stdFrame(3, 15, 24, 4) diff --git a/src/ui/game3/rs/option_menu.lua b/src/ui/game3/rs/option_menu.lua index af8d9c70..abd73ed1 100644 --- a/src/ui/game3/rs/option_menu.lua +++ b/src/ui/game3/rs/option_menu.lua @@ -23,28 +23,16 @@ local function page() return Menu._pages and Menu._pages[#Menu._pages] end -local function portRows() - local skip = {} - for _, key in ipairs(KEYS) do skip[key] = true end - for key in pairs(Menu.EXCLUDE) do skip[key] = true end - local rows = {} - for _, r in ipairs(Rows.build(ctx(), skip)) do - if not skip[r.id] then rows[#rows + 1] = r end - end - return Rows.group(rows, function(title, members) - Menu._pages[#Menu._pages + 1] = {title = title, rows = members, index = 1, scroll = 0} - end) -end - local function topRows() - local rows = {} - for i = 1, NATIVE do rows[i] = {native = i} end - for _, r in ipairs(portRows()) do rows[#rows + 1] = {port = r} end - return rows + local cartRows = {} + for i, key in ipairs(KEYS) do cartRows[key] = {id = key, native = i} end + return Rows.withCart(ctx(), cartRows, function(title, members) + Menu._pages[#Menu._pages + 1] = {title = title, rows = members, index = 1, scroll = 0} + end, Menu.EXCLUDE) end local function rowCount(p) - return p.top and #p.rows or #p.rows + 1 + return #p.rows + 1 end local function clampScroll(p) @@ -162,20 +150,14 @@ function Menu.handleInput(input) local total = rowCount(p) local row = p.rows[p.index] if pressed(input, "a") then - if p.top and row.native == NATIVE then Menu.back() - elseif p.top and row.port then activatePort(row.port) - elseif not p.top then - if row then activatePort(row) else Menu.back() end - end + if not row then Menu.back() + elseif not row.native then activatePort(row) end elseif pressed(input, "b") then Menu.back() elseif pressed(input, "up") then p.index = (p.index - 2) % total + 1 elseif pressed(input, "down") then p.index = p.index % total + 1 - elseif p.top and row.native and row.native < NATIVE then stepNative(row.native, input) - else - local port = p.top and row.port or (not p.top and row) - if port and port.step and (pressed(input, "left") or pressed(input, "right")) then - if port.step(ctx(), pressed(input, "left") and -1 or 1) then persist() end - end + elseif row and row.native then stepNative(row.native, input) + elseif row and row.step and (pressed(input, "left") or pressed(input, "right")) then + if row.step(ctx(), pressed(input, "left") and -1 or 1) then persist() end end local cur = page() if cur then clampScroll(cur) end @@ -228,10 +210,8 @@ local function drawContents() if idx > rowCount(p) then break end local y = baseY + (slot - 1) * 16 local row = p.rows[idx] - if p.top and row.native then - drawNative(row.native, -p.scroll * 16) - elseif p.top then - drawPort(row.port, y) + if row and row.native then + drawNative(row.native, y - d.rows[row.native].y) elseif row then drawPort(row, y) else diff --git a/src/ui/game3/rs/start_menu_data.lua b/src/ui/game3/rs/start_menu_data.lua index 1c27ac70..3dc040b6 100644 --- a/src/ui/game3/rs/start_menu_data.lua +++ b/src/ui/game3/rs/start_menu_data.lua @@ -46,7 +46,7 @@ end Data.window = {left = 23, top = 1, width = 6} Data.textX, Data.textY, Data.rowPitch = 0, 8, 16 -Data.maxVisible, Data.dexNeedsSeen, Data.exitConfirms = 8, true, false +Data.maxVisible, Data.dexNeedsSeen, Data.exitConfirms = 8, true, true function Data.drawCursor(x, y) require("src.ui.game3.rs.menu_cursor").draw(x, y, 48) end diff --git a/src/ui/game3/rse/option_menu.lua b/src/ui/game3/rse/option_menu.lua index d861ffac..69b0fba7 100644 --- a/src/ui/game3/rse/option_menu.lua +++ b/src/ui/game3/rse/option_menu.lua @@ -64,15 +64,7 @@ end local function portRows() local cartRows = {} for _, r in ipairs(OptionMenu.CART) do cartRows[r.id] = { id = r.id, cart = r } end - local rows = {} - for _, r in ipairs(Rows.build(st.ctx)) do - rows[#rows + 1] = cartRows[r.id] or r - cartRows[r.id] = nil - end - for _, r in ipairs(OptionMenu.CART) do - if cartRows[r.id] then rows[#rows + 1] = cartRows[r.id] end - end - return Rows.group(rows, function(title, members) + return Rows.withCart(st.ctx, cartRows, function(title, members) st.pages[#st.pages + 1] = { title = title, rows = members, index = 1, scroll = 0 } end) end diff --git a/src/world/OverworldController.lua b/src/world/OverworldController.lua index 3a66c5db..309a078e 100644 --- a/src/world/OverworldController.lua +++ b/src/world/OverworldController.lua @@ -149,6 +149,9 @@ local HEAL_FLASH_MAP_GBC = { [0] = 0, [1] = 0, [2] = 1, [3] = 2 } -- engine/overworld/healing_machine.asm:13-14 local HEAL_OBP1_MAP = { [0] = 0, [1] = 0, [2] = 2, [3] = 3 } + +-- home/fade.asm:67 +local OBP_IDENTITY = { [0] = 0, [1] = 1, [2] = 2, [3] = 3 } -- engine/overworld/healing_machine.asm:50 local HEAL_OBP1_FLASH_MAP = { [0] = 0, [1] = 2, [2] = 0, [3] = 3 } @@ -2658,9 +2661,8 @@ function OverworldState:tryBookshelf(fx, fy) Game.stack:push(TextBox.new(Game, t._ElevatorText or Strings("An elevator!"))) elseif kind == "statues" then - -- IndigoPlateauStatues: the plaque, then one of the two lines - -- keyed by the statue's column (XCoord bit 0) - local line = (self.player.cellX % 2 == 0) and t._IndigoPlateauStatuesText2 + -- engine/events/hidden_events/indigo_plateau_statues.asm:5 + local line = (self.player.cellX % 2 == 1) and t._IndigoPlateauStatuesText2 or t._IndigoPlateauStatuesText3 Game.stack:push(TextBox.new(Game, (t._IndigoPlateauStatuesText1 or romText(Game.data, "_IndigoPlateauStatuesText1", "INDIGO PLATEAU")) .. "\f" @@ -3735,6 +3737,24 @@ function OverworldState:openOaksPC(onDone) end)) end +-- audio/pokedex_rating_sfx.asm:26 +local DEX_RATING_SFX = { + { 10, "Denied" }, + { 40, "Pokedex_Rating" }, + { 60, "Get_Item1" }, + { 90, "Caught_Mon" }, + { 120, "Level_Up" }, + { 150, "Get_Key_Item" }, + { math.huge, "Get_Item2" }, +} + +-- audio/pokedex_rating_sfx.asm:1 +function OverworldState.dexRatingSfx(owned) + for _, row in ipairs(DEX_RATING_SFX) do + if owned < row[1] then return row[2] end + end +end + -- Prof. Oak's dex rating service (engine/events/pokedex_rating.asm): -- the completion line with seen AND owned counts, then the per-decade -- rating text. @@ -3761,7 +3781,14 @@ function OverworldState:dexRating(onDone) -- the box to the plain A/B path once the jingle has sounded. Game.stack:push(TextBox.new(Game, completion .. "\f" .. rating, onDone, { auto = { wait = true, sound = function() - return require("src.core.Sound").play(Game.data, "Pokedex_Rating") + local Sound = require("src.core.Sound") + local name = OverworldState.dexRatingSfx(owned) + local src = Sound.play(Game.data, name) + -- audio/pokedex_rating_sfx.asm:13 + if src and not Sound.ducksMusic(Game.data, name) then + require("src.core.Music").duckForFanfare(src) + end + return src end }, })) end @@ -4930,13 +4957,12 @@ function OverworldState:checkBadgeGate() end return false end - -- Route22GateGuardNoBoulderbadgeText plays SFX_DENIED - require("src.core.Sound").play(Game.data, "Denied") + -- scripts/Route22Gate.asm:79 Game.stack:push(TextBox.new(Game, - (t["_" .. g.failText] or Strings("You don't have the\nBOULDERBADGE yet!")) - .. (t._Route22GateGuardICantLetYouPassText or ""), function() + TextBox.strip(t["_" .. g.failText] or Strings("You don't have the\nBOULDERBADGE yet!")) + .. TextBox.PAUSE .. (t._Route22GateGuardICantLetYouPassText or ""), function() self:scriptMove(p, "down", 1, nil, { collide = true }) - end)) + end, { pauseSounds = { "Denied" }, pauseSoundWait = true })) return true end end @@ -4947,31 +4973,39 @@ function OverworldState:checkBadgeGate() for _, guard in ipairs(g.guards) do if p.cellY == guard.y and (not guard.maxX or p.cellX <= guard.maxX) and not Game.save.flags[guard.event] then - local badgeName = Game.data.items[guard.badge] - and Game.data.items[guard.badge].name or guard.badge - if Game.save.inventory[guard.badge] then - Flags.set(Game.save, guard.event) - -- Route23OhThatIsTheBadgeText carries sound_get_item_1 - local text = (t["_" .. g.passText] or - Strings("Oh! That is the\n{RAM}!")):gsub("{RAM:wNameBuffer}", badgeName) - Game.stack:push(TextBox.new(Game, text, - nil, TextBox.soundOpts(Game, "Get_Item1"))) - return false - end - -- Route23YouDontHaveTheBadgeYetText plays SFX_DENIED - require("src.core.Sound").play(Game.data, "Denied") - local text = (t["_" .. g.failText] or - Strings("You don't have the\n{RAM} yet!")):gsub("{RAM:wNameBuffer}", badgeName) - Game.stack:push(TextBox.new(Game, text, function() - self:scriptMove(p, "down", 1, nil, { collide = true }) - end)) - return true + return not self:route23BadgeCheck(guard.badge, guard.event) end end end return false end +-- scripts/Route23.asm:195 +function OverworldState:route23BadgeCheck(badge, event, onDone) + local gates = Game.data.field.badgeGates + local g = gates and gates[self.map.id] or {} + local t = Game.data.text + local badgeName = Game.data.items[badge] and Game.data.items[badge].name or badge + if Game.save.inventory[badge] then + Flags.set(Game.save, event) + -- scripts/Route23.asm:237 + local text = (t["_" .. (g.passText or "Route23OhThatIsTheBadgeText")] or + Strings("Oh! That is the\n{RAM}!")):gsub("{RAM:wNameBuffer}", badgeName) + Game.stack:push(TextBox.new(Game, + TextBox.strip(text) .. TextBox.PAUSE .. (t._Route23GoRightAheadText or ""), + onDone, { pauseSounds = { "Get_Item1" }, pauseSoundWait = true })) + return true + end + -- scripts/Route23.asm:229 + local text = (t["_" .. (g.failText or "Route23YouDontHaveTheBadgeYetText")] or + Strings("You don't have the\n{RAM} yet!")):gsub("{RAM:wNameBuffer}", badgeName) + Game.stack:push(TextBox.new(Game, text, function() + -- scripts/Route23.asm:123 + self:scriptMove(self.player, "down", 1, onDone, { collide = true }) + end, TextBox.soundOpts(Game, "Denied"))) + return false +end + -- Forced bike/surf tiles (data/maps/force_bike_surf.asm): the Cycling -- Road entrances force you onto the BICYCLE (or turn you back without -- one); the Seafoam current mouths force surfing. @@ -6014,6 +6048,40 @@ local function fieldFxImage(path, image, group) return SpriteRenderer.obpImage(path, colors, name) end +-- engine/overworld/dust_smoke.asm:21 +local OBP1_FLASH = { [0] = 0, [1] = 0, [2] = 0, [3] = 2 } +local FLASH_GRAYS = PaletteFX.permute(PaletteFX.GRAYS, OBP1_FLASH) +local fieldFxFlashColors = setmetatable({}, { __mode = "k" }) +local fieldFxFlashNames = {} + +local function fieldFxFlashImage(path, group) + local colors, key = FLASH_GRAYS, "gray" + if PaletteFX.usesGbcPack() then + local pack = PaletteFX.worldPack() + local obj = pack and pack.spritePalettes and pack.spritePalettes[group] + if obj then + colors = fieldFxFlashColors[obj] + if not colors then + colors = PaletteFX.permute(obj, OBP1_FLASH) + fieldFxFlashColors[obj] = colors + end + key = group + end + end + local version = GameVersion.get() + local names = fieldFxFlashNames[version] + if not names then + names = {} + fieldFxFlashNames[version] = names + end + local name = names[key] + if not name then + name = "fieldfxflash:" .. version .. ":" .. key + names[key] = name + end + return SpriteRenderer.obpImage(path, colors, name) +end + -- the Cut/boulder dust puff: the smoke tile drawn 2x2 over the cell, -- flickering (AnimateBoulderDust XORs the OBJ palette every step) local function fxDust(self, cam) @@ -6027,12 +6095,19 @@ local function fxDust(self, cam) end if self.smokeImg then local da = self.dustAnim - local img = fieldFxImage(smoke.path, self.smokeImg, da.boulder and 7 or 6) + local group = da.boulder and 7 or 6 + local flash + if da.boulder then + flash = da.faded + else + -- engine/overworld/cut2.asm:68 + flash = da.frames % 2 == 1 + end + local img = flash and fieldFxFlashImage(smoke.path, group) + or fieldFxImage(smoke.path, self.smokeImg, group) local dx = da.x * 16 + (da.ox or 0) - cam.x local dy = da.y * 16 + (da.oy or 0) - cam.y - local flicker = math.floor(da.frames / 4) % 2 == 0 - if da.boulder then flicker = not da.faded end - love.graphics.setColor(1, 1, 1, flicker and 1 or 0.55) + love.graphics.setColor(1, 1, 1, 1) for i = 0, 1 do for j = 0, 1 do love.graphics.draw(img, dx + i * 8, dy + j * 8) @@ -6068,8 +6143,9 @@ local function fxCutTree(self, cam) local off = (ca.total or 8) - ca.frames local dx = ca.x * 16 - cam.x local dy = ca.y * 16 - cam.y - local flicker = ca.frames % 2 == 0 - love.graphics.setColor(1, 1, 1, flicker and 1 or 0.55) + -- engine/overworld/cut2.asm:18 + if ca.frames % 2 == 1 then img = fieldFxFlashImage(tree.path, 6) end + love.graphics.setColor(1, 1, 1, 1) love.graphics.draw(img, self.cutTreeQuads[1], dx + off, dy) love.graphics.draw(img, self.cutTreeQuads[2], dx - off, dy + 8) love.graphics.setColor(1, 1, 1, 1) @@ -6223,22 +6299,31 @@ local function entityDrawOrder(a, b) return a.pikachuFollower == true and b.pikachuFollower ~= true end --- Tall-grass feet overdraw queue for the flat path: each distinct grass --- cell an entity stands on or steps into, in first-queued order. A --- scratch pair of coordinate arrays reused every frame (the queue holds a --- few cells, so the duplicate check is a short linear scan) instead of a --- "cx:cy" string key and a { cx, cy } table per cell per frame. -local function queueGrass(self, q, cx, cy) - if cx == nil or cy == nil or not self.map:isGrassCell(cx, cy) then - return - end +-- engine/overworld/movement.asm:90 +local function grassStrip(self, e) + local map = self.map + local inGrass = (e.cellX ~= nil and e.cellY ~= nil + and map:isGrassCell(e.cellX, e.cellY)) + or (e.targetX ~= nil and e.targetY ~= nil + and map:isGrassCell(e.targetX, e.targetY)) + if not inGrass then return nil end + local sprite, px, py = nil, e.px, e.py + if e.pose then sprite, px, py = e:pose() end + return map.renderer.feetStrip(px or 0, py or 0, sprite) +end + +local function queueGrass(self, q, e) + local x0, y0, x1, y1 = grassStrip(self, e) + if not x0 then return end local n = q.n - local xs, ys = q.x, q.y + local qx0, qy0, qx1, qy1 = q.x0, q.y0, q.x1, q.y1 for i = 1, n do - if xs[i] == cx and ys[i] == cy then return end + if qx0[i] == x0 and qy0[i] == y0 and qx1[i] == x1 and qy1[i] == y1 then + return + end end n = n + 1 - xs[n], ys[n] = cx, cy + qx0[n], qy0[n], qx1[n], qy1[n] = x0, y0, x1, y1 q.n = n end @@ -6289,7 +6374,7 @@ function OverworldState:drawWorld() -- home/fade.asm:52-58 -- home/fade.asm:65-73 local fadeObp = fade.obp0 and fade:obp0() or fadeBgp - PaletteFX.setFadeObp(Transition.shadeMapFor(fadeObp)) + PaletteFX.setFadeObp(Transition.shadeMapFor(fadeObp) or OBP_IDENTITY) fade.paletteStepped = true elseif self.emote and self.emote.bgp and not battleOverWorld then -- engine/pikachu/pikachu_pic_animation.asm:847 @@ -6498,10 +6583,10 @@ function OverworldState:drawWorld() local grassColors = PaletteFX.usesSpriteObp() and PaletteFX.pal(Game.data, self:paletteNameFor(self.map)) or nil local boulderDust = self.dustAnim and self.dustAnim.boulder - local grass = self.grassScratch + local grass = self.grassStripScratch if not grass then - grass = { n = 0, x = {}, y = {} } - self.grassScratch = grass + grass = { n = 0, x0 = {}, y0 = {}, x1 = {}, y1 = {} } + self.grassStripScratch = grass end grass.n = 0 if boulderDust then fxDust(self, cam) end @@ -6517,18 +6602,18 @@ function OverworldState:drawWorld() if not ((self.flyAnim or self.flyArrive or self.playerHidden) and e == self.player) and not self:oamCulled(e) then e:draw(cam.x, cam.y) - queueGrass(self, grass, e.cellX, e.cellY) - queueGrass(self, grass, e.targetX, e.targetY) + queueGrass(self, grass, e) end end love.graphics.setColor(1, 1, 1, 1) - local gxs, gys = grass.x, grass.y + local shake = bgY - cam.y for i = 1, grass.n do - local cx, cy = gxs[i], gys[i] - self.map.renderer:drawCellBottom(cx, cy, cam.x, bgY) + local x0, y0 = grass.x0[i], grass.y0[i] + shake + local x1, y1 = grass.x1[i], grass.y1[i] + shake + self.map.renderer:drawStrip(x0, y0, x1, y1, cam.x, bgY) if grassColors then - self.map.renderer:markCellBottomRedraw(cx, cy, - cam.x, bgY, grassColors) + self.map.renderer:markStripRedraw(x0, y0, x1, y1, + cam.x, bgY, grassColors) end end fxHeal(self, cam) @@ -6588,18 +6673,15 @@ function OverworldState:drawWorld() function() e:draw(cam.x, cam.y) end) -- tall-grass feet overdraw glued to the sprite: same anchor + depth -- so it keeps hiding the feet, color-0-keyed palette so its white - -- gaps still show the sprite through (drawCellBottomRaw lets the + -- gaps still show the sprite through (drawStripRaw lets the -- billboard own the shader; bgY keeps the elevator-shake offset). - if self.map:isGrassCell(e.cellX, e.cellY) then + local x0, y0, x1, y1 = grassStrip(self, e) + if x0 then + local shake = bgY - cam.y self:billboard(fx, fy, vw, vh, colors, true, function() love.graphics.setColor(1, 1, 1, 1) - self.map.renderer:drawCellBottomRaw(e.cellX, e.cellY, cam.x, bgY) - end) - end - if e.targetX and self.map:isGrassCell(e.targetX, e.targetY) then - self:billboard(fx, fy, vw, vh, colors, true, function() - love.graphics.setColor(1, 1, 1, 1) - self.map.renderer:drawCellBottomRaw(e.targetX, e.targetY, cam.x, bgY) + self.map.renderer:drawStripRaw(x0, y0 + shake, x1, y1 + shake, + cam.x, bgY) end) end end diff --git a/tests/drivers/bag_use_box_bug2657.lua b/tests/drivers/bag_use_box_bug2657.lua new file mode 100644 index 00000000..8acdbafd --- /dev/null +++ b/tests/drivers/bag_use_box_bug2657.lua @@ -0,0 +1,140 @@ +-- engine/menus/start_sub_menus.asm:298 +-- engine/items/item_effects.asm:2172 +-- tools/run_driver.sh red tests/drivers/bag_use_box_bug2657.lua +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local Bag = require("src.inventory.Bag") + local Strings = require("src.core.Strings") + local TextBox = require("src.render.TextBox") + local Menu = require("src.ui.Menu") + local ChoiceBox = require("src.ui.ChoiceBox") + + local ok = true + local function check(label, pass) + U.log(pass and "PASS" or "FAIL", label) + if not pass then ok = false end + return pass + end + local function finish() + U.log(ok and "PASS bag_use_box_2657" or "FAIL bag_use_box_2657") + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + local function onStack(state) + for _, s in ipairs(game.stack.states) do + if s == state then return true end + end + return false + end + local function boxText(box) + local lines = {} + for _, page in ipairs(box.pages or {}) do + for _, line in ipairs(page) do lines[#lines + 1] = line end + end + return table.concat(lines, " / ") + end + local function waitFor(pred, n) + for _ = 1, n or 300 do + if pred(game.stack:top()) then return game.stack:top() end + U.wait(1) + end + return nil + end + local function stepTo(state, wants, what, dir) + for _ = 1, 30 do + if wants(state) then return true end + U.tap(game, dir or "down") + U.wait(6) + end + check("found " .. what .. " in the menu", false) + return false + end + + U.newGame(game) + if not check("new game reached the overworld", game.overworld ~= nil) then finish() end + game.save.inventory = {} + Bag.add(game.save, "POKE_BALL", 5) + Bag.add(game.save, "TM_TOXIC", 1) + U.teleport(game, "REDS_HOUSE_1F", 5, 5, "up") + U.wait(20) + + U.tap(game, "start") + U.wait(20) + local start = game.stack:top() + local ITEM = Strings("ITEM") + if not check("START opened a menu", start and start.items ~= nil) then finish() end + if stepTo(start, function(m) return m.items[m.index].label == ITEM end, "ITEM") then + U.tap(game, "a") + U.wait(20) + end + local bag = game.stack:top() + if not check("the bag opened", bag and bag.items and bag.items[1] ~= nil) then finish() end + + local function useOn(id, dir) + if not stepTo(bag, function(b) return b.items[b.index].value == id end, id, dir) then finish() end + U.tap(game, "a") + U.wait(10) + local sub = game.stack:top() + if not check(id .. ": USE/TOSS opened", getmetatable(sub) == Menu and #sub.items == 2) then finish() end + U.tap(game, "a") + U.wait(2) + return sub + end + + local sub = useOn("TM_TOXIC") + local booted = waitFor(function(t) + return getmetatable(t) == TextBox and (t.waiting or t.done) + and boxText(t):find("Booted up", 1, true) + end) + if not check("TM: Booted up text printed", booted ~= nil) then + local t = game.stack:top() + U.log("top:", tostring(getmetatable(t) == TextBox), t and t.done, t and t.pages and boxText(t)) + finish() + end + check("TM: USE/TOSS box left painted on the bag", bag.optionBox == sub and not onStack(sub)) + check("TM: hollow cursor on USE", sub.hollowIndex == 1 and sub.index == 1) + U.wait(10) + check("shot 1", U.still(game, DIR .. "/2657_01_booted_up_box_kept.png")) + + local yesno = nil + for _ = 1, 40 do + yesno = getmetatable(game.stack:top()) == ChoiceBox and game.stack:top() or nil + if yesno then break end + U.tap(game, "a") + U.wait(8) + end + if not check("TM: Teach YES/NO up", yesno ~= nil) then finish() end + check("TM: box still painted under YES/NO", bag.optionBox == sub) + U.wait(10) + check("shot 2", U.still(game, DIR .. "/2657_02_teach_yes_no_over_box.png")) + + U.tap(game, "b") + waitFor(function(t) return t == bag end, 120) + U.wait(5) + check("TM: NO returns to the bag list", game.stack:top() == bag) + check("TM: the list's redraw erased the box", bag.optionBox == nil) + check("shot 3", U.still(game, DIR .. "/2657_03_list_redrawn.png")) + + local sub2 = useOn("POKE_BALL", "up") + local refusal = waitFor(function(t) + return getmetatable(t) == TextBox and (t.waiting or t.done) + end) + if check("BALL: refusal text printed", refusal ~= nil) then + U.log("the box reads:", boxText(refusal)) + end + check("BALL: USE/TOSS box left painted on the bag", bag.optionBox == sub2) + U.wait(10) + check("shot 4", U.still(game, DIR .. "/2657_04_refusal_box_kept.png")) + + for _ = 1, 20 do + if game.stack:top() == bag then break end + U.tap(game, "a") + U.wait(8) + end + U.wait(3) + check("BALL: back on the list", game.stack:top() == bag) + check("BALL: box erased", bag.optionBox == nil) + + finish() +end diff --git a/tests/drivers/battle_intro_balls_bug2662.lua b/tests/drivers/battle_intro_balls_bug2662.lua new file mode 100644 index 00000000..687d9961 --- /dev/null +++ b/tests/drivers/battle_intro_balls_bug2662.lua @@ -0,0 +1,156 @@ +-- engine/battle/common_text.asm:10 +-- engine/battle/common_text.asm:43 +local U = require("tests.drivers.util") +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local Version = require("src.core.GameVersion") +local Font = require("src.render.Font") + +return function(game) + local deadline = love.timer.getTime() + 60 + local fails = 0 + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then fails = fails + 1 end + return ok + end + + local ok, err = xpcall(function() + assert(Version.generation() == 1, "Gen1 required") + local out = assert(os.getenv("POKEPORT_SHOT_DIR"), "shot directory required") + + local function wait(n) + for _ = 1, n do + assert(love.timer.getTime() < deadline, "#2662 deadline") + U.wait(1) + end + end + + local function snapshot(battle) + local rows, strings = 0, {} + local realRow, realFont, realDraw = battle.drawBallRow, Font.draw, love.graphics.draw + battle.drawBallRow = function() rows = rows + 1 end + Font.draw = function(text) strings[#strings + 1] = tostring(text) return 0 end + love.graphics.draw = function() end + pcall(battle.drawHUDs, battle, 0) + battle.drawBallRow, Font.draw, love.graphics.draw = realRow, realFont, realDraw + local hud = false + for _, s in ipairs(strings) do + if s:find(battle.enemy.name, 1, true) then hud = true end + end + return rows, hud + end + + game:startNewGame({ intro = false }) + game.save.options.textSpeed = 1 + + local function freshParty() + game.save.party = { Pokemon.new(game.data, "BULBASAUR", 12), + Pokemon.new(game.data, "PIDGEY", 9) } + end + + local function introText(b) + local cur = b.current and b.current.text + if cur == b.introText then return true end + return b.current == nil and b.queue[1] ~= nil and b.queue[1].text == b.introText + end + + local function watch(label, battle, holdShot) + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + wait(5) + battle.onFinish = function() end + game.overworld:pushBattle(battle) + local r = { early = false, during = false, hudEarly = false, rowsEarly = false, + heldFrames = 0, holdShot = false } + local update = battle.update + battle.update = function(self, ...) + update(self, ...) + if (self.introSlide or 0) ~= 0 or game.stack:top() ~= self then return end + local atText = introText(self) + if self.introBalls == true and not atText then r.early = true end + if self.introBalls == true and self.waitingSound then r.during = true end + if not atText and not r.reachedText then + local rows, hud = snapshot(self) + if rows > 0 then r.rowsEarly = true end + if hud then r.hudEarly = true end + if self.waitingSound or (self.waitFrames or 0) > 0 then + r.heldFrames = r.heldFrames + 1 + end + end + if atText then r.reachedText = true end + end + local shotHeld = false + for _ = 1, 3000 do + wait(1) + if game.stack:top() == battle and (battle.introSlide or 0) == 0 + and not shotHeld and (battle.waitingSound or (battle.waitFrames or 0) > 0) + and not introText(battle) then + shotHeld = U.still(game, out .. "/" .. holdShot) + r.holdShot = shotHeld and battle.introBalls ~= true + end + if battle.current and battle.current.text == battle.introText then break end + end + return r + end + + local function waitPrompt(b) + for _ = 1, 600 do + if b.msgPrompt then return true end + wait(1) + end + return false + end + + freshParty() + local wild = BattleState.newWild(game, "RATTATA", 3) + local r = watch("wild", wild, "2662_01_wild_cry_no_balls.png") + check("wild: the cry held the queue after the slide landed", r.heldFrames > 0) + check("wild: captured the cry frame with no ball window", r.holdShot) + check("wild: no ball window before the intro text", not r.early) + check("wild: no ball window while the cry sounds", not r.during) + check("wild: no ball row drawn during the cry", not r.rowsEarly) + check("wild: no enemy HUD drawn during the cry", not r.hudEarly) + check("wild: the ball window is open with the intro text", wild.introBalls == true) + waitPrompt(wild) + check("wild: balls and text shot", U.still(game, out .. "/2662_02_wild_balls_with_text.png")) + + freshParty() + local tr = BattleState.newTrainer(game, "OPP_YOUNGSTER", 1) + r = watch("trainer", tr, "2662_03_trainer_sfx_no_balls.png") + check("trainer: the sfx and gap held the queue", r.heldFrames > 0) + check("trainer: captured the sfx frame with no ball window", r.holdShot) + check("trainer: no ball window before the intro text", not r.early) + check("trainer: no ball window while the sfx sounds", not r.during) + check("trainer: no ball rows drawn during the sfx and gap", not r.rowsEarly) + check("trainer: the ball window is open with the intro text", tr.introBalls == true) + waitPrompt(tr) + check("trainer: balls and text shot", U.still(game, out .. "/2662_04_trainer_balls_with_text.png")) + + freshParty() + local ghost = BattleState.newWild(game, "GASTLY", 20) + ghost:makeGhost() + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + wait(5) + ghost.onFinish = function() end + game.overworld:pushBattle(ghost) + local ghostBalls, sawDarn = false, false + for _ = 1, 3000 do + wait(1) + if ghost.introBalls == true then ghostBalls = true end + local cur = ghost.current and ghost.current.text + if cur and cur:find("ID'd", 1, true) then sawDarn = true end + if ghost.msgPrompt then + if sawDarn then break end + wait(8) + U.tap(game, "a") + end + end + check("ghost: GhostCantBeIDdText follows the intro text", sawDarn) + check("ghost: DrawAllPokeballs never runs", not ghostBalls) + if sawDarn then + check("ghost: cant be IDd shot", U.still(game, out .. "/2662_05_ghost_cant_be_idd.png")) + end + end, debug.traceback) + if not ok then print("FAIL #2662 driver error: " .. tostring(err)) fails = fails + 1 end + love.event.quit(fails == 0 and 0 or 1) +end diff --git a/tests/drivers/battle_intro_bug317_test.lua b/tests/drivers/battle_intro_bug317_test.lua index aef76614..c5a7dfb8 100644 --- a/tests/drivers/battle_intro_bug317_test.lua +++ b/tests/drivers/battle_intro_bug317_test.lua @@ -6,7 +6,7 @@ -- POKEPORT_DRIVER=tests/drivers/battle_intro_bug317_test.lua POKEPORT_IDENTITY=bug317 SHOT_DIR=/tmp/shots love . return function(game) local U = dofile("tests/drivers/util.lua") - local DIR = os.getenv("SHOT_DIR") or "/tmp/shots" + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" local Pokemon = require("src.pokemon.Pokemon") local BattleState = require("src.battle.BattleState") local HudTiles = require("src.render.HudTiles") @@ -19,8 +19,10 @@ return function(game) local TRAINER = "ROUTE3_YOUNGSTER1" local STAND = { x = 13, y = 6, facing = "left" } + local fails = 0 local function check(label, ok) U.log(ok and "PASS" or "FAIL", label) + if not ok then fails = fails + 1 end return ok end @@ -103,8 +105,9 @@ return function(game) local wild = BattleState.newWild(game, "RATTATA", 3) wild.onFinish = function() end if ow then ow:pushBattle(wild) end - for _ = 1, 400 do - if game.stack:top() == wild and (wild.introSlide or 0) == 0 then break end + for _ = 1, 600 do + if game.stack:top() == wild and (wild.introSlide or 0) == 0 + and wild.current and wild.current.text == wild.introText then break end U.wait(1) end check("the wild battle reached the screen", @@ -226,8 +229,9 @@ return function(game) if ow then ow:pushBattle(battle) end end - for _ = 1, 400 do - if game.stack:top() == battle and (battle.introSlide or 0) == 0 then break end + for _ = 1, 600 do + if game.stack:top() == battle and (battle.introSlide or 0) == 0 + and battle.current and battle.current.text == battle.introText then break end U.wait(1) end check("a trainer battle is on screen", liveBattle() ~= nil) @@ -249,7 +253,5 @@ return function(game) U.log("own edge before its send-out text prints (#317).") U.log("Screenshots of the wild half: " .. DIR .. "/bug317_*.png") - while true do - coroutine.yield() - end + love.event.quit(fails == 0 and 0 or 1) end diff --git a/tests/drivers/boulder_dust_color_bug2650.lua b/tests/drivers/boulder_dust_color_bug2650.lua new file mode 100644 index 00000000..5277d0df --- /dev/null +++ b/tests/drivers/boulder_dust_color_bug2650.lua @@ -0,0 +1,150 @@ +-- engine/overworld/dust_smoke.asm:21 +return function(game) + local U = dofile("tests/drivers/util.lua") + local PaletteFX = require("src.render.PaletteFX") + local OW = require("src.world.OverworldController") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local MAP = "SEAFOAM_ISLANDS_1F" + local DIRS = { "right", "left", "down", "up" } + local STEP = { down = { 0, 1 }, up = { 0, -1 }, left = { -1, 0 }, right = { 1, 0 } } + local PUSH = "left" + + local ok = true + local function check(label, pass) + print((pass and "PASS " or "FAIL ") .. label) + if not pass then ok = false end + return pass + end + local realDraw = love.graphics.draw + local function finish() + love.graphics.draw = realDraw + for _, d in ipairs(DIRS) do game.input.state[d] = false end + print(ok and "PASS boulder_dust_color_2650" or "FAIL boulder_dust_color_2650") + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + + local function upvalue(fn, wanted) + for i = 1, 200 do + local name, value = debug.getupvalue(fn, i) + if not name then return nil end + if name == wanted then return value end + end + end + local fxDust = upvalue(OW.drawWorld, "fxDust") + local flashImage = fxDust and upvalue(fxDust, "fieldFxFlashImage") + if not check("fxDust has an OBP1 flash bake helper", flashImage ~= nil) then finish() end + + U.teleport(game, MAP, 17, 10, "right") + U.wait(10) + PaletteFX.setMode("ogred") + local ow = game.overworld + game.data.encounters[MAP] = nil + local rock = ow and ow:npcAtCell(18, 10) + if not check("boulder present at (18,10) on " .. MAP, + rock ~= nil and rock.def.sprite == "SPRITE_BOULDER") then + finish() + end + ow.strengthActive = true + + local function free(x, y) + if not (ow.map:inBounds(x, y) and ow.map:isWalkableCell(x, y)) then return false end + local n = ow:npcAtCell(x, y) + return n == nil or n == rock + end + local s = STEP[PUSH] + local cx, cy + for y = 9, 40 do + for x = 0, 60 do + if not cx and free(x, y) and free(x + s[1], y + s[2]) and free(x + 2 * s[1], y + 2 * s[2]) then + cx, cy = x, y + end + end + end + if not check("found an open lane for a push", cx ~= nil) then finish() end + + local function setup() + for _, d in ipairs(DIRS) do game.input.state[d] = false end + ow.dustAnim = nil + ow.boulderTried = nil + rock.cellX, rock.cellY = cx + s[1], cy + s[2] + rock.px, rock.py = rock.cellX * 16, rock.cellY * 16 + rock.moving, rock.targetX, rock.targetY = false, nil, nil + local p = ow.player + p.cellX, p.cellY = cx, cy + p.px, p.py = cx * 16, cy * 16 + p.moving, p.targetX, p.targetY = false, nil, nil + p.facing = PUSH + U.wait(8) + end + local function pushUntilDust() + local first = true + for _ = 1, 300 do + if ow.dustAnim and ow.dustAnim.boulder then return ow.dustAnim end + if first then table.insert(game.input.pressQueue, PUSH); first = false end + game.input.state[PUSH] = true + U.wait(1) + end + return nil + end + + local rec + love.graphics.draw = function(img, ...) + if rec and (img == rec.flash or img == ow.smokeImg) then + local _, _, _, a = love.graphics.getColor() + rec.n = rec.n + 1 + if (img == rec.flash) ~= rec.faded then rec.wrongImg = rec.wrongImg + 1 end + if a ~= 1 then rec.translucent = rec.translucent + 1 end + end + return realDraw(img, ...) + end + local function renderFrame(da, flash) + local update = rawget(game, "update") + game.update = function() end + rec = { flash = flash, faded = da.faded, n = 0, wrongImg = 0, translucent = 0 } + for _ = 1, 4000 do + if rec.n >= 4 then break end + coroutine.yield() + end + game.update = update + local r = rec + rec = nil + return r + end + + setup() + local da = pushUntilDust() + if not check("boulder dust starts after the push", da ~= nil) then finish() end + game.input.state[PUSH] = false + local flash = flashImage(game.data.field.overworldFx.smoke.path, 7) + local frames, flashFrames, wrong, translucent, missing = 0, 0, 0, 0, 0 + while ow.dustAnim == da and frames < 60 do + local r = renderFrame(da, flash) + frames = frames + 1 + if r.faded then flashFrames = flashFrames + 1 end + if r.n < 4 then missing = missing + 1 end + wrong = wrong + r.wrongImg + translucent = translucent + r.translucent + U.wait(1) + end + print(("[driver] dust frames %d flash %d wrong %d translucent %d missing %d") + :format(frames, flashFrames, wrong, translucent, missing)) + check("every dust frame rendered", missing == 0 and frames >= 23) + check("OBP1 %10000000 frames use the white/shade-2 flash bake", flashFrames >= 12 and wrong == 0) + check("dust is never drawn translucent", translucent == 0) + U.wait(30) + + setup() + da = pushUntilDust() + game.input.state[PUSH] = false + if da then + while ow.dustAnim == da and not da.faded do U.wait(1) end + U.still(game, DIR .. "/2650_01_dust_flash_white.png") + while ow.dustAnim == da and da.faded do U.wait(1) end + if ow.dustAnim == da then + U.still(game, DIR .. "/2650_02_dust_identity_floor_ramp.png") + end + end + U.wait(30) + finish() +end diff --git a/tests/drivers/champion_end_text_bug2660.lua b/tests/drivers/champion_end_text_bug2660.lua new file mode 100644 index 00000000..93472bc8 --- /dev/null +++ b/tests/drivers/champion_end_text_bug2660.lua @@ -0,0 +1,107 @@ +-- scripts/ChampionsRoom.asm:65 +-- tools/run_driver.sh red tests/drivers/champion_end_text_bug2660.lua +return function(game) + local U = dofile("tests/drivers/util.lua") + local Pokemon = require("src.pokemon.Pokemon") + local BattleState = require("src.battle.BattleState") + + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local failures = 0 + local function check(label, ok) + if not ok then failures = failures + 1 end + print((ok and "PASS " or "FAIL ") .. label) + return ok + end + local function oneline(s) + return (tostring(s):gsub("[\n\v\f]", " / ")) + end + local function finish() + U.log("done:", failures, "failure(s)") + love.event.quit(failures == 0 and 0 or 1) + while true do coroutine.yield() end + end + + local expected = game.data.text and game.data.text._RivalDefeatedText + check("cache carries _RivalDefeatedText", type(expected) == "string") + + local mon = Pokemon.new(game.data, "MEWTWO", 100) + mon.moves = { { id = "PSYCHIC_M", pp = 10, ppUps = 0 } } + if not game.data.moves.PSYCHIC_M then + mon.moves = { { id = "PSYCHIC", pp = 10, ppUps = 0 } } + end + game.save.party = { mon } + game.save.player.name = "RED" + game.save.player.rival = "BLUE" + game.save.flags = game.save.flags or {} + game.save.flags.EVENT_BEAT_CHAMPION_RIVAL_THIS_RUN = nil + game.save.flags.EVENT_BEAT_CHAMPION_RIVAL = nil + + U.teleport(game, "CHAMPIONS_ROOM", 4, 7, "up") + + local battle, armed + local sawDefeated, sawLoss, sawMoney + local lossText, lossShot, headShot, lastText = nil, false, false, nil + for _ = 1, 20000 do + local top = game.stack:top() + if getmetatable(top) == BattleState then + if not battle then + battle = top + armed = top.endBattleText + U.log("battle pushed; endBattleText:", oneline(armed)) + for _, m in ipairs(top.enemyParty or {}) do m.hp = 1 end + if top.enemy and top.enemy.mon then top.enemy.mon.hp = 1 end + end + local cur = top.current + local text = cur and cur.text + if text and text ~= lastText then + lastText = text + if text:find("defeated", 1, true) then sawDefeated = sawDefeated or U.frame() end + if text:find("NO!", 1, true) and text:find("That can't be!", 1, true) then + sawLoss = sawLoss or U.frame() + lossText = text + end + if text:find("for winning", 1, true) then sawMoney = sawMoney or U.frame() end + end + local typingLoss = lossText and text == lossText + if typingLoss and not headShot then + if top.lineIndex == 2 and top.msgWaiting + and (top.frame or 0) % 60 < 30 then + headShot = U.still(game, DIR .. "/2660_01_rival_loss_first_page.png") + end + end + if typingLoss and not lossShot + and top.charIndex and top.total and top.charIndex >= top.total then + lossShot = U.still(game, DIR .. "/2660_02_rival_loss_scrolled.png") + end + if sawMoney then break end + if typingLoss and not headShot then + U.wait(1) + else + U.tap(game, "a") + U.wait(3) + end + elseif battle then + break + else + U.tap(game, "a") + U.wait(3) + end + end + + check("champion battle pushed", battle ~= nil) + check("battle armed with _RivalDefeatedText", + type(armed) == "string" and armed:find("That can't be!", 1, true) ~= nil) + check("defeated line printed", sawDefeated ~= nil) + check("rival loss line printed on the battle screen", sawLoss ~= nil) + if lossText then + U.log("loss line:", oneline(lossText)) + check("loss line opens with the rival name tag", lossText:sub(1, 6) == "BLUE: ") + end + check("money line printed", sawMoney ~= nil) + check("loss line sits between defeated and money", + sawDefeated ~= nil and sawLoss ~= nil and sawMoney ~= nil + and sawDefeated < sawLoss and sawLoss < sawMoney) + check("loss line first page screenshotted", headShot) + check("loss line screenshotted", lossShot) + finish() +end diff --git a/tests/drivers/champion_entrance_bug2666.lua b/tests/drivers/champion_entrance_bug2666.lua new file mode 100644 index 00000000..835dde7d --- /dev/null +++ b/tests/drivers/champion_entrance_bug2666.lua @@ -0,0 +1,65 @@ +-- scripts/ChampionsRoom.asm:30 +local U = require('tests.drivers.util') +local Version = require('src.core.GameVersion') +local TextBox = require('src.render.TextBox') + +local WANT = '3,7 3,6 3,5 3,4 4,4 4,3' + +return function(game) + local deadline = love.timer.getTime() + 90 + local ok, err = xpcall(function() + assert(Version.generation() == 1, 'Gen1 edition required') + local out = assert(os.getenv('POKEPORT_SHOT_DIR'), 'shot directory required') + love.audio.setVolume(0) + game:startNewGame({ intro = false }) + + local function run(shootAt) + game.save.flags.EVENT_BEAT_CHAMPION_RIVAL_THIS_RUN = nil + U.teleport(game, 'CHAMPIONS_ROOM', 3, 7, 'up') + local ow = assert(game.overworld) + local cells, last = {}, nil + local frames, turnFrame = 0, nil + for _ = 1, 1200 do + assert(love.timer.getTime() < deadline, '#2666 deadline') + local p = ow.player + local key = p.cellX .. ',' .. p.cellY + if key ~= last then + cells[#cells + 1] = key + last = key + if key == '3,4' and not turnFrame then + turnFrame = frames + if shootAt then + assert(U.still(game, out .. '/2666_01_turn_point_left_column.png'), 'capture failed') + end + end + end + if getmetatable(game.stack:top()) == TextBox then + return table.concat(cells, ' '), turnFrame, p.facing + end + U.wait(1) + frames = frames + 1 + end + error('rival text never opened; walked ' .. table.concat(cells, ' ')) + end + + local path, turnFrame, facing = run(false) + if path == WANT then + print('PASS #2666 entrance walk ' .. path) + else + error('entrance walk ' .. path .. ' want ' .. WANT) + end + if facing == 'up' then + print('PASS #2666 player faces the rival') + else + error('player faces ' .. tostring(facing)) + end + assert(turnFrame, 'never reached (3,4)') + + run(true) + U.wait(40) + assert(U.still(game, out .. '/2666_02_rival_hey.png'), 'capture failed') + print('PASS #2666 turn point shot at frame ' .. turnFrame) + end, debug.traceback) + if not ok then print('FAIL #2666 ' .. tostring(err)) end + love.event.quit(ok and 0 or 1) +end diff --git a/tests/drivers/continue_info_counts_bug2684.lua b/tests/drivers/continue_info_counts_bug2684.lua new file mode 100644 index 00000000..a78be60b --- /dev/null +++ b/tests/drivers/continue_info_counts_bug2684.lua @@ -0,0 +1,180 @@ +-- engine/menus/main_menu.asm:357 +return function(game) + local U = dofile("tests/drivers/util.lua") + local Font = require("src.render.Font") + local SaveData = require("src.core.SaveData") + local GameVersion = require("src.core.GameVersion") + local TitleState = require("src.ui.TitleState") + local SHOT_DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") + or "/tmp/shots/2684" + + local fails = 0 + local function check(label, ok, detail) + print((ok and "PASS " or "FAIL ") .. label .. (detail and (" " .. tostring(detail)) or "")) + if not ok then fails = fails + 1 end + return ok + end + local function finish() + love.event.quit(fails == 0 and 0 or 1) + while true do coroutine.yield() end + end + + local rendered = 0 + local hostDraw = love.draw + love.draw = function(...) + local r = hostDraw(...) + rendered = rendered + 1 + return r + end + local function waitRendered(n) + local target = rendered + (n or 2) + for _ = 1, 2400 do + if rendered >= target then return true end + U.wait(1) + end + return false + end + local function waitFor(pred, limit) + for _ = 1, limit or 1800 do + if pred() then return true end + U.wait(1) + end + return false + end + + local function letterbox(img) + local W, H = img:getWidth(), img:getHeight() + local x1, y1, x2, y2 = W, H, -1, -1 + for y = 0, H - 1, 2 do + for x = 0, W - 1, 2 do + local r, g, b = img:getPixel(x, y) + if r > 0.02 or g > 0.02 or b > 0.02 then + if x < x1 then x1 = x end + if x > x2 then x2 = x end + if y < y1 then y1 = y end + if y > y2 then y2 = y end + end + end + end + local bw, bh = x2 - x1 + 1, y2 - y1 + 1 + if x2 >= x1 and math.abs(bw / 160 - bh / 144) < 0.05 then + return x1, y1, bw / 160, bh / 144 + end + local s = math.min(W / 160, H / 144) + return math.floor((W - 160 * s) / 2), math.floor((H - 144 * s) / 2), s, s + end + local function inkInTile(img, ox, oy, sx, sy, col, row) + local W, H = img:getWidth(), img:getHeight() + local n = 0 + for py = 1, 6 do + for px = 1, 6 do + local x = math.floor(ox + (col * 8 + px + 0.5) * sx) + local y = math.floor(oy + (row * 8 + py + 0.5) * sy) + if x >= 0 and y >= 0 and x < W and y < H then + local r, g, b = img:getPixel(x, y) + if (r + g + b) / 3 < 0.35 then n = n + 1 end + end + end + end + return n + end + + U.wait(5) + local title + local reached = false + for _ = 1, 120 do + title = game.stack:top() + if title ~= nil and title.screenId == "TitleState" + and type(title.openMenu) == "function" then + reached = true + break + end + U.tap(game, "start") + U.wait(10) + end + if not check("reached the title screen", reached) then + print("top state: " .. tostring(title and title.screenId)) + return finish() + end + check("title reached its loop", waitFor(function() + return title.phase == "loop" + end)) + waitRendered(3) + + local saveName = SaveData.saveFilename(GameVersion.get()) + if not love.filesystem.getInfo(saveName) then + love.filesystem.write(saveName, "return {}") + end + local owned = {} + for i = 1, 151 do owned[i] = true end + local inventory = {} + for _, id in ipairs({ "BOULDERBADGE", "CASCADEBADGE", "THUNDERBADGE", + "RAINBOWBADGE", "SOULBADGE", "MARSHBADGE", "VOLCANOBADGE", + "EARTHBADGE" }) do + inventory[id] = 1 + end + local savedLoad = SaveData.load + SaveData.load = function() + return { player = { name = "RED" }, inventory = inventory, + pokedex = { owned = owned }, playTime = 47 * 3600 + 27 * 60 } + end + + U.tap(game, "start") + check("START leaves the title for the main menu", waitFor(function() + local top = game.stack:top() + return title.menuOpen and top ~= title and top and top.titleUiBox ~= nil + end, 1200)) + waitRendered(3) + local menu = game.stack:top() + check("main menu opens on CONTINUE", menu and menu.items + and menu.items[1] and menu.items[1].label == require("src.core.Strings")("CONTINUE")) + U.tap(game, "a") + local info + check("CONTINUE opens the info window", waitFor(function() + info = game.stack:top() + return info ~= menu and info and info.titleUiBox + and info.titleUiBox[1] == 4 and info.titleUiBox[2] == 7 + end, 300)) + SaveData.load = savedLoad + if not info or info == menu then return finish() end + + local drawn = {} + local realDraw = Font.draw + Font.draw = function(text, x, y, ...) + drawn[text] = { x, y } + return realDraw(text, x, y, ...) + end + waitRendered(3) + Font.draw = realDraw + + local b, d, t = drawn[" 8"], drawn["151"], drawn[" 47:27"] + check("badge count drawn at hlcoord 17,11", + b and b[1] == 17 * 8 and b[2] == 11 * 8, b and (b[1] .. "," .. b[2])) + check("dex count drawn at hlcoord 16,13", + d and d[1] == 16 * 8 and d[2] == 13 * 8, d and (d[1] .. "," .. d[2])) + check("play time drawn at hlcoord 13,15", + t and t[1] == 13 * 8 and t[2] == 15 * 8, t and (t[1] .. "," .. t[2])) + + local shot = SHOT_DIR .. "/2684_01_continue_counts_flush_right.png" + if check("info window shot", U.still(game, shot)) then + local f = io.open(shot, "rb") + local bytes = f and f:read("*a") + if f then f:close() end + local ok, img = pcall(function() + return love.image.newImageData(love.filesystem.newFileData(bytes, "s.png")) + end) + if check("shot decodes", ok and img) then + local ox, oy, sx, sy = letterbox(img) + check("badge 8 inks col 18 row 11", inkInTile(img, ox, oy, sx, sy, 18, 11) > 0) + check("col 17 row 11 stays blank", inkInTile(img, ox, oy, sx, sy, 17, 11) == 0) + check("dex 151 inks col 18 row 13", inkInTile(img, ox, oy, sx, sy, 18, 13) > 0) + check("col 15 row 13 stays blank", inkInTile(img, ox, oy, sx, sy, 15, 13) == 0) + check("time inks col 18 row 15", inkInTile(img, ox, oy, sx, sy, 18, 15) > 0) + end + end + + game.stack:pop() + waitRendered(2) + print(fails == 0 and "PASS continue_info_counts_bug2684" or "FAIL continue_info_counts_bug2684") + return finish() +end diff --git a/tests/drivers/dex_rating_complete_bug2674.lua b/tests/drivers/dex_rating_complete_bug2674.lua new file mode 100644 index 00000000..6c92b0ab --- /dev/null +++ b/tests/drivers/dex_rating_complete_bug2674.lua @@ -0,0 +1,98 @@ +-- engine/events/pokedex_rating.asm:33 +return function(game) + local U = dofile("tests/drivers/util.lua") + local TextBox = require("src.render.TextBox") + local Sound = require("src.core.Sound") + local Timing = require("src.core.Timing") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + + local ok = true + local function check(label, pass) + print((pass and "PASS " or "FAIL ") .. label) + if not pass then ok = false end + return pass + end + local realPlay = Sound.play + local plays = {} + Sound.play = function(data, name, ...) + plays[#plays + 1] = name + return realPlay(data, name, ...) + end + local function finish() + Sound.play = realPlay + print(ok and "PASS dex_rating_complete_2674" or "FAIL dex_rating_complete_2674") + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + + U.teleport(game, "OAKS_LAB", 5, 3, "up") + U.wait(10) + local ow = game.overworld + if not check("overworld is up", ow ~= nil) then finish() end + local full = {} + for i = 1, 151 do full[i] = true end + game.save.pokedex = { seen = full, owned = full } + game.save.options = game.save.options or {} + game.save.options.textSpeed = 1 + + local closed = false + ow:dexRating(function() closed = true end) + local box = game.stack:top() + if not check("rating box pushed", getmetatable(box) == TextBox) then finish() end + + local SPACE = 0x7F + local target + for _ = 1, 6000 do + U.wait(1) + if box.waiting and box.contAdvance and #box.shown == 2 and #box.shown[2] == 18 then + target = true + break + end + if box.waiting and not box.contAdvance and (box.preWait or 0) == 0 then + U.tap(game, "a") + end + if box.done then break end + end + if not check("reached the cont wait under an 18-tile line", target) then finish() end + check("the cont line is the Own150To151 text", + (box.pages[box.pageIndex][box.lineIndex] or ""):find("complete", 1, true) ~= nil) + check("arrow is up over cell (18,16)", box:arrowVisible() and box.fixedGen1Rows) + local early = false + for _, name in ipairs(plays) do + if name == "Get_Item2" or name == "Pokedex_Rating" then early = true end + end + check("no rating jingle yet", not early) + for _ = 1, 120 do + if box.blink % 60 < 30 then break end + U.wait(1) + end + U.still(game, DIR .. "/2674_01_arrow_replaces_bang.png") + + for _ = 1, Timing.TEXT_PRE_ADVANCE + 2 do U.wait(1) end + U.tap(game, "a") + U.wait(2) + check("scrolled line carries a space in column 18", + box.shown[1] and box.shown[1][18] == SPACE) + + for _ = 1, 6000 do + if box.done and not box.auto then break end + U.wait(1) + end + check("box finished typing and the jingle wait is over", box.done and not box.auto) + local rated + for _, name in ipairs(plays) do + if name == "Get_Item2" then rated = true end + if name == "Pokedex_Rating" then rated = false break end + end + check("151 owned plays SFX_GET_ITEM_2", rated == true) + for _ = 1, 120 do + if box.blink % 60 < 30 then break end + U.wait(1) + end + U.still(game, DIR .. "/2674_02_complete_without_bang.png") + + U.tap(game, "a") + U.wait(5) + check("A closes the rating", closed) + finish() +end diff --git a/tests/drivers/diploma_og_obj_bug2676.lua b/tests/drivers/diploma_og_obj_bug2676.lua new file mode 100644 index 00000000..99ccd318 --- /dev/null +++ b/tests/drivers/diploma_og_obj_bug2676.lua @@ -0,0 +1,170 @@ +-- engine/events/diploma.asm:44 +return function(game) + local U = dofile("tests/drivers/util.lua") + local P = require("src.render.PaletteFX") + local Diploma = require("src.ui.Diploma") + local SHOT_DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") + or "/tmp/shots" + + local fails = 0 + local function check(label, ok, detail) + print((ok and "PASS " or "FAIL ") .. label + .. (detail ~= nil and (" [" .. tostring(detail) .. "]") or "")) + if not ok then fails = fails + 1 end + return ok + end + + local rendered = 0 + local hostDraw = love.draw + love.draw = function(...) + local r = hostDraw(...) + rendered = rendered + 1 + return r + end + local function waitRendered(n) + local target = rendered + (n or 2) + for _ = 1, 2400 do + if rendered >= target then return true end + U.wait(1) + end + return false + end + + local function near(R, G, B, c) + return math.abs(R - c[1]) <= 12 and math.abs(G - c[2]) <= 12 + and math.abs(B - c[3]) <= 12 + end + + local function letterbox(img) + local W, H = img:getWidth(), img:getHeight() + local x1, y1, x2, y2 = W, H, -1, -1 + for y = 0, H - 1 do + for x = 0, W - 1 do + local r, g, b = img:getPixel(x, y) + if r > 0.02 or g > 0.02 or b > 0.02 then + if x < x1 then x1 = x end + if x > x2 then x2 = x end + if y < y1 then y1 = y end + if y > y2 then y2 = y end + end + end + end + local bw, bh = x2 - x1 + 1, y2 - y1 + 1 + if x2 >= x1 and math.abs(bw / 160 - bh / 144) < 0.05 then + return x1, y1, bh / 144 + end + local s = math.min(W / 160, H / 144) + return math.floor((W - 160 * s) / 2), math.floor((H - 144 * s) / 2), s + end + + local function load(path) + local f = io.open(path, "rb") + if not f then return nil end + local bytes = f:read("*a") + f:close() + local ok, img = pcall(function() + return love.image.newImageData( + love.filesystem.newFileData(bytes, "shot.png")) + end) + if not ok then return nil end + return img + end + + local function census(img, objRamp, bgRamp, bx1, by1, bx2, by2) + local W, H = img:getWidth(), img:getHeight() + local ox, oy, s = letterbox(img) + local c = { obj = 0, bg = 0, grey = 0, ink = 0, nonwhite = 0 } + for gy = by1, by2 - 1 do + for gx = bx1, bx2 - 1 do + local x = ox + math.floor((gx + 0.5) * s) + local y = oy + math.floor((gy + 0.5) * s) + if x >= 0 and x < W and y >= 0 and y < H then + local r, g, b = img:getPixel(x, y) + local R = math.floor(r * 255 + 0.5) + local G = math.floor(g * 255 + 0.5) + local B = math.floor(b * 255 + 0.5) + if R < 30 and G < 30 and B < 30 then c.ink = c.ink + 1 end + if not (R > 230 and G > 230 and B > 230) then + c.nonwhite = c.nonwhite + 1 + end + if R == G and G == B and R > 60 and R < 240 then c.grey = c.grey + 1 end + for _, k in ipairs(objRamp or {}) do + if near(R, G, B, k) then c.obj = c.obj + 1 break end + end + for _, k in ipairs(bgRamp or {}) do + if near(R, G, B, k) then c.bg = c.bg + 1 break end + end + end + end + end + return c + end + + U.wait(5) + U.teleport(game, "CELADON_MANSION_3F", 2, 4, "up") + game.save.player.name = "RED" + local d = Diploma.new(game) + game.stack:push(d) + + game.save.options.colors = "ogred" + P.applyOptions(game.save.options) + check("COLORS ogred uses the sprite OBJ path", P.usesSpriteObp() == true, + P.mode) + local objRamp = { P.ogObjBase()[2], P.ogObjBase()[3] } + local bgRamp = { P.ogBg()[2], P.ogBg()[3] } + waitRendered(4) + local maxRedraws = 0 + for _ = 1, 4 do + waitRendered(1) + local n = #P.uiSpriteRedraws() + if n > maxRedraws then maxRedraws = n end + end + check("ogred records the pic and the text overlay for replay", + maxRedraws == 2, maxRedraws) + + local shot1 = SHOT_DIR .. "/2676_01_ogred_player_obj_green.png" + if check("shot ogred", U.shot(game, shot1)) then + local img = load(shot1) + if check("ogred shot decodes", img ~= nil) then + local body = census(img, objRamp, bgRamp, 115, 80, 152, 136) + check("ogred player wears the OBJ ramp", body.obj > 200, body.obj) + check("ogred player has no BG-red pixels", body.bg == 0, body.bg) + check("ogred player has no DMG grey", body.grey == 0, body.grey) + local fist = census(img, objRamp, nil, 152, 100, 155, 116) + check("ogred fist reaches columns 152-154", fist.obj > 0, fist.obj) + local r = census(img, objRamp, nil, 120, 96, 128, 104) + check("ogred the r of your stays in front of the player", r.ink > 4, + r.ink) + local gf = census(img, objRamp, nil, 115, 128, 152, 136) + check("ogred GAME FREAK stays in front of the player", gf.ink > 20, + gf.ink) + end + end + + P.applyOptions({ colors = "gbc" }) + waitRendered(4) + local gbcRedraws = 0 + for _ = 1, 4 do + waitRendered(1) + local n = #P.uiSpriteRedraws() + if n > gbcRedraws then gbcRedraws = n end + end + check("gbc records no OBJ replay", gbcRedraws == 0, gbcRedraws) + local shot2 = SHOT_DIR .. "/2676_02_gbc_fist_uncropped.png" + if check("shot gbc", U.shot(game, shot2)) then + local img = load(shot2) + if check("gbc shot decodes", img ~= nil) then + local body = census(img, objRamp, nil, 115, 80, 152, 136) + check("gbc player never wears the OG OBJ ramp", body.obj == 0, body.obj) + local fist = census(img, nil, nil, 152, 100, 155, 116) + check("gbc fist reaches columns 152-154", fist.nonwhite > 0, + fist.nonwhite) + end + end + + game.save.options.colors = "ogred" + P.applyOptions(game.save.options) + waitRendered(2) + print(fails == 0 and "PASS diploma_2676_all" or "FAIL diploma_2676_all") + love.event.quit(fails == 0 and 0 or 1) +end diff --git a/tests/drivers/e4_exit_after_text_bug2658.lua b/tests/drivers/e4_exit_after_text_bug2658.lua new file mode 100644 index 00000000..09ef2457 --- /dev/null +++ b/tests/drivers/e4_exit_after_text_bug2658.lua @@ -0,0 +1,90 @@ +-- scripts/AgathasRoom.asm:2 +-- scripts/AgathasRoom.asm:108 +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/shots" + local Pokemon = require("src.pokemon.Pokemon") + local TextBox = require("src.render.TextBox") + local CLOSED, OPEN = 0x3b, 0x0e + local ok = true + + local function check(label, cond) + print((cond and "PASS " or "FAIL ") .. label) + if not cond then ok = false end + return cond + end + + local function finish() + U.wait(5) + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + + local mon = Pokemon.new(game.data, "MEWTWO", 100) + mon.moves = { { id = "PSYCHIC_M", pp = 63 } } + game.save.party = { mon } + game.save.flags.EVENT_AUTOWALKED_INTO_AGATHAS_ROOM = true + game.save.flags.EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 = nil + game.save.defeatedTrainers = game.save.defeatedTrainers or {} + game.save.defeatedTrainers["AGATHAS_ROOM_obj_1"] = nil + + U.teleport(game, "AGATHAS_ROOM", 5, 3, "up") + U.wait(30) + local ow = game.overworld + if not check("2658 overworld up in AGATHAS_ROOM", ow and ow.map.id == "AGATHAS_ROOM") then + return finish() + end + check("2658 exit shut before the fight", ow.map:blockAt(2, 0) == CLOSED) + + local battle + for _ = 1, 600 do + local top = game.stack:top() + if top ~= ow and top and top.enemy then battle = top break end + U.tap(game, "a") + U.wait(2) + end + if not check("2658 talking to Agatha starts the battle", battle ~= nil) then + return finish() + end + + for _ = 1, 20000 do + if game.stack:top() ~= battle then + local inStack = false + for _, s in ipairs(game.stack.states or {}) do + if s == battle then inStack = true break end + end + if not inStack then break end + end + if battle.enemy and battle.enemy.mon and (battle.enemy.mon.hp or 0) > 1 then + battle.enemy.mon.hp = 1 + end + U.tap(game, "a") + U.wait(2) + end + local box + for _ = 1, 3000 do + local top = game.stack:top() + if top ~= battle and getmetatable(top) == TextBox then box = top break end + U.wait(1) + end + if not check("2658 after-battle text box shows in the overworld", box ~= nil) then + return finish() + end + U.wait(240) + check("2658 Agatha beaten", game.save.flags.EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 and true or false) + check("2658 exit still shut while after-battle text is up", + ow.map:blockAt(2, 0) == CLOSED) + U.still(game, DIR .. "/2658_01_after_text_exit_shut.png") + + for _ = 1, 600 do + if game.stack:top() == ow then break end + U.tap(game, "a") + U.wait(4) + end + check("2658 after-battle text closed", game.stack:top() == ow) + U.wait(10) + check("2658 exit opens after the text closes", ow.map:blockAt(2, 0) == OPEN) + U.still(game, DIR .. "/2658_02_exit_open_after_text.png") + + finish() +end diff --git a/tests/drivers/evolution_double_bug2664.lua b/tests/drivers/evolution_double_bug2664.lua new file mode 100644 index 00000000..e3a4cecd --- /dev/null +++ b/tests/drivers/evolution_double_bug2664.lua @@ -0,0 +1,119 @@ +-- engine/pokemon/evos_moves.asm:156 +-- engine/battle/end_of_battle.asm:42 +-- POKEPORT_DRIVER=tests/drivers/evolution_double_bug2664.lua POKEPORT_VERSION=red love . +return function(game) + local U = dofile("tests/drivers/util.lua") + local Pokemon = require("src.pokemon.Pokemon") + local Growth = require("src.pokemon.Growth") + local BattleState = require("src.battle.BattleState") + local Music = require("src.core.Music") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") + or "/tmp/evo2664" + + local failed = false + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then failed = true end + return ok + end + + local ok, err = pcall(function() + game.save.options = game.save.options or {} + game.save.options.textSpeed = 1 + local pin = function(_, b) return b end + local dratini = Pokemon.new(game.data, "DRATINI", 29, pin) + local def = game.data.pokemon.DRATINI + dratini.exp = Growth.expForLevel(def.growthRate, 30, game.data.growth_rates) - 1 + dratini.moves = { { id = dratini.moves[1].id, pp = dratini.moves[1].pp } } + local tentacool = Pokemon.new(game.data, "TENTACOOL", 30, pin) + tentacool.moves = { tentacool.moves[1] } + game.save.party = { dratini, tentacool } + + U.teleport(game, "ROUTE_1", 5, 5, "down") + local ow = game.overworld + + local restores = 0 + local realRestore = Music.restoreMap + Music.restoreMap = function(...) + restores = restores + 1 + return realRestore(...) + end + + local battle = BattleState.newWild(game, "RATTATA", 2) + battle.rng = function(a, _) return a end + battle.enemy.mon.hp = 1 + battle.enemy.mon.stats.speed = 1 + battle.leveledUp = { [tentacool] = true } + ow:pushBattle(battle) + + for _ = 1, 400 do + if battle.phase == "menu" then break end + U.tap(game, "a") + U.wait(3) + end + if not check("reached the FIGHT menu", battle.phase == "menu") then return end + U.tap(game, "a") + for _ = 1, 60 do + if battle.phase == "moveSelect" then break end + U.wait(1) + end + U.tap(game, "a") + + local function inStack(state) + for i, s in ipairs(game.stack.states) do + if s == state then return i end + end + end + + local firstIntro, secondIntro, shot = nil, nil, false + local belowSecond, restoresAtSecond, baseAtSecond, battleAtSecond + for _ = 1, 20000 do + local top = game.stack:top() + if top and top.evoIntro then + if not firstIntro then + firstIntro = top + elseif top ~= firstIntro and not secondIntro then + secondIntro = top + local i = inStack(top) + belowSecond = game.stack.states[i - 1] + restoresAtSecond = restores + baseAtSecond = game.stack:visibleBase() + battleAtSecond = inStack(battle) + end + end + if secondIntro and not shot then + local i = inStack(secondIntro) + if i and i == #game.stack.states - 1 then + shot = U.still(game, DIR .. "/2664_01_second_intro_on_blank.png") + end + end + if not inStack(battle) then break end + U.tap(game, "a") + U.wait(2) + end + + check("first mon evolved", dratini.species == "DRAGONAIR") + check("second mon evolved", tentacool.species == "TENTACRUEL") + if check("second IsEvolvingText box opened", secondIntro ~= nil) then + check("second intro sits on an opaque blank screen", + belowSecond ~= nil and belowSecond.evoClear == true + and belowSecond.isOpaque == true) + check("battle screen is not drawn under the second intro", + battleAtSecond ~= nil and baseAtSecond > battleAtSecond) + check("no map music between the two evolutions", restoresAtSecond == 0) + end + check("shot of the second intro captured", shot) + check("battle closed after the evolutions", inStack(battle) == nil) + local stray = false + for _, s in ipairs(game.stack.states) do + if s.evoClear or s.evoIntro then stray = true end + end + check("no evolution layers left on the stack", not stray) + Music.restoreMap = realRestore + end) + if not ok then + print("FAIL driver error: " .. tostring(err)) + failed = true + end + love.event.quit(failed and 1 or 0) +end diff --git a/tests/drivers/game3_shaderfx_shots.lua b/tests/drivers/game3_shaderfx_shots.lua index bebdde07..6d43ac3a 100644 --- a/tests/drivers/game3_shaderfx_shots.lua +++ b/tests/drivers/game3_shaderfx_shots.lua @@ -161,7 +161,7 @@ return function(game) local top = Option._pages[1] local gi for i, row in ipairs(top.rows) do - if row.port and row.port.id == "group.graphics" then gi = i end + if row.id == "group.graphics" then gi = i end end if check(gi ~= nil, version .. " RS OPTION has a visible GRAPHICS row") then top.index = gi diff --git a/tests/drivers/grass_feet_strip_bug2688.lua b/tests/drivers/grass_feet_strip_bug2688.lua new file mode 100644 index 00000000..e3911f82 --- /dev/null +++ b/tests/drivers/grass_feet_strip_bug2688.lua @@ -0,0 +1,144 @@ +-- data/sprites/facings.asm:51 +return function(game) + local U = dofile("tests/drivers/util.lua") + local PaletteFX = require("src.render.PaletteFX") + local Assets = require("src.render.Assets") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "." + + local fails = 0 + local function check(cond, label) + if cond then print("PASS " .. label) else + fails = fails + 1 + print("FAIL " .. label) + end + end + + game.save.flags.EVENT_GOT_STARTER = true + local Pokemon = require("src.pokemon.Pokemon") + table.insert(game.save.party, Pokemon.new(game.data, "CHARMANDER", 5)) + game.save.options = game.save.options or {} + local savedSpeed = game.speedOverride + game.speedOverride = 1 + + local function grab() + local got + love.graphics.captureScreenshot(function(id) got = id end) + for _ = 1, 600 do + if got then return got end + coroutine.yield() + end + return nil + end + + local function frameRows(sprite) + local ok, id = pcall(Assets.imageData, sprite.def.image) + if not ok or not id then return 0, 15 end + local first, last + for y = 0, math.min(sprite.frameHeight, id:getHeight()) - 1 do + for x = 0, math.min(sprite.frameWidth, id:getWidth()) - 1 do + local r = id:getPixel(x, y) + if r < 0.83 then + first = first or y + last = y + break + end + end + end + return first or 0, last or 15 + end + + local function differs(a, b, x, y) + local r1, g1, b1 = a:getPixel(x, y) + local r2, g2, b2 = b:getPixel(x, y) + return math.abs(r1 - r2) + math.abs(g1 - g2) + math.abs(b1 - b2) > 0.05 + end + + local function measure(tag) + local ow = game.overworld + local r = ow.map.renderer + U.wait(4) + local withGrass = grab() + r.drawStrip = function() end + r.markStripRedraw = function() end + U.wait(2) + local noGrass = grab() + ow.playerHidden = true + U.wait(2) + local noPlayer = grab() + ow.playerHidden = false + r.drawStrip = nil + r.markStripRedraw = nil + U.wait(2) + if not (withGrass and noGrass and noPlayer) then + check(false, tag .. " captured three frames") + return + end + local w, h = withGrass:getDimensions() + local x0, y0, x1, y1 + for y = 0, h - 1 do + for x = 0, w - 1 do + if differs(noGrass, noPlayer, x, y) then + x0 = math.min(x0 or x, x); x1 = math.max(x1 or x, x) + y0 = math.min(y0 or y, y); y1 = math.max(y1 or y, y) + end + end + end + if not y0 then + check(false, tag .. " found the player sprite on screen") + return + end + local first, last = frameRows(ow.player.sprite) + local scale = (y1 - y0 + 1) / (last - first + 1) + local top = y0 - first * scale + local rows = {} + for y = math.floor(top), math.floor(top + 20 * scale) do + if y >= 0 and y < h then + for x = x0, x1 do + if differs(withGrass, noGrass, x, y) then + local row = math.floor((y - top) / scale) + rows[row] = (rows[row] or 0) + 1 + end + end + end + end + local above, mid, low = 0, 0, 0 + for row, n in pairs(rows) do + if row < 8 then above = above + n + elseif row < 12 then mid = mid + n + else low = low + n end + end + U.log(tag, "scale=" .. scale, "rows0-7=" .. above, "rows8-11=" .. mid, + "rows12-15=" .. low) + check(above == 0, tag .. " grass leaves sprite rows 0-7 alone") + check(mid > 0, tag .. " grass covers sprite rows 8-11") + check(low > 0, tag .. " grass covers sprite rows 12-15") + end + + local modes = { + { "gbc", "sgb" }, { "redpp", "advanced" }, { "ogred", "ogred" }, { "og", "og" }, + } + for _, m in ipairs(modes) do + game.save.options.colors = m[1] + PaletteFX.setMode(m[1]) + U.teleport(game, "ROUTE_1", 10, 6, "down") + U.wait(20) + check(game.overworld.map:isGrassCell(game.overworld.player.cellX, + game.overworld.player.cellY), + m[2] .. " player stands in tall grass") + measure(m[2]) + end + + for i, m in ipairs(modes) do + game.save.options.colors = m[1] + PaletteFX.setMode(m[1]) + U.teleport(game, "ROUTE_1", 10, 6, "down") + U.wait(20) + U.shot(game, DIR .. "/2688_0" .. i .. "_" .. m[2] .. "_grass_from_shoulders_down.png") + end + + game.save.options.colors = "gbc" + PaletteFX.setMode("gbc") + game.speedOverride = savedSpeed + U.wait(2) + love.event.quit(fails == 0 and 0 or 1) +end diff --git a/tests/drivers/indigo_statues_bug2683.lua b/tests/drivers/indigo_statues_bug2683.lua new file mode 100644 index 00000000..62738bda --- /dev/null +++ b/tests/drivers/indigo_statues_bug2683.lua @@ -0,0 +1,80 @@ +local U = require('tests.drivers.util') +local Version = require('src.core.GameVersion') +local TextBox = require('src.render.TextBox') + +local function flatten(t, out) + out = out or {} + if type(t) == 'string' then out[#out + 1] = t + elseif type(t) == 'table' then for _, v in ipairs(t) do flatten(v, out) end end + return out +end + +return function(game) + local deadline = love.timer.getTime() + 60 + local ok, err = xpcall(function() + assert(Version.generation() == 1, 'Gen1 edition required') + local out = assert(os.getenv('POKEPORT_SHOT_DIR'), 'shot directory required') + love.audio.setVolume(0) + local function wait(n) + for _ = 1, n do + assert(love.timer.getTime() < deadline, '#2683 deadline') + U.wait(1) + end + end + local function untilReady(fn, limit, label) + for _ = 1, limit do if fn() then return end; wait(1) end + error(label) + end + local text = game.data.text + local want = { + odd = assert(text._IndigoPlateauStatuesText2, 'Text2 missing from cache'), + even = assert(text._IndigoPlateauStatuesText3, 'Text3 missing from cache'), + } + game:startNewGame({ intro = false }) + U.teleport(game, 'INDIGO_PLATEAU', 9, 8, 'down') + local ow = assert(game.overworld) + local map = ow.map + local spots = {} + for cy = 0, map.heightCells - 1 do + for cx = 0, map.widthCells - 1 do + if map:inBounds(cx, cy) and map:inBounds(cx, cy + 1) + and map:cellTile(cx, cy) == 0x30 and map:isWalkableCell(cx, cy + 1) then + local key = (cx % 2 == 1) and 'odd' or 'even' + if not spots[key] then spots[key] = { cx, cy + 1 } end + end + end + end + assert(spots.odd and spots.even, 'no statue spots found on INDIGO_PLATEAU') + for i, key in ipairs({ 'odd', 'even' }) do + local x, y = spots[key][1], spots[key][2] + U.teleport(game, 'INDIGO_PLATEAU', x, y, 'up') + ow = assert(game.overworld) + untilReady(function() + return game.stack:top() == ow and not ow.transitioning and not ow.player.moving + end, 400, 'field did not settle') + assert(ow.player.cellX == x and ow.player.facing == 'up', 'player not placed facing the statue') + U.tap(game, 'a') + untilReady(function() return getmetatable(game.stack:top()) == TextBox end, 120, 'statue text never opened') + local box = game.stack:top() + local joined = table.concat(flatten(box.pages), ' ') + local expect = TextBox.strip(TextBox.substitute(game, want[key])):gsub('[\n\f]', ' ') + local firstWord = expect:match('%S+%s+%S+') + assert(joined:find(firstWord, 1, true), key .. ' X ' .. x .. ' printed the wrong caption: ' .. joined) + untilReady(function() + if box.pageIndex == #box.pages and box.waiting then return true end + if box.waiting then U.tap(game, 'a') end + return false + end, 1200, 'caption page never settled') + local name = string.format('2683_%02d_%s_x%d_%s.png', i, key, x, + key == 'odd' and 'ultimate_goal' or 'highest_authority') + assert(U.still(game, out .. '/' .. name), 'capture failed') + print('PASS #2683 ' .. Version.get() .. ' ' .. key .. ' X=' .. x .. ' shows ' .. (key == 'odd' and 'Text2' or 'Text3')) + for _ = 1, 20 do + if game.stack:top() ~= box then break end + U.tap(game, 'a'); wait(4) + end + end + end, debug.traceback) + if not ok then print('FAIL #2683 ' .. tostring(err)) end + love.event.quit(ok and 0 or 1) +end diff --git a/tests/drivers/lance_side_trigger_bug2669.lua b/tests/drivers/lance_side_trigger_bug2669.lua new file mode 100644 index 00000000..643b9255 --- /dev/null +++ b/tests/drivers/lance_side_trigger_bug2669.lua @@ -0,0 +1,57 @@ +-- scripts/LancesRoom.asm:54 +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/shots" + local Pokemon = require("src.pokemon.Pokemon") + local ok = true + + local function check(label, cond) + print((cond and "PASS " or "FAIL ") .. label) + if not cond then ok = false end + return cond + end + + local function finish() + U.wait(5) + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + + local function findLance(ow) + for _, npc in ipairs(ow.npcs or {}) do + if npc.def and npc.def.name == "LANCESROOM_LANCE" then return npc end + end + end + + local function approach(fromX, fromY, dir, label, shotName) + U.teleport(game, "LANCES_ROOM", fromX, fromY, dir) + local ow = game.overworld + if not check(label .. " overworld up in LANCES_ROOM", ow and ow.map.id == "LANCES_ROOM") then + return false + end + local lance = findLance(ow) + if not check(label .. " Lance present", lance ~= nil) then return false end + check(label .. " Lance starts facing down", lance.facing == "down") + U.hold(game, dir, 4) + local opened = false + for _ = 1, 600 do + if game.stack:top() ~= ow then opened = true break end + U.wait(1) + end + check(label .. " pre-battle text opens", opened) + U.wait(40) + check(label .. " Lance still faces down during his text", lance.facing == "down") + if lance.facing ~= "down" then U.log(label, "lance facing", lance.facing) end + U.still(game, DIR .. "/" .. shotName) + return true + end + + game.save.party = { Pokemon.new(game.data, "MEWTWO", 100) } + game.save.flags.EVENT_BEAT_LANCE = nil + game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR = true + + approach(5, 2, "up", "2669 side (5,1)", "2669_01_side_tile_lance_faces_down.png") + approach(6, 3, "up", "2669 front (6,2)", "2669_02_front_tile_lance_faces_down.png") + + finish() +end diff --git a/tests/drivers/lance_victory_music_bug2659.lua b/tests/drivers/lance_victory_music_bug2659.lua new file mode 100644 index 00000000..d655268d --- /dev/null +++ b/tests/drivers/lance_victory_music_bug2659.lua @@ -0,0 +1,85 @@ +-- POKEPORT_DRIVER=tests/drivers/lance_victory_music_bug2659.lua POKEPORT_SHOT_DIR=/tmp/shots love . +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/shots" + local Pokemon = require("src.pokemon.Pokemon") + local Music = require("src.core.Music") + local BattleState = require("src.battle.BattleState") + local Timing = require("src.core.Timing") + os.execute('mkdir -p "' .. DIR .. '" 2>/dev/null') + + local failed = false + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then failed = true end + return ok + end + + local played = {} + local realPlayBattle = Music.playBattle + Music.playBattle = function(data, kind, trainerId, song) + played[#played + 1] = { call = "battle", kind = kind } + return realPlayBattle(data, kind, trainerId, song) + end + local realPlayVictory = Music.playVictory + Music.playVictory = function(data, kind, trainerId) + played[#played + 1] = { call = "victory", kind = kind } + return realPlayVictory(data, kind, trainerId) + end + local function lastKind(call) + local k + for _, p in ipairs(played) do + if p.call == call then k = p.kind end + end + return k + end + + U.newGame(game) + local mon = Pokemon.new(game.data, "MEWTWO", 100) + mon.moves = { { id = "SWIFT", pp = 20, maxPp = 20, ppUps = 0 } } + game.save.party = { mon } + game.save.player.name = "RED" + U.teleport(game, "LANCES_ROOM", 5, 3, "up") + U.wait(20) + local ow = game.overworld + check("overworld up in LANCES_ROOM", ow ~= nil) + if not ow then love.event.quit(1) return end + + local battle = BattleState.newTrainer(game, "OPP_LANCE", 1) + battle.onFinish = function() end + for i, m in ipairs(battle.enemyParty) do + m.hp = (i == 1) and 1 or 0 + end + battle.enemy.shownHP = 1 + battle.enemy.shownPx = Timing.hpBarPixels(1, math.max(1, battle.enemy.mon.stats.hp)) + ow:pushBattle(battle) + + for _ = 1, 900 do + if game.stack:top() == battle and battle.musicKind then break end + U.wait(1) + end + check("lance battle on screen", game.stack:top() == battle) + check("lance battle theme is gym (play_battle_music.asm)", + battle.musicKind == "gym" and lastKind("battle") == "gym") + check("lance is not a wGymLeaderNo fight", not battle.isGymLeader) + + local won = false + for _ = 1, 3000 do + if lastKind("victory") then won = true break end + U.tap(game, "a") + U.wait(6) + end + check("lance defeated, victory theme requested", won) + check("lance victory theme is trainer (TrainerBattleVictory)", + lastKind("victory") == "trainer") + local b = game.data.audio and game.data.audio.battle + check("MUSIC_DEFEATED_TRAINER is playing", + b ~= nil and Music.current() == b.trainerWin + and b.trainerWin ~= b.gymWin) + + U.wait(40) + U.shot(game, DIR .. "/2659_01_lance_defeated_trainer_theme.png") + + Music.playBattle, Music.playVictory = realPlayBattle, realPlayVictory + love.event.quit(failed and 1 or 0) +end diff --git a/tests/drivers/lance_walk_in_bug2665.lua b/tests/drivers/lance_walk_in_bug2665.lua new file mode 100644 index 00000000..b169eb0e --- /dev/null +++ b/tests/drivers/lance_walk_in_bug2665.lua @@ -0,0 +1,77 @@ +-- scripts/LancesRoom.asm:96 +-- scripts/LancesRoom.asm:111 +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/shots" + local Pokemon = require("src.pokemon.Pokemon") + local ok = true + + local function check(label, cond) + print((cond and "PASS " or "FAIL ") .. label) + if not cond then ok = false end + return cond + end + + local function finish() + U.wait(5) + love.event.quit(ok and 0 or 1) + while true do coroutine.yield() end + end + + local mon = Pokemon.new(game.data, "MEWTWO", 100) + game.save.party = { mon } + game.save.flags.EVENT_BEAT_LANCE = nil + game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR = nil + + U.teleport(game, "LANCES_ROOM", 24, 16, "up") + local ow = game.overworld + if not check("2665 overworld up in LANCES_ROOM", ow and ow.map.id == "LANCES_ROOM") then + return finish() + end + + local shots = { + ["21,16"] = "2665_01_left_off_the_stairs.png", + ["18,20"] = "2665_02_down_the_right_corridor.png", + ["12,23"] = "2665_03_left_along_the_bottom.png", + ["6,16"] = "2665_04_up_the_middle_column.png", + } + local cells = { "24,16" } + local lastKey = "24,16" + for _ = 1, 20000 do + local p = ow.player + local key = p.cellX .. "," .. p.cellY + if key ~= lastKey then + cells[#cells + 1] = key + lastKey = key + if shots[key] then + U.still(game, DIR .. "/" .. shots[key]) + shots[key] = nil + end + end + if #(ow.scriptMoves or {}) == 0 and #cells > 1 and not p.moving then break end + U.wait(1) + end + + local expected = { "24,16" } + local x, y = 24, 16 + local D = { up = { 0, -1 }, down = { 0, 1 }, left = { -1, 0 } } + for _, seg in ipairs({ { "left", 6 }, { "down", 7 }, { "left", 12 }, { "up", 12 } }) do + for _ = 1, seg[2] do + x, y = x + D[seg[1]][1], y + D[seg[1]][2] + expected[#expected + 1] = x .. "," .. y + end + end + check("2665 first step leaves the stairs going left", cells[2] == "23,16") + check("2665 walk-in follows the reversed WalkToLance list cell for cell", + table.concat(cells, " ") == table.concat(expected, " ")) + if table.concat(cells, " ") ~= table.concat(expected, " ") then + U.log("got", table.concat(cells, " ")) + end + check("2665 lands on (6,11)", ow.player.cellX == 6 and ow.player.cellY == 11) + check("2665 door locks on landing", game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR == true) + check("2665 door blocks closed", ow.map:blockAt(2, 6) == 0x72 and ow.map:blockAt(3, 6) == 0x73) + U.wait(10) + U.still(game, DIR .. "/2665_05_landed_door_locked.png") + + finish() +end diff --git a/tests/drivers/mart_split_stack_bug2671.lua b/tests/drivers/mart_split_stack_bug2671.lua new file mode 100644 index 00000000..1fb9b48c --- /dev/null +++ b/tests/drivers/mart_split_stack_bug2671.lua @@ -0,0 +1,128 @@ +-- engine/events/pokemart.asm:152 +-- engine/items/inventory.asm:59 +-- POKEPORT_DRIVER=tests/drivers/mart_split_stack_bug2671.lua POKEPORT_IDENTITY=bsa1005-red-2671 POKEPORT_VERSION=red love . +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local Bag = require("src.inventory.Bag") + local Menu = require("src.ui.Menu") + local ListMenu = require("src.ui.ListMenu") + local QuantityBox = require("src.ui.QuantityBox") + local ChoiceBox = require("src.ui.ChoiceBox") + local TextBox = require("src.render.TextBox") + + local failures = 0 + local function check(label, ok) + if not ok then failures = failures + 1 end + U.log(ok and "PASS" or "FAIL", label) + return ok + end + local function top() return game.stack:top() end + local function topIs(cls) return getmetatable(top()) == cls end + local function waitFor(pred, frames) + for _ = 1, frames or 300 do + if pred() then return true end + U.wait(1) + end + return pred() + end + local function rows() + local out = {} + for _, r in ipairs(Bag.rows(game.save, game.data)) do + out[#out + 1] = r.id .. "x" .. tostring(r.count) + end + return table.concat(out, ",") + end + local function finish() + U.log(failures == 0 and "PASS mart_split_stack_bug2671" + or ("FAIL mart_split_stack_bug2671 (" .. failures .. " failures)")) + love.event.quit(failures == 0 and 0 or 1) + U.wait(600) + end + + local MONEY = 104276 + local ok, err = pcall(function() + game.save.money = MONEY + game.save.inventory = { X_ACCURACY = 2, POTION = 3 } + game.save.bagOrder = { "X_ACCURACY", "POTION" } + U.teleport(game, "CELADON_MART_5F", 5, 5, "up") + U.wait(10) + + for _ = 1, 60 do + if topIs(Menu) then break end + U.tap(game, "a") + U.wait(4) + end + if not check("the X item clerk's mart menu opens", topIs(Menu)) then return end + local menu = top() + + U.tap(game, "a") + if not check("BUY opens the list", waitFor(function() return topIs(ListMenu) end, 300)) then return end + local list = top() + check("the cursor is on X ACCURACY", list.items[list.index].value == "X_ACCURACY") + U.wait(4) + U.tap(game, "a") + if not check("the quantity box opens", waitFor(function() return topIs(QuantityBox) end, 30)) then return end + local qty = top() + check("the selector max stays 99", qty.max == 99) + U.wait(4) + U.tap(game, "down") + U.wait(4) + check("DOWN wraps to x99", qty.qty == 99) + U.still(game, DIR .. "/2671_01_buy_x99.png") + + U.tap(game, "a") + if not check("YES/NO opens", waitFor(function() + if topIs(TextBox) and top().waiting then U.tap(game, "a") end + return topIs(ChoiceBox) + end, 600)) then return end + U.wait(4) + U.tap(game, "a") + local receipt + check("the clerk hands the items over", waitFor(function() + local t = top() + if getmetatable(t) == TextBox and t.pages then + local text = table.concat(t.pages[1] or {}, " ") + if text:find("Here you are", 1, true) then receipt = t return true end + if text:find("carry", 1, true) then return true end + end + return false + end, 600) and receipt ~= nil) + check("94050 is paid", game.save.money == MONEY - 94050) + check("the bag holds 101 X ACCURACY", game.save.inventory.X_ACCURACY == 101) + check("the overflow sits in a new last slot: " .. rows(), + rows() == "X_ACCURACYx99,POTIONx3,X_ACCURACYx2") + waitFor(function() return receipt.done end, 600) + U.still(game, DIR .. "/2671_02_here_you_are.png") + + for _ = 1, 30 do + if top() == list then break end + U.tap(game, "a") + U.wait(4) + end + U.tap(game, "b") + if not check("B returns to BUY/SELL/QUIT", waitFor(function() + if topIs(TextBox) and top().waiting then U.tap(game, "a") end + return top() == menu + end, 600)) then return end + U.wait(4) + U.tap(game, "down") + U.wait(4) + U.tap(game, "a") + if not check("SELL opens the bag list", waitFor(function() return topIs(ListMenu) end, 300)) then return end + local sellList = top() + U.wait(30) + local counts = {} + for _, it in ipairs(sellList.items) do + if not it.cancel then counts[#counts + 1] = it.value .. "x" .. tostring(it.count) end + end + check("the sell list shows two X ACCURACY rows: " .. table.concat(counts, ","), + table.concat(counts, ",") == "X_ACCURACYx99,POTIONx3,X_ACCURACYx2") + U.still(game, DIR .. "/2671_03_sell_list_split_rows.png") + end) + if not ok then + failures = failures + 1 + U.log("FAIL driver error:", tostring(err)) + end + finish() +end diff --git a/tests/drivers/oak_naming_empty_start_bug2687.lua b/tests/drivers/oak_naming_empty_start_bug2687.lua new file mode 100644 index 00000000..38d2647b --- /dev/null +++ b/tests/drivers/oak_naming_empty_start_bug2687.lua @@ -0,0 +1,89 @@ +-- engine/movie/oak_speech/oak_speech2.asm:20 +return function(game) + local U = dofile("tests/drivers/util.lua") + local NamingScreen = require("src.ui.NamingScreen") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") + or "/tmp/shots" + local failed = false + + local function check(label, ok) + if ok then print("PASS " .. label) else print("FAIL " .. label) failed = true end + return ok + end + + local function finish() + print(failed and "FAIL oak_naming_empty_start_bug2687" + or "PASS oak_naming_empty_start_bug2687") + love.event.quit(failed and 1 or 0) + while true do coroutine.yield() end + end + + local function namingScreen() + local states = game.stack.states or {} + for i = #states, 1, -1 do + if getmetatable(states[i]) == NamingScreen then return states[i] end + end + return nil + end + + local function topIsGrid(ns) + return ns ~= nil and game.stack:top() == ns and not ns.choosing + end + + U.wait(5) + U.tap(game, "start") + U.wait(10) + local title = game.stack:top() + for _ = 1, 60 do + U.tap(game, "a") + U.wait(5) + if game.stack:top() ~= title then break end + end + U.tap(game, "a") + U.wait(10) + + local ns + for _ = 1, 3000 do + ns = namingScreen() + if ns and ns.choosing then break end + if game.overworld and game.stack:top() == game.overworld then break end + U.tap(game, "a") + U.wait(2) + end + if not check("reached_player_name_menu", ns ~= nil and ns.choosing) then finish() end + U.wait(30) + U.shot(game, DIR .. "/2687_01_name_menu.png") + + U.tap(game, "a") + U.wait(30) + check("new_name_opens_empty_grid", topIsGrid(ns) and #ns.glyphs == 0) + ns.row, ns.col = 3, 4 + U.shot(game, DIR .. "/2687_02_empty_grid_before_start.png") + + U.tap(game, "start") + check("empty_start_keeps_grid_up", game.stack:top() == ns) + check("empty_start_whites_out", (ns.whiteout or 0) > 0) + U.still(game, DIR .. "/2687_03_white_reentry.png") + + U.wait(60) + check("whiteout_ends", (ns.whiteout or 0) == 0) + check("grid_back_with_cursor_on_A", topIsGrid(ns) and ns.row == 1 and ns.col == 1) + U.shot(game, DIR .. "/2687_04_grid_back_cursor_on_A.png") + + U.tap(game, "start") + U.wait(60) + check("second_empty_start_still_on_grid", topIsGrid(ns) and #ns.glyphs == 0) + + ns.row, ns.col = 1, 1 + U.tap(game, "a") + U.wait(5) + check("typed_letter_A", #ns.glyphs == 1 and ns.glyphs[1] == "A") + U.shot(game, DIR .. "/2687_05_typed_A.png") + U.tap(game, "start") + U.wait(30) + check("typed_name_confirms", namingScreen() == nil) + check("player_named_A", game.save.player.name == "A") + U.shot(game, DIR .. "/2687_06_your_name_is_A.png") + + finish() +end diff --git a/tests/drivers/oak_shrink_bug2685.lua b/tests/drivers/oak_shrink_bug2685.lua new file mode 100644 index 00000000..faf9e7b7 --- /dev/null +++ b/tests/drivers/oak_shrink_bug2685.lua @@ -0,0 +1,96 @@ +return function(game) + local U = dofile("tests/drivers/util.lua") + local Oak = require("src.ui.OakSpeech") + local TB = require("src.render.TextBox") + local PF = require("src.render.PaletteFX") + local dir = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local failed = false + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + failed = failed or not ok + return ok + end + local origMode = PF.mode + + while game.stack:top() do game.stack:pop() end + game.save.options.textSpeed = 1 + local speech = Oak.new(game, function() end) + game.stack:push(speech) + local legend + for i, step in ipairs(speech.steps) do if step.id == "legend" then legend = i end end + + for _ = 1, 4000 do + if speech.step == legend then break end + U.tap(game, "a") + U.wait(2) + end + check("reached legend step", speech.step == legend) + + local arrowOnLast, aPresses = false, 0 + for _ = 1, 2000 do + if speech.shrink then break end + local top = game.stack:top() + if getmetatable(top) == TB then + if top.waiting then + U.tap(game, "a") + aPresses = aPresses + 1 + else + if top.done and top:arrowVisible() then arrowOnLast = true end + U.wait(1) + end + else + U.wait(1) + end + end + check("legend last page has no arrow", not arrowOnLast) + check("legend closes into the shrink with no A press", speech.shrink ~= nil) + + local firstSeen = {} + local function tag() + if speech.pic == speech.playerPic then return "red" end + if speech.pic == speech.shrinkPic1 then return "p1" end + if speech.pic == speech.shrinkPic2 then return "p2" end + if speech.walkVisible then return "walk" end + return "none" + end + local shots = {} + local replayOg, bakedOg = false, false + for _ = 1, 400 do + local s = speech.shrink + if not s then break end + local f = s.frame + local t = tag() + if f > 0 and not firstSeen[t] then firstSeen[t] = f end + if f == Oak.SHRINK_PIC1_AT + 20 and not shots.p1 then + shots.p1 = U.still(game, dir .. "/2685_01_shrinkpic1_held.png") + elseif f == Oak.SHRINK_PIC2_AT + 16 and not shots.p2 then + shots.p2 = U.still(game, dir .. "/2685_02_shrinkpic2_held.png") + elseif f == Oak.SHRINK_WALK_AT + 10 and not shots.walk then + shots.walk = U.still(game, dir .. "/2685_03_walk_sprite_" .. origMode .. ".png") + PF.setMode("ogred") + U.wait(1) + elseif f == Oak.SHRINK_WALK_AT + 20 and not shots.walkOg then + shots.walkOg = U.still(game, dir .. "/2685_04_walk_sprite_ogred_green.png") + local r = PF.uiSpriteRedraws() + replayOg = r[1] ~= nil + bakedOg = r[1] ~= nil and r[1].image ~= speech.walkSheet + elseif f == Oak.SHRINK_FADE_AT + 10 and not shots.fade then + shots.fade = U.still(game, dir .. "/2685_05_fade_ogred_sprite_lightened.png") + else + U.wait(1) + end + end + PF.setMode(origMode) + + U.log("first frames red/p1/p2/walk:", tostring(firstSeen.red), tostring(firstSeen.p1), + tostring(firstSeen.p2), tostring(firstSeen.walk)) + check("RedPicFront held >= 30 frames", (firstSeen.p1 or 0) - 1 >= 30) + check("ShrinkPic1 held >= 30 frames", + firstSeen.p1 and firstSeen.p2 and firstSeen.p2 - firstSeen.p1 >= 30) + check("ShrinkPic2 held >= 25 frames", + firstSeen.p2 and firstSeen.walk and firstSeen.walk - firstSeen.p2 >= 25) + check("OG RED walk sprite is OBJ-baked and replayed", replayOg and bakedOg) + check("shrink finished", speech.shrink == nil) + check("shots written", shots.p1 and shots.p2 and shots.walk and shots.walkOg and shots.fade) + love.event.quit(failed and 1 or 0) +end diff --git a/tests/drivers/oak_starter_ball_hide_bug2686.lua b/tests/drivers/oak_starter_ball_hide_bug2686.lua new file mode 100644 index 00000000..3e017e91 --- /dev/null +++ b/tests/drivers/oak_starter_ball_hide_bug2686.lua @@ -0,0 +1,141 @@ +-- scripts/OaksLab.asm:918 +return function(game) + local U = dofile("tests/drivers/util.lua") + local TextBox = require("src.render.TextBox") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") + or "/tmp/shots" + + local MAP = "OAKS_LAB" + local OWN = "OAKSLAB_SQUIRTLE_POKE_BALL" + local RIVAL = "OAKSLAB_BULBASAUR_POKE_BALL" + local LIMIT = 120000 + local failed = false + + local function check(label, ok) + if ok then print("PASS " .. label) else print("FAIL " .. label) failed = true end + return ok + end + + local function finish() + print(failed and "FAIL oak_starter_ball_hide_bug2686" + or "PASS oak_starter_ball_hide_bug2686") + love.event.quit(failed and 1 or 0) + while true do coroutine.yield() end + end + + local function ballShown(name) + local ow = game.overworld + for _, n in ipairs(ow and ow.npcs or {}) do + if n.def and n.def.name == name then return true end + end + return false + end + + local function boxText() + local states = game.stack.states or {} + for i = #states, 1, -1 do + local s = states[i] + if getmetatable(s) == TextBox then + local out = {} + for _, page in ipairs(s.pages or {}) do + for _, line in ipairs(page) do out[#out + 1] = line end + end + return table.concat(out, " "):lower(), s + end + end + return "", nil + end + + local function scriptRunning() + local ow = game.overworld + return ow and ow.runner and ow.runner:isRunning() + end + + local save = game.save + save.player.name = (save.player.name and save.player.name ~= "") + and save.player.name or "RED" + save.party = {} + save.flags.EVENT_FOLLOWED_OAK_INTO_LAB = true + save.flags.EVENT_FOLLOWED_OAK_INTO_LAB_2 = true + save.flags.EVENT_GOT_STARTER = nil + save.objectToggles = save.objectToggles or {} + save.objectToggles[MAP] = save.objectToggles[MAP] or {} + local tog = save.objectToggles[MAP] + tog.OAKSLAB_OAK1 = true + tog.OAKSLAB_OAK2 = false + tog.OAKSLAB_RIVAL = true + tog.OAKSLAB_CHARMANDER_POKE_BALL = true + tog.OAKSLAB_SQUIRTLE_POKE_BALL = true + tog.OAKSLAB_BULBASAUR_POKE_BALL = true + + U.teleport(game, MAP, 7, 4, "up") + U.wait(20) + check("squirtle_ball_on_table_before_pick", ballShown(OWN)) + check("rival_counter_ball_on_table_before_pick", ballShown(RIVAL)) + + U.tap(game, "a") + U.wait(10) + + local sawEnergetic = false + for _ = 1, LIMIT do + local txt = boxText() + if txt:find("energetic", 1, true) then sawEnergetic = true break end + if U.frame() % 6 == 0 then U.tap(game, "a") else U.wait(1) end + end + check("energetic_line_reached", sawEnergetic) + if not sawEnergetic then finish() end + check("ball_gone_when_energetic_line_opens", not ballShown(OWN)) + check("rival_ball_still_there_on_energetic_line", ballShown(RIVAL)) + check("no_starter_yet_on_energetic_line", #save.party == 0) + U.wait(90) + U.shot(game, DIR .. "/2686_01_energetic_line_ball_gone.png") + + local sawReceived = false + for _ = 1, LIMIT do + local txt = boxText() + if txt:find("received", 1, true) then sawReceived = true break end + if U.frame() % 6 == 0 then U.tap(game, "a") else U.wait(1) end + end + check("received_line_reached", sawReceived) + check("ball_gone_on_received_line", not ballShown(OWN)) + U.wait(120) + U.shot(game, DIR .. "/2686_02_received_line_ball_gone.png") + + local sawNick, nickBox = false, nil + for _ = 1, LIMIT do + local txt, box = boxText() + if txt:find("nickname", 1, true) then sawNick, nickBox = true, box break end + if U.frame() % 6 == 0 then U.tap(game, "a") else U.wait(1) end + end + check("nickname_prompt_reached", sawNick) + if not sawNick then finish() end + check("ball_gone_on_nickname_prompt", not ballShown(OWN)) + check("rival_ball_still_there_on_nickname_prompt", ballShown(RIVAL)) + for _ = 1, LIMIT do + if nickBox.choicePushed then break end + U.wait(1) + end + U.wait(20) + U.shot(game, DIR .. "/2686_03_nickname_prompt_ball_gone.png") + for _ = 1, LIMIT do + local _, box = boxText() + if box ~= nickBox then break end + if U.frame() % 6 == 0 then U.tap(game, "b") else U.wait(1) end + end + + for _ = 1, LIMIT do + if not scriptRunning() and game.stack:top() == game.overworld then break end + local _, box = boxText() + if box and box.done and not box.choice then U.tap(game, "a") else U.wait(1) end + end + U.wait(20) + check("script_finished", not scriptRunning()) + check("player_got_squirtle", + save.party[1] ~= nil and save.party[1].species == "SQUIRTLE") + check("own_ball_still_hidden_after_pick", not ballShown(OWN)) + check("rival_took_bulbasaur_ball", not ballShown(RIVAL)) + check("charmander_ball_left_on_table", + ballShown("OAKSLAB_CHARMANDER_POKE_BALL")) + U.shot(game, DIR .. "/2686_04_after_rival_pick.png") + finish() +end diff --git a/tests/drivers/og_sprite_obp0_bug2689.lua b/tests/drivers/og_sprite_obp0_bug2689.lua new file mode 100644 index 00000000..c343d6b9 --- /dev/null +++ b/tests/drivers/og_sprite_obp0_bug2689.lua @@ -0,0 +1,48 @@ +return function(game) + local U = dofile("tests/drivers/util.lua") + local Probe = dofile("tests/drivers/shot_probe.lua") + local PaletteFX = require("src.render.PaletteFX") + local GameVersion = require("src.core.GameVersion") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "." + + local fails = 0 + local function check(cond, label) + if not cond then fails = fails + 1 end + print((cond and "PASS " or "FAIL ") .. label) + end + + local savedVer = GameVersion.get() + game.save.options = game.save.options or {} + game.save.options.colors = "ogred" + PaletteFX.setMode("ogred") + + local function visit(version, shotName) + GameVersion.set(version) + U.teleport(game, "OAKS_LAB", 5, 5, "up") + U.wait(60) + local base = PaletteFX.ogObjBase() + local shot = Probe.grab() + if not shot then + check(false, version .. " screen probe available") + else + local counts = Probe.count(shot, { + light = base[2], dark = base[3], + }, 1) + U.log(version, "OBJ light px", counts.light, "OBJ dark px", counts.dark) + check(counts.dark == 0, version .. " no dark OBJ shade on overworld sprites") + check(counts.light > 0, version .. " light OBJ shade drawn on overworld sprites") + end + local colors = PaletteFX.ogObjWorld() + check(colors[2] == base[1] and colors[3] == base[2] and colors[4] == base[4], + version .. " overworld bake is rOBP0 $D0") + check(U.shot(game, DIR .. "/" .. shotName), version .. " shot reached disk") + end + + local ok, err = pcall(function() + visit("red", "2689_01_red_oaks_lab_white_faces.png") + visit("blue", "2689_02_blue_oaks_lab_white_faces.png") + end) + if not ok then check(false, "driver ran: " .. tostring(err)) end + GameVersion.set(savedVer) + love.event.quit(fails == 0 and 0 or 1) +end diff --git a/tests/drivers/party_hp_columns_bug2672.lua b/tests/drivers/party_hp_columns_bug2672.lua new file mode 100644 index 00000000..cce6babd --- /dev/null +++ b/tests/drivers/party_hp_columns_bug2672.lua @@ -0,0 +1,106 @@ +-- engine/menus/party_menu.asm:71 +-- engine/menus/party_menu.asm:93 +-- engine/pokemon/status_screen.asm:46 +return function(game) + local U = dofile("tests/drivers/util.lua") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local PartyMenu = require("src.ui.PartyMenu") + local Pokemon = require("src.pokemon.Pokemon") + local Screens = require("src.ui.Screens") + local Font = require("src.render.Font") + + local failed = false + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then failed = true end + return ok + end + + local party = {} + for i, sp in ipairs({ "NIDOKING", "BULBASAUR", "MAGIKARP" }) do + local mon = Pokemon.new(game.data, sp, 50) + mon.stats.hp = 266 + mon.hp = 266 + party[i] = mon + end + game.save.party = party + game.save.player.name = game.save.player.name or "RED" + + U.teleport(game, "PALLET_TOWN", 10, 12, "down") + U.wait(10) + + local function render(drawFn) + local c = love.graphics.newCanvas(160, 144) + love.graphics.setCanvas(c) + love.graphics.clear(1, 1, 1, 1) + love.graphics.setColor(1, 1, 1, 1) + drawFn() + love.graphics.setCanvas() + love.graphics.setColor(1, 1, 1, 1) + return c:newImageData() + end + + local function ink(id, x0, y0, x1, y1) + local n = 0 + for y = y0, y1 do + for x = x0, x1 do + local r, g, b = id:getPixel(x, y) + if r + g + b < 2.7 then n = n + 1 end + end + end + return n + end + + local function sameInk(a, b, x0, y0, x1, y1) + for y = y0, y1 do + for x = x0, x1 do + local ra, ga, ba = a:getPixel(x, y) + local rb, gb, bb = b:getPixel(x, y) + if (ra + ga + ba < 2.7) ~= (rb + gb + bb < 2.7) then return false end + end + end + return true + end + + Screens.push(game, "PartyMenu", {}) + U.wait(12) + local pm = game.stack:top() + check("party_list_open", getmetatable(pm) == PartyMenu) + + if getmetatable(pm) == PartyMenu then + local id = render(function() pm:draw() end) + for i = 1, #party do + local hy = PartyMenu.entryY(i) + 8 + check(("row%d_col3_blank_under_name_start"):format(i), + ink(id, 24, hy, 31, hy + 7) == 0) + check(("row%d_hp_tile_at_col4"):format(i), ink(id, 32, hy, 39, hy + 7) > 0) + check(("row%d_cap_at_col12"):format(i), ink(id, 96, hy, 103, hy + 7) > 0) + local frac = render(function() + love.graphics.setColor(0, 0, 0, 1) + Font.draw(("%3d/%3d"):format(party[i].hp, party[i].stats.hp), 104, hy) + end) + check(("row%d_col13_is_fraction_only"):format(i), + sameInk(id, frac, 104, hy, 111, hy + 7)) + end + U.still(game, DIR .. "/2672_01_party_hp_bar_gap_before_fraction.png") + end + + game.stack:pop() + U.wait(4) + Screens.push(game, "PartyMenu", { tmhm = { move = "SWORDS_DANCE", kind = "TM" } }) + U.wait(12) + local tm = game.stack:top() + check("tm_list_open", getmetatable(tm) == PartyMenu and tm.tmhm ~= nil) + if getmetatable(tm) == PartyMenu then + local id = render(function() tm:draw() end) + for i = 1, #party do + local hy = PartyMenu.entryY(i) + 8 + check(("tm_row%d_learn_text_starts_col12"):format(i), + ink(id, 88, hy, 95, hy + 7) == 0 and ink(id, 96, hy, 103, hy + 7) > 0) + end + U.still(game, DIR .. "/2672_02_tm_able_not_able_col12.png") + end + + print(failed and "FAIL party_hp_columns_bug2672" or "PASS party_hp_columns_bug2672") + love.event.quit(failed and 1 or 0) +end diff --git a/tests/drivers/party_hp_palette_bug274_test.lua b/tests/drivers/party_hp_palette_bug274_test.lua index a0f31bd8..64573963 100644 --- a/tests/drivers/party_hp_palette_bug274_test.lua +++ b/tests/drivers/party_hp_palette_bug274_test.lua @@ -6,15 +6,17 @@ -- POKEPORT_IDENTITY=bug274 SHOT_DIR=/tmp/shots love . return function(game) local U = dofile("tests/drivers/util.lua") - local DIR = os.getenv("SHOT_DIR") or "/tmp/shots" + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" local PaletteFX = require("src.render.PaletteFX") local PartyMenu = require("src.ui.PartyMenu") local Pokemon = require("src.pokemon.Pokemon") local Screens = require("src.ui.Screens") local Strings = require("src.core.Strings") + local failed = false local function check(label, ok) U.log(ok and "PASS" or "FAIL", label) + if not ok then failed = true end return ok end @@ -159,7 +161,7 @@ return function(game) :format(i, row.hp, row.pal), z ~= nil and z.colors == pal(row.pal)) check(("row %d's block covers the bar's cap + six fill tiles"):format(i), - z ~= nil and z.x == 48 and z.w == 56 and z.y == (i * 2 - 1) * 8 + z ~= nil and z.x == 40 and z.w == 56 and z.y == (i * 2 - 1) * 8 and z.h == 8) end @@ -227,14 +229,12 @@ return function(game) check("the icon column is drawn (not blank)", flesh > 0) -- (b) the bars: each row's fill must be ITS OWN bar color and none of the - -- other two. Fill tiles run x 56..103 (drawHPBar at tile 5: "HP" 40, - -- ":[" 48, six fill tiles 56..103, cap 104). for i, row in ipairs(ROWS) do local y0 = (i * 2 - 1) * 8 local own = pal(row.pal) -- the three bar palettes share color 0/1/3; only color 2, the fill -- shade, tells them apart - local mine = countColor(id, own and own[3], 56, y0, 103, y0 + 7) + local mine = countColor(id, own and own[3], 48, y0, 95, y0 + 7) U.log((" row %d (%d/48 HP) %s fill pixels: %d") :format(i, row.hp, row.pal, mine)) if row.fill then @@ -243,7 +243,7 @@ return function(game) for _, other in ipairs({ "GREENBAR", "YELLOWBAR", "REDBAR" }) do if other ~= row.pal then local c = pal(other) - local n = countColor(id, c and c[3], 56, y0, 103, y0 + 7) + local n = countColor(id, c and c[3], 48, y0, 95, y0 + 7) check(("row %d's bar carries no %s"):format(i, other), n == 0) end end @@ -275,7 +275,5 @@ return function(game) U.log("OPTION -> COLORS cycles modes; OG and CLASSIC are mono by design.") U.log("Captures: bug274_party_advanced.png and bug274_party_sgb.png in " .. DIR) - while true do - coroutine.yield() - end + love.event.quit(failed and 1 or 0) end diff --git a/tests/drivers/party_icon_hollow_bug2682.lua b/tests/drivers/party_icon_hollow_bug2682.lua new file mode 100644 index 00000000..ad0d1344 --- /dev/null +++ b/tests/drivers/party_icon_hollow_bug2682.lua @@ -0,0 +1,114 @@ +return function(game) + local U = dofile("tests/drivers/util.lua") + local Pokemon = require("src.pokemon.Pokemon") + local PartyMenu = require("src.ui.PartyMenu") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + + local fails = 0 + local function check(ok, label) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then fails = fails + 1 end + return ok + end + local function finish() + love.event.quit(fails == 0 and 0 or 1) + while true do coroutine.yield() end + end + + if not U.newGame(game) then + check(false, "2682 reached the overworld") + finish() + end + game.save.options = game.save.options or {} + game.save.options.textSpeed = 5 + game.save.inventory.SOULBADGE = true + + local surfer = Pokemon.new(game.data, "SQUIRTLE", 30) + surfer.moves = { { id = "SURF", pp = 15 } } + local other = Pokemon.new(game.data, "PIDGEY", 30) + game.save.party = { surfer, other } + game.partyMenuSavedIndex = 1 + + U.teleport(game, "PALLET_TOWN", 4, 13, "down") + local ow = game.overworld + ow.player.surfing = false + check(ow:useSurfFieldMove() == "ok", "2682 (4,13) faces surfable water") + + U.tap(game, "start") + U.wait(12) + local menu = game.stack:top() + local row + for i, it in ipairs(menu and menu.items or {}) do + if tostring(it.label):upper():find("MON", 1, true) then row = i break end + end + if not check(row ~= nil, "2682 START menu lists POKEMON") then finish() end + for _ = 2, row do U.tap(game, "down"); U.wait(2) end + U.tap(game, "a") + U.wait(12) + local pm = game.stack:top() + if not check(getmetatable(pm) == PartyMenu, "2682 party menu open") then finish() end + + local b0 = pm.blink + U.wait(20) + check(pm.blink ~= b0, "2682 cursor icon animates while the list takes input") + + U.tap(game, "a") + U.wait(8) + if not check(pm.submenu, "2682 A opens the field-move submenu") then finish() end + local frozen = pm.blink + U.wait(40) + check(pm.blink == frozen, "2682 icon frozen behind the submenu") + U.still(game, DIR .. "/2682_01_submenu_icon_frozen.png") + U.wait(10) + check(pm.blink == frozen, "2682 icon still frozen ten frames later") + U.still(game, DIR .. "/2682_02_submenu_icon_frozen_later.png") + + U.tap(game, "b") + U.wait(1) + check(not pm.submenu and pm.blink <= 1, "2682 B back to the list restarts the icon") + U.wait(9) + U.tap(game, "down") + check(pm.index == 2 and pm.blink <= 1, "2682 cursor move restarts the icon on its rest frame") + U.wait(4) + U.tap(game, "up") + U.wait(4) + check(pm.index == 1, "2682 cursor back on the surfer") + + U.tap(game, "a") + U.wait(8) + local sub + for i, it in ipairs(pm.subItems or {}) do + if it.action == "surf" then sub = i break end + end + if not check(sub ~= nil, "2682 SURF listed in the submenu") then finish() end + for _ = 2, sub do U.tap(game, "down"); U.wait(2) end + U.tap(game, "a") + U.wait(6) + local top = game.stack:top() + check(top ~= pm and top and top.pages ~= nil, "2682 got-on text is up") + check(game.stack.states[game.stack:visibleBase()] == pm, + "2682 party list is the backdrop of the got-on text") + check(not pm.submenu and pm.chosenHollow == true, + "2682 party cursor stays hollow under the got-on text") + local textBlink = pm.blink + local printed = false + for _ = 1, 600 do + if top.done or top.waiting then printed = true break end + U.wait(1) + end + check(printed, "2682 got-on text finished printing") + U.wait(4) + check(pm.blink == textBlink, "2682 icon frozen under the got-on text") + U.still(game, DIR .. "/2682_03_surf_text_hollow_cursor.png") + + for _ = 1, 400 do + local t = game.stack:top() + if not (t and t.pages) then break end + U.tap(game, "a") + U.wait(3) + end + U.wait(60) + check(ow.player.surfing == true, "2682 SURF mounted after the text") + + finish() +end diff --git a/tests/drivers/rage_building_bug2652.lua b/tests/drivers/rage_building_bug2652.lua new file mode 100644 index 00000000..cf6b7867 --- /dev/null +++ b/tests/drivers/rage_building_bug2652.lua @@ -0,0 +1,135 @@ +-- engine/battle/core.asm:3227 +-- engine/battle/core.asm:4913 +local U = require("tests.drivers.util") +local Battle = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local Version = require("src.core.GameVersion") + +return function(game) + local deadline = love.timer.getTime() + 25 + local old = {} + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do old[k] = rawget(game, k) end + local keys = { "save", "saveOptions", "saveLiveOptions", "writeSlot", "writeCartSlot" } + local writers = {} + for _, k in ipairs(keys) do writers[k] = SaveData[k] end + local volume = love.audio.getVolume() + local fails = 0 + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then fails = fails + 1 end + return ok + end + + local ok, err = xpcall(function() + assert(Version.generation() == 1, "Gen1 required") + local out = assert(os.getenv("POKEPORT_SHOT_DIR"), "shot directory required") + local function forbidden() error("#2652 unexpected persistent write") end + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do game[k] = forbidden end + for _, k in ipairs(keys) do SaveData[k] = forbidden end + love.audio.setVolume(0) + + local function wait(n) + for _ = 1, n do + assert(love.timer.getTime() < deadline, "#2652 deadline") + U.wait(1) + end + end + local function fullyTyped(b) + local row = b.shown and b.shown[#b.shown] + return b.current and row and b.codes and #row == #b.codes and b.lineIndex == #b.lines + and b.total and b.total > 0 and b.charIndex >= b.total and not b.scrollPx and not b.msgWaiting + end + local function move(id) + local def = assert(game.data.moves[id], "required imported move " .. id) + return { id = id, pp = def.pp, maxPp = def.pp } + end + + game:startNewGame({ intro = false }) + game.save.options.animations = false + game.save.options.textSpeed = 1 + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + local player = Pokemon.new(game.data, "WARTORTLE", 30) + player.moves = { move("SURF") } + game.save.party = { player } + local battle = Battle.newWild(game, "CHARMELEON", 50) + battle.enemy.mon.moves = { move("RAGE") } + battle.enemy.curMoves = battle.enemy.mon.moves + battle.enemy.rageMove = battle.enemy.curMoves[1] + battle.rng = function(a) return a or 0 end + + local seen = {} + local seenRows = {} + local update = battle.update + battle.update = function(self, ...) + update(self, ...) + local row = self.current + if row and row.text and not seenRows[row] then + seenRows[row] = true + seen[#seen + 1] = row.text + end + end + game.stack:push(battle) + + local function advanceUntil(fn, label) + for _ = 1, 3000 do + if fn() then return true end + if battle.current and not battle.current.auto and fullyTyped(battle) then U.tap(game, "a") end + wait(1) + end + error(label) + end + local function settledOn(fragment) + return function() + return battle.current and battle.current.text + and battle.current.text:find(fragment, 1, true) and fullyTyped(battle) + end + end + local function pickSurf() + advanceUntil(function() return battle.phase == "menu" end, "menu did not settle") + U.tap(game, "a") + advanceUntil(function() return battle.phase == "moveSelect" end, "move list missing") + U.tap(game, "a") + end + local function find(needle, from) + for i = from or 1, #seen do + if seen[i]:find(needle, 1, true) then return i end + end + end + + pickSurf() + local surfAt = #seen + 1 + advanceUntil(settledOn("RAGE is building!"), "rage page never settled") + assert(U.still(game, out .. "/2654_01_rage_after_super_effective.png"), "capture failed") + U.tap(game, "a") + advanceUntil(settledOn("ATTACK rose!"), "rose page never settled") + assert(U.still(game, out .. "/2654_02_attack_rose.png"), "capture failed") + + local used = find("used SURF", surfAt) + local super = find("super", used) + local rage = find("RAGE is building!", used) + local rose = find("ATTACK rose!", used) + check("#2654 Surf, super effective, rage and rose pages all shown", used and super and rage and rose) + check("#2654 super effective prints before RAGE is building", super and rage and super < rage) + check("#2654 ATTACK rose prints after RAGE is building", rage and rose and rage < rose) + check("#2654 rage raised the enemy attack stage", (battle.enemy.stages.attack or 0) >= 1) + + advanceUntil(function() return battle.phase == "menu" end, "turn 1 did not finish") + battle.enemy.mon.hp, battle.enemy.shownHP = 1, 1 + local koFrom = #seen + 1 + pickSurf() + advanceUntil(settledOn("fainted!"), "faint page never settled") + assert(U.still(game, out .. "/2652_03_ko_faint_no_rage.png"), "capture failed") + local koUsed = find("used SURF", koFrom) + check("#2652 the KO turn reached Surf and the faint page", koUsed ~= nil) + check("#2652 no RAGE is building page on the fainting hit", koUsed and find("RAGE is building!", koUsed) == nil) + check("#2652 no ATTACK rose page on the fainting hit", koUsed and find("rose!", koUsed) == nil) + + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + end, debug.traceback) + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do game[k] = old[k] end + for _, k in ipairs(keys) do SaveData[k] = writers[k] end + love.audio.setVolume(volume) + if not ok then print("FAIL #2652 " .. tostring(err)) end + love.event.quit((ok and fails == 0) and 0 or 1) +end diff --git a/tests/drivers/route23_go_right_ahead_bug2649.lua b/tests/drivers/route23_go_right_ahead_bug2649.lua new file mode 100644 index 00000000..5dfd1a61 --- /dev/null +++ b/tests/drivers/route23_go_right_ahead_bug2649.lua @@ -0,0 +1,157 @@ +-- scripts/Route23.asm:237 +local U = require('tests.drivers.util') +local Version = require('src.core.GameVersion') +local TextBox = require('src.render.TextBox') + +local function pageText(box, i) + local page = box.pages and box.pages[i] + return page and table.concat(page, ' ') or '' +end + +return function(game) + local deadline = love.timer.getTime() + 90 + local ok, err = xpcall(function() + assert(Version.generation() == 1, 'Gen1 edition required') + local out = assert(os.getenv('POKEPORT_SHOT_DIR'), 'shot directory required') + love.audio.setVolume(0) + local function wait(n) + for _ = 1, n do + assert(love.timer.getTime() < deadline, '#2649 deadline') + U.wait(1) + end + end + local function untilReady(fn, limit, label) + for _ = 1, limit do if fn() then return end; wait(1) end + error(label) + end + local function isBox(s) return s and getmetatable(s) == TextBox end + assert(game.data.text._Route23GoRightAheadText, '_Route23GoRightAheadText missing from cache') + + game:startNewGame({ intro = false }) + game.save.inventory.CASCADEBADGE = 1 + U.teleport(game, 'ROUTE_23', 7, 137, 'up') + local ow = assert(game.overworld) + untilReady(function() + return game.stack:top() == ow and not ow.transitioning and not ow.player.moving + end, 400, 'field did not settle') + + U.hold(game, 'up', 4) + untilReady(function() return isBox(game.stack:top()) end, 200, 'guard text never opened') + local box = game.stack:top() + assert(#box.pages == 3, 'step path pages: ' .. #box.pages) + assert(pageText(box, 2):find('Oh! That is the', 1, true), 'page 2 is not the badge line') + assert(pageText(box, 3):find('OK then! Please,', 1, true), 'page 3 is not the go-ahead line') + print('PASS #2649 step path shows three pages ending in OK then! Please, go right ahead!') + + local sawFanfare = false + untilReady(function() + if box.pauseSrc or (box.pauseMark and box.pageIndex == 2) then sawFanfare = true end + if box.pageIndex == 2 and box.waiting and not box.pauseSrc then return true end + if box.pageIndex == 1 and box.waiting then U.tap(game, 'a') end + return false + end, 1200, 'badge page never settled') + assert(sawFanfare, 'Get_Item1 mark never fired on the badge page') + print('PASS #2649 Get_Item1 fires after Oh! That is the CASCADEBADGE!') + assert(U.still(game, out .. '/2649_01_badge_page_after_fanfare.png'), 'capture failed') + + untilReady(function() + if box.pageIndex < 3 and box.waiting then U.tap(game, 'a') end + return box.pageIndex == 3 and (box.done or box.waiting) + end, 600, 'go-ahead page never typed: page ' .. tostring(box.pageIndex)) + assert(U.still(game, out .. '/2649_02_step_go_right_ahead.png'), 'capture failed') + print('PASS #2649 step path go-ahead page typed in the same box') + + untilReady(function() + if game.stack:top() == box then U.tap(game, 'a') end + return game.stack:top() == ow + end, 300, 'step box never closed') + assert(ow.player.cellY == 136, 'player was turned back: y=' .. ow.player.cellY) + assert(game.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK, 'pass flag not set') + print('PASS #2649 step path lets the player through and sets EVENT_PASSED_CASCADEBADGE_CHECK') + + U.teleport(game, 'ROUTE_23', 7, 136, 'right') + ow = assert(game.overworld) + untilReady(function() + return game.stack:top() == ow and not ow.transitioning and not ow.player.moving + end, 400, 'field did not settle for talk') + U.tap(game, 'a') + untilReady(function() return isBox(game.stack:top()) end, 200, 'talk text never opened') + local seenOh, goBox = false, nil + untilReady(function() + local top = game.stack:top() + if isBox(top) then + for i = 1, #top.pages do + if pageText(top, i):find('Oh! That is the', 1, true) then seenOh = true end + if seenOh and pageText(top, i):find('OK then! Please,', 1, true) then goBox = top end + end + if goBox and goBox.pageIndex == #goBox.pages and (goBox.done or goBox.waiting) then + return true + end + if top.waiting or (top.done and not top.pauseSrc) then U.tap(game, 'a') end + end + return false + end, 2400, 'talk path never reached the go-ahead text') + assert(U.still(game, out .. '/2649_03_talk_go_right_ahead.png'), 'capture failed') + print('PASS #2649 talking to the guard also ends in OK then! Please, go right ahead!') + assert(#goBox.pages == 3, 'talk path pages: ' .. #goBox.pages) + assert(pageText(goBox, 2):find('Oh! That is the', 1, true), 'talk path: page 2 is not the badge line') + assert(goBox.pauseAt, 'talk path: no fanfare mark in the box') + print('PASS #2649 talk path is one box: badge line, fanfare mark, go-ahead page') + untilReady(function() + if game.stack:top() ~= ow then U.tap(game, 'a') end + return game.stack:top() == ow + end, 300, 'talk box never closed') + + local function failBox(label) + local fb = game.stack:top() + assert(isBox(fb), label .. ': no box') + assert(fb.auto and fb.auto.sound, label .. ': SFX_DENIED not armed after the text') + assert(not fb.autoStarted, label .. ': sound fired before the text typed') + untilReady(function() + if fb.autoStarted then return true end + if fb.waiting then U.tap(game, 'a') end + return false + end, 1200, label .. ': SFX_DENIED never fired after the text') + assert(fb.done, label .. ': sound fired before the last page typed') + print('PASS #2649 ' .. label .. ' plays SFX_DENIED after the text') + untilReady(function() + if game.stack:top() == fb then U.tap(game, 'a') end + return game.stack:top() == ow + end, 300, label .. ': fail box never closed') + untilReady(function() return not ow.player.moving and #ow.scriptMoves == 0 end, + 200, label .. ': walk-down never settled') + end + + game.save.inventory.CASCADEBADGE = nil + game.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK = nil + U.teleport(game, 'ROUTE_23', 7, 137, 'up') + ow = assert(game.overworld) + untilReady(function() + return game.stack:top() == ow and not ow.transitioning and not ow.player.moving + end, 400, 'field did not settle for the step fail') + U.hold(game, 'up', 4) + untilReady(function() return isBox(game.stack:top()) end, 200, 'step fail text never opened') + failBox('step fail') + assert(ow.player.cellY == 137, 'step fail: not pushed back down, y=' .. ow.player.cellY) + assert(ow.player.facing == 'down', 'step fail: facing ' .. tostring(ow.player.facing)) + assert(not game.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK, 'step fail set the pass flag') + print('PASS #2649 step fail walks the player back down') + + U.teleport(game, 'ROUTE_23', 8, 137, 'up') + ow = assert(game.overworld) + untilReady(function() + return game.stack:top() == ow and not ow.transitioning and not ow.player.moving + end, 400, 'field did not settle for the talk fail') + local canStepDown = ow.map:isWalkableCell(8, 138) + U.tap(game, 'a') + untilReady(function() return isBox(game.stack:top()) end, 200, 'talk fail text never opened') + failBox('talk fail') + assert(ow.player.facing == 'down', 'talk fail: facing ' .. tostring(ow.player.facing)) + assert(ow.player.cellY == (canStepDown and 138 or 137), + 'talk fail: y=' .. ow.player.cellY .. ' walkable=' .. tostring(canStepDown)) + assert(not game.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK, 'talk fail set the pass flag') + print('PASS #2649 talk fail runs Route23MovePlayerDownScript') + end, debug.traceback) + if not ok then print('FAIL #2649 ' .. tostring(err)) end + love.event.quit(ok and 0 or 1) +end diff --git a/tests/drivers/rs_menus_parity.lua b/tests/drivers/rs_menus_parity.lua new file mode 100644 index 00000000..105076f7 --- /dev/null +++ b/tests/drivers/rs_menus_parity.lua @@ -0,0 +1,176 @@ +local U = require("tests.drivers.util") +local DIR = os.getenv("POKEPORT_SHOT_DIR") or "/tmp/rs_menus_parity" + +local failures = 0 +local function check(ok, label) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then failures = failures + 1 end + return ok +end + +local function finish() + print((failures == 0 and "PASS" or "FAIL") .. " rs_menus_parity failures=" .. failures) + love.event.quit(failures == 0 and 0 or 1) + U.wait(10) +end + +local function shot(game, name) + U.wait(3) + U.shot(game, DIR .. "/" .. name .. ".png") + U.wait(2) +end + +local function until_(n, fn) + for _ = 1, n do + if fn() then return true end + U.wait(1) + end + return fn() +end + +local function demoMenus(game) + local Boot = require("src.ui.game3.boot") + local Menu = require("src.ui.game3.rs.main_menu") + local Pal = require("src.core.game3.pal_fade") + local origDraw = Boot.draw + local info = { name = "BRENDAN", gender = 0, hours = 12, minutes = 34, badges = 3, dexCount = 27, + mysteryEvents = true, frameType = 0 } + local cases = { + { "00-main-no-save", { hasContinue = false } }, + { "01-main-saved", { hasContinue = true, continueInfo = info, menuType = Menu.TYPE.HAS_SAVED_GAME } }, + { "02-main-mystery-events", { hasContinue = true, continueInfo = info, menuType = Menu.TYPE.HAS_MYSTERY_EVENT } }, + } + for _, c in ipairs(cases) do + local demo = Menu.new(c[2]) + demo.pal, demo.state = Pal.new(), "input" + Boot.draw = function() demo:draw() end + check(demo.items[#demo.items] == "EXIT", c[1] .. " ends with EXIT") + for _ = 1, #demo.items - 1 do + demo:frame({ new = { down = true } }) + demo.state = "input" + end + shot(game, c[1] .. "-exit") + local w = Menu.windowFor(demo.menuType, demo.cursor) + check((w.top + w.height + 1) * 8 - demo.scroll <= 160, c[1] .. " EXIT window on screen") + end + Boot.draw = origDraw +end + +local function realMainMenuExit(game) + local Boot = require("src.ui.game3.boot") + local BootModules = require("src.ui.game3.boot_modules") + BootModules.startMenu(Boot, game.boot) + local menu = game.boot.custom.menu + check(until_(300, function() return menu.state == "input" end), "real RS main menu reaches input") + for _ = 1, #menu.items do U.tap(game, "down"); U.wait(2) end + check(menu.items[menu.cursor] == "EXIT", "cursor on EXIT") + shot(game, "03-real-main-menu-exit") + local exited = false + game.returnToLauncher = function() exited = true end + U.tap(game, "a") + check(until_(200, function() return exited end), "A on EXIT returns to the launcher") + game.returnToLauncher = nil +end + +local function enterWorld(game) + local MapIds = require("src.core.game3.map_ids") + local Map = require("src.core.game3.map") + local Player = require("src.core.game3.player") + local Runtime = require("src.core.game3.runtime") + local Warp = require("src.core.game3.warp") + local Message = require("src.ui.game3.message") + local function settle() + until_(600, function() + if Message.isOpen and Message.isOpen() then U.tap(game, "b") end + return not (Warp.isBusy() or (Message.isOpen and Message.isOpen())) + end) + end + pcall(function() game:_handleBootAction({ action = "new_game", name = "RUBY", gender = 0 }) end) + U.wait(60) + settle() + pcall(function() + Map.load(nil, game, MapIds.forConst("MAP_LITTLEROOT_TOWN"), { x = 10, y = 10, facing = "down" }) + end) + local s = Runtime.getSession() + if s then s.x, s.y, s.facing = 10, 10, "down" end + Player.cellX, Player.cellY, Player.px, Player.py = 10, 10, 160, 160 + Player.targetX, Player.targetY, Player.facing = 10, 10, "down" + U.wait(60) + settle() + return s +end + +local function moveTo(game, page, target) + for _ = 1, 64 do + if page.index == target then return true end + U.tap(game, page.index < target and "down" or "up") + U.wait(1) + end + return page.index == target +end + +local function options(game, session) + local Menu = require("src.ui.game3.rs.option_menu") + local Option = require("src.ui.game3.screens").get("option", session) + check(Option == Menu, "ruby OPTION is the RS menu") + Option.show({ session = session, game = game }) + until_(120, function() return Menu._state == "input" end) + local top = Menu._pages[1] + check(top.rows[1].id == "group.speed", "top page starts with SPEED like Emerald") + shot(game, "10-option-top") + moveTo(game, top, #top.rows + 1) + shot(game, "11-option-top-cancel") + for _, id in ipairs({ "group.battle", "group.graphics", "group.speed", "group.audio" }) do + local gi + for i, r in ipairs(top.rows) do if r.id == id then gi = i end end + if check(gi ~= nil, id .. " on the top page") then + moveTo(game, top, gi) + U.tap(game, "a") + U.wait(4) + local page = Menu._pages[#Menu._pages] + local natives = 0 + for _, r in ipairs(page.rows) do if r.native then natives = natives + 1 end end + check(#Menu._pages == 2 and natives > 0, id .. " page carries native cart rows") + shot(game, "12-option-" .. id:gsub("^group%.", "")) + U.tap(game, "b") + U.wait(4) + end + end + U.tap(game, "b") + check(until_(120, function() return not Menu.isOpen() end), "B saves and closes OPTION") +end + +local function startMenuExit(game, session) + local StartMenu = require("src.ui.game3.start_menu") + local Boot = require("src.ui.game3.boot") + U.wait(10) + StartMenu.show({ session = session, game = game }) + U.wait(4) + for i, e in ipairs(StartMenu.ENTRIES) do if e.id == "exit" then StartMenu.cursor = i end end + shot(game, "20-start-menu-exit") + U.tap(game, "a") + U.wait(4) + check(StartMenu._confirmExit == true, "START EXIT asks to return to the main menu") + shot(game, "21-start-menu-exit-confirm") + U.tap(game, "up") + U.wait(2) + U.tap(game, "a") + check(until_(300, function() return game.phase == "boot" and game.boot and game.boot.phase == Boot.PHASE.TITLE end), + "YES returns to the title screen") + U.wait(60) + shot(game, "22-after-exit-title") +end + +return function(game) + until_(900, function() return game.phase == "boot" and game.boot end) + if not check(game.boot ~= nil, "boot reached") then return finish() end + local ok, err = xpcall(function() + demoMenus(game) + realMainMenuExit(game) + local session = enterWorld(game) + options(game, session) + startMenuExit(game, session) + end, debug.traceback) + if not ok then check(false, "driver error: " .. tostring(err)) end + finish() +end diff --git a/tests/drivers/rs_option_pages.lua b/tests/drivers/rs_option_pages.lua index d956690d..c44fb997 100644 --- a/tests/drivers/rs_option_pages.lua +++ b/tests/drivers/rs_option_pages.lua @@ -73,7 +73,7 @@ local function phase1(game, ShaderFX, ShaderFXMenu) end shot(game, "01-native-first-page") local top = Menu._pages[1] - for i = 1, 7 do check(top.rows[i].native == i, "native row " .. i .. " on page 1") end + check(top.rows[1].id == "group.speed", "page 1 opens on Emerald's SPEED group") U.tap(game, "select") U.wait(4) @@ -81,12 +81,12 @@ local function phase1(game, ShaderFX, ShaderFXMenu) moveTo(game, top, 8) shot(game, "02-scrolled-port-rows") - moveTo(game, top, #top.rows) + moveTo(game, top, #top.rows + 1) shot(game, "03-port-rows-bottom") local groups = {} for i, row in ipairs(top.rows) do - if row.port and row.port.group then groups[#groups + 1] = { i = i, id = row.port.id } end + if row.group then groups[#groups + 1] = { i = i, id = row.id } end end check(#groups >= 4, "RS OPTION shows " .. #groups .. " port pages") local n = 3 diff --git a/tests/drivers/shrink_test.lua b/tests/drivers/shrink_test.lua index 6b8a6e57..2bba61a8 100644 --- a/tests/drivers/shrink_test.lua +++ b/tests/drivers/shrink_test.lua @@ -4,61 +4,80 @@ -- Pallet Town. return function(game) local U = dofile("tests/drivers/util.lua") - local DIR = os.getenv("SHOT_DIR") or "/tmp/shots" + local Oak = require("src.ui.OakSpeech") + local DIR = os.getenv("POKEPORT_SHOT_DIR") or os.getenv("SHOT_DIR") or "/tmp/shots" + local failed = false + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + failed = failed or not ok + return ok + end U.wait(5) - U.tap(game, "start") -- skip intro movie + U.tap(game, "start") U.wait(10) - U.tap(game, "a") -- title -> menu - U.wait(5) - -- with an existing save the menu is CONTINUE / NEW GAME / OPTION + local title = game.stack:top() + for _ = 1, 60 do + U.tap(game, "a") + U.wait(5) + if game.stack:top() ~= title then break end + end local ok, saved = pcall(function() return require("src.core.SaveData").load() ~= nil end) if ok and saved then U.tap(game, "down") U.wait(3) end - U.tap(game, "a") -- NEW GAME + U.tap(game, "a") U.wait(10) - -- mash through the speech + both naming screens (preset 1) local function top() return game.stack:top() end local function speechState() for _, s in ipairs(game.stack.states or {}) do - if s.shrink ~= nil or s.oakPic ~= nil then return s end + if getmetatable(s) == Oak then return s end end end - for _ = 1, 400 do - local s = speechState() - if s and s.step and s.step >= 9 then break end + local s + for _ = 1, 4000 do + s = speechState() + if s and s.shrink then break end U.tap(game, "a") U.wait(2) end + check("shrink beat entered", s ~= nil and s.shrink ~= nil) + if not (s and s.shrink) then love.event.quit(1) return end - -- the shrink beat: captures aimed at each timeline window, with the - -- exact frame logged so the windows can be verified - local s = speechState() local function frameNow() - return (s and s.shrink and s.shrink.frame) or -1 + return (s.shrink and s.shrink.frame) or -1 end - U.log("shrink beat entered:", tostring(s ~= nil and s.shrink ~= nil), - "frame:", frameNow()) - U.shot(game, DIR .. "/shrink_1_redpic.png") -- frames 1-4: RedPicFront - U.log("shot1 frame:", frameNow()) - U.wait(3) - U.shot(game, DIR .. "/shrink_2_pic1.png") -- frames 5-8: ShrinkPic1 - U.log("shot2 frame:", frameNow()) - U.wait(8) - U.shot(game, DIR .. "/shrink_3_pic2.png") -- frames 9-28: ShrinkPic2 - U.log("shot3 frame:", frameNow()) - U.wait(25) - U.shot(game, DIR .. "/shrink_4_sprite.png") -- frames 29-78: walk sprite - U.log("shot4 frame:", frameNow()) - U.wait(43) - U.shot(game, DIR .. "/shrink_5_fade.png") -- frames 79-102: fade - U.log("shot5 frame:", frameNow()) - U.wait(15) - U.wait(30) - U.shot(game, DIR .. "/shrink_6_overworld.png") + local function at(target, name, wantPic, wantWalk) + for _ = 1, 400 do + if not s.shrink or s.shrink.frame >= target then break end + U.wait(1) + end + local f = frameNow() + local shot = U.still(game, DIR .. "/" .. name .. ".png") + U.log(name .. " frame:", f) + check(name .. " lands at frame " .. target .. " (got " .. f .. ")", f == target) + check(name .. " shows the expected beat", s.pic == wantPic and (s.walkVisible or false) == wantWalk) + check(name .. " shot reached disk", shot) + end + + at(Oak.SHRINK_PIC1_AT - 1, "shrink_1_redpic", s.playerPic, false) + at(Oak.SHRINK_PIC1_AT + 2, "shrink_2_pic1", s.shrinkPic1, false) + at(Oak.SHRINK_PIC2_AT + 2, "shrink_3_pic2", s.shrinkPic2, false) + at(Oak.SHRINK_WALK_AT + 2, "shrink_4_sprite", nil, true) + at(Oak.SHRINK_FADE_AT + 2, "shrink_5_fade", nil, true) + check("shrink_5_fade is mid fade", s.fadeLevel ~= nil) + + for _ = 1, 400 do + if top() == game.overworld and game.overworld then break end + U.wait(1) + end + U.wait(10) + local shot = U.shot(game, DIR .. "/shrink_6_overworld.png") U.log("after speech: top==overworld:", tostring(top() == game.overworld), "map:", game.overworld and game.overworld.map and game.overworld.map.id or "?") + check("speech hands off to the overworld", game.overworld ~= nil and top() == game.overworld) + check("shrink_6_overworld shot reached disk", shot) + love.event.quit(failed and 1 or 0) end diff --git a/tests/drivers/take_down_recoil_bug2653.lua b/tests/drivers/take_down_recoil_bug2653.lua new file mode 100644 index 00000000..629bfaa0 --- /dev/null +++ b/tests/drivers/take_down_recoil_bug2653.lua @@ -0,0 +1,153 @@ +-- engine/battle/move_effects/recoil.asm:65 +-- engine/battle/core.asm:3226 +local U = require("tests.drivers.util") +local Battle = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local Version = require("src.core.GameVersion") + +return function(game) + local deadline = love.timer.getTime() + 25 + local old = {} + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do old[k] = rawget(game, k) end + local keys = { "save", "saveOptions", "saveLiveOptions", "writeSlot", "writeCartSlot" } + local writers = {} + for _, k in ipairs(keys) do writers[k] = SaveData[k] end + local volume = love.audio.getVolume() + local fails = 0 + local function check(label, ok) + print((ok and "PASS " or "FAIL ") .. label) + if not ok then fails = fails + 1 end + return ok + end + + local ok, err = xpcall(function() + assert(Version.generation() == 1, "Gen1 required") + local out = assert(os.getenv("POKEPORT_SHOT_DIR"), "shot directory required") + local function forbidden() error("#2653 unexpected persistent write") end + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do game[k] = forbidden end + for _, k in ipairs(keys) do SaveData[k] = forbidden end + love.audio.setVolume(0) + + local function wait(n) + for _ = 1, n do + assert(love.timer.getTime() < deadline, "#2653 deadline") + U.wait(1) + end + end + local function fullyTyped(b) + local row = b.shown and b.shown[#b.shown] + return b.current and row and b.codes and #row == #b.codes and b.lineIndex == #b.lines + and b.total and b.total > 0 and b.charIndex >= b.total and not b.scrollPx and not b.msgWaiting + end + local function move(id) + local def = assert(game.data.moves[id], "required imported move " .. id) + return { id = id, pp = def.pp, maxPp = def.pp } + end + + game:startNewGame({ intro = false }) + game.save.options.animations = false + game.save.options.textSpeed = 1 + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + + local function runTurn(pauseAt) + game.save.party = { Pokemon.new(game.data, "TAUROS", 40) } + game.save.party[1].moves = { move("TAKE_DOWN") } + local battle = Battle.newWild(game, "SNORLAX", 50) + battle.enemy.mon.moves = { move("SPLASH") } + battle.enemy.curMoves = battle.enemy.mon.moves + battle.rng = function(a) return a or 0 end + + local r = { step = 0 } + local update = battle.update + battle.update = function(self, ...) + if r.paused then return end + if r.armed then + r.step = r.step + 1 + local p, e = self.player, self.enemy + if e.shownHP ~= r.lastEnemy then + r.enemyLastMove = r.step + r.lastEnemy = e.shownHP + end + if not r.playerFirstMove and p.shownHP < r.pStart then r.playerFirstMove = r.step end + if not r.eEnd and e.mon.hp < r.eStart then r.eEnd = e.mon.hp end + if not r.midStep and r.eEnd and e.shownHP <= math.floor((r.eStart + r.eEnd) / 2) then + r.midStep = r.step + r.midPlayerHP = p.shownHP + end + local row = self.current + if row and row.text and row.text:find("recoil", 1, true) and not r.recoilStep then + r.recoilStep = r.step + r.recoilPlayerHP = p.shownHP + end + if pauseAt and r.midStep == r.step then r.paused = true end + end + update(self, ...) + end + game.stack:push(battle) + + local function advanceUntil(fn, label) + for _ = 1, 3000 do + if fn() then return true end + if not r.paused and battle.current and not battle.current.auto and fullyTyped(battle) then + U.tap(game, "a") + end + wait(1) + end + error(label) + end + + advanceUntil(function() return battle.phase == "menu" end, "menu did not settle") + r.pStart, r.eStart = battle.player.mon.hp, battle.enemy.mon.hp + r.lastEnemy = battle.enemy.shownHP + U.tap(game, "a") + advanceUntil(function() return battle.phase == "moveSelect" end, "move list missing") + r.armed = true + U.tap(game, "a") + advanceUntil(function() return battle.player.mon.hp < r.pStart end, "recoil never applied") + r.eEnd, r.pEnd = r.eEnd or battle.enemy.mon.hp, battle.player.mon.hp + if pauseAt then + advanceUntil(function() return r.paused end, "never reached the counted mid-drain step") + r.shotOk = U.still(game, out .. "/2653_01_target_draining_user_bar_full.png") + r.shotPlayerHP, r.shotEnemyHP = battle.player.shownHP, battle.enemy.shownHP + r.paused = false + end + advanceUntil(function() + return battle.current and battle.current.text + and battle.current.text:find("recoil", 1, true) and fullyTyped(battle) + end, "recoil text never settled") + if pauseAt then + r.textShotOk = U.still(game, out .. "/2653_02_recoil_text_after_user_bar.png") + r.textPlayerHP = battle.player.shownHP + end + advanceUntil(function() return battle.phase == "menu" end, "turn did not finish") + game.stack:pop() + return r + end + + local count = runTurn(nil) + check("#2653 the hit and the recoil both landed", count.eEnd < count.eStart and count.pEnd < count.pStart) + check("#2653 user bar holds full through the target's drain", + count.playerFirstMove and count.enemyLastMove and count.playerFirstMove > count.enemyLastMove) + check("#2653 user bar still full at mid target drain", count.midStep ~= nil and count.midPlayerHP == count.pStart) + check("#2653 user bar finished before the recoil text", + count.recoilStep ~= nil and count.recoilPlayerHP == count.pEnd) + + local shoot = runTurn(count.midStep ~= nil) + print(("#2653 mid target drain at logic step %s (count pass) / %s (shot pass)"):format( + tostring(count.midStep), tostring(shoot.midStep))) + check("#2653 mid-drain shot captured", shoot.shotOk == true) + check("#2653 shot frame: target mid-drain, user bar full", + shoot.shotPlayerHP == shoot.pStart and shoot.shotEnemyHP and shoot.shotEnemyHP < shoot.eStart + and shoot.shotEnemyHP > shoot.eEnd) + check("#2653 recoil text shot captured with the user bar down", + shoot.textShotOk == true and shoot.textPlayerHP == shoot.pEnd) + + U.teleport(game, "PALLET_TOWN", 9, 7, "down") + end, debug.traceback) + for _, k in ipairs({ "writeSave", "writeOptions", "persistOptions" }) do game[k] = old[k] end + for _, k in ipairs(keys) do SaveData[k] = writers[k] end + love.audio.setVolume(volume) + if not ok then print("FAIL #2653 " .. tostring(err)) end + love.event.quit((ok and fails == 0) and 0 or 1) +end diff --git a/tests/drivers/trainer_sight_order_bug1948_test.lua b/tests/drivers/trainer_sight_order_bug1948_test.lua index 50151401..46a6b919 100644 --- a/tests/drivers/trainer_sight_order_bug1948_test.lua +++ b/tests/drivers/trainer_sight_order_bug1948_test.lua @@ -12,8 +12,10 @@ return function(game) local PaletteFX = require("src.render.PaletteFX") local SpriteRenderer = require("src.render.SpriteRenderer") + local failed = false local function check(label, ok) U.log(ok and "PASS" or "FAIL", label) + if not ok then failed = true end return ok end @@ -24,7 +26,7 @@ return function(game) U.wait(30) local ow = game.overworld check("overworld is up", ow ~= nil) - if not ow then while true do coroutine.yield() end end + if not ow then love.event.quit(1) return end local npc for _, e in ipairs(ow.entities) do @@ -82,7 +84,7 @@ return function(game) U.shot(game, DIR .. "/bug1948_wipe_ogred.png")) local ok, last = replayRecord() local sp = ow.player.sprite - local want = SpriteRenderer.obpImage(sp.def.image, PaletteFX.ogObj()) + local want = SpriteRenderer.obpImage(sp.def.image, PaletteFX.ogObjWorld()) local dmg = SpriteRenderer.obpImage(sp.def.image, PaletteFX.dmgObj()) check("the ogred wipe replay queued a redraw", ok and last ~= nil) check("the replayed survivor is the ogObj bake, not the DMG bake", @@ -108,7 +110,5 @@ return function(game) U.log("green, NOT DMG gray.") U.log("bug1948_wipe_black.png: solid black, nobody left.") - while true do - coroutine.yield() - end + love.event.quit(failed and 1 or 0) end diff --git a/tests/engine/bag_split_stack_bug2671.lua b/tests/engine/bag_split_stack_bug2671.lua new file mode 100644 index 00000000..ec3ba999 --- /dev/null +++ b/tests/engine/bag_split_stack_bug2671.lua @@ -0,0 +1,315 @@ +-- engine/items/inventory.asm:59 +-- engine/events/pokemart.asm:152 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local function glyphs(text) + local n = 0 + for _ in tostring(text):gmatch("[%z\1-\127\194-\244][\128-\191]*") do + n = n + 1 + end + return n +end + +local realFont = package.loaded["src.render.Font"] +package.loaded["src.render.Font"] = { + BORDER = { tl = 1, tr = 2, bl = 3, br = 4, h = 5, v = 6 }, + draw = function() end, + drawCode = function() end, + drawBox = function() end, + width = function(text) return glyphs(text) * 8 end, + split = function(text) + local out = {} + for s in tostring(text):gmatch("[%z\1-\127\194-\244][\128-\191]*") do + out[#out + 1] = s + end + return out + end, + spansFitting = function(spans, pixels) + return math.min(#spans, math.floor(pixels / 8)) + end, + encode = function(text) return { text } end, + advanceOf = function() return 8 end, +} + +local RELOAD = { + "src.ui.QuantityBox", "src.ui.ShopMenu", "src.ui.ListMenu", + "src.ui.ChoiceBox", "src.ui.Menu", "src.ui.Theme", "src.render.TextBox", +} +for _, m in ipairs(RELOAD) do package.loaded[m] = nil end + +local GameVersion = require("src.core.GameVersion") +local Bag = require("src.inventory.Bag") +local ShopMenu = require("src.ui.ShopMenu") +local TextBox = require("src.render.TextBox") +local SaveData = require("src.core.SaveData") + +local BAG_FULL = "You can't carry\nany more items." +local BOUGHT = "Here you are!\nThank you!" + +local function boxText(box) + local out = {} + for _, page in ipairs(box.pages or {}) do + for _, line in ipairs(page) do out[#out + 1] = line end + end + return table.concat(out, " ") +end + +local function rowsOf(save, data) + local out = {} + for _, r in ipairs(Bag.rows(save, data)) do + out[#out + 1] = r.id .. "x" .. tostring(r.count) + end + return table.concat(out, ",") +end + +local function newGame(money, inventory, order) + local stack = {} + local game + game = { + data = { + items = { + X_ACCURACY = { name = "X ACCURACY", price = 950, index = 46 }, + POTION = { name = "POTION", price = 300, index = 20 }, + }, + text = { + _PokemartItemBagFullText = BAG_FULL, + _PokemartBoughtItemText = BOUGHT, + }, + constants = {}, + field = {}, + }, + save = { money = money, inventory = inventory, bagOrder = order }, + input = { + wasPressed = function() return false end, + isDown = function() return false end, + }, + } + game.stack = { + push = function(_, s) stack[#stack + 1] = s end, + pop = function() return table.remove(stack) end, + top = function() return stack[#stack] end, + } + return game, stack +end + +local function drain(game) + for _ = 1, 600 do + local top = game.stack:top() + if not (top and top.stay and not top.stayShown) then return end + top:update(1 / 60) + end +end + +local function fill(game, n) + for i = 1, n do + local id = "FILLER_" .. i + game.save.inventory[id] = 1 + game.save.bagOrder[#game.save.bagOrder + 1] = id + end +end + +local function buy(game, stack, id, qty) + local menu = ShopMenu.new(game, { id }, function() end) + menu.items[1].onSelect() + drain(game) + local list = stack[#stack] + list.onChoose({ value = id }) + local qtyBox = stack[#stack] + qtyBox.onDone(qty) + local confirm = stack[#stack] + game.stack:pop() + confirm.choice(true) + return stack[#stack] +end + +GameVersion.set("red") + +do + local game = newGame(0, { X_ACCURACY = 2, POTION = 5 }, { "X_ACCURACY", "POTION" }) + eq(Bag.add(game.save, "X_ACCURACY", 99, game.data), true, + "2 + 99 X ACCURACY fits with a free slot") + eq(game.save.inventory.X_ACCURACY, 101, "the total is 101") + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,POTIONx5,X_ACCURACYx2", + "the first slot maxes at 99 and the overflow lands at the end") + eq(Bag.slots(game.save, game.data), 3, "three bag slots") + + Bag.remove(game.save, "X_ACCURACY", 2, game.data, 2) + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,POTIONx5", + "tossing the overflow row removes that slot") + + Bag.add(game.save, "X_ACCURACY", 2, game.data) + Bag.remove(game.save, "X_ACCURACY", 99, game.data, 1) + eq(rowsOf(game.save, game.data), "POTIONx5,X_ACCURACYx2", + "emptying the first slot keeps the later slot where it was") +end + +do + local game = newGame(0, { X_ACCURACY = 99 }, { "X_ACCURACY" }) + fill(game, 19) + eq(Bag.add(game.save, "X_ACCURACY", 1, game.data), false, + "a 20-slot bag refuses the overflow slot") + eq(game.save.inventory.X_ACCURACY, 99, "and changes nothing") + eq(#game.save.bagOrder, 20, "no slot is added") +end + +do + local game = newGame(0, { X_ACCURACY = 149 }, { "X_ACCURACY", "X_ACCURACY" }) + fill(game, 18) + eq(Bag.add(game.save, "X_ACCURACY", 10, game.data), false, + "a full bag refuses once the maxed first slot overflows") + eq(game.save.inventory.X_ACCURACY, 149, "and changes nothing") +end + +do + local game, stack = newGame(104276, { X_ACCURACY = 2 }, { "X_ACCURACY" }) + local box = buy(game, stack, "X_ACCURACY", 99) + if check(getmetatable(box) == TextBox, "mart: a text box follows the YES") then + check(boxText(box):find("Here you are!", 1, true) ~= nil, + "mart: the clerk hands the items over") + check(boxText(box):find("can't carry", 1, true) == nil, + "mart: no bag-full refusal") + end + eq(game.save.money, 104276 - 94050, "mart: 94050 is paid") + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,X_ACCURACYx2", + "mart: two X ACCURACY rows") +end + +do + local game, stack = newGame(3000, { X_ACCURACY = 99 }, { "X_ACCURACY" }) + fill(game, 19) + local box = buy(game, stack, "X_ACCURACY", 1) + if check(getmetatable(box) == TextBox, "mart full: a text box follows the YES") then + check(boxText(box):find("can't carry", 1, true) ~= nil, + "mart full: the bag-full refusal") + end + eq(game.save.money, 3000, "mart full: no money changes hands") +end + +do + local game, stack = newGame(0, { X_ACCURACY = 101, POTION = 5 }, + { "X_ACCURACY", "POTION", "X_ACCURACY" }) + local menu = ShopMenu.new(game, {}, function() end) + menu.items[2].onSelect() + drain(game) + local list = stack[#stack] + local counts = {} + for _, it in ipairs(list.items) do + if not it.cancel then counts[#counts + 1] = tostring(it.count) end + end + eq(table.concat(counts, ","), "99,5,2", "sell list shows each slot's own count") + list.index = 3 + list.onChoose(list.items[3]) + local qtyBox = stack[#stack] + eq(qtyBox.max, 2, "selling from the overflow row caps at that row") + qtyBox.onDone(2) + local confirm = stack[#stack] + game.stack:pop() + confirm.choice(true) + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,POTIONx5", "the sold row is gone") + eq(game.save.money, 950, "paid half price for two") +end + +do + local game = newGame(0, { X_ACCURACY = 101, POTION = 5 }, + { "X_ACCURACY", "POTION", "X_ACCURACY" }) + local back = assert(SaveData.decode(SaveData.encode(game.save))) + SaveData.validate(back, game.data) + eq(rowsOf(back, game.data), "X_ACCURACYx99,POTIONx5,X_ACCURACYx2", + "split slots survive a save round trip") +end + +do + local pc, order = { POTION = 99 }, { "POTION" } + local data = newGame(0, {}, {}).data + eq(Bag.addTo(pc, order, "POTION", 50, data, Bag.storeSlots(pc, data), 50), true, + "PC deposit past 99 splits the box slot") + eq(table.concat(order, ","), "POTION,POTION", "two box slots") + local full, fullOrder = { POTION = 1 }, { "POTION" } + for i = 1, 49 do + full["FILLER_" .. i] = 1 + fullOrder[#fullOrder + 1] = "FILLER_" .. i + end + full.POTION = 99 + eq(Bag.addTo(full, fullOrder, "POTION", 1, data, Bag.storeSlots(full, data), 50), false, + "a 50-slot box refuses the overflow slot") +end + +do + local game = newGame(0, { X_ACCURACY = 101, POTION = 5 }, + { "X_ACCURACY", "POTION", "X_ACCURACY" }) + Bag.remove(game.save, "X_ACCURACY", 5, game.data, 1) + eq(rowsOf(game.save, game.data), "X_ACCURACYx94,POTIONx5,X_ACCURACYx2", + "tossing from the first slot leaves 94 and 2") + eq(Bag.slots(game.save, game.data), 3, "both X ACCURACY slots stay") + local back = assert(SaveData.decode(SaveData.encode(game.save))) + SaveData.validate(back, game.data) + eq(rowsOf(back, game.data), "X_ACCURACYx94,POTIONx5,X_ACCURACYx2", + "a 94/2 split survives a save round trip") + Bag.remove(game.save, "X_ACCURACY", 1, game.data) + eq(rowsOf(game.save, game.data), "X_ACCURACYx93,POTIONx5,X_ACCURACYx2", + "a slotless remove takes from the first slot") + Bag.add(game.save, "X_ACCURACY", 10, game.data) + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,POTIONx5,X_ACCURACYx6", + "adding tops the first slot up and carries the rest to the next") + Bag.swap(game.save, 1, 3, game.data) + eq(rowsOf(game.save, game.data), "X_ACCURACYx6,POTIONx5,X_ACCURACYx99", + "SELECT on two slots of one item moves the 99 to the second pick") + Bag.swap(game.save, 1, 2, game.data) + eq(rowsOf(game.save, game.data), "POTIONx5,X_ACCURACYx6,X_ACCURACYx99", + "swapping different items keeps each slot's count") + Bag.swap(game.save, 3, 2, game.data) + eq(rowsOf(game.save, game.data), "POTIONx5,X_ACCURACYx99,X_ACCURACYx6", + "the 99 follows the second pick when the sum exceeds 99") + Bag.remove(game.save, "X_ACCURACY", 90, game.data, 2) + Bag.swap(game.save, 2, 3, game.data) + eq(rowsOf(game.save, game.data), "POTIONx5,X_ACCURACYx15", + "SELECT merges two slots that fit in one") + eq(game.save.bagStacks, nil, "a merged stack carries no per-slot list") +end + +do + local game, stack = newGame(0, { X_ACCURACY = 101, POTION = 5 }, + { "X_ACCURACY", "POTION", "X_ACCURACY" }) + local menu = ShopMenu.new(game, {}, function() end) + menu.items[2].onSelect() + drain(game) + local list = stack[#stack] + local function sellRow(row, qty) + list.index = row + list.onChoose(list.items[row]) + local qtyBox = stack[#stack] + qtyBox.onDone(qty) + local confirm = stack[#stack] + game.stack:pop() + confirm.choice(true) + end + list.scroll = 1 + sellRow(3, 1) + eq(list.scroll, 1, "selling part of a row keeps the list scroll") + eq(list.index, 3, "and the cursor") + sellRow(3, 1) + eq(rowsOf(game.save, game.data), "X_ACCURACYx99,POTIONx5", "the emptied row is gone") + eq(list.scroll, 0, "an emptied row resets the sell list scroll") + eq(list.index, 1, "and puts the cursor on the first row") +end + +do + GameVersion.set("gold") + local game = newGame(0, { POTION = 99 }, { "POTION" }) + game.data.items.POTION.pocket = "ITEM" + eq(Bag.add(game.save, "POTION", 1, game.data), false, + "Gen 2 pockets keep one row per id") + eq(#game.save.bagOrder, 1, "no duplicate row in Gen 2") + GameVersion.set("red") +end + +package.loaded["src.render.Font"] = realFont +for _, m in ipairs(RELOAD) do package.loaded[m] = nil end +require("src.ui.Screens").invalidate() + +T.finish() diff --git a/tests/engine/bag_use_toss_hollow_cursor_2063.lua b/tests/engine/bag_use_toss_hollow_cursor_2063.lua index dab01fb3..8c8d1983 100644 --- a/tests/engine/bag_use_toss_hollow_cursor_2063.lua +++ b/tests/engine/bag_use_toss_hollow_cursor_2063.lua @@ -10,7 +10,9 @@ love = love or require("tests.love_stub") package.loaded["src.core.Sound"] = { play = function() end, playCry = function() end } package.loaded["src.core.Music"] = { playMap = function() end } package.loaded["src.render.TextBox"] = { - new = function(_, text, done) return { textBox = true, text = text, done = done } end, + new = function(_, text, done, opts) + return { textBox = true, text = text, done = done, opts = opts } + end, soundOpts = function() return nil end, } package.loaded["src.ui.BagMenu"] = nil @@ -114,6 +116,75 @@ do end end +-- engine/menus/start_sub_menus.asm:361 +local function useLeavesBox(id, label) + local game = freshGame() + local list = openOn(game, byId(id)) + if not check(list ~= nil, label .. ": the bag opened on the row") then return end + pressA(game, list) + local box = game.stack:top() + if not check(getmetatable(box) == Menu, label .. ": the USE/TOSS box is up") then return end + eq(box.index, 1, label .. ": the cursor sits on USE") + game.input.pressed = "a" + box:update(1 / 60) + game.input.pressed = nil + check(game.stack:top() ~= box, label .. ": USE takes the box off the stack") + check(game.stack:top() and game.stack:top().textBox, + label .. ": the use flow prints its text") + check(list.optionBox == box, label .. ": the box stays painted under the text") + eq(box.hollowIndex, 1, label .. ": with the hollow '▷' left on USE") + local drawn = false + local realDraw = box.draw + box.draw = function(self) drawn = true end + list.drawItemBox = function() end + list:draw() + list.drawItemBox = nil + box.draw = realDraw + check(drawn, label .. ": drawing the list repaints the leftover box") + game.stack:pop() + drawn = false + box.draw = function(self) drawn = true end + list.drawItemBox = function() end + list:draw() + list.drawItemBox = nil + box.draw = realDraw + check(not drawn, label .. ": the first frame back on the list has no box") + check(list.optionBox == nil, label .. ": the redraw erases it before any update") + check(list.hollowIndex == nil, label .. ": and the list's '▶' is filled again") + list:update(1 / 60) + check(list.optionBox == nil, label .. ": the list's next update keeps it erased") +end +useLeavesBox("FIX_TM", "TM booted-up text") +useLeavesBox("FIX_POTION", "potion refusal text") + +-- engine/menus/start_sub_menus.asm:416 +do + local game = freshGame() + local list = openOn(game, byId("FIX_TM")) + if check(list ~= nil, "TM YES: the bag opened on the TM row") then + pressA(game, list) + local box = game.stack:top() + game.input.pressed = "a" + box:update(1 / 60) + game.input.pressed = nil + local text = game.stack:top() + check(list.optionBox == box, "TM YES: the box is painted under the prompt") + local Screens = require("src.ui.Screens") + local realPush, pushed = Screens.push, nil + Screens.push = function(g, id) + pushed = id + g.stack:push({ partyMenu = true }) + end + local choice = text and text.opts and text.opts.choice + if check(choice ~= nil, "TM YES: the prompt carries the YES/NO choice") then + choice(true) + end + Screens.push = realPush + eq(pushed, "PartyMenu", "TM YES: the party menu opens") + check(list.optionBox == nil, "TM YES: the party menu wipes the leftover box") + end +end + -- CANCEL exits like B and never opens the box (home/list_menu.asm:105-110) do local game = freshGame() diff --git a/tests/engine/battle_arrow_cell_bug2674.lua b/tests/engine/battle_arrow_cell_bug2674.lua new file mode 100644 index 00000000..44cc2e12 --- /dev/null +++ b/tests/engine/battle_arrow_cell_bug2674.lua @@ -0,0 +1,143 @@ +-- home/text.asm:262 +package.path = "./?.lua;./?/init.lua;" .. package.path + +love = require("tests.love_stub") + +local T = require("tests.modkit") +local Data = T.fixtures.fresh() +local Font = require("src.render.Font") +Font.load(Data) + +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local TypeChart = require("src.battle.TypeChart") +TypeChart.load(Data) + +local SPACE = 0x7F +local LAST = Font.encode("Z")[1] +T.check(LAST ~= SPACE, "fixture charmap encodes the 18th glyph") + +local function newBattle(opts) + opts = opts or {} + local save = SaveData.newGame() + save.player.name = "RED" + save.party = { Pokemon.new(Data, "FIXMON_A", 10, function(_, b) return b end) } + if opts.gold then save.version, save.generation = "gold", 2 end + if opts.wide then save.options = save.options or {}; save.options.battleLayout = "wide" end + local pressA = false + local game = { + data = Data, save = save, + stack = { top = function() return nil end, push = function() end }, + input = { wasPressed = function(_, k) return pressA and (k == "a") end, + isDown = function() return false end }, + } + local battle = BattleState.newWild(game, "FIXMON_C", 10) + battle.queue, battle.nextInsert = {}, 0 + battle.phase = "messages" + return battle, function(v) pressA = v end +end + +local function step(battle, until_) + for _ = 1, 2000 do + if until_() then return true end + battle:updateQueue() + battle:tickTextScroll() + end + return until_() +end + +local function drawnAt(battle, frame) + battle.frame = frame + local real, realBox = Font.drawCode, Font.drawBox + local hits = {} + Font.drawCode = function(code, x, y) hits[#hits + 1] = { code = code, x = x, y = y } end + Font.drawBox = function() end + local ok, err = pcall(function() battle:drawTextArea() end) + Font.drawCode, Font.drawBox = real, realBox + T.check(ok, "drawTextArea runs (" .. tostring(err) .. ")") + local at, row = {}, 0 + for _, h in ipairs(hits) do + if h.y == 128 then row = row + 1 end + if h.x == 144 and h.y == 128 then at[#at + 1] = h.code end + end + return at, row +end + +local TEXT = "YOUR DEX IS\nENTIRELY COMPLETEZ\vCONGRATULATIONSZ" + +do + local battle, setA = newBattle() + battle.queue[1] = { text = TEXT } + T.check(step(battle, function() return battle.msgWaiting end), + "red reaches the cont wait under an 18-tile line") + T.eq(battle.shown[2] and battle.shown[2][18], LAST, + "red bottom line's 18th glyph is typed") + battle.msgPreWait = 0 + local lit, row = drawnAt(battle, 0) + T.check(row >= 17, "the bottom line is drawn") + T.eq(#lit, 0, "red arrow replaces the 18th glyph while lit") + local dark, rowDark = drawnAt(battle, 30) + T.check(rowDark >= 17, "the bottom line is drawn on blink-off") + T.eq(#dark, 0, "red blink-off shows a blank cell, not the glyph") + setA(true) + battle:updateQueue() + setA(false) + T.eq(battle.msgWaiting, nil, "red A clears the cont wait") + T.eq(battle.shown[1] and battle.shown[1][18], SPACE, + "red cont leaves a space in the scrolled line") +end + +do + local battle, setA = newBattle({ gold = true }) + battle.queue[1] = { text = TEXT } + step(battle, function() return battle.msgWaiting end) + battle.msgPreWait = 0 + setA(true) + battle:updateQueue() + setA(false) + T.eq(battle.shown[1] and battle.shown[1][18], LAST, + "gold keeps column 18 (its arrow sits on the border row)") +end + +do + local battle, setA = newBattle({ wide = true }) + battle.queue[1] = { text = TEXT } + step(battle, function() return battle.msgWaiting end) + battle.msgPreWait = 0 + setA(true) + battle:updateQueue() + setA(false) + T.eq(battle.shown[1] and battle.shown[1][18], LAST, + "wide layout keeps column 18 (its arrow sits at column 36)") +end + +do + local battle, setA = newBattle() + battle.queue[1] = { text = "ITS A TEST OF\nTHE ARROW CELLS ZZ" } + T.check(step(battle, function() return battle.msgPrompt end), + "a typed-out page raises the prompt arrow") + T.eq(battle.shown[2][18], LAST, "the prompt page's 18th glyph is typed") + local lit, row = drawnAt(battle, 0) + T.check(row >= 17, "the prompt page's bottom line is drawn") + T.eq(#lit, 0, "prompt arrow replaces the 18th glyph") + battle.msgPromptWait = 0 + setA(true) + battle:updateQueue() + setA(false) + T.eq(battle.msgPrompt, nil, "A dismisses the prompt") + T.eq(battle.shown[2][18], SPACE, "PromptText writes a space over the arrow cell") + local held = drawnAt(battle, 0) + T.eq(held[1], SPACE, "the held page shows the blank, not the glyph") +end + +do + local battle = newBattle() + battle.queue[1] = { text = "SHORT LINE\nSHORT TOO\vNEXT" } + step(battle, function() return battle.msgWaiting end) + T.check(#battle.shown[2] < 18, "a short bottom line has no 18th glyph") + battle.msgPreWait = 0 + T.eq(#drawnAt(battle, 30), 0, "nothing drawn in the arrow cell for a short line") +end + +T.finish("battle arrow cell bug 2674") diff --git a/tests/engine/battle_intro_balls_after_cry_bug2662.lua b/tests/engine/battle_intro_balls_after_cry_bug2662.lua new file mode 100644 index 00000000..d55d6886 --- /dev/null +++ b/tests/engine/battle_intro_balls_after_cry_bug2662.lua @@ -0,0 +1,160 @@ +-- engine/battle/common_text.asm:10 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") +local Data = T.fixtures.fresh() +local Font = require("src.render.Font") +Font.load(Data) +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local Sound = require("src.core.Sound") +local Music = require("src.core.Music") +local GameVersion = require("src.core.GameVersion") + +local SOUND_FRAMES = 40 +local soundLeft = 0 +local function fakeSource() + soundLeft = SOUND_FRAMES + return { isPlaying = function() return soundLeft > 0 end, + stop = function() soundLeft = 0 end } +end + +local real = {} +for _, k in ipairs({ "playCry", "play", "playMove", "playMoveCry", "stopLoop" }) do + real[k] = Sound[k] +end +local realMusic = { playBattle = Music.playBattle, play = Music.play } +Sound.playCry = function() return fakeSource() end +Sound.play = function(_, name) + if name == "Trainer_Appeared" then return fakeSource() end +end +Sound.playMove = function() end +Sound.playMoveCry = function() end +Sound.stopLoop = function() end +Music.playBattle = function() end +Music.play = function() end + +local function makeGame() + local save = SaveData.newGame() + save.party = { Pokemon.new(Data, "FIXMON_A", 20), Pokemon.new(Data, "FIXMON_B", 5) } + local stack = { states = {} } + function stack:push(s) self.states[#self.states + 1] = s end + function stack:pop() return table.remove(self.states) end + function stack:top() return self.states[#self.states] end + return { data = Data, save = save, stack = stack, + input = { wasPressed = function() return false end, + isDown = function() return false end } } +end + +local function snapshot(battle) + local rows, strings = 0, {} + local realRow, realDraw = battle.drawBallRow, Font.draw + battle.drawBallRow = function() rows = rows + 1 end + Font.draw = function(text) strings[#strings + 1] = tostring(text) return 0 end + local ok, err = pcall(battle.drawHUDs, battle, 0) + battle.drawBallRow, Font.draw = realRow, realDraw + local enemyHud = false + for _, s in ipairs(strings) do + if s:find(battle.enemy.name, 1, true) then enemyHud = true end + end + return ok, err, rows, enemyHud +end + +local function run(label, battle) + battle.onFinish = function() end + battle:enter() + T.check(battle.introBalls ~= true, label .. ": no ball window at enter") + local frames, soundOverlap = {}, false + local ballsAt, textAt, sawRows + for f = 1, 400 do + if soundLeft > 0 then soundLeft = soundLeft - 1 end + battle:update(1 / 60) + local cur = battle.current and battle.current.text + local atText = cur == battle.introText + if atText and not textAt then textAt = f end + if battle.introBalls == true and not ballsAt then + ballsAt = f + if soundLeft > 0 then soundOverlap = true end + end + local ok, err, rows, hud = snapshot(battle) + T.check(ok, label .. ": drawHUDs runs on frame " .. f .. (ok and "" or (": " .. tostring(err)))) + frames[f] = { balls = battle.introBalls == true, rows = rows, hud = hud, + landed = (battle.introSlide or 0) == 0 } + if atText and rows > 0 then sawRows = true end + if textAt then break end + end + local early, earlyRows, earlyHud = false, false, false + for f, fr in ipairs(frames) do + if textAt and f < textAt - 1 then + if fr.balls then early = true end + if fr.rows > 0 then earlyRows = true end + end + if textAt and f < textAt and fr.landed and fr.hud then earlyHud = true end + end + return { early = early, earlyRows = earlyRows, earlyHud = earlyHud, + overlap = soundOverlap, ballsAt = ballsAt, textAt = textAt, + sawRows = sawRows } +end + +GameVersion.set("red") + +do + local r = run("wild", BattleState.newWild(makeGame(), "FIXMON_C", 5)) + T.check(r.textAt ~= nil, "wild: the intro text comes up") + T.check(not r.early, "wild: the ball window stays shut until the intro text") + T.check(not r.overlap, "wild: the ball window opens after the cry has finished") + T.eq(r.ballsAt, r.textAt and r.textAt - 1, "wild: balls go up right before the intro text") + T.check(not r.earlyRows, "wild: no ball row is drawn during the cry") + T.check(not r.earlyHud, "wild: no enemy HUD is drawn during the cry") + T.check(r.sawRows, "wild: the ball row is drawn with the intro text") +end + +do + local r = run("trainer", BattleState.newTrainer(makeGame(), "OPP_FIX_YOUNGSTER", 1)) + T.check(r.textAt ~= nil, "trainer: the intro text comes up") + T.check(not r.early, "trainer: the ball window stays shut through the sfx and gap") + T.check(not r.overlap, "trainer: the ball window opens after the sfx has finished") + T.eq(r.ballsAt, r.textAt and r.textAt - 1, "trainer: balls go up right before the intro text") + T.check(not r.earlyRows, "trainer: no ball rows during the sfx and gap") + T.check(r.sawRows, "trainer: the ball rows are drawn with the intro text") +end + +do + local ghost = BattleState.newWild(makeGame(), "FIXMON_C", 5) + ghost:makeGhost() + local r = run("ghost", ghost) + T.check(r.ballsAt == nil and not r.sawRows, "ghost: DrawAllPokeballs never runs") + T.check(not r.earlyHud, "ghost: no enemy HUD under the intro text") + local nextText = ghost.queue[1] and ghost.queue[1].text + T.check(type(nextText) == "string" and nextText:find("ID'd", 1, true) ~= nil, + "ghost: GhostCantBeIDdText follows the intro text") +end + +do + local soul = BattleState.newWild(makeGame(), "FIXMON_C", 5) + soul:makeUnveiledGhost() + local r = run("unveiled", soul) + T.check(r.ballsAt == nil and not r.sawRows, "unveiled ghost: DrawAllPokeballs never runs") +end + +do + local demo = BattleState.newWild(makeGame(), "FIXMON_C", 5) + demo:makeOldManDemo() + local r = run("red demo", demo) + T.check(r.sawRows, "red old man demo: DrawAllPokeballs runs (no wBattleType check)") +end + +GameVersion.set("yellow") +do + local demo = BattleState.newWild(makeGame(), "FIXMON_C", 5) + demo:makeOldManDemo() + local r = run("yellow demo", demo) + T.check(r.ballsAt == nil and not r.sawRows, "yellow old man demo: wBattleType skips DrawAllPokeballs") +end +GameVersion.set("red") + +for k, v in pairs(real) do Sound[k] = v end +Music.playBattle, Music.play = realMusic.playBattle, realMusic.play + +T.finish() diff --git a/tests/engine/boulder_dust_obp1_bug2650.lua b/tests/engine/boulder_dust_obp1_bug2650.lua new file mode 100644 index 00000000..d9a0ad22 --- /dev/null +++ b/tests/engine/boulder_dust_obp1_bug2650.lua @@ -0,0 +1,179 @@ +package.path = "./?.lua;./?/init.lua;" .. package.path +love = require("tests.love_stub") + +local T = require("tests.harness").suite("Boulder dust OBP1 flash #2650") +local GameVersion = require("src.core.GameVersion") +local PaletteFX = require("src.render.PaletteFX") +local Assets = require("src.render.Assets") +local Game = require("src.core.Game") +local OW = require("src.world.OverworldController") +local ImageWriter = require("src.import.ImageWriter") + +local bytes = { + smoke = {0,24,26,102,4,66,11,129,86,137,26,46,76,18,56,56}, + redTree = {170,0,65,20,168,106,85,124,162,198,87,103,239,255,93,127, + 170,40,213,252,162,214,73,227,226,214,85,236,236,126,189,88, + 172,47,66,23,170,66,86,2,165,12,90,12,166,15,81,7, + 42,224,85,192,234,64,213,64,106,48,213,56,104,242,149,224}, + yellowTree = {170,0,65,20,168,106,85,124,130,254,87,127,239,255,93,127, + 170,40,213,252,162,254,85,255,250,254,85,252,236,126,189,88, + 172,47,66,23,170,66,86,2,165,12,90,12,166,15,81,7, + 42,224,85,192,234,64,213,64,106,48,213,56,104,242,149,224}, +} + +local ID = {}; ID.__index = ID +function ID:getDimensions() return self.w, self.h end +function ID:getWidth() return self.w end +function ID:getHeight() return self.h end +function ID:getPixel(x, y) return unpack(self.p[y * self.w + x + 1] or {0,0,0,0}) end +function ID:setPixel(x, y, ...) self.p[y * self.w + x + 1] = {...} end +function ID:mapPixel(fn) + for y = 0, self.h - 1 do + for x = 0, self.w - 1 do self:setPixel(x, y, fn(x, y, self:getPixel(x, y))) end + end +end +function ID:setFilter() end +local function imageData(w, h) return setmetatable({w = w, h = h, p = {}}, ID) end +local paths, draws, allocations, tint = {}, {}, 0, {1,1,1,1} +love.image.newImageData = function(a, b) + if type(a) == "number" then return imageData(a, b) end + local source = assert(paths[a], "missing fixture " .. tostring(a)) + local out = imageData(source.w, source.h) + for y = 0, source.h - 1 do + for x = 0, source.w - 1 do out:setPixel(x, y, source:getPixel(x, y)) end + end + return out +end +love.graphics.newImage = function(a) + allocations = allocations + 1 + return type(a) == "string" and love.image.newImageData(a) or a +end +love.graphics.setShader = function() end +love.graphics.setColor = function(...) tint = {...} end +love.graphics.draw = function(image, ...) + draws[#draws + 1] = {image = image, args = {...}, alpha = tint[4]} +end + +local function upvalue(fn, wanted) + for i = 1, 100 do + local name, value = debug.getupvalue(fn, i) + if not name then break end + if name == wanted then return value end + end +end +local fxDust = assert(upvalue(OW.drawWorld, "fxDust")) +local fxCutTree = assert(upvalue(OW.drawWorld, "fxCutTree")) +for i = 1, 100 do + local name = debug.getupvalue(fxDust, i) + if name == "Game" then debug.setupvalue(fxDust, i, Game); break end +end + +local definitions = { + smoke = {path = "assets/generated/fx/b2650_smoke.png", w = 8, h = 8}, + cutTree = {path = "assets/generated/fx/b2650_tree.png", w = 16, h = 16}, +} +local function fixtures(version) + for key, def in pairs(definitions) do + local raw = key == "cutTree" and bytes[version == "yellow" and "yellowTree" or "redTree"] or bytes[key] + paths[def.path] = ImageWriter.decode2bpp(raw, def.w, def.h, true) + end +end +local function state() + return setmetatable({ map = {id = "VICTORY_ROAD_1F"}, camera = {x = 0, y = 0} }, {__index = OW}) +end +Game.data = {field = {overworldFx = definitions}, palettes = {palettes = {}}, maps = {}} + +local FLASH = { [0] = 0, [1] = 0, [2] = 0, [3] = 2 } +local function colorOf(r) return r > .83 and 0 or r > .5 and 1 or r > .17 and 2 or 3 end + +local function checkPixels(rows, key, colors, label) + local source = paths[definitions[key].path] + local wrong, opaqueZero, translucent, visible = 0, 0, 0, 0 + for _, row in ipairs(rows) do + local q = type(row.args[1]) == "table" and row.args[1] + for y = q and q.y or 0, (q and q.y or 0) + (q and q.h or source.h) - 1 do + for x = q and q.x or 0, (q and q.x or 0) + (q and q.w or source.w) - 1 do + local sr, _, _, sa = source:getPixel(x, y) + local c = colorOf(sr) + local p = {row.image:getPixel(x, y)} + if sa == 0 or c == 0 then + if p[4] ~= 0 then opaqueZero = opaqueZero + 1 end + else + local want = colors[c + 1] + for i = 1, 3 do + if math.abs(p[i] - want[i] / 255) > .00001 then wrong = wrong + 1; break end + end + if p[4] ~= 1 then translucent = translucent + 1 end + visible = visible + 1 + end + end + end + T.eq(row.alpha, 1, label .. " drawn opaque, no alpha stand-in") + end + T.eq(wrong, 0, label .. " OBP1 %10000000 shade remap") + T.eq(opaqueZero, 0, label .. " color 0 stays transparent") + T.eq(translucent, 0, label .. " nonzero colors fully opaque") + T.check(visible > 0, label .. " nonempty") +end + +local function flashOf(colors) + return { colors[FLASH[0] + 1], colors[FLASH[1] + 1], colors[FLASH[2] + 1], colors[FLASH[3] + 1] } +end + +local cases = { + {name = "boulder", key = "smoke", group = 7, draw = fxDust, count = 4, + flash = function(s) s:startDustAnim(2, 3, nil, "right"); s.dustAnim.faded = true end, + lit = function(s) s:startDustAnim(2, 3, nil, "right"); s.dustAnim.faded = false end}, + {name = "cut grass", key = "smoke", group = 6, draw = fxDust, count = 4, + flash = function(s) s:startDustAnim(2, 3); s.dustAnim.frames = 31 end, + lit = function(s) s:startDustAnim(2, 3); s.dustAnim.frames = 30 end}, + {name = "cut tree", key = "cutTree", group = 6, draw = fxCutTree, count = 2, + flash = function(s) s:startCutTreeAnim(2, 3); s.cutAnim.frames = 7 end, + lit = function(s) s:startCutTreeAnim(2, 3); s.cutAnim.frames = 6 end}, +} + +local function render(s, case, which) + s.dustAnim, s.cutAnim = nil, nil + case[which](s); draws = {}; case.draw(s, s.camera) + return draws +end +local function rawOf(s, case) return s[case.key == "smoke" and "smokeImg" or "cutTreeImg"] end + +local s = state() +local seen = {} +for _, version in ipairs({"red", "blue", "yellow"}) do + GameVersion.set(version); fixtures(version) + PaletteFX.setShadeMap(nil); PaletteFX.setDarkWorld(false) + for _, case in ipairs(cases) do + for _, mode in ipairs({"og", "gbc", "ogred"}) do + PaletteFX.setMode(mode) + local label = version .. " " .. mode .. " " .. case.name + local rows = render(s, case, "flash") + T.eq(#rows, case.count, label .. " draw count") + T.check(rows[1].image ~= rawOf(s, case), label .. " flash frame is not the identity image") + checkPixels(rows, case.key, flashOf(PaletteFX.GRAYS), label .. " flash") + local img, before = rows[1].image, allocations + T.eq(render(s, case, "flash")[1].image, img, label .. " flash bake cached") + T.eq(allocations, before, label .. " repeated flash draw allocates no image") + rows = render(s, case, "lit") + T.eq(rows[1].image, rawOf(s, case), label .. " identity frame is the raw image") + T.eq(rows[1].alpha, 1, label .. " identity frame opaque") + seen[version .. mode .. case.name] = img + end + PaletteFX.setMode("redpp") + local label = version .. " redpp " .. case.name + local obj = PaletteFX.worldPack().spritePalettes[case.group] + local rows = render(s, case, "flash") + checkPixels(rows, case.key, flashOf(obj), label .. " flash") + local img, before = rows[1].image, allocations + T.eq(render(s, case, "flash")[1].image, img, label .. " flash bake cached") + T.eq(allocations, before, label .. " repeated flash draw allocates no image") + rows = render(s, case, "lit") + checkPixels(rows, case.key, obj, label .. " identity") + T.check(rows[1].image ~= img, label .. " identity and flash bakes differ") + end +end +T.check(seen["yellowogredcut tree"] ~= seen["redogredcut tree"], "yellow tree flash does not alias red bake") + +PaletteFX.setMode("gbc") +T.finish() diff --git a/tests/engine/champion_entrance_walk_bug2666.lua b/tests/engine/champion_entrance_walk_bug2666.lua new file mode 100644 index 00000000..f04903cc --- /dev/null +++ b/tests/engine/champion_entrance_walk_bug2666.lua @@ -0,0 +1,54 @@ +-- scripts/ChampionsRoom.asm:30 +-- home/map_objects.asm:179 +-- home/overworld.asm:1844 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local story = require("data.scripts.story") + +local queued = {} +local ow = { + player = { cellX = 3, cellY = 7 }, + npcs = { { def = { name = "CHAMPIONSROOM_RIVAL" } } }, + queueScript = function(_, script, extra) + queued[#queued + 1] = { script = script, extra = extra } + end, +} +story.CHAMPIONS_ROOM.onEnter({ save = { flags = {} } }, ow) +eq(#queued, 2, "entrance walk and rival script are queued") + +local walk = queued[1] and queued[1].script or {} +local rle = { { "up", 1 }, { "right", 1 }, { "up", 3 } } +local expected = {} +for i = #rle, 1, -1 do expected[#expected + 1] = rle[i] end +eq(#walk, #expected, "entrance walk has one row per RLE entry") +for i, e in ipairs(expected) do + local row = walk[i] or {} + eq(row[1], "move_player", "row " .. i .. " is move_player") + eq(row[2], e[1], "row " .. i .. " direction plays the RLE back to front") + eq(row[3], e[2], "row " .. i .. " count plays the RLE back to front") +end + +local dx = { up = 0, down = 0, left = -1, right = 1 } +local dy = { up = -1, down = 1, left = 0, right = 0 } +local x, y = 3, 7 +local cells = { x .. "," .. y } +local lastDir +for _, row in ipairs(walk) do + if row[1] == "move_player" then + for _ = 1, row[3] do + x, y = x + dx[row[2]], y + dy[row[2]] + cells[#cells + 1] = x .. "," .. y + end + lastDir = row[2] + end +end +eq(table.concat(cells, " "), "3,7 3,6 3,5 3,4 4,4 4,3", + "player walks up the left carpet column and sidesteps just below the rival") +eq(lastDir, "up", "player ends facing up at the rival") + +T.finish("champion_entrance_walk_bug2666") diff --git a/tests/engine/continue_info_layout_2684.lua b/tests/engine/continue_info_layout_2684.lua new file mode 100644 index 00000000..94509cb9 --- /dev/null +++ b/tests/engine/continue_info_layout_2684.lua @@ -0,0 +1,76 @@ +-- engine/menus/main_menu.asm:357 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local love = _G.love or require("tests.love_stub") +_G.love = love + +local S = require("tests.harness").suite("continue info layout") +local check, eq = S.check, S.eq + +local Font = require("src.render.Font") +local SaveData = require("src.core.SaveData") +local StateStack = require("src.core.StateStack") +local TitleState = require("src.ui.TitleState") + +local savedGetInfo = love.filesystem.getInfo +local savedLoad = SaveData.load +local savedDraw, savedBox = Font.draw, Font.drawBox + +local owned = {} +for i = 1, 151 do owned[i] = true end +local inventory = {} +for _, id in ipairs({ "BOULDERBADGE", "CASCADEBADGE", "THUNDERBADGE", + "RAINBOWBADGE", "SOULBADGE", "MARSHBADGE", "VOLCANOBADGE", + "EARTHBADGE" }) do + inventory[id] = 1 +end +local fakeSave = { + player = { name = "RED" }, + inventory = inventory, + pokedex = { owned = owned }, + playTime = 47 * 3600 + 27 * 60, +} + +love.filesystem.getInfo = function() return { type = "file" } end +SaveData.load = function() return fakeSave end + +local stack = setmetatable({}, { __index = StateStack }) +stack:init() +local game = { data = {}, stack = stack } +local title = TitleState.new(game, {}) +title.game = game +title:openMenu() +local menu = game.stack:top() +check(menu and menu.items and menu.items[1], "main menu opened with items") +menu.items[1].onSelect() +local info = game.stack:top() +check(info and info ~= menu and info.draw, "CONTINUE pushed the info window") + +local drawn = {} +Font.draw = function(text, x, y) drawn[#drawn + 1] = { text, x, y } end +Font.drawBox = function() end +local ok, err = pcall(function() info:draw() end) +Font.draw, Font.drawBox = savedDraw, savedBox +love.filesystem.getInfo = savedGetInfo +SaveData.load = savedLoad +check(ok, "ContinueInfo:draw runs: " .. tostring(err)) + +local function at(text) + for _, d in ipairs(drawn) do + if d[1] == text then return d[2], d[3] end + end +end + +local bx, by = at(" 8") +eq(bx, 17 * 8, "badge count starts at hlcoord 17 (main_menu.asm:370)") +eq(by, 11 * 8, "badge count on row 11") +local dx, dy = at("151") +eq(dx, 16 * 8, "dex count starts at hlcoord 16 (main_menu.asm:372)") +eq(dy, 13 * 8, "dex count on row 13") +local tx, ty = at(" 47:27") +eq(tx, 13 * 8, "play time starts at hlcoord 13 (main_menu.asm:374)") +eq(ty, 15 * 8, "play time on row 15") +eq(bx + 2 * 8, tx + 6 * 8, "badge count ends flush with the play time") +eq(dx + 3 * 8, tx + 6 * 8, "dex count ends flush with the play time") + +S.finish() diff --git a/tests/engine/diploma_test.lua b/tests/engine/diploma_test.lua index 383e5904..699d93e3 100644 --- a/tests/engine/diploma_test.lua +++ b/tests/engine/diploma_test.lua @@ -39,6 +39,109 @@ local ok, err = pcall(function() end) check(ok, "Diploma:draw() runs without error: " .. tostring(err)) +local PaletteFX = require("src.render.PaletteFX") +local Sprites = require("src.pokemon.Sprites") +local SpriteRenderer = require("src.render.SpriteRenderer") +local GameVersion = require("src.core.GameVersion") + +local fakePic = setmetatable({ w = 40, h = 56 }, { + __index = { + getDimensions = function(s) return s.w, s.h end, + getWidth = function(s) return s.w end, + getHeight = function(s) return s.h end, + }, +}) +local origPlayerPic, origObp = Sprites.playerPic, SpriteRenderer.obpImage +local origScissor, origDraw = love.graphics.setScissor, love.graphics.draw +local origMode, origIsBlue = PaletteFX.mode, GameVersion.isBlue +local bakes, scissors, picDraws = {}, {}, {} +Sprites.playerPic = function() return "fake/player.png", false end +SpriteRenderer.obpImage = function(path, ramp, group) + bakes[#bakes + 1] = { path = path, ramp = ramp, group = group } + return fakePic +end +love.graphics.setScissor = function(...) + scissors[#scissors + 1] = { ... } +end +love.graphics.draw = function(img, a, b) + if img == fakePic then picDraws[#picDraws + 1] = { a, b } end +end + +local function renderIn(mode, pass) + bakes, scissors, picDraws = {}, {}, {} + PaletteFX.mode = mode + PaletteFX.clearSpriteRedraws() + PaletteFX.setPass(pass) + local okR, errR = pcall(Diploma.render, Game) + check(okR, "Diploma.render under " .. tostring(mode) .. "/" + .. tostring(pass) .. ": " .. tostring(errR)) + local redraws = {} + for _, r in ipairs(PaletteFX.uiSpriteRedraws()) do redraws[#redraws + 1] = r end + PaletteFX.setPass(nil) + PaletteFX.clearSpriteRedraws() + return redraws +end + +local function noNarrowScissor(label) + for _, s in ipairs(scissors) do + local x, w = s[1], s[3] + check(x == nil or x + w >= 155, + label .. ": scissor never clips the pic short of x 155") + end +end + +local r = renderIn("sgb", "ui") +noNarrowScissor("sgb") +eq(#picDraws, 1, "sgb draws the player pic once") +eq(picDraws[1] and picDraws[1][1], 115, "pic x 115 (diploma.asm:44 +33)") +eq(picDraws[1] and picDraws[1][2], 80, "pic y 80") +eq(bakes[1] and bakes[1].group, "diploma", "sgb keeps the OBP0 $90 DMG bake") +eq(#r, 0, "sgb records no OBJ-ramp redraw") + +GameVersion.isBlue = function() return false end +r = renderIn("ogred", "ui") +noNarrowScissor("ogred") +eq(bakes[1] and bakes[1].group, "diploma_og", "OG RED bakes the OBJ ramp") +local c = PaletteFX.OG_RED_SOFT_OBJ +local ramp = bakes[1] and bakes[1].ramp or {} +check(ramp[2] == c[1] and ramp[3] == c[2] and ramp[4] == c[3], + "OG RED OBP0 $90 maps colors 1-3 to OBJ shades 0, 1, 2") +check(r[1] and r[1].image == fakePic and r[1].x == 115 and r[1].y == 80, + "OG RED replays the pic at (115, 80) after the zone pass") +check(r[2] and r[2].clip and r[2].clip[1] == 115 and r[2].clip[2] == 80 + and r[2].clip[3] == 40 and r[2].clip[4] == 56, + "OG RED replays the BG text over the pic, clipped to the pic") + +local canvasSets = 0 +local origSetCanvas = love.graphics.setCanvas +love.graphics.setCanvas = function(c) + if c then canvasSets = canvasSets + 1 end + return origSetCanvas(c) +end +renderIn("ogred", "ui") +eq(canvasSets, 0, "OG RED reuses the cached text overlay on a second draw") +Game.save.player.name = "RED" +renderIn("ogred", "ui") +eq(canvasSets, 1, "a changed player name rebuilds the text overlay once") +Game.save.player.name = "ASH" +love.graphics.setCanvas = origSetCanvas + +GameVersion.isBlue = function() return true end +r = renderIn("ogred", "ui") +eq(bakes[1] and bakes[1].group, "diploma_og_blue", + "OG BLUE bakes under a version-distinct cache group") +check(bakes[1] and bakes[1].ramp[3] == PaletteFX.GBC_OBJ_BLUE[2], + "OG BLUE uses Blue's OBJ ramp") +GameVersion.isBlue = origIsBlue + +r = renderIn("ogred", nil) +eq(bakes[1] and bakes[1].group, "diploma", "printer path keeps the DMG bake") +eq(#r, 0, "printer path records no redraw") + +Sprites.playerPic, SpriteRenderer.obpImage = origPlayerPic, origObp +love.graphics.setScissor, love.graphics.draw = origScissor, origDraw +PaletteFX.mode = origMode + -- Confirm dismissal on A or B press Input.pressed = { a = true } diploma:update() diff --git a/tests/engine/evolution_double_after_battle_bug2664.lua b/tests/engine/evolution_double_after_battle_bug2664.lua new file mode 100644 index 00000000..cf1686f9 --- /dev/null +++ b/tests/engine/evolution_double_after_battle_bug2664.lua @@ -0,0 +1,164 @@ +-- engine/pokemon/evos_moves.asm:156 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +package.loaded["src.core.Sound"] = { + play = function() end, + playCry = function() end, + playPress = function() end, + stopLoop = function() end, +} + +local Fixtures = require("tests.modkit.fixtures") +local Music = require("src.core.Music") +local Evolution = require("src.pokemon.Evolution") +local EvolutionState = require("src.ui.EvolutionState") +local Input = require("src.core.Input") +local Pokemon = require("src.pokemon.Pokemon") +local StateStack = require("src.core.StateStack") +local TextBox = require("src.render.TextBox") + +local Data = Fixtures.fresh() +require("src.render.Font").load(Data) + +local restores = 0 +Music.restoreMap = function() restores = restores + 1 end + +local A_KEY, B_KEY = "z", "x" + +local function newGame(count) + local game = { data = Data } + local party = {} + for i = 1, count do party[i] = Pokemon.new(Data, "FIXMON_A", 16) end + game.save = { + party = party, + player = { name = "RED", id = 1 }, + options = { textSpeed = 5 }, + flags = {}, + pokedex = { seen = {}, owned = {} }, + } + game.stack = setmetatable({}, { __index = StateStack }) + game.stack:init() + game.input = Input + Input:init() + local under = { isOpaque = true, update = function() end, draw = function() end } + game.stack:push(under) + return game, party, under +end + +local function step(game, key) + if key then Input:keypressed(key) end + game.input:step() + game.stack:update(1 / 60) + if key then Input:keyreleased(key) end +end + +local function indexOf(game, state) + for i, s in ipairs(game.stack.states) do + if s == state then return i end + end +end + +local function leftovers(game) + local n = 0 + for _, s in ipairs(game.stack.states) do + if s.evoClear or s.evoIntro or getmetatable(s) == EvolutionState then + n = n + 1 + end + end + return n +end + +local function runBatch(cancelFirst) + local game, party, battle = newGame(2) + restores = 0 + local finished = false + local leveled = { [party[1]] = true, [party[2]] = true } + Evolution.checkParty(game, function() finished = true end, leveled) + local intros, seen = 0, {} + local secondIntro + local restoresBeforeSecond + for frame = 1, 6000 do + if finished then break end + local top = game.stack:top() + if top and top.evoIntro and not seen[top] then + seen[top] = true + intros = intros + 1 + if intros == 2 then + secondIntro = { + below = game.stack.states[indexOf(game, top) - 1], + base = game.stack:visibleBase(), + battleAt = indexOf(game, battle), + } + restoresBeforeSecond = restores + end + end + local key = A_KEY + if cancelFirst and intros == 1 and getmetatable(top) == EvolutionState + and top.t > 100 and not top.done then + key = B_KEY + elseif frame % 2 == 0 then + key = nil + end + step(game, key) + end + return { + game = game, party = party, battle = battle, finished = finished, + intros = intros, second = secondIntro, + restoresBeforeSecond = restoresBeforeSecond, + } +end + +for _, cancelFirst in ipairs({ false, true }) do + local label = cancelFirst and "cancelled first mon" or "two evolutions" + local r = runBatch(cancelFirst) + eq(r.intros, 2, label .. ": both mons get an IsEvolvingText box") + if check(r.second ~= nil, label .. ": the second intro box went up") then + check(r.second.below and r.second.below.evoClear and r.second.below.isOpaque, + label .. ": the second intro draws over an opaque blank screen") + check(r.second.base > r.second.battleAt, + label .. ": the battle screen is not drawn under the second intro") + eq(r.restoresBeforeSecond, 0, + label .. ": no map music between the two evolutions") + end + check(r.finished, label .. ": the batch finished") + eq(r.game.stack:top(), r.battle, label .. ": the battle is top again") + eq(leftovers(r.game), 0, label .. ": no evolution layers are left") + eq(restores, 0, label .. ": the in-battle batch never restores map music") + eq(r.party[2].species, "FIXMON_B", label .. ": the second mon evolved") + eq(r.party[1].species, cancelFirst and "FIXMON_A" or "FIXMON_B", + label .. ": the first mon's species") +end + +for _, via in ipairs({ "ITEM", "TRADE" }) do + local game, party, menu = newGame(1) + restores = 0 + local finished, topAtDone = false, nil + Evolution.evolve(game, party[1], "FIXMON_B", function() + finished = true + topAtDone = game.stack:top() + end, via) + local sawClear = false + local realClear = Evolution.clearScreen + Evolution.clearScreen = function(g, species) + realClear(g, species) + local top = g.stack:top() + if top and top.evoClear and top.isOpaque then sawClear = true end + end + for frame = 1, 6000 do + if finished then break end + step(game, frame % 2 == 1 and A_KEY or nil) + end + check(finished, via .. ": the single evolution finished") + eq(topAtDone, menu, via .. ": the caller's screen is top when onDone runs") + eq(leftovers(game), 0, via .. ": no evolution layers are left") + eq(restores, 1, via .. ": map music comes back once after the result box") + Evolution.clearScreen = realClear + check(sawClear, via .. ": the screen clears once the result box closes") +end + +T.finish() diff --git a/tests/engine/game3_shaderfx_options_test.lua b/tests/engine/game3_shaderfx_options_test.lua index a4163053..66a6b798 100644 --- a/tests/engine/game3_shaderfx_options_test.lua +++ b/tests/engine/game3_shaderfx_options_test.lua @@ -127,23 +127,34 @@ do Menu.show({ game = game, session = { version = "ruby", engineOptions = game.options } }) for _ = 1, 40 do Menu.update() end local top = Menu._pages[1] - for i = 1, 7 do eq(top.rows[i].native, i, "RS OPTION keeps native row " .. i .. " in cart order") end local seen = {} - for i = 8, #top.rows do seen[top.rows[i].port.id] = i end - check(seen["group.graphics"] ~= nil, "RS OPTION lists a visible GRAPHICS row below CANCEL") - check(seen["group.speed"] and seen["group.audio"] and seen["controls"] and seen["mods"], - "RS OPTION carries the Emerald port pages") - check(seen["eventTickets"] == nil and seen["textSpeed"] == nil, "RS port rows skip cart rows and Emerald-only rows") + for i, r in ipairs(top.rows) do seen[r.id] = i end + local order = {} + for _, id in ipairs(Rows.ORDER) do if seen[id] then order[#order + 1] = id end end + for i, id in ipairs(order) do eq(top.rows[i].id, id, "RS OPTION top row " .. i .. " follows Emerald's grouped order") end + check(seen["group.speed"] and seen["group.graphics"] and seen["group.audio"] and seen["group.battle"] + and seen["controls"] and seen["mods"], "RS OPTION carries the Emerald pages") + check(seen["textSpeed"] == nil and seen["sound"] == nil and seen["frameType"] == nil, + "RS cart rows move into their Emerald groups") + eq(top.rows[seen["buttonMode"]].native, 5, "BUTTON MODE stays a native cart row on the top page") + check(seen["eventTickets"] == nil, "RS skips Emerald-only rows") Menu.handleInput(input({ "select" })) check(not ShaderFXMenu.isOpen(), "SELECT is not a hidden SHADER FX shortcut") for _ = 1, seen["group.graphics"] - 1 do Menu.handleInput(input({ "down" })) end - eq(top.scroll, seen["group.graphics"] - 7, "the list scrolls to reach the port rows") Menu.handleInput(input({ "a" })) local graphics = Menu._pages[#Menu._pages] check(#Menu._pages == 2, "A on GRAPHICS opens its page") - local si - for i, r in ipairs(graphics.rows) do if r.id == "shaderfx" then si = i end end + local si, fi + for i, r in ipairs(graphics.rows) do + if r.id == "shaderfx" then si = i end + if r.id == "frameType" and r.native == 6 then fi = i end + end + check(fi ~= nil, "RS GRAPHICS carries the native FRAME row") check(si ~= nil, "RS GRAPHICS lists SHADER FX") + for _ = 1, (fi or 1) - 1 do Menu.handleInput(input({ "down" })) end + Menu.handleInput(input({ "right" })) + eq(Menu._pending.frameType, 1, "RIGHT on the grouped FRAME row steps the pending frame") + graphics.index = 1 for _ = 1, (si or 1) - 1 do Menu.handleInput(input({ "down" })) end Menu.handleInput(input({ "a" })) check(ShaderFXMenu.isOpen(), "A on the visible SHADER FX row opens the picker") diff --git a/tests/engine/gen1_field_fx_palette_h13.lua b/tests/engine/gen1_field_fx_palette_h13.lua index 5086009e..7bb09615 100644 --- a/tests/engine/gen1_field_fx_palette_h13.lua +++ b/tests/engine/gen1_field_fx_palette_h13.lua @@ -256,9 +256,10 @@ for _, transparent in ipairs({false, true}) do render(s, case) if case.key == "cutTree" then s.cutAnim.frames = 5 elseif s.dustAnim.boulder then s.dustAnim.faded = true - else s.dustAnim.frames = 28 end + else s.dustAnim.frames = 31 end draws = {}; case.fn(s, s.camera) - T.eq(draws[1].alpha, .55, version .. " " .. case.name .. " flicker tint preserved") + T.eq(draws[1].alpha, 1, version .. " " .. case.name .. " OBP1 flash frame drawn opaque") + T.check(draws[1].image ~= render(s, case)[1].image, version .. " " .. case.name .. " OBP1 flash frame uses its own bake") end end end diff --git a/tests/engine/grass_feet_strip_2688.lua b/tests/engine/grass_feet_strip_2688.lua new file mode 100644 index 00000000..3a2ebc19 --- /dev/null +++ b/tests/engine/grass_feet_strip_2688.lua @@ -0,0 +1,133 @@ +-- data/sprites/facings.asm:51 + +package.path = "./?.lua;./?/init.lua;" .. package.path +if not _G.love then _G.love = require("tests.love_stub") end + +local T = require("tests.modkit") +local check, eq = T.check, T.eq + +T.fixtures.fresh() + +local TileRenderer = require("src.render.TileRenderer") +local PaletteFX = require("src.render.PaletteFX") +local OW = require("src.world.OverworldController") + +local function upvalue(fn, name) + local i = 1 + while true do + local n, v = debug.getupvalue(fn, i) + if not n then return nil end + if n == name then return v end + i = i + 1 + end +end + +check(type(TileRenderer.feetStrip) == "function", "TileRenderer exposes the feet strip") + +local x0, y0, x1, y1 = TileRenderer.feetStrip(32, 48, nil) +eq(x0, 32, "strip starts at the sprite's left edge") +eq(y0, 52, "strip starts 4 px into the cell (bottom OAM row, sprite row 8)") +eq(x1, 48, "strip is the sprite's 16 px width") +eq(y1, 60, "strip ends 4 px above the cell bottom (sprite row 15)") + +local vanilla = { frameWidth = 16, frameHeight = 16, anchorX = 8, anchorY = 16 } +x0, y0, x1, y1 = TileRenderer.feetStrip(32, 48, vanilla) +eq(y0, 52, "vanilla 16x16 frame gets the same strip") +eq(y1, 60, "vanilla 16x16 frame strip is 8 rows") + +local tall = { frameWidth = 16, frameHeight = 32, anchorX = 8, anchorY = 32 } +x0, y0, x1, y1 = TileRenderer.feetStrip(32, 48, tall) +eq(y0, 52, "a 32-tall frame keeps its strip on the frame's bottom 8 rows") +eq(y1, 60, "a 32-tall frame strip is still 8 rows") + +local function spans(a, b, c, d) + local out = {} + TileRenderer.eachStripSpan(a, b, c, d, function(tx, ty, x, y, ox, oy, w, h) + out[#out + 1] = { tx = tx, ty = ty, x = x, y = y, ox = ox, oy = oy, w = w, h = h } + end) + return out +end + +local s = spans(32, 52, 48, 60) +eq(#s, 4, "a standing strip touches 2x2 tiles") +eq(s[1].ty, 6, "first span is the cell's top tile row") +eq(s[1].oy, 4, "top tile row is cut from its row 4") +eq(s[1].h, 4, "top tile row contributes its lower 4 rows") +eq(s[3].ty, 7, "second span is the cell's bottom tile row") +eq(s[3].oy, 0, "bottom tile row starts at its row 0") +eq(s[3].h, 4, "bottom tile row contributes its upper 4 rows") +eq(s[1].w, 8, "standing strip spans whole tile columns") + +s = spans(36, 54, 52, 62) +eq(#s, 6, "a mid-step strip straddles three tile columns") +eq(s[1].ox, 4, "left column clips to the sprite's left edge") +eq(s[1].w, 4, "left column keeps only the covered pixels") +eq(s[3].w, 4, "right column clips to the sprite's right edge") +eq(s[1].oy + s[1].h, 8, "top span runs to its tile's bottom") +eq(s[4].h, 6, "bottom span covers the rest of the strip") + +local image = { getDimensions = function() return 128, 128 end } +local fakeMap = { + tileset = { tilesPerRow = 16 }, + tileAt = function() return 0x52 end, +} +local r = setmetatable({ map = fakeMap, image = image, quads = { [0x52] = {} } }, + TileRenderer) + +local drawn = {} +local realDraw = love.graphics.draw +love.graphics.draw = function(_, q, x, y) + drawn[#drawn + 1] = { q = q, x = x, y = y } +end +r:drawStripRaw(32, 52, 48, 60, 0, 0) +love.graphics.draw = realDraw + +local covered = {} +for _, d in ipairs(drawn) do + for row = d.y, d.y + d.q.h - 1 do covered[row] = true end +end +for row = 48, 51 do + check(not covered[row], "sprite row " .. (row - 44) .. " stays above the grass") +end +for row = 52, 59 do + check(covered[row], "sprite row " .. (row - 44) .. " is behind the grass") +end +for row = 60, 63 do + check(not covered[row], "cell row " .. (row - 48) .. " below the sprite is not redrawn") +end + +local marks = {} +local realMark = PaletteFX.markSpriteRedraw +PaletteFX.markSpriteRedraw = function(img, q, x, y) + marks[#marks + 1] = { q = q, x = x, y = y } +end +r:markStripRedraw(32, 52, 48, 60, 0, 0, {}) +PaletteFX.markSpriteRedraw = realMark +local markRows = {} +for _, m in ipairs(marks) do + for row = m.y, m.y + m.q.h - 1 do markRows[row] = true end +end +check(markRows[52] and markRows[59] and not markRows[60] and not markRows[51], + "OG RED replay redraws the same strip") + +local grassStrip = upvalue(OW.drawWorld, "grassStrip") +check(type(grassStrip) == "function", "drawWorld places grass by the feet strip") +if grassStrip then + local map = { + renderer = r, + isGrassCell = function(_, cx, cy) return cx == 2 and cy == 3 end, + } + local ow = { map = map } + local standing = { cellX = 2, cellY = 3, px = 32, py = 48 } + local a, b, c, d = grassStrip(ow, standing) + eq(b, 52, "entity standing in grass gets the strip from row py+4") + eq(d, 60, "entity standing in grass gets the strip to row py+12") + local entering = { cellX = 2, cellY = 2, targetX = 2, targetY = 3, px = 32, py = 40, + pose = function(self) return vanilla, self.px, self.py end } + a, b, c, d = grassStrip(ow, entering) + eq(b, 44, "stepping into grass follows the sprite mid-step") + check(grassStrip(ow, { cellX = 1, cellY = 1, px = 16, py = 16 }) == nil, + "entity outside grass gets no strip") +end + +T.finish("grass feet strip") diff --git a/tests/engine/indigo_statues_bug2683.lua b/tests/engine/indigo_statues_bug2683.lua new file mode 100644 index 00000000..cc7ce8ed --- /dev/null +++ b/tests/engine/indigo_statues_bug2683.lua @@ -0,0 +1,62 @@ +-- engine/events/hidden_events/indigo_plateau_statues.asm:5 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") + +local OW = require("src.world.OverworldController") + +local function setUpvalue(fn, name, val) + local i = 1 + while true do + local n = debug.getupvalue(fn, i) + if not n then return false end + if n == name then debug.setupvalue(fn, i, val); return true end + i = i + 1 + end +end + +local pushed +local textBoxStub = { + new = function(_, text, onDone, opts) + return { text = text, onDone = onDone, opts = opts } + end, +} +local fakeGame = { + data = { text = { + _IndigoPlateauStatuesText1 = "PLAQUE", + _IndigoPlateauStatuesText2 = "ULTIMATE GOAL", + _IndigoPlateauStatuesText3 = "HIGHEST AUTHORITY", + } }, + stack = { push = function(_, box) pushed = box end }, +} +T.check(setUpvalue(OW.tryBookshelf, "TextBox", textBoxStub), + "TextBox upvalue on tryBookshelf") +T.check(setUpvalue(OW.tryBookshelf, "Game", fakeGame), + "Game upvalue on tryBookshelf") + +local map = { + def = { tileset = "PLATEAU" }, + inBounds = function() return true end, + cellTile = function() return 0x30 end, +} + +local function read(cellX) + pushed = nil + local self_ = setmetatable({ player = { facing = "up", cellX = cellX, cellY = 6 }, + map = map }, { __index = OW }) + local ok = self_:tryBookshelf(cellX, 5) + return ok, pushed and pushed.text +end + +for _, x in ipairs({ 9, 11 }) do + local ok, text = read(x) + T.eq(ok, true, "odd X " .. x .. " statue is consumed") + T.eq(text, "PLAQUE\fULTIMATE GOAL", "odd X " .. x .. " prints Text2") +end +for _, x in ipairs({ 8, 10 }) do + local ok, text = read(x) + T.eq(ok, true, "even X " .. x .. " statue is consumed") + T.eq(text, "PLAQUE\fHIGHEST AUTHORITY", "even X " .. x .. " prints Text3") +end + +T.finish("indigo_statues_bug2683") diff --git a/tests/engine/lance_side_trigger_facing_bug2669.lua b/tests/engine/lance_side_trigger_facing_bug2669.lua new file mode 100644 index 00000000..6bed366d --- /dev/null +++ b/tests/engine/lance_side_trigger_facing_bug2669.lua @@ -0,0 +1,62 @@ +-- scripts/LancesRoom.asm:54 +-- home/overworld.asm:1212 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local story4 = require("data.scripts.story4") +local hooks = story4.LANCES_ROOM + +local function facingToward(npc, player) + local dx, dy = player.cellX - npc.cellX, player.cellY - npc.cellY + if math.abs(dx) > math.abs(dy) then + return dx < 0 and "left" or "right" + end + return dy < 0 and "up" or "down" +end + +local function trigger(x, y, playerFacing) + local lance = { + def = { name = "LANCESROOM_LANCE", index = 1, + trainerClass = "OPP_LANCE", trainerParty = 1, text = 1 }, + id = "LANCES_ROOM:1", + cellX = 6, cellY = 1, + facing = "down", + } + function lance:facePlayer(player) self.facing = facingToward(self, player) end + local engaged = false + local facingAtEngage + local game = { data = {}, save = { flags = {}, defeatedTrainers = {} } } + local ow = { + npcs = { lance }, + player = { cellX = x, cellY = y, facing = playerFacing }, + } + function ow:trainerDefeated(npc) return game.save.defeatedTrainers[npc.id] == true end + function ow:engageTrainer(npc) + engaged = npc == lance + facingAtEngage = npc.facing + end + local handled = hooks.onStep(game, ow, x, y) + return handled, engaged, facingAtEngage, lance +end + +do + local handled, engaged, atEngage, lance = trigger(5, 1, "right") + check(handled == true, "(5,1) trigger handled") + check(engaged, "(5,1) trigger engages Lance") + eq(atEngage, "down", "(5,1) Lance still faces down when his text starts") + eq(lance.facing, "down", "(5,1) Lance keeps his object_event DOWN facing") +end + +do + local handled, engaged, atEngage, lance = trigger(6, 2, "up") + check(handled == true, "(6,2) trigger handled") + check(engaged, "(6,2) trigger engages Lance") + eq(atEngage, "down", "(6,2) Lance faces down when his text starts") + eq(lance.facing, "down", "(6,2) Lance keeps facing down") +end + +T.finish("lance_side_trigger_facing_bug2669") diff --git a/tests/engine/lance_victory_music_bug2659.lua b/tests/engine/lance_victory_music_bug2659.lua new file mode 100644 index 00000000..4bbc08d2 --- /dev/null +++ b/tests/engine/lance_victory_music_bug2659.lua @@ -0,0 +1,45 @@ +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") +local Music = require("src.core.Music") +local BattleState = require("src.battle.BattleState") + +local played +local realPlayVictory = Music.playVictory +Music.playVictory = function(data, kind) played = kind end + +local function run(kind, id, partyIndex) + local b = setmetatable({ + data = {}, + kind = kind, + oppClass = id, + partyIndex = partyIndex, + trainer = id and { id = id } or nil, + }, { __index = BattleState }) + b.musicKind = b:computeMusicKind() + played = nil + b:playVictoryMusic() + return b.musicKind, played +end + +local cases = { + { "trainer", "OPP_LANCE", 1, "gym", "trainer" }, + { "trainer", "OPP_LORELEI", 1, "trainer", "trainer" }, + { "trainer", "OPP_AGATHA", 1, "trainer", "trainer" }, + { "trainer", "OPP_BROCK", 1, "gym", "gym" }, + { "trainer", "OPP_GIOVANNI", 3, "gym", "gym" }, + { "trainer", "OPP_GIOVANNI", 2, "trainer", "trainer" }, + { "trainer", "OPP_RIVAL3", 1, "final", "gym" }, + { "trainer", "OPP_YOUNGSTER", 1, "trainer", "trainer" }, + { "wild", nil, nil, "wild", "wild" }, +} + +for _, c in ipairs(cases) do + local label = tostring(c[2] or "wild") .. "#" .. tostring(c[3] or "-") + local battleKind, victoryKind = run(c[1], c[2], c[3]) + T.eq(battleKind, c[4], label .. " battle theme kind") + T.eq(victoryKind, c[5], label .. " victory theme kind") +end + +Music.playVictory = realPlayVictory +T.finish("lance victory music bug2659") diff --git a/tests/engine/lance_walk_in_bug2665.lua b/tests/engine/lance_walk_in_bug2665.lua new file mode 100644 index 00000000..2ec21a15 --- /dev/null +++ b/tests/engine/lance_walk_in_bug2665.lua @@ -0,0 +1,88 @@ +-- scripts/LancesRoom.asm:96 +-- home/map_objects.asm:179 +-- home/overworld.asm:1845 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local GameVersion = require("src.core.GameVersion") +local savedSound = package.loaded["src.core.Sound"] +local played = {} +package.loaded["src.core.Sound"] = { + play = function(_, name) played[#played + 1] = name end, +} + +local story4 = require("data.scripts.story4") +local hooks = story4.LANCES_ROOM + +local function reversed(rle) + local out = {} + for i = #rle, 1, -1 do out[#out + 1] = rle[i] end + return out +end + +local function sameRoute(got, want, label) + eq(#got, #want, label .. ": segment count") + for i, w in ipairs(want) do + local g = got[i] or {} + eq(g[1], w[1], label .. ": segment " .. i .. " direction") + eq(g[2], w[2], label .. ": segment " .. i .. " count") + end +end + +local redRle = { { "up", 12 }, { "left", 12 }, { "down", 7 }, { "left", 6 } } +local yellowRle = { { "up", 13 }, { "left", 12 }, { "down", 7 }, { "left", 6 } } + +sameRoute(hooks.walkInRoute, reversed(redRle), "red walkInRoute") +sameRoute(hooks.walkInRouteFor(false), reversed(redRle), "red walkInRouteFor") +sameRoute(hooks.walkInRouteFor(true), reversed(yellowRle), "yellow walkInRouteFor") +eq(hooks.walkInRoute[1][1], "left", "walk-in leaves the staircase going left first") + +local D = { up = { 0, -1 }, down = { 0, 1 }, left = { -1, 0 }, right = { 1, 0 } } + +local function runWalkIn(version) + local prev = GameVersion.current + GameVersion.current = version + played = {} + local blocks = {} + local moves = {} + local game = { data = {}, save = { flags = {} } } + local ow = { player = { cellX = 24, cellY = 16 } } + function ow:replaceBlock(bx, by, id) blocks[bx .. "," .. by] = id end + function ow:scriptMove(entity, dir, n, onDone) + moves[#moves + 1] = { dir, n } + local d = D[dir] + entity.cellX, entity.cellY = entity.cellX + d[1] * n, entity.cellY + d[2] * n + if onDone then onDone() end + end + hooks.onEnter(game, ow) + GameVersion.current = prev + return game, ow, moves, blocks +end + +do + local game, ow, moves, blocks = runWalkIn("red") + sameRoute(moves, reversed(redRle), "red onEnter moves") + eq(ow.player.cellX, 6, "red walk-in lands at x=6") + eq(ow.player.cellY, 11, "red walk-in lands at y=11") + eq(game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR, true, "red landing locks the door") + eq(played[#played], "Go_Inside", "red landing plays SFX_GO_INSIDE") + eq(blocks["2,6"], 0x72, "red door block (2,6) closed") + eq(blocks["3,6"], 0x73, "red door block (3,6) closed") +end + +do + local game, ow, moves, blocks = runWalkIn("yellow") + sameRoute(moves, reversed(yellowRle), "yellow onEnter moves") + eq(ow.player.cellX, 6, "yellow walk-in lands at x=6") + eq(ow.player.cellY, 10, "yellow walk-in lands at y=10") + check(not game.save.flags.EVENT_LANCES_ROOM_LOCK_DOOR, "yellow landing leaves the door open") + eq(#played, 0, "yellow landing plays no SFX") + eq(blocks["2,6"], 0x31, "yellow door block (2,6) open") +end + +package.loaded["src.core.Sound"] = savedSound +T.finish("lance_walk_in_bug2665") diff --git a/tests/engine/mart_bag_full_bug2162.lua b/tests/engine/mart_bag_full_bug2162.lua index 1abd9e93..4cc2214d 100644 --- a/tests/engine/mart_bag_full_bug2162.lua +++ b/tests/engine/mart_bag_full_bug2162.lua @@ -119,18 +119,38 @@ local function buyOne(game, stack) return menu, list, qty end +require("src.core.GameVersion").set("red") + +local function fill(game, n) + for i = 1, n do + local id = "FILLER_" .. i + game.save.inventory[id] = 1 + game.save.bagOrder[#game.save.bagOrder + 1] = id + end +end + do local game = newGame(3000, 99) + eq(Bag.add(game.save, "POKE_BALL", 1, game.data), true, + "AddItemToInventory puts a 100th POKe BALL in a new slot") + eq(game.save.inventory.POKE_BALL, 100, "the total is 100") + eq(Bag.slots(game.save, game.data), 2, "split over two slots") +end + +do + local game = newGame(3000, 99) + fill(game, 19) eq(Bag.add(game.save, "POKE_BALL", 1, game.data), false, - "AddItemToInventory refuses a 100th POKe BALL") + "a full bag refuses the overflow slot") eq(game.save.inventory.POKE_BALL, 99, "and adds nothing") end for _, case in ipairs({ - { name = "bag full", money = 3000, count = 99, text = BAG_FULL }, + { name = "bag full", money = 3000, count = 99, fill = 19, text = BAG_FULL }, { name = "not enough money", money = 100, count = nil, text = NO_MONEY }, }) do local game, events, stack = newGame(case.money, case.count) + fill(game, case.fill or 0) local menu, list, qty = buyOne(game, stack) local box = stack[#stack] if check(getmetatable(box) == TextBox, case.name .. ": a text box is pushed") then diff --git a/tests/engine/naming_empty_confirm_bug833.lua b/tests/engine/naming_empty_confirm_bug833.lua index a184b62a..b8737e94 100644 --- a/tests/engine/naming_empty_confirm_bug833.lua +++ b/tests/engine/naming_empty_confirm_bug833.lua @@ -7,9 +7,9 @@ -- DisplayNameRaterScreen takes .playerCancelled and keeps the old nickname. -- Nothing in the original invents a letter, so NamingScreen:confirm must hand -- the caller "" rather than the literal "A" when nothing was typed -- both via --- START and via the ED cell. The two fallbacks that are load bearing stay: --- presets[1] for player/rival naming (oak_speech2.asm ChoosePlayerName never --- accepts an empty name) and opts.default for the Name Rater cancel. +-- START and via the ED cell. Player/rival naming (oak_speech2.asm +-- ChoosePlayerName never accepts an empty name) re-opens the grid, and +-- opts.default still covers the Name Rater cancel. -- luajit tests/engine/naming_empty_confirm_bug833.lua package.path = "./?.lua;./?/init.lua;" .. package.path @@ -107,14 +107,34 @@ press(ns, game, "a") press(ns, game, "start") eq(res.name, "A", "a genuinely typed A still comes back as A") --- ---------------------------------------------------------------- presets fallback (player / rival) --- ChoosePlayerName / ChooseRivalName (engine/movie/oak_speech/oak_speech2.asm) --- compare wStringBuffer to '@' and re-open rather than accept an empty name; --- the port answers the same need with its presets fallback, which #833 must --- not disturb. +-- ---------------------------------------------------------------- player / rival re-prompt +-- engine/movie/oak_speech/oak_speech2.asm:20 ns, game, res = newScreen({ title = "YOUR NAME?", maxLen = 7, presets = { "RED", "ASH" } }) +ns.row, ns.col, ns.lower = 3, 4, true press(ns, game, "start") -eq(res.name, "RED", "an empty confirm with presets still yields presets[1]") +check(not res.fired, "an empty player/rival name does not confirm") +eq(#game.stack.states, 1, "the naming screen stays up on an empty START") +eq(ns.row, 1, "re-entry puts the cursor back on row 1") +eq(ns.col, 1, "re-entry puts the cursor back on column 1") +eq(ns.lower, true, "wAlphabetCase carries over the re-entry") +check((ns.whiteout or 0) > 0, "the re-entry whites the screen out") +ns.lower = false +press(ns, game, "a") +eq(#ns.glyphs, 0, "input is ignored while the screen is white") +for _ = 1, 60 do ns:update(1 / 60) end +eq(ns.whiteout, 0, "the whiteout ends") +local edR, edC = edCell(ns) +ns.row, ns.col = edR, edC +press(ns, game, "a") +check(not res.fired, "ED with nothing typed re-prompts too") +eq(#game.stack.states, 1, "the naming screen is still up after an empty ED") +for _ = 1, 60 do ns:update(1 / 60) end +ns.row, ns.col = 1, 1 +press(ns, game, "a") +press(ns, game, "start") +check(res.fired, "a typed player name confirms") +eq(res.name, "A", "the typed name comes back, never presets[1]") +eq(#game.stack.states, 0, "a typed confirm pops the naming screen") -- ---------------------------------------------------------------- default fallback (Name Rater) -- DisplayNameRaterScreen jumps to .playerCancelled on '@' and keeps the diff --git a/tests/engine/oak_shrink_timing_2685.lua b/tests/engine/oak_shrink_timing_2685.lua new file mode 100644 index 00000000..9e7a7d16 --- /dev/null +++ b/tests/engine/oak_shrink_timing_2685.lua @@ -0,0 +1,176 @@ +-- engine/movie/oak_speech/oak_speech.asm:112 +-- home/fade.asm:24 +-- data/text/text_2.asm:1742 + +package.path = "./?.lua;./?/init.lua;" .. package.path + +love = love or require("tests.love_stub") + +local T = require("tests.harness") +local eq, check = T.eq, T.check +local OakSpeech = require("src.ui.OakSpeech") +local TextBox = require("src.render.TextBox") +local PaletteFX = require("src.render.PaletteFX") +local SpriteRenderer = require("src.render.SpriteRenderer") +local Transition = require("src.render.Transition") +local Music = require("src.core.Music") +local Sound = require("src.core.Sound") +local Version = require("src.core.GameVersion") + +local origFadeOut, origPlay, origPress = Music.fadeOut, Sound.play, Sound.playPress +Music.fadeOut = function() end +Sound.play = function() end +Sound.playPress = function() end + +local function stub(fields) + local s = setmetatable(fields or {}, OakSpeech) + return s +end + +do + local player, p1, p2 = { tag = "player" }, { tag = "p1" }, { tag = "p2" } + local speech = stub({ playerPic = player, shrinkPic1 = p1, shrinkPic2 = p2, + pic = player }) + local finishes = 0 + speech.finish = function() finishes = finishes + 1 end + speech.shrink = { frame = 0 } + local pics, walk, fade = {}, {}, {} + for f = 1, 200 do + speech:update(0) + pics[f], walk[f], fade[f] = speech.pic, speech.walkVisible, speech.fadeLevel + end + local function span(want) + local first, last + for f = 1, 200 do + if pics[f] == want then + first = first or f + last = f + end + end + return first, last + end + local _, redLast = span(player) + local p1First, p1Last = span(p1) + local p2First, p2Last = span(p2) + check(redLast and redLast >= 30, + "RedPicFront holds through ShrinkPic1's decompress (got " .. tostring(redLast) .. ")") + eq(p1First, OakSpeech.SHRINK_PIC1_AT, "ShrinkPic1 lands on its frame") + check(p1Last and p1First and p1Last - p1First + 1 >= 30, + "ShrinkPic1 holds ~40 frames, not 4") + eq(p2First, OakSpeech.SHRINK_PIC2_AT, "ShrinkPic2 lands on its frame") + check(p2Last and p2First and p2Last - p2First + 1 >= 25, + "ShrinkPic2 holds ~32 frames") + eq(pics[OakSpeech.SHRINK_WALK_AT], nil, "the pic area clears") + check(walk[OakSpeech.SHRINK_WALK_AT] and not walk[OakSpeech.SHRINK_WALK_AT - 1], + "and the walking sprite appears on the same frame") + eq(OakSpeech.SHRINK_FADE_AT - OakSpeech.SHRINK_WALK_AT, 50, + "the walking sprite stands for ld c, 50") + eq(fade[OakSpeech.SHRINK_FADE_AT - 1], nil, "no fade before GBFadeOutToWhite") + eq(fade[OakSpeech.SHRINK_FADE_AT], 1, "FadePal6 first") + eq(fade[OakSpeech.SHRINK_FADE_AT + 8], 2, "FadePal7 eight frames later") + eq(fade[OakSpeech.SHRINK_FADE_AT + 16], 3, "FadePal8 eight frames after that") + eq(OakSpeech.SHRINK_END - OakSpeech.SHRINK_FADE_AT, 24, "3 palettes x 8 frames") + eq(finishes, 1, "finish runs once") +end + +do + local steps = {} + for _, step in ipairs(OakSpeech.defaultSteps({})) do steps[step.id] = step end + check(steps.legend and steps.legend.auto, + "OakSpeechText3 ends on done, so PrintText returns without a button wait") + + Version.set("red") + local pressed = false + local game = { data = { text = { _OakSpeechText3 = "A\nB{DONE}" } }, + save = { player = { name = "RED" }, options = { textSpeed = 1 } }, + input = { wasPressed = function() return pressed end, + isDown = function() return false end } } + game.stack = { push = function(s, b) s.box = b end, + pop = function(s) s.box = nil end } + local advanced = 0 + local speech = stub({ game = game }) + speech.advance = function() advanced = advanced + 1 end + speech:runStep(steps.legend) + for _ = 1, 24 do speech:update(0) end + local box = game.stack.box + eq(getmetatable(box), TextBox, "the legend page is a real text box") + local sawArrow = false + for _ = 1, 300 do + if not game.stack.box then break end + box:update() + if game.stack.box and box.done and box:arrowVisible() then sawArrow = true end + end + check(not sawArrow, "no blinking arrow on the last page") + eq(game.stack.box, nil, "the box closes on its own") + eq(advanced, 1, "and the shrink starts with no A press") +end + +local origObp = SpriteRenderer.obpImage +local origDraw = love.graphics.draw + +local function drawWalk(mode, fadeLevel) + PaletteFX.mode = mode + PaletteFX.clearSpriteRedraws() + PaletteFX.setShadeMap(nil) + PaletteFX.setFadeObp(nil) + PaletteFX.setPass("ui") + local baked = { tag = "baked" } + local got = {} + SpriteRenderer.obpImage = function(path, colors, group) + got.path, got.colors, got.group = path, colors, group + return baked + end + local drawn = {} + love.graphics.draw = function(img) drawn[#drawn + 1] = img end + local sheet = love.graphics.newImage("missing.png") + local speech = stub({ game = {}, walkVisible = true, walkSheet = sheet, + walkPath = "red.png", walkDef = { image = "red.png" }, + fadeLevel = fadeLevel }) + speech:draw() + love.graphics.draw = origDraw + SpriteRenderer.obpImage = origObp + local shadeMap = PaletteFX.shadeMap() + local redraws = #PaletteFX.uiSpriteRedraws() + PaletteFX.setFadeObp(nil) + PaletteFX.setShadeMap(nil) + return got, drawn, baked, sheet, redraws, shadeMap +end + +do + Version.set("red") + local got, drawn, baked, sheet, redraws = drawWalk("ogred") + eq(got.path, "red.png", "OG RED bakes the RedSprite sheet") + local want = PaletteFX.ogObjNormal() + eq(got.colors, want, "through the boot-ROM OBJ palette at rOBP0 = $D0") + check(drawn[1] == baked and drawn[1] ~= sheet, "and draws the baked sheet") + eq(redraws, 1, "replayed past the red BG zone pass") + + got, drawn, baked, sheet, redraws = drawWalk("gbc") + eq(got.colors, PaletteFX.OBP0_SHADES, + "SGB keeps the sprite in DMG shades through the OBP0 lift") + eq(redraws, 0, "and lets the zone palette color it") + + Version.set("blue") + got = drawWalk("ogred") + eq(got.colors, PaletteFX.ogObjNormal(), "OG BLUE bakes Blue's pink OBJ ramp") + Version.set("red") +end + +do + Version.set("red") + local raw = PaletteFX.ogObjBase() + local got, drawn, _, _, redraws, shadeMap = drawWalk("ogred", 1) + eq(shadeMap, Transition.shadeMapFor(0x90), "FadePal6 rBGP") + check(got.colors and got.colors[2] == raw[1] and got.colors[3] == raw[1] + and got.colors[4] == raw[3], + "FadePal6 rOBP0 $80 lightens the baked sprite") + eq(redraws, 1, "and the faded sprite still replays") + got, drawn, _, _, redraws, shadeMap = drawWalk("ogred", 3) + eq(shadeMap, Transition.shadeMapFor(0x00), "FadePal8 rBGP is solid white") + check(got.colors and got.colors[4] == raw[1], "and so is the sprite") +end + +PaletteFX.mode = "gbc" +Music.fadeOut, Sound.play, Sound.playPress = origFadeOut, origPlay, origPress + +T.finish("oak_shrink_timing_2685") diff --git a/tests/engine/oaks_lab_starter_ball_hide_2686.lua b/tests/engine/oaks_lab_starter_ball_hide_2686.lua new file mode 100644 index 00000000..7f2b701a --- /dev/null +++ b/tests/engine/oaks_lab_starter_ball_hide_2686.lua @@ -0,0 +1,61 @@ +-- scripts/OaksLab.asm:918 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") + +local M = assert(loadfile("data/scripts/oaks_lab.lua"))() + +local cases = { + { "TEXT_OAKSLAB_CHARMANDER_POKE_BALL", "OAKSLAB_CHARMANDER_POKE_BALL", + "OAKSLAB_SQUIRTLE_POKE_BALL" }, + { "TEXT_OAKSLAB_SQUIRTLE_POKE_BALL", "OAKSLAB_SQUIRTLE_POKE_BALL", + "OAKSLAB_BULBASAUR_POKE_BALL" }, + { "TEXT_OAKSLAB_BULBASAUR_POKE_BALL", "OAKSLAB_BULBASAUR_POKE_BALL", + "OAKSLAB_CHARMANDER_POKE_BALL" }, +} + +local function find(rows, pred) + for i, row in ipairs(rows) do + if pred(row) then return i end + end +end + +for _, c in ipairs(cases) do + local key, own, rival = c[1], c[2], c[3] + local rows = M.talk[key] + T.check(type(rows) == "table", key .. " rows loaded") + local jumpNo = find(rows, function(r) + return r[1] == "jump_if_false" and r[2] == "end" end) + local hideOwn = find(rows, function(r) + return r[1] == "hide_object" and r[3] == own end) + local energetic = find(rows, function(r) + return r[1] == "show_text" and r[2] == "_OaksLabMonEnergeticText" end) + local received = find(rows, function(r) + return r[1] == "show_text" and r[2] == "_OaksLabReceivedMonText" end) + local give = find(rows, function(r) return r[1] == "give_pokemon" end) + local illTake = find(rows, function(r) + return r[1] == "show_text" and r[2] == "_OaksLabRivalIllTakeThisOneText" end) + local hideRival = find(rows, function(r) + return r[1] == "hide_object" and r[3] == rival end) + local rivalReceived = find(rows, function(r) + return r[1] == "show_text" and r[2] == "_OaksLabRivalReceivedMonText" end) + + T.check(jumpNo and hideOwn and energetic and received and give, + key .. ": all player-pick rows present") + if jumpNo and hideOwn and energetic and received and give then + T.eq(hideOwn, jumpNo + 1, key .. ": own ball hides right after YES") + T.check(hideOwn < energetic, key .. ": ball gone before the energetic line") + T.check(hideOwn < received, key .. ": ball gone before the received line") + T.check(hideOwn < give, key .. ": ball gone before the nickname prompt") + T.check(energetic < received and received < give, + key .. ": energetic, received, then AddPartyMon") + end + T.check(illTake and hideRival and rivalReceived, + key .. ": all rival-pick rows present") + if illTake and hideRival and rivalReceived then + T.check(illTake < hideRival and hideRival < rivalReceived, + key .. ": rival ball hides between ILL_TAKE_THIS_ONE and RECEIVED") + end +end + +T.finish("oaks_lab_starter_ball_hide_2686") diff --git a/tests/engine/oaks_lab_starter_energetic_bug1334.lua b/tests/engine/oaks_lab_starter_energetic_bug1334.lua index 2512d890..84131e82 100644 --- a/tests/engine/oaks_lab_starter_energetic_bug1334.lua +++ b/tests/engine/oaks_lab_starter_energetic_bug1334.lua @@ -18,13 +18,16 @@ for i, row in ipairs(rows) do end T.check(askRow ~= nil, "found the ask row") T.eq(rows[askRow + 1][1], "jump_if_false", "the ask is followed by its jump") -T.same(rows[askRow + 2], { "show_text", "_OaksLabMonEnergeticText" }, - "the energetic line is the row right after the NO jump") -T.eq(rows[askRow + 3][1], "text_sound", +T.same(rows[askRow + 2], + { "hide_object", "OAKS_LAB", "OAKSLAB_CHARMANDER_POKE_BALL" }, + "the ball hides right after the NO jump") +T.same(rows[askRow + 3], { "show_text", "_OaksLabMonEnergeticText" }, + "the energetic line follows the ball hide") +T.eq(rows[askRow + 4][1], "text_sound", "the sound cue stays on the RECEIVED line, not the energetic one") -T.eq(rows[askRow + 4][1], "show_text", +T.eq(rows[askRow + 5][1], "show_text", "and the received-mon text follows the sound cue") -T.eq(rows[askRow + 4][2], "_OaksLabReceivedMonText", +T.eq(rows[askRow + 5][2], "_OaksLabReceivedMonText", "specifically the received-mon text") -- jump_if_true (row 2): the EVENT_GOT_STARTER short-circuit must land on diff --git a/tests/engine/oaks_pc_flow.lua b/tests/engine/oaks_pc_flow.lua index b736b213..bc5f7584 100644 --- a/tests/engine/oaks_pc_flow.lua +++ b/tests/engine/oaks_pc_flow.lua @@ -149,7 +149,7 @@ T.check(tostring(ratingBox.text):find("least 50 species", 1, true) ~= nil, T.eq(#plays, 0, "no jingle while the evaluation is printing") ratingBox.opts.auto.sound() T.eq(#plays, 1, "jingle fires once the rating text is printed") -T.eq(plays[1], "Pokedex_Rating", "jingle is the Pokedex_Rating fanfare") +T.eq(plays[1], "Get_Item1", "55 owned plays the Get_Item1 tier jingle") T.check(tostring(pushed[6].text):find("Closed link", 1, true) ~= nil, "the closing link prints at the end of the session") @@ -166,6 +166,29 @@ T.check(tostring(lastPush().text):find("Closed link", 1, true) ~= nil, "NO skips the rating and closes the PC") T.eq(#plays, 0, "declining plays no jingle") +-- audio/pokedex_rating_sfx.asm:26 +local tiers = { + { 0, "Denied" }, { 9, "Denied" }, + { 10, "Pokedex_Rating" }, { 39, "Pokedex_Rating" }, + { 40, "Get_Item1" }, { 59, "Get_Item1" }, + { 60, "Caught_Mon" }, { 89, "Caught_Mon" }, + { 90, "Level_Up" }, { 119, "Level_Up" }, + { 120, "Get_Key_Item" }, { 149, "Get_Key_Item" }, + { 150, "Get_Item2" }, { 151, "Get_Item2" }, +} +for _, row in ipairs(tiers) do + T.eq(OW.dexRatingSfx and OW.dexRatingSfx(row[1]), row[2], + ("%d owned rates with %s"):format(row[1], row[2])) +end + +reset() +local full = {} +for i = 1, 151 do full[i] = true end +fakeGame.save.pokedex = { seen = full, owned = full } +fakeSelf:dexRating(function() end) +lastPush().opts.auto.sound() +T.eq(plays[1], "Get_Item2", "a complete dex plays Get_Item2") + package.loaded["src.ui.Menu"] = realMenu if realSound ~= nil then package.loaded["src.core.Sound"] = realSound end diff --git a/tests/engine/overworld_og_obp0_bug2689.lua b/tests/engine/overworld_og_obp0_bug2689.lua new file mode 100644 index 00000000..0ae96df4 --- /dev/null +++ b/tests/engine/overworld_og_obp0_bug2689.lua @@ -0,0 +1,119 @@ +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local GameVersion = require("src.core.GameVersion") +local PaletteFX = require("src.render.PaletteFX") +local Assets = require("src.render.Assets") +local SpriteRenderer = require("src.render.SpriteRenderer") + +local prevVersion, prevMode, prevDark = GameVersion.get(), PaletteFX.mode, PaletteFX.darkWorld() +local realImageData, realImage = Assets.imageData, Assets.image +local realNewImage = love.graphics.newImage + +local SHADES = { 1.0, 0.66, 0.33, 0.0 } + +Assets.imageData = function(path) + local probe = { path = path } + function probe:mapPixel(fn) + self.mapped = {} + for i, v in ipairs(SHADES) do + local r, g, b, a = fn(0, 0, v, v, v, 1) + self.mapped[i] = { r, g, b, a } + end + end + return probe +end +Assets.image = function(path) + return realNewImage(path) +end +love.graphics.newImage = function(src) + local img = realNewImage(src) + if type(src) == "table" and src.mapped then img.mapped = src.mapped end + return img +end + +local serial = 0 +local function freshPath(tag) + serial = serial + 1 + return "bug2689/" .. tag .. "_" .. serial .. ".png" +end + +local function rgb(c) return string.format("%d,%d,%d", c[1], c[2], c[3]) end +local function mappedRgb(m) + return string.format("%d,%d,%d", math.floor(m[1] * 255 + 0.5), + math.floor(m[2] * 255 + 0.5), math.floor(m[3] * 255 + 0.5)) +end + +local function stubSprite(tag) + return setmetatable({ def = { image = freshPath(tag) } }, SpriteRenderer) +end + +local function expectRamp(img, ramp, label) + local m = img and img.mapped + check(m ~= nil, label .. ": bake ran through mapPixel") + if not m then return end + eq(m[1][4], 0, label .. ": OBJ color 0 is transparent") + eq(mappedRgb(m[2]), rgb(ramp[1]), label .. ": OBJ color 1 -> rOBP0 shade") + eq(mappedRgb(m[3]), rgb(ramp[2]), label .. ": OBJ color 2 -> rOBP0 shade") + eq(mappedRgb(m[4]), rgb(ramp[3]), label .. ": OBJ color 3 -> rOBP0 shade") +end + +local function lastRedrawImage() + local list = PaletteFX.spriteRedraws() + local e = list[#list] + return e and e.image +end + +for _, version in ipairs({ "red", "blue" }) do + GameVersion.set(version) + PaletteFX.setMode("ogred") + PaletteFX.setDarkWorld(false) + PaletteFX.setFadeObp(nil) + local base = PaletteFX.ogObjBase() + local lit = { base[1], base[2], base[4] } + + expectRamp(stubSprite(version):resolveImage(), lit, + version .. " lit resolveImage") + + PaletteFX.clearSpriteRedraws() + PaletteFX.setPass("world") + local ok, err = pcall(SpriteRenderer.drawTile, stubSprite(version), + freshPath(version .. "_tile"), 0, 0, false) + PaletteFX.setPass(nil) + check(ok, version .. " drawTile runs headless" .. (ok and "" or (": " .. tostring(err)))) + expectRamp(lastRedrawImage(), lit, version .. " lit drawTile redraw") + PaletteFX.clearSpriteRedraws() + + PaletteFX.setFadeObp({ [0] = 0, [1] = 1, [2] = 2, [3] = 3 }) + expectRamp(stubSprite(version):resolveImage(), { base[2], base[3], base[4] }, + version .. " FadePal3 rOBP0 $E4 step") + PaletteFX.setFadeObp({ [0] = 0, [1] = 0, [2] = 1, [3] = 3 }) + expectRamp(stubSprite(version):resolveImage(), lit, + version .. " FadePal4 rOBP0 $D0 step") + PaletteFX.setFadeObp(nil) + + PaletteFX.setDarkWorld(true) + local _, group = PaletteFX.ogObjWorld() + check(tostring(group):match("dark$") ~= nil, + version .. " dark map keeps the FadePal2 OBJ shift (" .. tostring(group) .. ")") + expectRamp(stubSprite(version):resolveImage(), { base[4], base[4], base[4] }, + version .. " dark map rOBP0 3,3,3,2") + PaletteFX.setDarkWorld(false) + + local _, litGroup = PaletteFX.ogObjWorld() + local _, rawGroup = PaletteFX.ogObj() + check(litGroup ~= rawGroup, + version .. " overworld bake group differs from the $E4 title/battle bake") +end + +love.graphics.newImage = realNewImage +Assets.imageData, Assets.image = realImageData, realImage +PaletteFX.setFadeObp(nil) +PaletteFX.setDarkWorld(prevDark) +GameVersion.set(prevVersion) +PaletteFX.setMode(prevMode) + +T.finish("overworld OG rOBP0 #2689") diff --git a/tests/engine/party_icon_anim_freeze_bug2682.lua b/tests/engine/party_icon_anim_freeze_bug2682.lua new file mode 100644 index 00000000..6163e71c --- /dev/null +++ b/tests/engine/party_icon_anim_freeze_bug2682.lua @@ -0,0 +1,122 @@ +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.harness") +local check, eq = T.check, T.eq +love = love or require("tests.love_stub") + +local PartyMenu = require("src.ui.PartyMenu") + +local function newGame(moveId, ow) + local function mk(species) + return { species = species, hp = 50, stats = { hp = 50 }, + level = 30, moves = { { id = moveId, pp = 15 } } } + end + local party = { mk("MACHOP"), mk("MACHOP") } + ow.map = ow.map or { def = { tileset = "OVERWORLD" }, id = "PALLET_TOWN" } + ow.dark = ow.dark or false + ow.partyKnows = function() return party[1] end + local game = { + data = { pokemon = { MACHOP = { name = "MACHOP" } } }, + save = { party = party, inventory = {}, options = {}, flags = {} }, + overworld = ow, + } + game.stack = { + states = {}, + push = function(self, s) table.insert(self.states, s) end, + pop = function(self) return table.remove(self.states) end, + top = function(self) return self.states[#self.states] end, + } + game.input = { + queue = {}, + wasPressed = function(self, btn) return self.queue[btn] or false end, + isDown = function() return false end, + } + return game +end + +local function press(pm, btn) + pm.game.input.queue = { [btn] = true } + pm:update(1 / 60) + pm.game.input.queue = {} +end + +local function idle(pm, n) + for _ = 1, n do pm:update(1 / 60) end +end + +local function rowOf(pm, action) + for i, item in ipairs(pm.subItems or {}) do + if item.action == action then return i end + end +end + +do + local game = newGame("STRENGTH", {}) + local pm = PartyMenu.new(game, {}) + game.stack:push(pm) + idle(pm, 7) + check(pm.blink > 0, "the cursor mon animates while the list takes input") + press(pm, "a") + check(pm.submenu, "A opens the submenu") + local frozen = pm.blink + idle(pm, 40) + eq(pm.blink, frozen, "the icon counter holds while the submenu is open") + press(pm, "b") + eq(pm.blink, 0, "closing the submenu restarts the icon on its rest frame") + idle(pm, 7) + press(pm, "down") + eq(pm.index, 2, "down moves the cursor") + eq(pm.blink, 0, "a cursor move restarts the icon on its rest frame") + idle(pm, 3) + press(pm, "up") + eq(pm.blink, 0, "up restarts the icon too") +end + +do + local game = newGame("STRENGTH", {}) + local pm = PartyMenu.new(game, {}) + game.stack:push(pm) + idle(pm, 5) + local before = pm.blink + pm:animateTo(game.save.party[1], 10) + pm:update(1 / 60) + eq(pm.blink, before, "the icon counter holds during the HP bar fill") +end + +local function fieldMove(label, moveId, action, ow, captured) + local game = newGame(moveId, ow) + local pm = PartyMenu.new(game, {}) + game.stack:push(pm) + press(pm, "a") + pm.subIndex = rowOf(pm, action) or 1 + press(pm, "a") + check(captured.onClose ~= nil, label .. " reaches the overworld handler") + check(not pm.submenu, label .. ": the options box is gone under the text") + check(pm.chosenHollow, label .. ": the party cursor stays hollow under the text") +end + +do + local captured = {} + fieldMove("STRENGTH", "STRENGTH", "strength", { + useStrengthFieldMove = function(_, _, onClose) captured.onClose = onClose end, + }, captured) +end + +do + local captured = {} + fieldMove("SURF", "SURF", "surf", { + player = { facingCell = function() return 4, 14 end }, + useSurfFieldMove = function() return "ok" end, + trySurf = function(_, _, _, onClose) captured.onClose = onClose end, + }, captured) +end + +do + local captured = {} + fieldMove("FLASH", "FLASH", "flash", { + dark = true, + useFlashFieldMove = function(_, onClose) captured.onClose = onClose end, + }, captured) +end + +T.finish() diff --git a/tests/engine/rage_building_bug2654.lua b/tests/engine/rage_building_bug2654.lua new file mode 100644 index 00000000..3aa9c8a6 --- /dev/null +++ b/tests/engine/rage_building_bug2654.lua @@ -0,0 +1,179 @@ +-- engine/battle/core.asm:3227 +-- engine/battle/core.asm:4913 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") +local Data = T.fixtures.fresh() +local Font = require("src.render.Font") +Font.load(Data) +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local TypeChart = require("src.battle.TypeChart") +TypeChart.load(Data) + +Data.moves.FIX_LEAFISH = { + id = "FIX_LEAFISH", index = 97, name = "FIX LEAF", + type = "GRASS", power = 40, accuracy = 100, pp = 25, + effect = "NO_ADDITIONAL_EFFECT", +} +Data.moves.FIX_MULTI = { + id = "FIX_MULTI", index = 98, name = "FIX MULTI", + type = "NORMAL", power = 15, accuracy = 100, pp = 10, + effect = "TWO_TO_FIVE_ATTACKS_EFFECT", multiHit = 3, +} + +local save = SaveData.newGame() +save.party = { Pokemon.new(Data, "FIXMON_A", 30) } +local game = { data = Data, save = save, + stack = { top = function() return nil end, push = function() end } } + +local function lowRolls(lo, hi) + if lo and lo > 0 then return hi end + return 0 +end + +local function mkseq(vals) + local i = 0 + return function(_, hi) + i = i + 1 + return vals[i] ~= nil and vals[i] or hi + end +end + +local function rager(rng) + local b = BattleState.newWild(game, "FIXMON_C", 40) + b.rng = rng or lowRolls + b.enemy.rageMove = { id = "RAGE", pp = 20 } + b.enemy.stages.attack = 0 + return b +end + +local function texts(b) + local out = {} + for _, row in ipairs(b.queue) do + if row.text then out[#out + 1] = row.text end + end + return out +end + +local function find(list, needle, from) + for i = from or 1, #list do + if list[i]:find(needle, 1, true) then return i end + end + return nil +end + +local function count(list, needle) + local n = 0 + for _, t in ipairs(list) do + if t:find(needle, 1, true) then n = n + 1 end + end + return n +end + +do + local b = rager() + b:performMove(b.player, b.enemy, { id = "FIX_LEAFISH", pp = 25 }) + local t = texts(b) + local crit = find(t, "Critical hit!") + local super = find(t, "super") + local rage = find(t, "RAGE is building!") + local rose = find(t, "rose!") + T.check(crit and super and rage and rose, "crit, effectiveness, rage and rose rows all queued") + T.check(crit and super and crit < super, "crit text precedes effectiveness") + T.check(super and rage and super < rage, "rage text follows effectiveness") + T.check(rage and rose and rage < rose, "ATTACK rose! follows the rage text") + T.check(rose and t[rose]:find("ATTACK", 1, true) ~= nil, "the rose row names ATTACK") + T.eq(b.enemy.stages.attack, 1, "rage raises the attack stage once") +end + +do + local b = rager() + b.enemy.mon.hp = 1 + b:performMove(b.player, b.enemy, { id = "FIX_TACKLE", pp = 35 }) + local t = texts(b) + T.eq(b.enemy.mon.hp, 0, "the hit knocks the rager out") + T.eq(find(t, "RAGE is building!"), nil, "no rage text on the fainting hit") + T.eq(find(t, "rose!"), nil, "no stat text on the fainting hit") + T.eq(b.enemy.stages.attack, 0, "no stage gained on the fainting hit") +end + +do + local b = rager() + b.enemy.stages.attack = 6 + b:performMove(b.player, b.enemy, { id = "FIX_TACKLE", pp = 35 }) + local t = texts(b) + T.eq(find(t, "RAGE is building!"), nil, "maxed attack stays silent") + T.eq(find(t, "Nothing happened!"), nil, "maxed attack prints no fallback either") + T.eq(b.enemy.stages.attack, 6, "stage stays at +6") +end + +do + local b = rager() + b.enemy.substituteHP = 200 + local hp = b.enemy.mon.hp + b:performMove(b.player, b.enemy, { id = "FIX_TACKLE", pp = 35 }) + local t = texts(b) + T.eq(b.enemy.mon.hp, hp, "the substitute takes the hit") + T.check(find(t, "RAGE is building!") ~= nil, "rage still builds behind a substitute") + T.eq(b.enemy.stages.attack, 1, "substitute hit raises the stage") +end + +do + local b = rager(mkseq({ 0, 255, 255 })) + b.enemy.mon.maxHP, b.enemy.mon.hp = 999, 999 + b:performMove(b.player, b.enemy, { id = "FIX_MULTI", pp = 10 }) + local t = texts(b) + T.eq(count(t, "RAGE is building!"), 3, "rage builds once per strike") + T.eq(count(t, "rose!"), 3, "a rose line per strike") + T.eq(b.enemy.stages.attack, 3, "three strikes, three stages") + local multi = find(t, "times!") + local lastRose + for i, s in ipairs(t) do if s:find("rose!", 1, true) then lastRose = i end end + T.check(multi and lastRose and lastRose < multi, "hit count text follows the last strike's rage") +end + +do + local probe = rager(mkseq({ 0, 255, 255 })) + probe.enemy.mon.maxHP, probe.enemy.mon.hp = 999, 999 + probe:performMove(probe.player, probe.enemy, { id = "FIX_MULTI", pp = 10 }) + local perStrike = math.floor((999 - probe.enemy.mon.hp) / 3) + local b = rager(mkseq({ 0, 255, 255 })) + b.enemy.mon.hp = perStrike + 1 + b:performMove(b.player, b.enemy, { id = "FIX_MULTI", pp = 10 }) + local t = texts(b) + T.eq(b.enemy.mon.hp, 0, "the second strike knocks the rager out") + T.eq(count(t, "RAGE is building!"), 1, "only the first strike built rage") + T.eq(find(t, "times!"), nil, "no hit count text when a strike faints the target") + T.check(find(t, "fainted!") ~= nil, "the target faints") +end + +Data.moves.FIX_BOOM = { + id = "FIX_BOOM", index = 99, name = "FIX BOOM", + type = "NORMAL", power = 170, accuracy = 100, pp = 5, + effect = "EXPLODE_EFFECT", +} + +for _, arm in ipairs({ + { label = "accuracy miss", seq = { 255 } }, + { label = "invulnerable target", seq = { 0, 255, 255 }, invulnerable = true }, +}) do + save.party = { Pokemon.new(Data, "FIXMON_A", 30) } + local b = rager(mkseq(arm.seq)) + b.enemy.invulnerable = arm.invulnerable + b:performMove(b.player, b.enemy, { id = "FIX_BOOM", pp = 5 }) + local t = texts(b) + T.check(find(t, "attack missed!") ~= nil, arm.label .. ": the Explosion missed") + T.eq(b.player.mon.hp, 0, arm.label .. ": the exploder still faints") + local rage = find(t, "RAGE is building!") + local faint = find(t, "fainted!") + T.check(rage ~= nil, arm.label .. ": a missed Explosion still builds rage") + T.check(rage and faint and rage < faint, arm.label .. ": rage text precedes the exploder's faint") + T.eq(b.enemy.stages.attack, 1, arm.label .. ": stage +1 after the miss") +end + +Data.moves.FIX_LEAFISH = nil +Data.moves.FIX_MULTI = nil +Data.moves.FIX_BOOM = nil +T.finish("rage building order") diff --git a/tests/engine/recoil_hp_drain_bug2653.lua b/tests/engine/recoil_hp_drain_bug2653.lua new file mode 100644 index 00000000..10fb03fe --- /dev/null +++ b/tests/engine/recoil_hp_drain_bug2653.lua @@ -0,0 +1,155 @@ +-- engine/battle/move_effects/recoil.asm:28 +-- engine/battle/move_effects/drain_hp.asm:81 +-- engine/battle/core.asm:4899 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") +local Data = T.fixtures.fresh() +local Font = require("src.render.Font") +Font.load(Data) +local BattleState = require("src.battle.BattleState") +local Pokemon = require("src.pokemon.Pokemon") +local SaveData = require("src.core.SaveData") +local TypeChart = require("src.battle.TypeChart") +TypeChart.load(Data) + +Data.moves.FIX_RECOIL = { + id = "FIX_RECOIL", index = 98, name = "FIX RECOIL", + type = "NORMAL", power = 90, accuracy = 100, pp = 20, + effect = "RECOIL_EFFECT", +} +Data.moves.FIX_ABSORB = { + id = "FIX_ABSORB", index = 97, name = "FIX ABSORB", + type = "NORMAL", power = 60, accuracy = 100, pp = 20, + effect = "DRAIN_HP_EFFECT", +} + +local function mkseq(vals) + local i = 0 + return function(_, hi) + i = i + 1 + return vals[i] ~= nil and vals[i] or hi + end +end + +local function newBattle() + local save = SaveData.newGame() + save.party = { Pokemon.new(Data, "FIXMON_A", 30) } + local game = { data = Data, save = save, + stack = { top = function() return nil end, push = function() end } } + local battle = BattleState.newWild(game, "FIXMON_C", 40) + battle.rng = mkseq({ 0, 255, 255 }) + return battle +end + +local function rowsOf(battle) + local out = {} + for i, row in ipairs(battle.queue) do + local kind + if row.drain then + kind = row.battler == battle.player and "drain:player" + or row.battler == battle.enemy and "drain:enemy" or "drain" + elseif row.text then + kind = row.text:find("recoil", 1, true) and "text:recoil" or "text" + end + if kind then out[#out + 1] = { kind = kind, row = row, i = i } end + end + return out +end + +local function find(rows, kind) + for _, r in ipairs(rows) do + if r.kind == kind then return r end + end +end + +local function replay(battle, row) + battle.queue, battle.current = { row }, nil + local frames = 0 + while battle:updateQueue() and frames < 8000 do frames = frames + 1 end + T.check(frames < 8000, "drain row settles") +end + +do + local battle = newBattle() + battle.player.mon.hp = battle.player.mon.stats.hp + battle.player.shownHP = battle.player.mon.hp + local pStart = battle.player.mon.hp + local eStart = battle.enemy.mon.hp + battle:performMove(battle.player, battle.enemy, { id = "FIX_RECOIL", pp = 20 }) + local dealt = eStart - battle.enemy.mon.hp + local recoil = math.max(1, math.floor(dealt / 4)) + T.eq(pStart - battle.player.mon.hp, recoil, "recoil is a quarter of the damage") + + local rows = rowsOf(battle) + local enemyRow, playerRow = find(rows, "drain:enemy"), find(rows, "drain:player") + local recoilText = find(rows, "text:recoil") + T.check(enemyRow and playerRow and recoilText, "target drain, user drain and recoil text all queued") + if enemyRow and playerRow and recoilText then + T.check(enemyRow.i < playerRow.i, "the target's bar drains before the user's") + T.check(playerRow.i < recoilText.i, "the user's bar drains before the recoil text") + T.eq(playerRow.row.stopAt, battle.player.mon.hp, "the user's row stops at the post-recoil HP") + + replay(battle, enemyRow.row) + T.eq(battle.enemy.shownHP, battle.enemy.mon.hp, "the target bar settles on its row") + T.eq(battle.player.shownHP, pStart, "the user's bar holds still during the target's row") + + replay(battle, playerRow.row) + T.eq(battle.player.shownHP, battle.player.mon.hp, "the user's bar settles on the recoil row") + end +end + +do + local battle = newBattle() + battle.player.substituteHP = 10 + local pStart = battle.player.mon.hp + battle:performMove(battle.player, battle.enemy, { id = "FIX_RECOIL", pp = 20 }) + T.check(battle.player.mon.hp < pStart, "recoil comes off the user's HP") + T.eq(battle.player.substituteHP, 10, "the user's substitute is untouched by recoil") + for _, row in ipairs(battle.queue) do + T.check(not (row.text and row.text:find("SUBSTITUTE", 1, true)), + "no substitute text for the user's recoil") + end +end + +do + local battle = newBattle() + battle.enemy.substituteHP = 1 + local pStart = battle.player.mon.hp + battle:performMove(battle.player, battle.enemy, { id = "FIX_RECOIL", pp = 20 }) + T.eq(battle.enemy.substituteHP, nil, "the hit breaks the substitute") + T.eq(battle.player.mon.hp, pStart, "no recoil after breaking a substitute") + T.check(not find(rowsOf(battle), "text:recoil"), "no recoil text after breaking a substitute") +end + +do + local battle = newBattle() + battle.player.mon.hp = 10 + battle.player.shownHP = 10 + battle.player.shownPx = nil + battle:performMove(battle.player, battle.enemy, { id = "FIX_ABSORB", pp = 20 }) + T.check(battle.player.mon.hp > 10, "absorb heals the user") + local rows = rowsOf(battle) + local enemyRow, playerRow = find(rows, "drain:enemy"), find(rows, "drain:player") + T.check(enemyRow and playerRow and enemyRow.i < playerRow.i, + "the user's heal has its own row after the target's") + if enemyRow then + replay(battle, enemyRow.row) + T.eq(battle.player.shownHP, 10, "the user's bar holds still during the target's row") + end + if playerRow then + replay(battle, playerRow.row) + T.eq(battle.player.shownHP, battle.player.mon.hp, "the user's bar settles on its row") + end +end + +do + local battle = newBattle() + battle.player.mon.hp = 10 + battle.enemy.substituteHP = 1 + battle:performMove(battle.player, battle.enemy, { id = "FIX_ABSORB", pp = 20 }) + T.eq(battle.player.mon.hp, 10, "no heal after breaking a substitute") +end + +Data.moves.FIX_RECOIL, Data.moves.FIX_ABSORB = nil, nil +T.finish("recoil hp drain") diff --git a/tests/engine/route23_go_right_ahead_bug2649.lua b/tests/engine/route23_go_right_ahead_bug2649.lua new file mode 100644 index 00000000..45b5236f --- /dev/null +++ b/tests/engine/route23_go_right_ahead_bug2649.lua @@ -0,0 +1,223 @@ +-- scripts/Route23.asm:195 +package.path = "./?.lua;./?/init.lua;" .. package.path + +local T = require("tests.modkit") + +local played = {} +package.loaded["src.core.Sound"] = { + play = function(_, id) played[#played + 1] = id; return nil end, +} + +local OW = require("src.world.OverworldController") +local RealTextBox = require("src.render.TextBox") + +local function setUpvalue(fn, name, val) + local i = 1 + while true do + local n = debug.getupvalue(fn, i) + if not n then return false end + if n == name then debug.setupvalue(fn, i, val); return true end + i = i + 1 + end +end + +local OH = "You can pass here\nonly if you have\vthe {RAM:wNameBuffer}!\fOh! That is the\n{RAM:wNameBuffer}!{DONE}" +local GO = "\fOK then! Please,\ngo right ahead!{DONE}" +local NO = "You can pass here\nonly if you have\vthe {RAM:wNameBuffer}!\fYou don't have the\n{RAM:wNameBuffer} yet!{DONE}" +local NO22 = "Only truly skilled\ntrainers are\vallowed through.\fYou don't have the\nBOULDERBADGE yet!{DONE}" +local RULES = "\fThe rules are\nrules. I can't\vlet you pass.{DONE}" + +local pushed +local textBoxStub = setmetatable({ + new = function(_, text, onDone, opts) + return { text = text, onDone = onDone, opts = opts } + end, +}, { __index = RealTextBox }) +local fakeGame = { + data = { + text = { + _Route23OhThatIsTheBadgeText = OH, + _Route23GoRightAheadText = GO, + _Route23YouDontHaveTheBadgeYetText = NO, + _Route22GateGuardNoBoulderbadgeText = NO22, + _Route22GateGuardICantLetYouPassText = RULES, + }, + items = { CASCADEBADGE = { name = "CASCADEBADGE" } }, + field = { badgeGates = { + ROUTE_23 = { + passText = "Route23OhThatIsTheBadgeText", + failText = "Route23YouDontHaveTheBadgeYetText", + guards = { { y = 96, badge = "CASCADEBADGE", event = "EVENT_PASSED_CASCADEBADGE_CHECK" } }, + }, + ROUTE_22_GATE = { + badge = "BOULDERBADGE", + passText = "Route22GateGuardGoRightAheadText", + failText = "Route22GateGuardNoBoulderbadgeText", + coords = { { x = 4, y = 2 } }, + }, + } }, + }, + save = { inventory = { CASCADEBADGE = 1 }, flags = {} }, + stack = { push = function(_, box) pushed = box end }, +} +T.check(setUpvalue(OW.checkBadgeGate, "TextBox", textBoxStub), + "TextBox upvalue on checkBadgeGate") +T.check(setUpvalue(OW.checkBadgeGate, "Game", fakeGame), + "Game upvalue on checkBadgeGate") +T.check(type(OW.route23BadgeCheck) == "function", "route23BadgeCheck shared helper exists") +if OW.route23BadgeCheck then + setUpvalue(OW.route23BadgeCheck, "TextBox", textBoxStub) + setUpvalue(OW.route23BadgeCheck, "Game", fakeGame) +end + +local moves = {} +local function newOw(x, y, mapId) + return setmetatable({ + player = { cellX = x, cellY = y }, + map = { id = mapId or "ROUTE_23" }, + scriptMove = function(_, entity, dir, tiles, onDone, opts) + moves[#moves + 1] = { entity = entity, dir = dir, tiles = tiles, + onDone = onDone, collide = opts and opts.collide } + end, + }, { __index = OW }) +end + +local function checkPassBox(label) + local text = pushed and pushed.text or "" + local ohAt = text:find("Oh! That is the\nCASCADEBADGE!", 1, true) + local pauseAt = text:find(RealTextBox.PAUSE, 1, true) + local goAt = text:find("OK then! Please,\ngo right ahead!", 1, true) + T.check(ohAt ~= nil, label .. ": badge line present") + T.check(goAt ~= nil, label .. ": go right ahead text follows the badge text") + T.check(ohAt and pauseAt and goAt and ohAt < pauseAt and pauseAt < goAt, + label .. ": fanfare mark sits between the badge line and the go-ahead page") + T.check(not text:sub(1, (goAt or 1) - 1):find("{DONE}", 1, true), + label .. ": badge text DONE stripped before the go-ahead page") + local opts = pushed and pushed.opts or {} + T.eq(opts.pauseSounds and opts.pauseSounds[1], "Get_Item1", + label .. ": Get_Item1 rides the mid-string mark") + T.eq(opts.pauseSoundWait, true, label .. ": fanfare waits like TextCommand_SOUND") + local pages = RealTextBox.paginate((text:gsub(RealTextBox.PAUSE, ""))) + T.eq(#pages, 3, label .. ": pass text is three pages") +end + +local function checkFailBox(label) + local text = pushed and pushed.text or "" + T.check(text:find("You don't have the\nCASCADEBADGE yet!", 1, true) ~= nil, + label .. ": fail text shown") + T.eq(#played, 0, label .. ": no SFX_DENIED before the text") + local opts = pushed and pushed.opts or {} + T.check(opts.auto and type(opts.auto.sound) == "function", + label .. ": SFX_DENIED armed as the trailing text_asm sound") + T.eq(opts.auto and opts.auto.wait, true, label .. ": button wait after the sound") + if opts.auto and opts.auto.sound then opts.auto.sound() end + T.eq(played[1], "Denied", label .. ": the trailing sound is SFX_DENIED") + T.check(pushed and type(pushed.onDone) == "function", + label .. ": the box closes into Route23MovePlayerDownScript") +end + +pushed, played, moves = nil, {}, {} +local self_ = newOw(10, 96) +T.eq(self_:checkBadgeGate(), false, "badge holder walks on") +T.check(pushed ~= nil, "pass text box pushed") +checkPassBox("step") +T.eq(fakeGame.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK ~= nil, true, "pass flag set") + +pushed, played, moves = nil, {}, {} +fakeGame.save = { inventory = {}, flags = {} } +self_ = newOw(10, 96) +T.eq(self_:checkBadgeGate(), true, "no badge: the step is blocked") +T.check(pushed ~= nil, "fail text box pushed") +checkFailBox("step") +if pushed and pushed.onDone then pushed.onDone() end +T.eq(#moves, 1, "step fail: one scripted move after the box") +T.eq(moves[1] and moves[1].dir, "down", "step fail: the move is down") +T.eq(moves[1] and moves[1].tiles, 1, "step fail: one tile") +T.eq(moves[1] and moves[1].collide, true, "step fail: simulated d-pad collides") +T.eq(moves[1] and moves[1].entity, self_.player, "step fail: the player walks") +T.eq(fakeGame.save.flags.EVENT_PASSED_CASCADEBADGE_CHECK, nil, "no pass flag without the badge") + +local R23 = require("data.scripts.flavor.route_23") +local talk = R23.ROUTE_23.talk +local expect = { + TEXT_ROUTE23_GUARD1 = { "EARTHBADGE", "EVENT_PASSED_EARTHBADGE_CHECK" }, + TEXT_ROUTE23_GUARD2 = { "VOLCANOBADGE", "EVENT_PASSED_VOLCANOBADGE_CHECK" }, + TEXT_ROUTE23_GUARD3 = { "RAINBOWBADGE", "EVENT_PASSED_RAINBOWBADGE_CHECK" }, + TEXT_ROUTE23_GUARD4 = { "THUNDERBADGE", "EVENT_PASSED_THUNDERBADGE_CHECK" }, + TEXT_ROUTE23_GUARD5 = { "CASCADEBADGE", "EVENT_PASSED_CASCADEBADGE_CHECK" }, + TEXT_ROUTE23_SWIMMER1 = { "MARSHBADGE", "EVENT_PASSED_MARSHBADGE_CHECK" }, + TEXT_ROUTE23_SWIMMER2 = { "SOULBADGE", "EVENT_PASSED_SOULBADGE_CHECK" }, +} +for id, want in pairs(expect) do + local badge, flag = want[1], want[2] + T.eq(type(talk[id]), "function", id .. " is a Lua talk handler") + if type(talk[id]) == "function" then + fakeGame.data.items[badge] = { name = badge } + pushed, played, moves = nil, {}, {} + fakeGame.save = { inventory = { [badge] = 1 }, flags = {} } + local doneCalls = 0 + local ow = newOw(7, 136) + talk[id](fakeGame, ow, {}, function() doneCalls = doneCalls + 1 end) + T.check(pushed ~= nil, id .. " pass: one box pushed") + local text = pushed and pushed.text or "" + T.check(text:find("Oh! That is the\n" .. badge .. "!", 1, true) ~= nil, + id .. " pass: badge line names " .. badge) + local pauseAt = text:find(RealTextBox.PAUSE, 1, true) + local goAt = text:find("OK then! Please,\ngo right ahead!", 1, true) + T.check(pauseAt and goAt and pauseAt < goAt, id .. " prints go-ahead after the badge text") + local opts = pushed and pushed.opts or {} + T.eq(opts.pauseSounds and opts.pauseSounds[1], "Get_Item1", id .. " pass: Get_Item1 on the mark") + T.eq(opts.pauseSoundWait, true, id .. " pass: fanfare waits") + T.eq(fakeGame.save.flags[flag] ~= nil, true, id .. " sets " .. flag) + T.eq(#played, 0, id .. " pass: nothing played before the box") + if pushed and pushed.onDone then pushed.onDone() end + T.eq(doneCalls, 1, id .. " pass: done fires when the box closes") + T.eq(#moves, 0, id .. " pass: no scripted move") + + pushed, played, moves = nil, {}, {} + fakeGame.save = { inventory = {}, flags = {} } + doneCalls = 0 + ow = newOw(7, 136) + talk[id](fakeGame, ow, {}, function() doneCalls = doneCalls + 1 end) + T.check(pushed ~= nil, id .. " fail: box pushed") + text = pushed and pushed.text or "" + T.check(text:find("You don't have the\n" .. badge .. " yet!", 1, true) ~= nil, + id .. " fail: text names " .. badge) + T.eq(#played, 0, id .. " fail: no SFX_DENIED before the text") + opts = pushed and pushed.opts or {} + T.check(opts.auto and type(opts.auto.sound) == "function", + id .. " fail: SFX_DENIED armed after the text") + if opts.auto and opts.auto.sound then opts.auto.sound() end + T.eq(played[1], "Denied", id .. " fail: trailing sound is SFX_DENIED") + T.eq(doneCalls, 0, id .. " fail: done waits for the walk") + if pushed and pushed.onDone then pushed.onDone() end + T.eq(#moves, 1, id .. " fail: Route23MovePlayerDownScript queued") + T.eq(moves[1] and moves[1].dir, "down", id .. " fail: walks down") + T.eq(moves[1] and moves[1].collide, true, id .. " fail: simulated d-pad collides") + T.check(moves[1] and type(moves[1].onDone) == "function", + id .. " fail: move carries an onDone") + if moves[1] and moves[1].onDone then moves[1].onDone() end + T.eq(doneCalls, 1, id .. " fail: done fires after the walk") + T.eq(fakeGame.save.flags[flag], nil, id .. " fail: no pass flag") + end +end + +pushed, played, moves = nil, {}, {} +fakeGame.save = { inventory = {}, flags = {} } +self_ = newOw(4, 2, "ROUTE_22_GATE") +T.eq(self_:checkBadgeGate(), true, "Route 22 gate: no badge blocks the step") +T.check(pushed ~= nil, "Route 22 gate: fail box pushed") +local text22 = pushed and pushed.text or "" +local noAt = text22:find("BOULDERBADGE yet!", 1, true) +local pause22 = text22:find(RealTextBox.PAUSE, 1, true) +local rulesAt = text22:find("The rules are", 1, true) +T.check(noAt and pause22 and rulesAt and noAt < pause22 and pause22 < rulesAt, + "Route 22 gate: Denied mark sits between the two texts") +T.eq(#played, 0, "Route 22 gate: no SFX_DENIED before the text") +local opts22 = pushed and pushed.opts or {} +T.eq(opts22.pauseSounds and opts22.pauseSounds[1], "Denied", "Route 22 gate: mark plays SFX_DENIED") +T.eq(opts22.pauseSoundWait, true, "Route 22 gate: sound waits") +T.check(not text22:sub(1, (rulesAt or 1) - 1):find("{DONE}", 1, true), + "Route 22 gate: first text DONE stripped") + +T.finish("route23_go_right_ahead_bug2649") diff --git a/tests/engine/textbox_arrow_cell_bug2674.lua b/tests/engine/textbox_arrow_cell_bug2674.lua new file mode 100644 index 00000000..5a85693c --- /dev/null +++ b/tests/engine/textbox_arrow_cell_bug2674.lua @@ -0,0 +1,116 @@ +package.path = "./?.lua;./?/init.lua;" .. package.path +love = love or require("tests.love_stub") + +local T = require("tests.harness") +local Font = require("src.render.Font") +Font.load({ font = require("tests.fixture_data.font") }) +local Theme = require("src.ui.Theme") +local TextBox = require("src.render.TextBox") +local Version = require("src.core.GameVersion") +local Timing = require("src.core.Timing") +package.loaded["src.core.Sound"] = { play = function() end, playPress = function() end } + +local ARROW = Theme.moreArrow or 0xEE +local SPACE = 0x7F +local LINE = "ENTIRELY COMPLETEZ" +local HEAD = "YOUR DEX IS" + +local function make(text, save) + local pressed = false + local game = { + data = {}, save = save or { options = { textSpeed = 1 } }, + input = { wasPressed = function(_, key) return pressed == key end, + isDown = function() return false end }, + stack = { pop = function() end }, + } + local box = TextBox.new(game, text, function() end) + return box, function(key) + pressed = key or false + box:update(1 / 60) + pressed = false + end +end + +local function prompt(box, tick) + for _ = 1, 400 do + if box.waiting or box.done then return true end + tick() + end + return false +end + +local function drawn(box, blink) + local drawCode, drawBox = Font.drawCode, Font.drawBox + local out = {} + Font.drawCode = function(code, x, y) + out[#out + 1] = { code = code, x = x, y = y } + end + Font.drawBox = function() end + local saved = box.blink + box.blink = blink + box:draw() + box.blink = saved + Font.drawCode, Font.drawBox = drawCode, drawBox + return out +end + +local function at(list, x, y) + local codes = {} + for _, g in ipairs(list) do + if g.x == x and g.y == y then codes[#codes + 1] = g.code end + end + return codes +end + +local bang = Font.encode("Z")[1] + +local function has(codes, code) + for _, c in ipairs(codes) do + if c == code then return true end + end + return false +end + +-- home/text.asm:262 +for _, edition in ipairs({ "red", "blue", "yellow" }) do + Version.set(edition) + local box, tick = make(HEAD .. "\n" .. LINE .. "\vCONGRATULATIONS") + T.check(prompt(box, tick) and box.contAdvance, edition .. " reaches the cont wait") + local ax, ay = box:arrowPos() + T.eq(#box.shown[2], 18, edition .. " bottom line is 18 tiles") + local lit = at(drawn(box, 0), ax, ay) + T.same(lit, { ARROW }, edition .. " arrow replaces the 18th glyph while lit") + local dark = at(drawn(box, 30), ax, ay) + T.same(dark, {}, edition .. " the cell is blank while the arrow blinks off") + for _ = 1, Timing.TEXT_PRE_ADVANCE do tick() end + tick("a") + T.eq(box.shown[1][18], SPACE, edition .. " cont leaves a space in the scrolled line") + T.eq(box.shown[1][17], Font.encode(LINE)[17], edition .. " the 17th glyph survives") + for _ = 1, Timing.TEXT_SCROLL_PAIR do tick() end + T.check(prompt(box, tick) and box.done, edition .. " completes") + local after = drawn(box, 30) + T.check(not has(at(after, ax, box.line1Y), bang), + edition .. " scrolled line keeps no 18th glyph") +end + +Version.set("red") +local plain, plainTick = make("SHORT LINE\nHERE") +T.check(prompt(plain, plainTick) and plain.done, "short page completes") +local ax, ay = plain:arrowPos() +local list = drawn(plain, 0) +T.same(at(list, ax, ay), { ARROW }, "short line still draws the arrow") +T.eq(#plain.shown[2], 4, "short line untouched") + +Version.set("gold") +local gold, goldTick = make(HEAD .. "\n" .. LINE .. "\vNEXT", + { generation = 2, options = { textSpeed = 1 } }) +T.check(prompt(gold, goldTick) and gold.contAdvance, "gold reaches cont") +local gx = gold:arrowPos() +local gglyphs = at(drawn(gold, 0), gx, gold.line2Y) +T.same(gglyphs, { bang }, "gold keeps the glyph above its border-row arrow") +for _ = 1, Timing.TEXT_PRE_ADVANCE do goldTick() end +goldTick("a") +T.eq(gold.shown[#gold.shown - 1][18], bang, "gold cont keeps the glyph") +Version.set("red") + +T.finish("textbox_arrow_cell_bug2674") diff --git a/tests/engine/warp_fade_obp0_identity_bug2689.lua b/tests/engine/warp_fade_obp0_identity_bug2689.lua new file mode 100644 index 00000000..f286b779 --- /dev/null +++ b/tests/engine/warp_fade_obp0_identity_bug2689.lua @@ -0,0 +1,87 @@ +-- home/fade.asm:67 + +package.path = "./?.lua;./?/init.lua;" .. package.path +if not _G.love then _G.love = require("tests.love_stub") end + +local T = require("tests.modkit") +local check, eq = T.check, T.eq + +T.fixtures.fresh() + +local GameVersion = require("src.core.GameVersion") +local PaletteFX = require("src.render.PaletteFX") +local Transition = require("src.render.Transition") +local OW = require("src.world.OverworldController") + +local function setUpvalue(fn, name, val) + local i = 1 + while true do + local n = debug.getupvalue(fn, i) + if not n then return false end + if n == name then debug.setupvalue(fn, i, val); return true end + i = i + 1 + end +end + +local function getUpvalue(fn, name) + local i = 1 + while true do + local n, v = debug.getupvalue(fn, i) + if not n then return nil end + if n == name then return v end + i = i + 1 + end +end + +local prevVersion, prevMode, prevDark = GameVersion.get(), PaletteFX.mode, PaletteFX.darkWorld() +local prevGame = getUpvalue(OW.warpFade, "Game") +local realSetFadeObp = PaletteFX.setFadeObp + +local fade +local game = { stack = { top = function() return fade end, pop = function() end }, + worldBgBattleInStack = function() return false end } +check(setUpvalue(OW.warpFade, "Game", game), "warpFade reads the Game upvalue") + +local function armedAt(t) + local armed, called = nil, false + PaletteFX.setFadeObp = function(map) armed, called = map, true; realSetFadeObp(map) end + fade = Transition.new(game, nil, nil, true) + fade.t = t + local self_ = setmetatable({}, { __index = OW }) + pcall(OW.drawWorld, self_) + PaletteFX.setFadeObp = realSetFadeObp + return armed, called, fade +end + +for _, version in ipairs({ "red", "blue" }) do + GameVersion.set(version) + PaletteFX.setMode("ogred") + PaletteFX.setDarkWorld(false) + local base = PaletteFX.ogObjBase() + + for step = 0, 3 do + local map, called, f = armedAt(step * 8) + local obp = f:obp0() + check(called, ("%s step %d drawWorld arms the fade OBP"):format(version, step)) + check(map ~= nil, ("%s step %d rOBP0 $%02X arms a fade map"):format(version, step, obp)) + end + + local map, _, f = armedAt(8) + eq(f:obp0(), 0xE4, version .. " FadePal3 is the black-out second step") + check(map ~= nil and map[0] == 0 and map[1] == 1 and map[2] == 2 and map[3] == 3, + version .. " FadePal3 rOBP0 $E4 arms the identity map") + local colors = PaletteFX.ogObjWorld() + check(colors[2][1] == base[2][1] and colors[2][2] == base[2][2] + and colors[3][1] == base[3][1] and colors[3][2] == base[3][2], + version .. " FadePal3 step bakes the raw $E4 ramp, not the $D0 lift") + PaletteFX.setFadeObp(nil) +end + +PaletteFX.setFadeObp = realSetFadeObp +PaletteFX.setFadeObp(nil) +setUpvalue(OW.warpFade, "Game", prevGame) +PaletteFX.setDarkWorld(prevDark) +GameVersion.set(prevVersion) +PaletteFX.setMode(prevMode) + +T.finish("warp fade rOBP0 identity #2689") diff --git a/tests/game3_pause_and_main_menu_exit_test.lua b/tests/game3_pause_and_main_menu_exit_test.lua index eabfbfce..c68f1038 100644 --- a/tests/game3_pause_and_main_menu_exit_test.lua +++ b/tests/game3_pause_and_main_menu_exit_test.lua @@ -331,4 +331,33 @@ do Version.set(oldVersion) end +do + local RsMenu = require("src.ui.game3.rs.main_menu") + local Pal = require("src.core.game3.pal_fade") + local T3 = RsMenu.TYPE + eq(table.concat(RsMenu.items(T3.HAS_NO_SAVED_GAME), ","), "NEW_GAME,OPTION,EXIT", "RS main menu lists EXIT under OPTION") + eq(table.concat(RsMenu.items(T3.HAS_SAVED_GAME), ","), "CONTINUE,NEW_GAME,OPTION,EXIT", "RS continue menu lists EXIT") + eq(table.concat(RsMenu.items(T3.HAS_MYSTERY_EVENT), ","), "CONTINUE,NEW_GAME,MYSTERY_EVENTS,OPTION,EXIT", + "RS mystery events menu lists EXIT last") + local items = RsMenu.items(T3.HAS_MYSTERY_EVENT) + local m = setmetatable({ menuType = T3.HAS_MYSTERY_EVENT, items = items, cursor = 1, scroll = 0, blink = 0, + pal = Pal.new(), state = "input" }, RsMenu) + for _ = 1, #items - 1 do + m:frame({ new = { down = true } }) + m.state = "input" + end + eq(m.cursor, #items, "RS cursor reaches EXIT") + check(m.scroll > 0, "RS menu scrolls so EXIT stays on screen") + local w = RsMenu.windowFor(m.menuType, m.cursor) + check((w.top + w.height + 1) * 8 - m.scroll <= 160, "RS EXIT window fits after scroll") + m.state = "pressed_a" + local r = m:frame({ new = {} }) + eq(type(r) == "table" and r.action, "exit", "A on RS EXIT returns to the launcher") +end + +do + local Data = require("src.ui.game3.rs.start_menu_data") + check(Data.exitConfirms == true, "RS start menu EXIT offers return to title like Emerald") +end + T.finish("game3_pause_and_main_menu_exit_test") diff --git a/tests/gen2_crystal_extras_test.lua b/tests/gen2_crystal_extras_test.lua index d30c3b75..9e6efd71 100644 --- a/tests/gen2_crystal_extras_test.lua +++ b/tests/gen2_crystal_extras_test.lua @@ -3,6 +3,7 @@ -- ROM-free: -- luajit tests/gen2_crystal_extras_test.lua package.path = "./?.lua;./?/init.lua;" .. package.path +require("src.core.GameVersion").set("crystal") -- The same love stub tests/gen2_menus_test.lua installs; nothing here draws. love = love or {} @@ -569,4 +570,5 @@ do check(ids.Gen2BuenaPassword, "Gen2BuenaPassword is one too") end +require("src.core.GameVersion").set("red") S.finish() diff --git a/tests/mod_ui_tests.lua b/tests/mod_ui_tests.lua index 0d4d7f5a..80261564 100644 --- a/tests/mod_ui_tests.lua +++ b/tests/mod_ui_tests.lua @@ -978,7 +978,7 @@ do local fgame = { data = {}, stack = newStack(), input = newInput(), save = { player = {} } } local fspeech = OakSpeech.new(fgame, nil) - fspeech.shrink = { frame = 103 } -- past the shrink timeline's end + fspeech.shrink = { frame = OakSpeech.SHRINK_END } -- past the shrink timeline's end fgame.stack:push(fspeech) fspeech.picReveal = nil -- skip the intro fade so update reaches shrink local finishes = 0 diff --git a/tests/parity_B.lua b/tests/parity_B.lua index 8f530ee3..03ac64e9 100644 --- a/tests/parity_B.lua +++ b/tests/parity_B.lua @@ -138,10 +138,10 @@ local champGame = { save = { flags = {} } } champ.onEnter(champGame, champOw) eq(#champQueued, 2, "CHAMPIONS_ROOM.onEnter queues entrance walk + rival script") local walk = champQueued[1] and champQueued[1].script -check(walk and walk[1][1] == "move_player" and walk[1][2] == "up" and walk[1][3] == 1 +check(walk and walk[1][1] == "move_player" and walk[1][2] == "up" and walk[1][3] == 3 and walk[2][1] == "move_player" and walk[2][2] == "right" and walk[2][3] == 1 - and walk[3][1] == "move_player" and walk[3][2] == "up" and walk[3][3] == 3, - "entrance walk is RivalEntrance_RLEMovement (up 1, right 1, up 3)") + and walk[3][1] == "move_player" and walk[3][2] == "up" and walk[3][3] == 1, + "entrance walk is RivalEntrance_RLEMovement (up 3, right 1, up 1)") check(champQueued[2] and champQueued[2].script == rows, "second queue is TEXT_CHAMPIONSROOM_RIVAL script rows") check(champQueued[2] and champQueued[2].extra diff --git a/tests/parity_battle_intro_chrome.lua b/tests/parity_battle_intro_chrome.lua index 37532314..7c3ceb79 100644 --- a/tests/parity_battle_intro_chrome.lua +++ b/tests/parity_battle_intro_chrome.lua @@ -94,13 +94,14 @@ local wild = BattleState.newWild(game, "RATTATA", 2) wild.onFinish = function() end wild:enter() -eq(wild.introBalls, true, "the wild intro opens the DrawAllPokeballs window") --- introBalls is a plain field, not a queue row, so it cannot displace the --- wild cry PrintBeginningBattleText plays before PrintText (#303) +check(wild.introBalls ~= true, "the DrawAllPokeballs window is not open at enter") +-- engine/battle/common_text.asm:11 check(wild.queue[1] and wild.queue[1].fn ~= nil, "the cry act is still the first queue row (#303)") -check(wild.queue[2] and wild.queue[2].text == wild.introText, - "the intro text is still the second queue row") +check(wild.queue[2] and wild.queue[2].fn ~= nil, + "DrawAllPokeballs is the second queue row") +check(wild.queue[3] and wild.queue[3].text == wild.introText, + "the intro text is the third queue row") -- let the silhouette slide land so the intro box is genuinely up (the slide -- now runs 80 frames at 2px/frame, matching the original ~2px/frame) @@ -174,8 +175,9 @@ local game2 = makeGame({ Pokemon.new(Data, "BULBASAUR", 50) }) local tr = BattleState.newTrainer(game2, "OPP_YOUNGSTER", 1) tr.onFinish = function() end tr:enter() +check(tr.introBalls ~= true, "the trainer window is not open at enter") +for _ = 1, 140 do tr:update(1 / 60) end eq(tr.introBalls, true, "the trainer intro opens the same window") -for _ = 1, 85 do tr:update(1 / 60) end local ok3, err3, rows3 = snapshotHUD(tr) check(ok3, "drawHUDs runs during the trainer intro: " .. tostring(err3)) diff --git a/tests/parity_e4_after.lua b/tests/parity_e4_after.lua index d8521d62..c4f70d56 100644 --- a/tests/parity_e4_after.lua +++ b/tests/parity_e4_after.lua @@ -20,18 +20,21 @@ local CASES = { after = "_LoreleisRoomLoreleiAfterBattleText", headerMap = "LoreleisRoom", event = "EVENT_BEAT_LORELEIS_ROOM_TRAINER_0", npcName = "LORELEISROOM_LORELEI", class = "OPP_LORELEI", + closed = 0x24, open = 0x05, }, { map = "BRUNOS_ROOM", text = "TEXT_BRUNOSROOM_BRUNO", after = "_BrunoAfterBattleText", headerMap = "BrunosRoom", event = "EVENT_BEAT_BRUNOS_ROOM_TRAINER_0", npcName = "BRUNOSROOM_BRUNO", class = "OPP_BRUNO", + closed = 0x24, open = 0x05, }, { map = "AGATHAS_ROOM", text = "TEXT_AGATHASROOM_AGATHA", after = "_AgathaAfterBattleText", headerMap = "AgathasRoom", event = "EVENT_BEAT_AGATHAS_ROOM_TRAINER_0", npcName = "AGATHASROOM_AGATHA", class = "OPP_AGATHA", + closed = 0x3b, open = 0x0e, }, } @@ -64,23 +67,45 @@ for _, c in ipairs(CASES) do facePlayer = function() end, } local engaged = false + local blocks = {} + local blocksAtPush + game.stack.push = function(_, state) + pushed[#pushed + 1] = state + blocksAtPush = blocksAtPush or #blocks + end local ow = { + player = { cellY = 5 }, trainerDefeated = function(_, n) return game.save.defeatedTrainers[n.id] == true end, - engageTrainer = function(_, n, onDone) + replaceBlock = function(_, bx, by, id) + blocks[#blocks + 1] = { bx, by, id } + end, + engageTrainer = function(self, n, onDone) engaged = n == npc game.save.defeatedTrainers[n.id] = true game.save.flags[c.event] = true + local hooks = mapScripts.get(c.map) + if hooks and hooks.onVictory then hooks.onVictory(game, self) end if onDone then onDone() end end, } - talk(game, ow, npc, function() end) + local finished = false + talk(game, ow, npc, function() finished = true end) check(engaged, c.map .. " engages on first talk") check(#pushed == 1 and pushed[1].pages ~= nil, c.map .. " win pushes after-battle TextBox") check(#pushed[1].pages > 0, c.map .. " after-battle TextBox has pages") + eq(blocksAtPush, 0, c.map .. " exit stays shut while after-battle text is up") + check(not finished, c.map .. " talk not done before after-battle text closes") + pushed[1].onDone() + eq(#blocks, 1, c.map .. " exit block swapped once after the text") + local b = blocks[1] or {} + check(b[1] == 2 and b[2] == 0 and b[3] == c.open, + c.map .. " exit opens at block (2,0) after the text") + check(finished, c.map .. " talk done after after-battle text closes") + game.stack.push = function(_, state) pushed[#pushed + 1] = state end -- loss: no after text pushed, engaged = {}, false @@ -104,6 +129,17 @@ for _, c in ipairs(CASES) do talk(game, ow, npc, function() end) check(#pushed == 1 and pushed[1].pages ~= nil, c.map .. " defeated re-talk shows after text") + + local hooks = mapScripts.get(c.map) + check(hooks.onVictory == nil, c.map .. " has no onVictory door swap") + blocks = {} + game.save.flags = { [c.event] = true } + hooks.onEnter(game, ow) + check(blocks[1] and blocks[1][3] == c.open, c.map .. " reload after win opens exit") + blocks = {} + game.save.flags = {} + hooks.onEnter(game, ow) + check(blocks[1] and blocks[1][3] == c.closed, c.map .. " reload before win keeps exit shut") end S.finish() diff --git a/tests/parity_party_hp_bar_palette.lua b/tests/parity_party_hp_bar_palette.lua index 2efd7cf2..6e8cc5dc 100644 --- a/tests/parity_party_hp_bar_palette.lua +++ b/tests/parity_party_hp_bar_palette.lua @@ -100,9 +100,7 @@ for _, mode in ipairs({ "gbc", "redpp" }) do eq(z.colors, want, ("row %d (%d/48 HP) carries the %s block palette%s") :format(i, l.hp, l.pal, tag)) - -- 05,YY - 11,YY shifted one tile right, because this port draws the bar at - -- tile 5 where party_menu.asm:71-76 draws it at 4; still cap + six fill - eq(z.x, 48, ("row %d bar block starts at tile 6%s"):format(i, tag)) + eq(z.x, 40, ("row %d bar block starts at tile 5%s"):format(i, tag)) eq(z.w, 56, ("row %d bar block is seven tiles wide%s"):format(i, tag)) eq(z.y, (i * 2 - 1) * 8, ("row %d bar block sits on its HP row%s"):format(i, tag)) eq(z.h, 8, ("row %d bar block is one tile tall%s"):format(i, tag)) @@ -161,7 +159,7 @@ do eq(bar.gray, true, ("row %d draws a gray fill when a zone pass will run") :format(i)) -- the placement the sgbPalettes rects above are keyed to - eq(bar.tx, 5, ("row %d bar starts at tile 5"):format(i)) + eq(bar.tx, 4, ("row %d bar starts at tile 4"):format(i)) eq(bar.ty, i * 2 - 1, ("row %d bar sits on its HP row"):format(i)) -- wHPBarType 2: the party menu closes with the $6C nub, not the -- player-battle double bar (home/pokemon.asm DrawHPBar "Right") diff --git a/tests/parity_party_row_columns.lua b/tests/parity_party_row_columns.lua new file mode 100644 index 00000000..08c885fc --- /dev/null +++ b/tests/parity_party_row_columns.lua @@ -0,0 +1,126 @@ +-- engine/menus/party_menu.asm:14 +-- engine/menus/party_menu.asm:71 +-- engine/menus/party_menu.asm:93 +-- engine/menus/party_menu.asm:160 +-- engine/pokemon/status_screen.asm:46 +-- data/sgb/sgb_packets.asm:152 +package.path = "./?.lua;./?/init.lua;" .. package.path +if not _G.love then _G.love = require("tests.love_stub") end +local S = require("tests.harness").suite("parity party row columns") +local check, eq = S.check, S.eq + +local Data = require("src.core.Data") +if not Data.maps then Data:load() end +local Font = require("src.render.Font") +Font.load(Data) + +local PaletteFX = require("src.render.PaletteFX") +local HudTiles = require("src.render.HudTiles") +local Strings = require("src.core.Strings") +local PartyMenu = require("src.ui.PartyMenu") +local Pokemon = require("src.pokemon.Pokemon") + +local NAME_COL = 3 +local BAR_COL = NAME_COL + 1 +local FRACTION_COL = BAR_COL + 9 +local LEARN_COL = NAME_COL + 9 + +local function makeGame(species) + local party = {} + for i, sp in ipairs(species) do + local mon = Pokemon.new(Data, sp, 20) + mon.stats.hp = 266 + mon.hp = 266 + party[i] = mon + end + return { + data = Data, + save = { party = party, options = {} }, + stack = { push = function() end, pop = function() end, + top = function() end }, + }, party +end + +local function capture(menu) + local bars, texts = {}, {} + local realBar, realDraw, realGfx = HudTiles.drawHPBar, Font.draw, love.graphics.draw + HudTiles.drawHPBar = function(data, tx, ty, mon, barType, grayFill, segments) + bars[#bars + 1] = { tx = tx, ty = ty, segments = segments } + end + Font.draw = function(text, x, y, ...) + texts[#texts + 1] = { text = text, x = x, y = y } + end + love.graphics.draw = function() end + local ok, err = pcall(function() menu:draw() end) + HudTiles.drawHPBar, Font.draw, love.graphics.draw = realBar, realDraw, realGfx + check(ok, "PartyMenu:draw runs headless" .. (ok and "" or (": " .. tostring(err)))) + return bars, texts +end + +local prevMode = PaletteFX.mode + +do + local game, party = makeGame({ "NIDOKING", "BULBASAUR", "PIDGEY" }) + local bars, texts = capture(PartyMenu.new(game, {})) + eq(#bars, #party, "one HP bar per party row") + for i, bar in ipairs(bars) do + eq(bar.tx, BAR_COL, ("row %d HP: tile sits one column right of the name"):format(i)) + eq(bar.ty, i * 2 - 1, ("row %d bar sits on its HP row"):format(i)) + local capCol = bar.tx + 2 + (bar.segments or 6) + check(capCol < FRACTION_COL, + ("row %d bar cap (col %d) ends before the fraction (col %d)") + :format(i, capCol, FRACTION_COL)) + end + local fractions = 0 + for _, t in ipairs(texts) do + if type(t.text) == "string" and t.text:match("^%s*%d+/%s*%d+$") then + fractions = fractions + 1 + eq(t.x, FRACTION_COL * 8, "HP fraction prints nine columns right of the bar") + elseif t.text == party[1].nickname or t.text == Data.pokemon.NIDOKING.name then + eq(t.x, NAME_COL * 8, "nickname prints at column 3") + end + end + eq(fractions, #party, "one HP fraction per party row") + + for _, mode in ipairs({ "gbc", "redpp" }) do + PaletteFX.setMode(mode) + local zones = PartyMenu.new(game, {}):sgbPalettes(game) or {} + local tag = " [" .. PaletteFX.modeLabel(mode) .. "]" + for i = 1, #party do + local z = zones[2 + i] or {} + eq(z.x, 5 * 8, ("row %d bar block starts at the packet's tile 5%s"):format(i, tag)) + eq(z.w, (11 - 5 + 1) * 8, ("row %d bar block ends at the packet's tile 11%s"):format(i, tag)) + eq(z.x, (BAR_COL + 1) * 8, ("row %d bar block starts on the bar's ':' tile%s"):format(i, tag)) + end + end +end + +local function learnRows(opts, species) + local game = makeGame(species) + local _, texts = capture(PartyMenu.new(game, opts)) + local able, notAble = Strings("ABLE"), Strings("NOT ABLE") + local seen = { [able] = 0, [notAble] = 0 } + for _, t in ipairs(texts) do + if t.text == able or t.text == notAble then + seen[t.text] = seen[t.text] + 1 + eq(t.x, LEARN_COL * 8, ("%q prints at column 12"):format(t.text)) + end + end + return seen[able], seen[notAble] +end + +do + local a, n = learnRows({ tmhm = { move = "SWORDS_DANCE", kind = "TM" } }, + { "BULBASAUR", "MAGIKARP" }) + eq(a, 1, "TM list shows one ABLE row") + eq(n, 1, "TM list shows one NOT ABLE row") +end + +do + local a, n = learnRows({ evoStone = "THUNDER_STONE" }, { "PIKACHU", "RATTATA" }) + eq(a, 1, "stone list shows one ABLE row") + eq(n, 1, "stone list shows one NOT ABLE row") +end + +PaletteFX.setMode(prevMode) +S.finish() diff --git a/tests/parity_rival_end_text_bug2660.lua b/tests/parity_rival_end_text_bug2660.lua new file mode 100644 index 00000000..ab61ed6f --- /dev/null +++ b/tests/parity_rival_end_text_bug2660.lua @@ -0,0 +1,58 @@ +-- scripts/ChampionsRoom.asm:65 +package.path = "./?.lua;./?/init.lua;" .. package.path +if not _G.love then _G.love = require("tests.love_stub") end +local Data = require("src.core.Data") +if not (Data.maps and Data.maps.PALLET_TOWN) then Data:load() end +local S = require("tests.harness").suite("parity rival end text") +local check = S.check + +local init = require("data.scripts.init") +local champ = init.get("CHAMPIONS_ROOM") +local rows = champ and champ.talk and champ.talk.TEXT_CHAMPIONSROOM_RIVAL or {} + +local found, armed = false, false +for i, r in ipairs(rows) do + if r[1] == "rival_battle" and r[2] == "OPP_RIVAL3" then + found = true + local p = rows[i - 1] + armed = p ~= nil and p[1] == "save_end_battle_text" and p[2] == "_RivalDefeatedText" + end +end +check(found, "champion script has rival_battle OPP_RIVAL3") +check(armed, "champion arms _RivalDefeatedText right before rival_battle OPP_RIVAL3") + +local text = Data.text and Data.text._RivalDefeatedText +if text then + check(text:find("NO!", 1, true) ~= nil, "_RivalDefeatedText is the cart's champion loss line") +end + +local SKIP = { play_music = true, set_option = true } +local seen, offenders, total = {}, {}, 0 +local function walk(t, path) + if type(t) ~= "table" or seen[t] then return end + seen[t] = true + for i, r in ipairs(t) do + if type(r) == "table" and r[1] == "rival_battle" then + total = total + 1 + local j = i - 1 + while t[j] and type(t[j]) == "table" and SKIP[t[j][1]] do j = j - 1 end + local p = t[j] + if not (type(p) == "table" and p[1] == "save_end_battle_text") then + offenders[#offenders + 1] = path .. "[" .. i .. "] " .. tostring(r[2]) + end + end + end + for k, v in pairs(t) do walk(v, path .. "." .. tostring(k)) end +end + +for _, mod in ipairs({ "story", "story2", "story3", "story4", "story5", + "story6", "story7", "flavor_all", "gyms", + "oaks_lab", "oaks_lab_yellow" }) do + local ok, m = pcall(require, "data.scripts." .. mod) + if ok then walk(m, mod) end +end +check(total > 0, "sweep found scripted rival battles") +check(#offenders == 0, "every scripted rival_battle arms its loss line: " + .. table.concat(offenders, ", ")) + +S.finish() diff --git a/tests/quick.list b/tests/quick.list index 5db9ca07..74e529dd 100644 --- a/tests/quick.list +++ b/tests/quick.list @@ -14,6 +14,7 @@ tests/engine/audio_device_reset.lua tests/engine/bag_bicycle_no_options_bug1705.lua tests/engine/bag_cancel_row_bug1685.lua tests/engine/bag_item_box_bug1521.lua +tests/engine/bag_split_stack_bug2671.lua tests/engine/bag_use_toss_hollow_cursor_2063.lua tests/engine/ball_toss_sound_sync_bug2611.lua tests/engine/battle_ai_item_messages_2589.lua @@ -28,6 +29,7 @@ tests/engine/battle_fainted_message_romtext.lua tests/engine/battle_field_residual_validation.lua tests/engine/battle_fit_option.lua tests/engine/battle_fixed_menu_scale.lua +tests/engine/battle_intro_balls_after_cry_bug2662.lua tests/engine/battle_learn_move_page_bug2540.lua tests/engine/battle_levelup_order_bug1996.lua tests/engine/battle_menu_auxiliary.lua @@ -41,6 +43,7 @@ tests/engine/bike_shop_displays_bug1530.lua tests/engine/bills_pc_changebox_bug2124.lua tests/engine/blues_house_daisy_walking_bug1338.lua tests/engine/blues_house_town_map_order_2523.lua +tests/engine/boulder_dust_obp1_bug2650.lua tests/engine/box_menu_message_pages_test.lua tests/engine/box_release_confirmation_romtext.lua tests/engine/buena_prize_box_bug1935.lua @@ -54,11 +57,13 @@ tests/engine/cart_saves.lua tests/engine/cart_store.lua tests/engine/caught_ball_obp_restore_bug2127.lua tests/engine/celadon_girl_drink_bug1955.lua +tests/engine/champion_entrance_walk_bug2666.lua tests/engine/chip_analog_path.lua tests/engine/chip_audio_preroll_test.lua tests/engine/chip_mono_fastpath_test.lua tests/engine/chip_sample_rate_test.lua tests/engine/confusion_selfhit_anim_bug1578.lua +tests/engine/continue_info_layout_2684.lua tests/engine/copyright_splash_backdrop.lua tests/engine/crystal_buena_cache_2639.lua tests/engine/crystal_credits_bug1967.lua @@ -82,6 +87,7 @@ tests/engine/ether_move_menu_2158.lua tests/engine/evo_stone_cancel_bug883_test.lua tests/engine/evo_stone_sfx_bug2072.lua tests/engine/evolution_dialogue_bug1596_test.lua +tests/engine/evolution_double_after_battle_bug2664.lua tests/engine/evolution_hold_b_bug968_test.lua tests/engine/evolution_timing_bug2033.lua tests/engine/exp_traded_ot_survives_reload_bug1265.lua @@ -349,6 +355,7 @@ tests/engine/ghost_unveil_bug492.lua tests/engine/gift_gotmon_rows_2243.lua tests/engine/gift_jingle_sites_bug2555.lua tests/engine/give_item_jingle.lua +tests/engine/grass_feet_strip_2688.lua tests/engine/grass_palette_modes_2500.lua tests/engine/gym_badge_jingle_page_bug1982.lua tests/engine/gym_leader_end_battle_text_bug1606.lua @@ -365,6 +372,7 @@ tests/engine/host_shell_request_headers.lua tests/engine/hostshell_spawn_self.lua tests/engine/importer_worker_failure_cleanup.lua tests/engine/importers_asset_packs.lua +tests/engine/indigo_statues_bug2683.lua tests/engine/input_display_chord_test.lua tests/engine/input_dual_path_test.lua tests/engine/input_focus_reset_test.lua @@ -390,6 +398,9 @@ tests/engine/jessie_james_pic.lua tests/engine/jigglypuff_dance_gate_bug2335.lua tests/engine/kit_spinner_trail_bug2048.lua tests/engine/kit_transition.lua +tests/engine/lance_side_trigger_facing_bug2669.lua +tests/engine/lance_victory_music_bug2659.lua +tests/engine/lance_walk_in_bug2665.lua tests/engine/launch_options_flags_bug1657.lua tests/engine/launch_prelaunch_bug1657.lua tests/engine/launch_update_mods_bug2037.lua @@ -471,12 +482,14 @@ tests/engine/nurse_bow_bug995.lua tests/engine/nx_display_test.lua tests/engine/nx_yellow_boot_test.lua tests/engine/oak_intro_cry_bug2481.lua +tests/engine/oak_shrink_timing_2685.lua tests/engine/oaks_aide_requirement_bug1006.lua tests/engine/oaks_lab_dex_rating_bug600.lua tests/engine/oaks_lab_last_ball_bug601.lua tests/engine/oaks_lab_posters_email_bug1331_1333.lua tests/engine/oaks_lab_rival_faces_down_bug1279.lua tests/engine/oaks_lab_rival_paths_bug1989_bug1987.lua +tests/engine/oaks_lab_starter_ball_hide_2686.lua tests/engine/oaks_lab_starter_energetic_bug1334.lua tests/engine/oaks_lab_yellow_rival_loss_line_2121.lua tests/engine/oaks_lab_yellow_starter_bug1013.lua @@ -492,12 +505,14 @@ tests/engine/options_write_readback_bug828.lua tests/engine/orientation_option.lua tests/engine/overworld_field_faint_heal_romtext.lua tests/engine/overworld_hidden_item_romtext.lua +tests/engine/overworld_og_obp0_bug2689.lua tests/engine/overworld_slot_seat_over_hidden_coin.lua tests/engine/overworld_world_palette_seam_bug2152.lua tests/engine/pad_hints_bug2452_test.lua tests/engine/palette_test.lua tests/engine/party_battle_prompt_bug1901.lua tests/engine/party_fieldmove_order_bug792.lua +tests/engine/party_icon_anim_freeze_bug2682.lua tests/engine/party_icon_og_obj_bug2268.lua tests/engine/party_submenu_cancel_bug1833.lua tests/engine/pc_accessed_text_bug1529.lua @@ -545,9 +560,11 @@ tests/engine/push_battle_transition.lua tests/engine/quicksave_gate_bug2185.lua tests/engine/quicksave_gate_bug2561.lua tests/engine/quit_thread_shutdown.lua +tests/engine/rage_building_bug2654.lua tests/engine/rare_candy_bag_open_bug796.lua tests/engine/rby_translation_runtime_test.lua tests/engine/rebind_capture_bug510.lua +tests/engine/recoil_hp_drain_bug2653.lua tests/engine/rebind_joystick_bug632.lua tests/engine/rebind_swap_clear_bug589.lua tests/engine/refresh_rate_counters_test.lua @@ -564,6 +581,7 @@ tests/engine/rom_importer_nx_flags_test.lua tests/engine/rom_importer_source_tree_test.lua tests/engine/rom_pick_error_bug442.lua tests/engine/rom_pick_tv_cancel.lua +tests/engine/route23_go_right_ahead_bug2649.lua tests/engine/route24_rocket_bug1550.lua tests/engine/safari_gate_bug540.lua tests/engine/safe_area_units_test.lua @@ -632,6 +650,7 @@ tests/engine/teleport_escape_ends_turn.lua tests/engine/text_cont_single_row_bug2634.lua tests/engine/text_double_line_overwrite_bug2524.lua tests/engine/textbox_arrow_bug2084.lua +tests/engine/textbox_arrow_cell_bug2674.lua tests/engine/textbox_pause_bug1818.lua tests/engine/textbox_sfx_speed_bug2087_test.lua tests/engine/thrash_setup_anim_bug1532.lua @@ -679,6 +698,7 @@ tests/engine/vending_machine_bug1876.lua tests/engine/viridian_fisher_pre_bug775.lua tests/engine/vitamin_rose_text_sfx_bug2332.lua tests/engine/vsync_option.lua +tests/engine/warp_fade_obp0_identity_bug2689.lua tests/engine/warp_fade_palette_2180.lua tests/engine/warp_sprite_hidden_bug916.lua tests/engine/wave_channel_mix_bug429.lua diff --git a/tests/run_save_editor_tests.lua b/tests/run_save_editor_tests.lua index a92286e5..da5cc5b2 100644 --- a/tests/run_save_editor_tests.lua +++ b/tests/run_save_editor_tests.lua @@ -1634,7 +1634,8 @@ end do local interp = arg and arg[-1] or "luajit" - for _, suite in ipairs({ "tests/save_editor_gen3_tests.lua", "tests/save_editor_gen3_persistence_tests.lua" }) do + for _, suite in ipairs({ "tests/save_editor_gen3_tests.lua", "tests/save_editor_gen3_persistence_tests.lua", + "tests/save_editor_split_stack_bug2671_test.lua" }) do local r = os.execute(interp .. " " .. suite) check(r == true or r == 0, suite .. " passes") end diff --git a/tests/save_editor_split_stack_bug2671_test.lua b/tests/save_editor_split_stack_bug2671_test.lua new file mode 100644 index 00000000..7aa5a925 --- /dev/null +++ b/tests/save_editor_split_stack_bug2671_test.lua @@ -0,0 +1,249 @@ +package.path = package.path .. ";./?.lua;./?/init.lua;./tools/save-editor/?.lua" + .. ";./tools/save-editor/panels/?.lua" + +love = require("tests.love_stub") + +local passed, failed = 0, 0 + +local function check(cond, msg) + if cond then + passed = passed + 1 + else + failed = failed + 1 + print("FAIL: " .. msg) + end +end + +local function eq(a, b, msg) + check(a == b, msg .. string.format(" (got %s, want %s)", tostring(a), tostring(b))) +end + +print("== save editor / .sav split stack tests (#2671) ==") + +require("src.core.GameVersion").set("red") +local Ops = require("Ops") +local State = require("State") +local Catalog = require("Catalog") +local Bag = require("src.inventory.Bag") +local SaveData = require("src.core.SaveData") +local GenSave = require("src.save_convert.GenSave") + +local Data = require("src.core.Data") +Data:load() +GenSave.setCharmap(loadfile("src/save_convert/data/charmap.lua")()) + +local function red() + local S = State.new() + S.data = Data + S.cat = Catalog.build(Data) + S.save = SaveData.newGame() + S.save.inventory, S.save.bagOrder, S.save.pcItems, S.save.pcOrder = {}, nil, {}, nil + return S +end + +local function split(S) + Bag.add(S.save, "X_ACCURACY", 99, S.data) + Bag.add(S.save, "POTION", 3, S.data) + Bag.add(S.save, "X_ACCURACY", 2, S.data) +end + +local function counts(rows) + local out = {} + for _, r in ipairs(rows) do out[#out + 1] = tostring(r.id) .. "x" .. tostring(r.count) end + return table.concat(out, ",") +end + +do + local S = red() + split(S) + eq(S.save.inventory.X_ACCURACY, 101, "fixture: 99 + 2 X ACCURACY totals 101") + eq(table.concat(S.save.bagOrder, ","), "X_ACCURACY,POTION,X_ACCURACY", "fixture: two cart slots") + eq(counts(Ops.stackRows(S, false)), "X_ACCURACYx99,POTIONx3,X_ACCURACYx2", "editor rows carry each slot's own count") + local legal = true + for _, r in ipairs(Ops.stackRows(S, false)) do + if not require("Legality").integer(r.count, 1, Ops.itemMax(S, r.id, false)) then legal = false end + end + check(legal, "a split stack is legal per row") +end + +do + local S = red() + split(S) + check(Ops.bagCanMax(S, "X_ACCURACY"), "the part-filled overflow slot can be maxed") + check(Ops.bagMax(S, "X_ACCURACY") == true, "Max fills the overflow slot") + eq(S.save.inventory.X_ACCURACY, 198, "Max fills both slots to 99") + eq(counts(Ops.stackRows(S, false)), "X_ACCURACYx99,POTIONx3,X_ACCURACYx99", "both rows read x99") +end + +do + local S = red() + split(S) + S.dirty = false + check(Ops.bagDrop(S, "X_ACCURACY", 2) == true, "Drop on the overflow row succeeds") + eq(S.save.inventory.X_ACCURACY, 99, "Drop on the overflow row removes only that slot") + eq(table.concat(S.save.bagOrder, ","), "X_ACCURACY,POTION", "the overflow slot leaves bagOrder") +end + +do + local S = red() + Bag.add(S.save, "X_ACCURACY", 99, S.data) + check(Ops.bagAdjust(S, "X_ACCURACY", 1) == true, "+1 on a full slot opens a new slot") + eq(S.save.inventory.X_ACCURACY, 100, "the bag now holds 100") + eq(counts(Ops.stackRows(S, false)), "X_ACCURACYx99,X_ACCURACYx1", "the new slot reads x1") + check(Ops.bagAdjust(S, "X_ACCURACY", -1, 2) == true, "-1 on the new slot") + eq(table.concat(S.save.bagOrder, ","), "X_ACCURACY", "emptying the new slot drops it") +end + +do + local S = red() + Bag.add(S.save, "X_ACCURACY", 99, S.data) + local n = 1 + for _, id in ipairs(S.cat.items) do + if n >= Bag.capacity(S.data) then break end + if not Ops.isBadgeId(id) and id ~= "X_ACCURACY" and Bag.add(S.save, id, 1, S.data) then n = n + 1 end + end + eq(Bag.slots(S.save, S.data), 20, "fixture: a 20-slot bag") + S.dirty = false + check(Ops.bagAdjust(S, "X_ACCURACY", 1) == false, "a full bag refuses the overflow slot") + eq(S.save.inventory.X_ACCURACY, 99, "the refusal changes nothing") + check(S.dirty == false, "the refusal does not dirty") +end + +do + local S = red() + S.save.pcItems.POTION = 150 + eq(table.concat(Ops.pcOrder(S), ","), "POTION,POTION", "a 150 PC stack lists two box slots") + eq(counts(Ops.stackRows(S, true)), "POTIONx99,POTIONx51", "PC rows carry each slot's own count") + check(Ops.pcDrop(S, "POTION", 2) == true, "Drop on the PC overflow row") + eq(S.save.pcItems.POTION, 99, "only the overflow slot leaves the PC") + check(Ops.pcAdjust(S, "POTION", 1) == true, "+1 on a full PC slot opens a new slot") + eq(S.save.pcItems.POTION, 100, "the PC now holds 100") +end + +do + local S = red() + split(S) + check(Ops.bagAdjust(S, "X_ACCURACY", -5, 1) == true, "-5 on the first bag slot") + eq(counts(Ops.stackRows(S, false)), "X_ACCURACYx94,POTIONx3,X_ACCURACYx2", + "editor rows keep 94 and 2 after a first-slot decrease") + eq(table.concat(S.save.bagStacks.X_ACCURACY, ","), "94,2", "the per-slot counts ride save.bagStacks") + S.save.pcItems.POTION = 150 + check(Ops.pcAdjust(S, "POTION", -1, 1) == true, "-1 on the first PC slot") + eq(counts(Ops.stackRows(S, true)), "POTIONx98,POTIONx51", "PC rows keep 98 and 51") +end + +do + local Kit = require("Kit") + local App = require("App") + local oldDim = love.graphics.getDimensions + love.graphics.getDimensions = function() return 1280, 720 end + local path = os.tmpname() .. "-bug2671.lua" + local seed = SaveData.newGame() + seed.inventory = { X_ACCURACY = 101, POTION = 3 } + seed.bagOrder = { "X_ACCURACY", "POTION", "X_ACCURACY" } + local f = assert(io.open(path, "wb")); f:write(SaveData.encode(seed)); f:close() + App.load(path, { version = "red" }) + local S = App.getState() + S.tab = "items" + local labels, invalid = {}, {} + local real = Kit.button + Kit.button = function(x, y, w, h, label, opts) + if type(label) == "string" and label:find("×", 1, true) then + labels[#labels + 1] = label + if opts and opts.invalid then invalid[#invalid + 1] = label end + end + return real(x, y, w, h, label, opts) + end + App.draw() + Kit.button = real + eq(table.concat(labels, "|"), "X ACCURACY ×99|POTION ×3|X ACCURACY ×2", "panel: one row per cart slot with its own count") + eq(#invalid, 0, "panel: no row is flagged as an illegal stack") + App.unload() + os.remove(path) + love.graphics.getDimensions = oldDim +end + +do + local O = GenSave.OFFSETS + local idx = GenSave.crosswalks(Data).itemsIndex + local save = SaveData.newGame() + save.inventory = { X_ACCURACY = 101, POTION = 3 } + save.bagOrder = { "X_ACCURACY", "POTION", "X_ACCURACY" } + save.cartBag = nil + save.pcItems = { POTION = 150, ANTIDOTE = 1 } + save.pcOrder = { "POTION", "ANTIDOTE", "POTION" } + save.cartPc = nil + local ok, bytes = pcall(GenSave.encode, save, Data) + check(ok and type(bytes) == "string", ".sav encode runs: " .. tostring(bytes)) + if ok and type(bytes) == "string" then + eq(bytes:byte(O.numBagItems + 1), 3, ".sav: wNumBagItems counts both X ACCURACY slots") + local function slots(off, n) + local out = {} + for i = 0, n - 1 do + out[#out + 1] = bytes:byte(off + i * 2 + 1) .. ":" .. bytes:byte(off + i * 2 + 2) + end + out[#out + 1] = tostring(bytes:byte(off + n * 2 + 1)) + return table.concat(out, ",") + end + eq(slots(O.bagItems, 3), ("%d:99,%d:3,%d:2,255"):format(idx.X_ACCURACY, idx.POTION, idx.X_ACCURACY), + ".sav: wBagItems keeps each slot where bagOrder put it") + eq(bytes:byte(O.numPcItems + 1), 3, ".sav: wNumBoxItems counts both POTION slots") + eq(slots(O.pcItems, 3), ("%d:99,%d:1,%d:51,255"):format(idx.POTION, idx.ANTIDOTE, idx.POTION), + ".sav: wBoxItems keeps each slot where pcOrder put it") + local okD, dec = pcall(GenSave.decode, bytes, Data) + check(okD and type(dec) == "table", ".sav decode runs: " .. tostring(dec)) + if okD and type(dec) == "table" then + local back = dec.save or dec + eq(back.inventory.X_ACCURACY, 101, ".sav round trip: total 101") + eq(table.concat(back.bagOrder or {}, ","), "X_ACCURACY,POTION,X_ACCURACY", ".sav round trip: two bagOrder occurrences") + eq(back.cartBag, nil, ".sav round trip: the modelled rows need no raw carrier") + eq(back.pcItems.POTION, 150, ".sav round trip: PC total 150") + eq(table.concat(back.pcOrder or {}, ","), "POTION,ANTIDOTE,POTION", ".sav round trip: two pcOrder occurrences") + end + end +end + +do + local O = GenSave.OFFSETS + local idx = GenSave.crosswalks(Data).itemsIndex + local save = SaveData.newGame() + save.inventory = { X_ACCURACY = 96, POTION = 3 } + save.bagOrder = { "X_ACCURACY", "POTION", "X_ACCURACY" } + save.bagStacks = { X_ACCURACY = { 94, 2 } } + save.cartBag = nil + save.pcItems = { POTION = 149, ANTIDOTE = 1 } + save.pcOrder = { "POTION", "ANTIDOTE", "POTION" } + save.pcStacks = { POTION = { 98, 51 } } + save.cartPc = nil + local ok, bytes = pcall(GenSave.encode, save, Data) + check(ok and type(bytes) == "string", ".sav encode of per-slot counts runs: " .. tostring(bytes)) + if ok and type(bytes) == "string" then + local function slots(off, n) + local out = {} + for i = 0, n - 1 do + out[#out + 1] = bytes:byte(off + i * 2 + 1) .. ":" .. bytes:byte(off + i * 2 + 2) + end + out[#out + 1] = tostring(bytes:byte(off + n * 2 + 1)) + return table.concat(out, ",") + end + eq(slots(O.bagItems, 3), ("%d:94,%d:3,%d:2,255"):format(idx.X_ACCURACY, idx.POTION, idx.X_ACCURACY), + ".sav: wBagItems writes each slot's own count") + eq(slots(O.pcItems, 3), ("%d:98,%d:1,%d:51,255"):format(idx.POTION, idx.ANTIDOTE, idx.POTION), + ".sav: wBoxItems writes each slot's own count") + local okD, dec = pcall(GenSave.decode, bytes, Data) + check(okD and type(dec) == "table", ".sav decode of per-slot counts runs: " .. tostring(dec)) + if okD and type(dec) == "table" then + local back = dec.save or dec + eq(back.inventory.X_ACCURACY, 96, ".sav round trip: total 96") + eq(table.concat(back.bagStacks and back.bagStacks.X_ACCURACY or {}, ","), "94,2", + ".sav round trip: 94/2 comes back as per-slot counts") + eq(back.cartBag, nil, ".sav round trip: per-slot counts need no raw carrier") + eq(table.concat(back.pcStacks and back.pcStacks.POTION or {}, ","), "98,51", + ".sav round trip: PC 98/51 comes back as per-slot counts") + eq(back.cartPc, nil, ".sav round trip: PC per-slot counts need no raw carrier") + end + end +end + +print(string.format("save editor split stack tests: %d passed, %d failed", passed, failed)) +if failed > 0 then os.exit(1) end diff --git a/tests/save_editor_task6_tests.lua b/tests/save_editor_task6_tests.lua index 048f08a9..f4efc5e9 100644 --- a/tests/save_editor_task6_tests.lua +++ b/tests/save_editor_task6_tests.lua @@ -239,8 +239,9 @@ do Ops.addToPc(S, id) Ops.pcItems(S)[id] = Ops.STACK_MAX S.dirty = false - check(Ops.pcAdjust(S, id, 1) == false, "pcAdjust refuses past the 99 stack cap") - eq(Ops.pcItems(S)[id], Ops.STACK_MAX, "a refused pcAdjust changes nothing") + check(Ops.pcAdjust(S, id, 1) == true, "pcAdjust past 99 opens a second box slot") + eq(Ops.pcItems(S)[id], Ops.STACK_MAX + 1, "the PC total passes 99") + eq(#Ops.pcOrder(S), seeded + 2, "the PC order lists the id once per slot") Ops.pcDrop(S, id) eq(Ops.pcItems(S)[id], nil, "pcDrop removes the entry") diff --git a/tools/run_driver.sh b/tools/run_driver.sh index ca36159a..88d90f69 100755 --- a/tools/run_driver.sh +++ b/tools/run_driver.sh @@ -3,7 +3,7 @@ set -u ROOT="$(cd "$(dirname "$0")/.." && pwd)" SLOW_DRIVERS="game3_seam_walk_stress game3_daycare_egg game3_daycare_menu game3_daycare_deposit game3_import2_fresh_cache game3_import2_town_map game3_trade_scene game3_u8c_yesno_frame game3_u9c_catch_ball_open" -REALTIME_DRIVERS="battle_fanfare_speed_bug1952_test" +REALTIME_DRIVERS="battle_fanfare_speed_bug1952_test battle_intro_bug317_test trainer_sight_order_bug1948_test party_hp_palette_bug274_test" help_text() { cat < 1 +end + +local function stackTarget(S, id, have) + if splits(S, id) then + return math.max(1, Bag.slotsFor(id, have, S.data)) * Ops.STACK_MAX + end + return Ops.stackMax(S) +end + +local function rowCount(S, pc, id, slot) + for _, row in ipairs(Ops.stackRows(S, pc)) do + if row.id == id and row.slot == slot then return row.count, row end + end +end + local function changeG3(S, pc, id, quantity) if not id then return Ops.say(S, "Pick an item first") end if not G3.change(S.data, S.save, pc, { { id = id, qty = quantity } }) then @@ -1280,18 +1298,22 @@ function Ops.addToBag(S, id) :format(Bag.slots(S.save, S.data, pocket), capacity, pocket)) end -function Ops.bagAdjust(S, id, delta) +function Ops.bagAdjust(S, id, delta, slot) if not id then return Ops.say(S, "No bag row selected") end S.save.inventory = S.save.inventory or {} local have = itemQty(S.save.inventory, id) if Gen.ofState(S) == 3 then return changeG3(S, false, id, math.max(0, G3.quantity(S.data, S.save, false, id) + delta)) end if delta > 0 then - if have >= Ops.stackMax(S) then + if have >= Ops.stackMax(S) and not splits(S, id) then return Ops.say(S, ("%s is already at x%d"):format(tostring(id), Ops.stackMax(S))) end - Bag.add(S.save, id, delta, S.data) + if not Bag.add(S.save, id, delta, S.data) then + local pocket = Bag.pocketOf(id, S.data) + return Ops.say(S, ("No room for %d more %s (%d/%d %s slots)"):format(delta, tostring(id), + Bag.slots(S.save, S.data, pocket), Bag.capacity(S.data, pocket), pocket)) + end else - Bag.remove(S.save, id, -delta) + Bag.remove(S.save, id, -delta, S.data, slot) if not S.save.inventory[id] then return Ops.mark(S, ("Removed the last %s from the bag"):format(tostring(id))) end @@ -1299,12 +1321,17 @@ function Ops.bagAdjust(S, id, delta) return Ops.mark(S, ("%s x%d"):format(tostring(id), itemQty(S.save.inventory, id))) end -function Ops.bagDrop(S, id) +function Ops.bagDrop(S, id, slot) if not id then return Ops.say(S, "No bag row selected") end S.save.inventory = S.save.inventory or {} local qty = itemQty(S.save.inventory, id) if Gen.ofState(S) == 3 then return changeG3(S, false, id, 0) end - Bag.remove(S.save, id, qty) + local row = slot and rowCount(S, false, id, slot) + if row and row < qty then + Bag.remove(S.save, id, row, S.data, slot) + return Ops.mark(S, ("Dropped %d %s (%d left in the bag)"):format(row, tostring(id), qty - row)) + end + Bag.remove(S.save, id, qty, S.data) return Ops.mark(S, ("Dropped all %d %s"):format(qty, tostring(id))) end @@ -1339,17 +1366,18 @@ function Ops.bagMax(S, id) if not Ops.itemStacks(S, id) then return Ops.say(S, ("%s has no quantity to max"):format(tostring(id))) end - if have >= Ops.stackMax(S) then + local target = stackTarget(S, id, have) + if have >= target then return Ops.say(S, ("%s is already at x%d"):format(tostring(id), Ops.stackMax(S))) end - Bag.add(S.save, id, Ops.stackMax(S) - have, S.data) - return Ops.mark(S, ("%s x%d"):format(tostring(id), Ops.stackMax(S))) + Bag.add(S.save, id, target - have, S.data) + return Ops.mark(S, ("%s x%d"):format(tostring(id), target)) end function Ops.bagCanMax(S, id) if id ~= nil then local have = Gen.ofState(S) == 3 and G3.quantity(S.data, S.save, false, id) or itemQty(S.save.inventory, id) - return have > 0 and have < Ops.stackMax(S) and Ops.itemStacks(S, id) + return have > 0 and have < stackTarget(S, id, have) and Ops.itemStacks(S, id) end for _, rowId in ipairs(Bag.order(S.save, S.data)) do if Ops.bagCanMax(S, rowId) then return true end @@ -1365,8 +1393,9 @@ function Ops.bagMaxAll(S) local n = 0 for _, id in ipairs(ids) do local have = itemQty(S.save.inventory, id) - if have > 0 and have < Ops.stackMax(S) and Ops.itemStacks(S, id) then - Bag.add(S.save, id, Ops.stackMax(S) - have, S.data) + local target = stackTarget(S, id, have) + if have > 0 and have < target and Ops.itemStacks(S, id) then + Bag.add(S.save, id, target - have, S.data) n = n + 1 end end @@ -1430,10 +1459,26 @@ end function Ops.pcOrder(S) local ids = {} - for id in pairs(Ops.pcItems(S)) do ids[#ids + 1] = id end + local gen1 = Gen.ofState(S) == 1 + for id, n in pairs(Ops.pcItems(S)) do + for _ = 1, gen1 and math.max(1, Bag.slotsFor(id, n, S.data)) or 1 do ids[#ids + 1] = id end + end return itemRows(S, ids, S.pcSort) end +function Ops.stackRows(S, pc) + local order = pc and Ops.pcOrder(S) or Bag.order(S.save, S.data) + local store = pc and Ops.pcItems(S) or S.save.inventory + if Gen.ofState(S) == 1 then + return Bag.stackRows(store, order, S.data, pc and S.save.pcStacks or S.save.bagStacks) + end + local rows = {} + for i, id in ipairs(order) do + rows[i] = { id = id, slot = 1, index = i, count = store[id] } + end + return rows +end + function Ops.pcSort(S, mode) if not ITEM_SORT_KEYS[mode] then return false end local repeated = S.pcSort == mode @@ -1490,16 +1535,27 @@ function Ops.addToPc(S, id) return Ops.mark(S, ("%s x%d in PC storage"):format(tostring(id), pc[id])) end -function Ops.pcAdjust(S, id, delta) +function Ops.pcAdjust(S, id, delta, slot) if Gen.ofState(S) == 3 then return changeG3(S, true, id, math.max(0, G3.quantity(S.data, S.save, true, id) + delta)) end if not id then return Ops.say(S, "No PC row selected") end local pc = Ops.pcItems(S) local cur = itemQty(pc, id) if not pc[id] and cur <= 0 then return Ops.say(S, ("%s is not in PC storage"):format(tostring(id))) end - if delta > 0 and cur >= slotMax(S, id) then + if delta < 0 and splits(S, id) then + Bag.pcRemove(S.save, id, -delta, S.data, slot) + if not pc[id] then + return Ops.mark(S, ("Removed %s from PC storage"):format(tostring(id))) + end + return Ops.mark(S, ("%s x%d in PC storage"):format(tostring(id), pc[id])) + end + local split = delta > 0 and splits(S, id) + if delta > 0 and cur >= slotMax(S, id) and not split then return Ops.say(S, ("%s is already at x%d"):format(tostring(id), slotMax(S, id))) end - local nextQty = clamp(cur + delta, 0, math.max(cur, slotMax(S, id))) + if split and not pcStacksFree(S, id, delta) then + return Ops.say(S, ("PC item storage is full (%d stacks)"):format(pcCapacity(S))) + end + local nextQty = split and cur + delta or clamp(cur + delta, 0, math.max(cur, slotMax(S, id))) if nextQty <= 0 then pc[id] = nil return Ops.mark(S, ("Removed %s from PC storage"):format(tostring(id))) @@ -1508,12 +1564,17 @@ function Ops.pcAdjust(S, id, delta) return Ops.mark(S, ("%s x%d in PC storage"):format(tostring(id), pc[id])) end -function Ops.pcDrop(S, id) +function Ops.pcDrop(S, id, slot) if Gen.ofState(S) == 3 then return changeG3(S, true, id, 0) end if not id then return Ops.say(S, "No PC row selected") end local pc = Ops.pcItems(S) local qty = itemQty(pc, id) - pc[id] = nil + local row = slot and rowCount(S, true, id, slot) + if row and row < qty then + Bag.pcRemove(S.save, id, row, S.data, slot) + return Ops.mark(S, ("Dropped %d %s (%d left in PC storage)"):format(row, tostring(id), qty - row)) + end + Bag.pcRemove(S.save, id, qty, S.data) return Ops.mark(S, ("Dropped all %d %s from PC storage"):format(qty, tostring(id))) end @@ -1529,22 +1590,23 @@ function Ops.pcMax(S, id) if not Ops.itemStacks(S, id) then return Ops.say(S, ("%s has no quantity to max"):format(tostring(id))) end - if cur >= Ops.stackMax(S) then + local target = stackTarget(S, id, cur) + if cur >= target then return Ops.say(S, ("%s is already at x%d"):format(tostring(id), Ops.stackMax(S))) end - pc[id] = Ops.stackMax(S) - return Ops.mark(S, ("%s x%d in PC storage"):format(tostring(id), Ops.stackMax(S))) + pc[id] = target + return Ops.mark(S, ("%s x%d in PC storage"):format(tostring(id), target)) end function Ops.pcCanMax(S, id) local pc = Ops.pcItems(S) if id ~= nil then local have = Gen.ofState(S) == 3 and G3.quantity(S.data, S.save, true, id) or itemQty(pc, id) - return have > 0 and have < Ops.stackMax(S) and Ops.itemStacks(S, id) + return have > 0 and have < stackTarget(S, id, have) and Ops.itemStacks(S, id) end for rowId, val in pairs(pc) do local qty = itemQty(pc, rowId) - if qty > 0 and qty < Ops.stackMax(S) and Ops.itemStacks(S, rowId) then + if qty > 0 and qty < stackTarget(S, rowId, qty) and Ops.itemStacks(S, rowId) then return true end end @@ -1557,8 +1619,9 @@ function Ops.pcMaxAll(S) local n = 0 for id, val in pairs(pc) do local qty = itemQty(pc, id) - if qty > 0 and qty < Ops.stackMax(S) and Ops.itemStacks(S, id) then - pc[id] = Ops.stackMax(S) + local target = stackTarget(S, id, qty) + if qty > 0 and qty < target and Ops.itemStacks(S, id) then + pc[id] = target n = n + 1 end end diff --git a/tools/save-editor/panels/Items.lua b/tools/save-editor/panels/Items.lua index 02bcf43a..d1a457fe 100644 --- a/tools/save-editor/panels/Items.lua +++ b/tools/save-editor/panels/Items.lua @@ -1,6 +1,5 @@ local Ops = require("Ops") local Gen = require("Gen") -local Bag = require("src.inventory.Bag") local M = {} local Touch = require("TouchEditor") local Motion = require("Motion") @@ -135,8 +134,8 @@ local function drawView(S, Kit, x, y, w, h) end local pc = S.itemView == "pc" local prefix = pc and "pc" or "bag" - local function call(verb, id, value) - return Ops[prefix .. verb](S, id, value) + local function call(verb, id, value, slot) + return Ops[prefix .. verb](S, id, value, slot) end if not compact then local half = (inner - gap) / 2 @@ -186,8 +185,7 @@ local function drawView(S, Kit, x, y, w, h) end return end - local order = pc and Ops.pcOrder(S) or Bag.order(S.save, S.data) - local quantities = pc and S.save.pcItems or S.save.inventory + local order = Ops.stackRows(S, pc) local pagerY = y + h - pad - row local bodyH = math.max(0, pagerY - gap - cy) -- Reserve the complete confirmation label before arming Drop, so its @@ -211,13 +209,15 @@ local function drawView(S, Kit, x, y, w, h) local drawn, shift = Kit.list(S, offsetKey, cx, cy, inner, bodyH, #order, itemH) Kit.pushClip(cx, cy, inner, bodyH) for i = 1, drawn do - local id = order[S[offsetKey] + i] - if id == nil then + local entry = order[S[offsetKey] + i] + if entry == nil then break end + local id, slot = entry.id, entry.slot + local key = tostring(id) .. (slot > 1 and ("#" .. slot) or "") local by = cy + (i - 1) * itemH - shift local def = S.data.items[id] - local count = quantities[id] or 0 + local count = entry.count or 0 local max = Ops.itemMax(S, id, pc) local issue = not require("Legality").integer(count, 1, max) and ("Saved stack must be a whole number from 1 to " .. max) or nil @@ -236,7 +236,7 @@ local function drawView(S, Kit, x, y, w, h) then Touch.open(S, Kit, { mode = "number", - id = "item-" .. tostring(id), + id = "item-" .. key, title = def and def.name or tostring(id), value = count, savedValue = count, @@ -247,7 +247,7 @@ local function drawView(S, Kit, x, y, w, h) help = "Set the stack size. Max fills it; Drop removes it.", }, apply = function(v) - return call("Adjust", id, v - count) + return call("Adjust", id, v - count, slot) end, }) end @@ -258,7 +258,7 @@ local function drawView(S, Kit, x, y, w, h) "Increase", "Max", pc and "Bag" or "PC", - Ops.armLabel(S, prefix .. "-drop-" .. tostring(id), "Drop"), + Ops.armLabel(S, prefix .. "-drop-" .. key, "Drop"), } for j, label in ipairs(labels) do local actionRow = math.floor((j - 1) / actionCols) @@ -277,7 +277,7 @@ local function drawView(S, Kit, x, y, w, h) }) then if j == 1 then - call("Adjust", id, -1) + call("Adjust", id, -1, slot) elseif j == 2 then call("Adjust", id, 1) elseif j == 3 then @@ -287,11 +287,11 @@ local function drawView(S, Kit, x, y, w, h) elseif Ops.arm( S, - prefix .. "-drop-" .. tostring(id), + prefix .. "-drop-" .. key, "Drop this entire stack? Tap again to confirm" ) then - call("Drop", id) + call("Drop", id, slot) end end actionX = actionX + bw + gap

    yFL!i6XPJ0Y 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

    TDJuD?+8wr}uAp z;>7Wg|%P8U)%km zc6Pyq{#Dj`JK{c%I15lzDWc1_iO~BYiHy5FbYFswhT}dD)FjU295IA{CXc$nWqv`I z`=KbIhiP{11&&0+IX~qHE>|ALtik9LwZqut5swF#E_ctUV}AqIO-?8|C`TJc z=JUCTb8ObSC@vvTBveFjduJjg53B&{Nl8D+emN-2?A|m}Vf#dF`WUqwmddErtKlz( zRV8wMaPN1qH_J<1a(T9kc9gqSRUZ7vH{S97NAEjQvWL9Fs4k9!s+K0cMA5ITB1x;E zYap67L)+k4)Ay`%>zwMS>yKxOji=j~o z(m7M^%%8k@?95FYp58flXj8U`v&VJW9Y;tKB+aF8P@mq!ZxBRj++dE7>pZh=?1@|S zlK_e4Ht(CyJ$~ZGFC4n|*{OABt0dL<&84a>MuECRnh zu=&mMI)jMN##Aum_@N|r9dWZl>TEgtrj5sc<(~H=T;V+1qE$uIE>`B(|IhDyU#OxC zX&{oWoURK0^4|z^s5{}hV-BVXxP`2MV3l_l{^H5kK6rBbT^nC`&DQS>4V_@DtjZ1- zb`mebDa`BwqIhw3)2E()?UxT<_vG2lbCI%*(9#uZ0^x}0Os7`khW)^q_q}K5NB{2& zdqymD&Deq0Z+Y?^yC2LB?I#>XekL9$(ZWDeDcz~bydny+-+1y3fAPp$zkPbWWfjLW zv%0W736CC~8I^{89VY7FiAxf4ha%!qZZcs|$%wFxNFi*ovdPLTG~FwNNHxexMFMU_ zl7$gnm~yVT#0{71b*J z=R&iJM6tB~%);gq3)v$@_h?~cp^~2tv168VR=Bo)&DyQ46tP7=og!o~RT$5m*_~V5 zJ$h>6&znm{FJ>bgH+EAAiI4CvRQ<^rp$@5e<-U$K~b@-bGU*+Z5+Ghf&^SKP>GFjdOU zmA%tt`%r1H;%Db8c14P`T}~OiDQ&pc$RfhZKi$|^l};e5ZXf5X_d_tM&MexxXn4gQ z^cGV3S_hJ$elWS*3+(Q$aKPBniQckz2#l2q5!S<)R{AED-Y+L95y|;6V5#yhPwC-7 zcxfQaB@`0ztAc(9D}Z`ZcSV^{nAx>yCR;$Hy3}3nrI}&XUy?cJ+gIfm?%w(^;<~24 zyI!m?8e+;3k@_U2Ho2?z_<7+CNpxF^pqv{@&oODw!z(73Q>TQm`P9DG|K4}s^{o>d z4YM+tnTr$5?)n*boKckLK?bwA$}DhB%uh8IsR~_l6U=)?Bf&Ox%F;1;#DSc zQ{(x4HjM~TdcBMhAR6gU+%$CL$=PeN<}w4UF^&!_j>^S7 z&o89@_KCNA@z9>LfjQtTu5*OWtfSP4`P@w{dZyxNG+j(v!Bjvl-AZ)HajJ9W^i`SC z|9az}BKsUKw<^aZBtp`9|95`mshN?{^lSrpv_j=m<;#3>lcd(U?zo%e5VJ-mA=V&210hl7x)_|H-GEI&cA>5wLfsx!#{ZK=iU5KW7|O4{<%-pL_nVaSjf zJIGqTV?@KLMIl+voyw+8$mPm}F%k-y=N7g_!kn*o<?z)3-#3C3%TKikVia*xQ!x1 zAbxgX+f%1@J$P!{vuAfaH8UWw^vtTmqI&M+I)PNU8kxQ@m7qJa<+pA9-ZdjfZk{}~ zY3NzYs3L?AAgmbCc;h;>-eeLHhg7gc7Dg`iAjB;!gWMaJC)VvwZ8sYiYF0w^qH+-NKmE3 zbb0dV)UJJV*=MG=JacB}fyFFG(q^G+gjd+PZw(ia!U?a<)Uz^`jc|2^p}tXke^}ur zq!6Y^;MKOxv=|Np!!Og-=bK|93F9)bQ1?>tUdk1}O|g1)Ek=?{FOqpgP9u?wB1c^@ zpkzc>uet2!CFU1{p_%;^Why0;7ac-jW>=<}*wS<5l#+xoGnK8YQY$7E3d8gpulZ_v z_z*8-lKxuuJf(>4+IBEg!2)7wuhWQ&1OyGu!lEh@&+<*maf*5~()cm3t8q^Ar282~;$gUZDEfuv>n>iKw-VBn>$ABga52ZAP9E zI*y;VX4bi-ao3;77RIut$Futf3^CyN89N}Ellmo=u9rl5th=z{&<87lB)65){m6_j z?j4z$$P}gnmNs6B`!QC<$SC^hNw@l%jR)U()pu@L|7>>Xp#FcptvHjRd7<2A+3z$iOw(MrX86cIAGmJWKJJWFovt`P@`;~6FgJA0r-N>JBBfiTYwui&jAKO? zv06sl>^m~IHx3@jd2^>Kqv)cW$E7ecLhlV9hThj$#h_o~mQjKu*{dS;Zds)iXL@2oySmhm6GuPMG_iWHJe zFK)u&O5enmiHG#Z)V>vR{w%vPJX6el=DE9n|DiV>DR|>vuy^3pZ4<}u-u|7<*|UQ~ zr;$}cAwt|h(o{-Fj#aeuboL6mdmTxA85N_+q30(jpL(-2tMe1zJ9+h&58m+gqgNd* z3=VqpE?aR_bggD^y5btj*^-;Sb^L|bZh8FLiRXuhPw4E@$4Ebu5*aY*XD|6^wOj%~ zBko-&SHf5ltXzBH_Pw9I{TlSIW;Z`{{F+ZZf5&%EZaY&=4SNfH*c2#{guy~lBOc&m{?diAf z{Pryyo+0_OC_;!+#I3kZ2T4x!o@<1puXACni`QiQhQf$rf=04OMh5rYVj>i}bF&ls zX4Zdc|7#vNwdv5@h@{nFr`+gSM7PyuUTIN!XID`%iPD}LOo!7EHqBKQc%!bb%0w$) zZ&P}SYg~GsOp6feE5(ISHhI5%rx!@CCTe+%i7HQla?5>20J8&(yWTr8~n z_WoDDP%i-~2F_ROsG4qqdV;>1Gbhuo}1h zLC+t}l!nqLCsL;;ooF;&9M8^;W)9kBN&kA8(1n(i$5(kV5=2&<%TAP2p|@%D`AxZ# zr%!D~hAvSN2o(c6i0pM<^*7osdkX6)sgv)6qX%kZer3e=$D%y-yw{Cjy zf2@1_tvg@yN8kOv2T!l_>|)9c8+sL|r^nY#&m>Pq$+a$BjL^@ zl01BFz%%{Hw7&0L_+JF8NU5WxVZ?2UxxDNifCfovn$EciXYN@wzRJ51y|UcSVETvm z{q@c*kBXw#((FtMgQON-wfT`x9DX;l{dzwtl;smEmSmbaGqX8mq?1wg&^U^f!=iPm z#i}5mKeFSiM|a-(t4;;JpmtOnf(Xr=6v1t!Y%%~tM@)tII__4SB?X#~w zu$aj>g>ffp|An_ml28)P&G>$;p9_|H-Z7f6s|HaQUKTN;3XyrPY_YhCt#+UU3nLyw z+?3riTv3C_pT6ZE*Kd0a`L(lkj3h;p@KSn>`{lX0%sxQ2I5ar@ldn188S06%6K~%3 z_^q2BGu;_vgh(J6IJ}yxv)ntLzD<{YN`k2n6C632qp!XC*lVx)!v2%jf9#ppf8xbk zPZw#{E<5a{D#+T*-wHR%q3dG&n#mJy-tq9gTOJ)6JfO=zr4m(7lsu?)}sYw|{Q`O;1m)FR3tZS1lq< zR<>9?i6#Cf;?;Sz8W=nkIR9{P+ecsAyCqY;as1G`_kR2Ktq&UMIa#*j32ROHuJzZ` zl{mut=F@NglZW2&ozv?x?!shxzP2Br8DFB;D1=hFGmBbGr0sL#c5!36GM+6?=1&c$ zjtrQ7#^gD#g1jmHqK?;k*$5IgQhHpC3aLWICFd5G`E5$Xs8P6ac#A?O{i?5xjUGUfqael0nWfX>Rzy@-a$%v8MKQm9&zElB^yFVY`~!dd&>Lnd z#;~i`pf~*sa!K+|i5Wo>sxmch?Hqd|XWu_vNnhH>t@qwyH5l&@zx1bJ8I|e622q%x z&M_IKntNQe2aj#p;+I!`AB#MS23t_MMSvy`Q5)rSAD#IUt=)Mm<@%l%mhSN@AJUv(Yzo;#0WpstmtOjnD zp&_rD$xdzX<~F6vMM&YHgcvEgv`ga>~2XTjB@$Q@d{@q4J54rFi z5n3`>`l4&T0mns=EYjtZiej~6!y~`C`H>&J?)v}x_}f1I;tkUkdpPa}(6xAi%vG}E zPITY)7k*&xS8m<>I7-c-DwClj0=xE9*xdV3tyy8|*oeGk=QnTJ`tU<9-t(sqzxkV| zHaK=6V?^~l6~-IM*?c)OV5#edPrYIDGk0zM?#_`DC_RI!R7S1{(@V$Sf`@4R`y)JO zS1!K4)F#!;1y&fOHf0xIwfU(x?|AH0n;x_BCsBxGkP@LTXkGJ-6YHTehOFvOLa@wb z4*uwCUi{G;KKF&^U-!{xUi0l!n+;aV+5Xz@!p`KJ5;U6kP!f?9M-|qr-k~BDa!EOr z^2Bm2>a7-+sYSjX>`qA7!%?Pwp(`p!q%pgg+CHA37>w$A>7}b{ zD}xt$FM*+%eNmN(F=@hu<eNhHsitytB6c_^3>IT`rr?Ia^LkO#YfXK zt?gs)atfhpWZX45_cJ$tdEM{<$2x~`5TB_^U293iQWcD#vSLZyOxK*BrH;CZeAVX1 z-uuX1r-}nRvx`4){Xf6^+Aj?Z@7IH7^^GCbw(eA+7%F6$J@eCd|DPMiU;M9M`|*dT zh9=Srtnr$Z)k#S_Q%{vutCj<_kD@uduqU_p#Zs=(+Bu8zsbYGnlparumRtoVaxzy~ zselz@wGh}Ua{t%epStUs�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

Iqs!wMxO#Qk%|>#y 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