From 479549e46050dbdfc550166c2c8671b9adc8d55f Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Tue, 4 Nov 2025 21:21:16 +0100 Subject: [PATCH] Update F3DEX3 to beta (#180) * update F3DEX3 * format * update F3DEX3 * format * fix GC patches --- F3DEX3/gc/F3DEX3_BrW.code.bps | Bin 4848 -> 5515 bytes F3DEX3/gc/F3DEX3_BrW.data.bps | Bin 221 -> 231 bytes F3DEX3/gc/F3DEX3_BrW_NOC.code.bps | Bin 4686 -> 5426 bytes F3DEX3/gc/F3DEX3_BrW_NOC.data.bps | Bin 224 -> 234 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps | Bin 4669 -> 5443 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps | Bin 227 -> 237 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps | Bin 4607 -> 5357 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PB.data.bps | Bin 227 -> 237 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PC.code.bps | Bin 4697 -> 5418 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PC.data.bps | Bin 227 -> 237 bytes F3DEX3/gc/F3DEX3_BrW_PA.code.bps | Bin 4836 -> 5532 bytes F3DEX3/gc/F3DEX3_BrW_PA.data.bps | Bin 224 -> 233 bytes F3DEX3/gc/F3DEX3_BrW_PB.code.bps | Bin 4767 -> 5455 bytes F3DEX3/gc/F3DEX3_BrW_PB.data.bps | Bin 224 -> 233 bytes F3DEX3/gc/F3DEX3_BrW_PC.code.bps | Bin 4860 -> 5508 bytes F3DEX3/gc/F3DEX3_BrW_PC.data.bps | Bin 224 -> 233 bytes F3DEX3/n64/F3DEX3_BrW.code.bps | Bin 4850 -> 5519 bytes F3DEX3/n64/F3DEX3_BrW.data.bps | Bin 218 -> 225 bytes F3DEX3/n64/F3DEX3_BrW_NOC.code.bps | Bin 4687 -> 5425 bytes F3DEX3/n64/F3DEX3_BrW_NOC.data.bps | Bin 221 -> 229 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps | Bin 4670 -> 5442 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PA.data.bps | Bin 224 -> 232 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PB.code.bps | Bin 4613 -> 5355 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps | Bin 224 -> 232 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PC.code.bps | Bin 4700 -> 5419 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps | Bin 224 -> 232 bytes F3DEX3/n64/F3DEX3_BrW_PA.code.bps | Bin 4835 -> 5536 bytes F3DEX3/n64/F3DEX3_BrW_PA.data.bps | Bin 220 -> 228 bytes F3DEX3/n64/F3DEX3_BrW_PB.code.bps | Bin 4771 -> 5453 bytes F3DEX3/n64/F3DEX3_BrW_PB.data.bps | Bin 220 -> 228 bytes F3DEX3/n64/F3DEX3_BrW_PC.code.bps | Bin 4861 -> 5511 bytes F3DEX3/n64/F3DEX3_BrW_PC.data.bps | Bin 220 -> 228 bytes format.py | 6 + include/ultra64/gbi.f3dex3.h | 563 ++++++++++++++++---------- src/code/cutscene_manager.c | 2 + 35 files changed, 361 insertions(+), 210 deletions(-) diff --git a/F3DEX3/gc/F3DEX3_BrW.code.bps b/F3DEX3/gc/F3DEX3_BrW.code.bps index eb7d91a87bb70f00e8199436c3e54989e5c97d3f..49bd7ebd9d59eef8fa2db4ac1b3d2d267f825701 100644 GIT binary patch delta 5498 zcmeyM+O1vh6cB7^u-aooL)U^v^Nx=aUb624PB1E{D)2G|D2Ve!c*+0QQ4r%5P~Z|g zF=bSU|e%%iS77hkB6_5s&1O}E@PYf9P znrxexzAaEz(cm5bvxoTs1BY@o1BbCT1FK*HV=gFcjnx^L6rTUT19FhDGQ+>g#r!*`lrT+T zkQA(UVrp8T(DI7uz%<1M!v^^y>wYjWOyFi(IXRJkm$4GVf5t=(r5*wB zvlx;NsGhDfteBk4-&fRN*nCMrUfAJuo$<6vO@;LXUNtROEk$Aig=!Gpz+!CUQNyYl~kKfK)^vMcX(VDL_V#O}dt z&EWk!^7Evi`HgLTiyGOc&F`8pY2w7=fuE(F06*a9&{O z>$uAp5uoD5WS$`Ez$nbX8Gp!o|AXUT1IL0xlZLY`x#y1{}MGSp2dOetg82V1s|1?;wz~Iec?yey6|A#lXyT1o>5QDe; zpIC+oGZeh-|4f_QH=%E0S3$$P!iLsUmDBdj6-;1S=N<27)VHGd)iX|szJ@-=#y*C| zNsNu18nK%uwVgaTrKN$Jsl@x>oFhGI3<}-{*SbtfYv^3K++|YR(}i1mMH3izdB^|d z^L|+8TJJGMoWVQ(_c?~+5tDctdKtLG4}*N16#;hpX#*v&7b2AUIwluP?CP4_2En}^ z>>Uk#9laCynCkmF=1$;bxa|FC>59IKz1|0_pY?UD^`8IS-SjlW32*rpzDYY~%J=xM zd&VHpcdYl+PXU&`j!7H4HuRo|=C9}P>zMSg>p`DoL$9}_d(or^D=nQiPT*p=ZS^p5|%tF7_gp{Dv?r2ZXhX*E1ItEG`|T2rstD+Y$Xj%gF8-uDIN z>t#KS_t+YmCPquJMtaN4>Y6As-T#F(S3}p%-)7H+68?Sgek}0Z`=wL*qs;=+xv#BHqT%GrXffuO&SH!&J;j*V8W;s%dWlV{YwGjdvbTqe|BYzE|36BT8Fok| zFn*rAnMJ!kVOr1A{~oLg46FvL7#@f^Ffcc8GA-j_V1JDAX)r;Xk#6iT}(JX8v=aI9Cv5 zU{zpZU{Kon|No>dObe8bF$gHIGe{^%^oKN*HnC+XFfwo{Nc{gV&cMKXTsbwtuW{w3>nCG_MS!XaYm>X+9YS@A_nRqty&dUcFCQMH3j9z51T|d#!!S z>b35vzc)`VpEpl^slWG^1yjAhuDIweBdz6~99iU@6lv%kA6evGpDgU1qsZo+qv`J* zubJp=uc$ud{Qn=`DdH}t`6U>=QzXuw7LZ`@j{nhjTG)cgJ2|T8)FcZg@1!Wh(}Du5 z-tkdIr)CSVdNH}XC@?Yzcrp3=D!yk>^I~@BQ(%@2@M88juTX!Cfelm;c*_g)dCNEGv*NbyOpBLwf^B~JX7K1GHmXUbiZ7;CgTSh$8J6_^3 z2LrpSw~U~=x4oj9cglQM@6;*1-YNaA-l_M_dZ*O8c&D`cdZ*_5c&8TkaxkzLdB^|u zt5-VBpd^^~fAyXZZh7f!n}h2{*%?$^O%RF8AEbFhM~9)K+PcXPgE~ z%wD{?S{w{)bG`UVv-lb$rn0tp2~S%*L71t&)Ju3;f@}fLuz=?vknZw$A&^df>m($$i}1A`ckY8aSC&C@?J&X*j5&z|7FFfQxCV!D=Q3(S(1m zC#y}Ua7n|X$ zlc^G{C(|X^PbSDPoJ^8oI+-HFBAD>+$H}yM88)x`|C0@tGctJFKYGr&nC6({yB~|Xftb{?uJIB39LGk|s z?~)+HNzsif-$WG|W;3XHeb6*NsF?qc!PkmKn!Q^#f zxywsF83wNt>AtV>BpAG2F6Dd4E5qpZGMWEXt^}jk+x(PQ=M)$~`NkuJgTY&VDc`Ge zT+H6`$^0iTOE7xZXCHfYj*s2DzJ&iIFFzZ|yi?~CCZ|m5J(bJN*5A>4^0Ewbf5%-0 zk%RS2ULVR+jU|}5z24`iyc85+_4<cGT{WjjI5XNoUB(R+=Bi8`V5-8I~Ml7bz{nn<*P|A&GwbGw3wL_-fZ{{;>Pmc7i}2PTQkoS(3!)ige(VJ!~> z>mN|<45ItO8~PPj>}7e#APlMz*D&xOQ4kSmnAfp)jSNG>8d-*xHF69cYj_xXmUVQW zeb)A|VT}y;i#4*`Z`R0he-L=Uz`cft`^ypu7H+>DX8sH77WFD{1u#t7*vZWOXV$Wf zdnUi*maFeyz0`x*oh>B29teMT!Dr-wfV{7pV%&-pN`l9wOEZ-V3$dK+TBhiTpd6 z8W$)j$jjK&dwW<3PS)H!)A;}Y{>SgvEHh~6jbdU<+Sc)R{p0s*K%P9oVjv0X{c$j` zh)%BL-^sziQryDDIBlNhzFu!lCxLSfb2%8;)F+5Ctz0iRb^6NCE)E8k2Mh<4wlW2X zDloVzE%_gCf+K?A1V362DCj=sxP6)&?pQsmzVLBlY#SAKCyfPoTpAg~} z^YU?0KOw{~=H(Z({N!qbOs~Qx?h2et0$#jc=?dHo^aQ*ZF?e;myPvwGz~Cj? zlm6;d5QEohfB#db6d1g^+x-@BGcEHvJ>Ac1b-$n2>0o|u5%)50QP;2DQ(U(xYBDHz zPfh*WYx2LM-a9^ZTd&3c4lkZ`cShX+C2#xRcNtA1l)UAC&s}$gfx&C~eAjh17+Acf z&GtWa+JM39{Bu{YbI<*~)<5_4TKC-l)mZ}uFPU1uK9E|OQvN=WTAq|wk`4?SAP0gR zC7Zy&vex9k4ai}v3IA`cwfOIIYP&(E0<%dZ&ED62KMN)>>{F1G1&J{T zCNMA=tYY9$keuxx=)k~XuExOdVm^DbcYOKg7xUTM6(prC6quzVPHyKAJ-JV;*I+e+ zz-*h;`DPDL_2C`o z6$q+6gw`@}o2_JE@Q%+?_MWu7-r=O4MTYmL^&X0v|37$N+U#-C$ROQI__@2N?*H#z zFG@}vmYyZq^8bGlvjPK$7w4SiUN85%o!VrP<^BH=zxRKy0IwJG9lTCVIll?fyuk)axk!)C~z|{tXEj3+jw$=L!V<%S#_Im&4;pbqeXFGaw zg=p`|?Fx)uvahmEuHY8+uK%BGuzGU*s)bAjn;8VWCp5-tm9^dfXT|yfacYco^7>)_5~;c*$7%dC5rk8!Ttw@cus~@T9Rtme>6M zNdgZTm`?Z@FnWDit?vE*xjRU`w|IS5uh*+N2fRA#-4vV{6uefp`zj>=f8f>G%Fn>+ z*5GZQ?Pjoq;eoe(alhA=r|u#R|95y@dD;##V50VaXK(W!UO`<3k&{{mnW6~{UMF=d zGQ7E#J9ulY_h1!ZVE6Xg)Zz6ZnZY|gXfY^(ff5!616zStSIUV-?f?EB_1&`>y#EKS z@h%Q(2Q>jf?8#B5C7U+SQ3mTOW^nNS{@mUBdXFb4H+u{8xO@HopXfDl z%5tFw2FVve7Pa;B%eszwdu=}9-L>4od)0am?^9biPOe&=+txavdVb4V4)6Un9^U(F z9J~a(r_bor>fxB&7TLkoNPio&uebHzgPdF2Cwz2Iz$@&+j^bf)Zv}^-qky^ z-N)PWxv%%hbRX}N@xIr3J6^;jSDEY}H=xgZdd57#P;R$;nyt_MTH|pC0wXsUL*6YrbcD1#-@`p z3=KW93@tr!3>`f@3_UyyY#aKXon64da9=^1fk8n+z=4B-{e=RTV9mUM-D{1l8Ga~N z|Bql!n4vz;a`#N-68;O!(HCZ^?b<51hl7EQuYsAVjU|DBb)M{wzK*#}-xesbO=K*d zCfPWZ|AKJB|F_e6j@mI#c+GT2M1i@Wzk>e?19wD2-;%k?)eIaAlEMdidU+UFJZ1&# zYGhv5)VqLzscl|EY~uuOhP#s!`A-=uG5lvt$-uzCEXBaVz>>v~bU+nk zGe~a_6H|vs!v7o0(E$pAP7F+IxR^Q=*cli>>K3pwwec{pJ_5OmgMszYbc1Hb2KHyu zwYVKP7+9PpSMr~nZo=&VGG=-r|4F9C1xgCW|7USG*fz|bpupI`pkObwLb;OvM85?C zgK{?iS;5NxhZrQn7+4+tA6WN;frb46V}!CL1EaC_WX7h891IdcOpAUnuyHW3>{;}R zft`neWzQ_u8I5};H8uX;*7Vm){)f&KMQ#Ugx#w1$f}yU2KoJA=xUjJ~d^584e@GjsR#v@)hoo6^ge5uwsIvu{SPXab{F zUqj!7wNoURdc3vM`g_=zBBsq~44Bl^%jglH+Sk#`7!jb-*U{_2d4Zv?@DAL!^*U>Aez$n-^aovQz3w;-R4URFe_RZ+q z*!STq!*UH3h7}qr21^+lygAI>MHVnJ^*!wM=63g=bfQ!KPwb?&PWwNyliKPu^w6xi4&(aL0QA6Xu zzNTKLVDEpkIzY_ShVaAQ^On1K&)eE7)WE>)9siflOL*Gi3BpXRUc%EJ$Tcu9d5K?L|{frrFp24>*{O3We$)YusqF7+Lm>mC359Aj35O5co06T2q#UF^HipViyfF`1#E zt83E5t_#SxcLF<8P+tc~QQyU0?|;?L`Z{{O=RbGv>*(~BZ<*BA=`G(gt*z_Cq=Q`t zka2I1FvFR?hF*hJ3=Mq^ZyDVKRK0Q^w=a6dz~~+C_6d}hz5hRLfAx%0qHo5ej;@Kl zuU>FSuIpI)>NSUy_y0%jM#Ve~>pFUsioY=QHOxHqLWa#d{@=2;*7)B{4K2OOa~K%k zH8d*qHFeH+VrOb-ZtR%V1jZV(ni@4`HMQFRnAXxN|6^K9a$Q{xGc%ukTa zPmnQYuNWBmI;KsWYVQlm1x^h;jWV;E8fBy!nsz=nd@hv0pyT~m;JNopr}RnlIzMSG zpC{MQ*KzWtyBPCJXEDZ?o?=XF4Gd~8y~HNfHT8LJ+1ta#|3)<7{~x8v3_GL}n0Ob> znCTs$#OlbvwXUyM`5puNx&{!%*4F`|xK1@R{@T_w^}dJIHRc7=dRQC&dwAb_?(SVT z&DZ;<cEIxy53W-~a5Cj9@c`2PQ` zeGR=9rx_UgCiHro=3wY+;BE4@f1Yk|nt|m+iVUM@0z=q|R2c^E`uFYzrx}>MTAs3s zCNMC2wLbOtTJn_DYw1&eZ&_77Z&_V`?=MS4y}zyr^p@$*V%ij;yGSj11oP0?U=QGB9~3 zwYwN*|KIPO)Z?qb`2W9m{2#t0Aa#XtM&1RnAHCz_jJyQ)yLbs4_w^Fo!{;S<#2=K5 zz2#f@yybiRm+Q1F-FwbU@EE_B_;Qy%%Z6Sr@%6ra4LiLgmhhb@w_x&;SmS@H+G6tk z-V+r9to+PlC67i@LW=d#HDOPqMd6i@LXcLz{QOepm0LduP21j=Op% zZSD0gFn94TSQgT>mxqDf+dKa6IWdO+(@mTi82U9E`a8Ni7RoGJ%;Ukqz^2@PX{8s7 zsul+Wo4XgQ?queME{%r529ae8cs!;p=5Z4^z`#1;G*hnvCj%p6rUwfL1Dl+}vH$-; z<>wLxrXEn0IL(pAX_^y{3rM|3<6VYnmnO2D^k}}{*VXu=uW70Rw}HhH?&&5iwGA!u zjMEet8Q2#nay!T<{Qsw*`2W8G6Su<&X9ETWX6^&t^%BQHC9=1jB#(ET#03Q>1_2T0 z|G!_jDAa?}rC&2cyKjS0-~S(=cw&$gI>f9bpftsw+kt^Gnt{3dfx^k{0?c0b|0kai zl#undf2MvyP)644|No>#1s$qw`xKbG_a9^L;bMyLHt$J)bwh#4(3`=*Tf9Xblx|*K zRABV3|DWs~|9!dqga4whE+{Y6#QUGzCBSoXmk5v7)O4Sd zI|UfMrn>u{+$qB7H6`88Yl^$S*VcR=udV*RUR(10yterJdtEK}@wyuB>vg5{oY$2w zelN-Gu3j=%`xW0a_;}atcQJjzz~EhXgqKBufyq1mkDuZT1~soA$5UTQTQPZk-=FgG zw*`}TfqRjM7YBoPVOZfyaT!MM4{@7JKQl0Re=I9}`CWq1JHBqyO9@cE-pls#hXjLn z{ZapyVj`?wH~U>)eiLBzy4mh~a+^fG*RLMGliOtKy?(XuGjJVb^7?u_)zFKX+w05z z6k`cyZcv`{2;pGxmhbU1^{Lanhb+fNC@}O_HpI4{ye7fuU3ZN4)L>mS7ew@?vkkWlIeFpxl5+jOJMK0Qx_GOyabN%8%;4V@V@_qpV2!& z)jNKD!mDdSJlxO(Mv|&|I}>@Hm@n_eumi$9bQw| z{h7KKsCsSD_cQ8d_~5mL-(NI=fyrnJ1HZWhLxa~9Q$Mi=2BxJF3@WBxAigL+C<`yk zVo>2=V95s+97zpT(+wNA1Q-+~_!|_28Ou2s*xxCL2rwwW`u{^gm^ofSM8cqloBsk2 z1N%2-?gI*@@hJ`S6<75eZ0*Zy=$g1uxW9t`%o+y%BMKq{4f7^#TqDEKutt`lWsMv| z$C}CMJC`&nJXzbYMuz*v8d>f)Yvj25c2DG5!^8chkE>zbj9vw<0ET%RXD!&crALDQ zhq46s3k8wx7qg6-SBmp6uzynEa$s=iT4vn5Pobf^r}0i-Lw|c;$6O8u7Kt?y3}3_= z1R9s}pJ8}pp|F5~;ZA>NzeUruIaB#hPBCGc)YsG7@}KF_vX0gd0pD6$KLpHbY0TS!*m9j`X}{s$Z4gur`0qYo>YyZlRF1mGAo&Ow3_}c$d7hKYqv3>CD^? z3XII$Q@!WuY~0HrHPxHJOVs)QA4M+)H3i9O1+BdT3e4TJ0(Ukx^)*f9U|>C6V7`RVeH{kHTzc0hv{<*tX2&*Zu!V zUIKfBy=Jwjd;h<8aRMj9U9So1ZWFkf+Px;Q`x`7{Q1IHI@29BA6yUXi-``*r!vn7i zW_*GP48mR)M9-g)Qs6ituE2RhP=U)!>ROhU`2MUDk`jVmf_+*iWF>@8NXZDC5R?%) zAt51pLR?13Yr=asuL;-vy*Bjwd2KlF?{(oApVx)G=Xn^|4xco%$nyUG+}&I5p0AhC z6fHpq25zsPJ)p#&!NI_`D6d*z3lASFay?&ns&F z|KKI~+?|7g&EISK6%X(K_bwQ$W)Lvg!oXp$iiN>T@ScNU0t2g;^u1MH8~YY}-MY5e zOZr}x*Q{slAh&}uk--jz173oCSzh8T4#Er!++I@Wo}Z9VQ1cRKy=<_W!NL3Ab9e81 zdrt@^Ffe&n>^%-DvAn+Dd+r^7@3Ei*!%DA-&)rX&8)bNHeC~hJ${^G0;uHUV>4v#p zQhT3!iMJkDe<8QoYybZwgVh`iUekNhz4t$N7ffK7>AkkgO}L02Jipd9lZB# z^8m?t&)eF;!N6|hC3&^uq`5@qNpqP@FZq8uUZTfDCz||s_Y&EA5fncYE&ls??LEip zHTN2y$CUF7UUSd;dkIWE;QjF!i}%NOyxxV+c)csH@pxCBo-XKzVAqyB??y=B7;y=TT5dCx5~^p3AH>bGprZRTKLi}Q}V=j$c0-<5$o zior|#xF3Va!Uiw#{r=we|K@tj|BLnL?q=}1_1x9#=5v1riAX1}UC(_zrt~v-?R@TU zEW#k~C3CIMYzl*dm&`eT#*zgr-jd;E3?hpdyruk0#Tgiwyl1+XDTpvIc+bi&^^Q+3 z^O$m)!E5d@HU^O;OkR8U@q!99uep2r=UcAoXIS1J*uFlY-LzYQ>HjSOcZLiFW(F34 zbcR+1rvKLj+!?wQnEziDNN4C%;9}tOwrAB@z|L^rJDxp3ft!KJi-k4#q?ZPRw>|Hg zlinIkUJOgsPZlUJddKr8oGese_G0C|d@_rJ(c4~3=VUgApcmuTh$1)mJkVDw@-rhYP5gV{@bZSu(s1qLs%rCKL56_~v3qmG>{;^6eQ59&Wz%pvI| z36kfk_mTj~bMbrI_qd(Rkzn+;Z{a_gE5Yiub#3xVKZ$y;Elagd`b#i-+s`|8GKY)V z+kRUA$y_dBud8d5Pv&v3dR9<1TV>L?%wgs6TM{4rF%i6RJck$wP_x0lQ_w(X&_xIwB_wnKl_x0k5_4DEh<@c7%cJr1@ z=J%GYKISc1-0vmr@8Tux?&~Gx@8>1u?*BqmLextz-sgpggpikDxUZK$te=-aD8H9* zzKfS|y04c|zMq#+I!K*}mteim3z7bkhOgzmUIMj#UIL~3FGMATIT+YwUWiBtOi^Q+ z0&02oJ*{mrIRt7a3GPwIVvz8T|9MU!n}NeS{%5~})BgwF@&DaVI7@JxaF*dXk*L6Q z!byVVgp&-*i39}(uSR(vg=7XMuSRiS1t$g$uLem!k?j9pycz`gMY8_CRY+#wcyU~T z>BTVxh8IT^7(prK#Zd)j(BMa_7Xuq(gn$x@yNIc;Tc_FXH_FpMul>5B;-x6-1go zOe&hXHTeI3W~CEK@(TZdF*6;Q#Ixk6vi1)K2JY~~puRZBe#NBe!JF5<$;olp(5iT1 Hd4DAUVvsHt diff --git a/F3DEX3/gc/F3DEX3_BrW.data.bps b/F3DEX3/gc/F3DEX3_BrW.data.bps index 6df602f31741a8adff7816bb91078d31edef3fc3..5bfd47a1ec2546df07bb08555b2a78fc15a046f6 100644 GIT binary patch literal 231 zcmZI-gf0|EgtARyYBX7$?H)9vq2;+FCqVRYpg``S_;Kb6R#MC?m zwR0AY3;icMu^0|)3G`9Z#GkMKiCI%JHoYbjX$Q{UYWqOOo4;p2g41<1=BQIPI3n@ zIB*9rJYbw4)FaR$B_u5@Gs&&_q}-eYnS`c|!rN-oxfZv1xJygVpYGE(mw&#%+>ZHk n=g#ikJAcB23G?lO84{m9d2)L3ej!s?l~>^^Uh8+noT>!?l!sti literal 221 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 delta 4663 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 diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC.data.bps b/F3DEX3/gc/F3DEX3_BrW_NOC.data.bps index 83d88c295f04d8edc043f484cdeb9f66f71b5754..1e0b842665bb124a04acdd9cde5e2a8f3080c011 100644 GIT binary patch literal 234 zcmZI-gf0|EgtARyYBX7$`H)9vq2;+FCqVRY>f9H57g``S_;Kb6R z#MC?mwR0AY3;icMu^0{`oHa7m5tkX1?iGjs|p`M}s(9*i*%Ercq*&Z#^{F*P; z|7ZFq%uvU`!tjrQL4lD$fZ_lD1(UN|CT*Yef8LbFAJcBHOki53z`^i?;RfS^X&Nmj zxdRv+xC0m-FisHa5onPTk`|Vk9Pd;V9`EPxtdLZx5S&(%=Y?xiwvhGLg|No1m8@4hqy%S~- zU|?ZjQ277jU*DS6{|hEhn>1Y#<2u_)io^HaR&*dOKrz$evOkU2^G&?&xJ1Z+oCrdlSA}b>!Yj#<~&c43B e>;-fE(|7IIv0{0vy{W9qtMu7H-bZG|Z~*`&h*$>z diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps index ca826240e7c0b0fad048a5e1bf39d318e9230a6c..5253b6ae6be1ab7099f7c1bed5b40f0c24d716d9 100644 GIT binary patch literal 5443 zcmZzYeA!V$43b-+4lh_7!_0%c$oqe#CamTz@;o<(`z?HzTMvni_8ZQ1T zeGAsMuyFfvFtEfZa0x~*H8eCb&uVH^=4x!(DZ|jvBg@dzBgfFu!^6pgccJA1Ix1YKR%==aB~Notd(E@S=b}V)YEsomxF<2PTxx2 zh6ZM)YLL@M77hkBDUb%1 z1O}E@PYf88zB6zzeOsW!Hj&Z0Ii3H&=@f$sFZmxj!U_LRP594r&HLexAL$C5)2FCt|+y?LXpFPYE7&w%x890o!8CV4q7-K-;Y^=_} zr11Rz9gyRUl^Om`F6Q4krG#k$gQTDnQ_}*4mRC#%rinK!ls|I1&ah%~GJjuDgJSaq z1$kkM({;w*UM?5nSFZm5%Y(&|p*@-ZfO0hhqqpP772b@`-GmdEei&pkFfwpQIGnCC z_~ET+*t0Z+sfQ(j>C4IGLi`>qMhqMbEYDk*n0mY$pSyb}PV@EtdG8qq1M5?7M*d_4 zc@7B=CMyOH7DEPawTJD>|G7)N-5;`hr$1u%V76xPejfRGQqcUyw!TG;Y}4jPn*)qm=U2et)Z2Pxvyugw{}|p z6bXhqlV)_XE_di_>t#3|pxW2b%jf~7JUA~f^mW{2j0jNiVlqzuLolhL*I;E4<;doz7sFKIn3P^ME?Kq=63h@ zU=CvNmj4sWFkyy*xBZ`Kllvz0P3$UYSXbE4>mBcB)c2zI)iX|szJ@-=#y*C|NsNu1 z8nK%uwVgaTrKN$Jsl@x>oFhGI3<}-{*SbtfYv^3K++|YR(}i1mMH3izdB^|d^L|+8 z>M=!}!8`u8Mwm_gM5?~q0-mU%W&F22}GTUQ0nWLoY3FZHMtFfdp+1Y zKpvUE$5h|fF?Rwd!)5PBOIP$=?Dala{j9HJt@r%r?xv?1PI$|=@J-q=Q@+Q4-7^M( zzGJr2ZXhX*E1ItEG`|T2rstD+Y$Xj%gF8-uDIN$7MZ@_t+YmCPquJ zddtk}nkX~f|AjSIL)XsVX3vEZ{{8fREb!d>rBnK(d7YoMmQQNyT<*EKudPp_;pEF` zG3J-fVvH|6#hBO{7=>PXiA}0&>hs*Pw}*@WjcCIEKT4Asc1R^K{#!I-rgwl6t0M!~ zy1riJdkpOB8bB0VUk8ZdI@QqlYg^OQ`yN);m=mV;bpH2X=*wuhsldQ$u!`Y(H>wwLhlG&bg+TsF2xD+J*{}*Rq;8D=}|8J@{|AD36{D)*6{{L0<`u}eU1OEX9?tlN4vcB9< z^!k5`)$#v72JQ%F25$isvkV3Xh3EhOvpisERZwJLGEijTn_|p=Kq%q=uW4BfDokAg zEQ}EWYOD_bUo1Jnz#z}?|LKy;3``OV3{?tT3{0~l=5+28b?k4m?O|Y2Q2hT-ft#U0 zftg!_fjh#9F)2Vr)ZzbMg=7Xb!32g}25$k?CCdBoH#?J8nzJde;!;%yK z|17!u|JRf&|G!MR@&B9EY6iwry%LNbr#To-^+_;z+doz}TFt<6npcKVG=U-cG@lHE zcYQLu(P{=JuimGuq6rMlUVTsfz1BWu^;-AT-l@H1v*-Eb^{T7WU3jWb@9^^!JX}O!T%_RG)JG{}1mJahKEl5{%v{5@$~fNHBQE z|L8j{Y{BH69948`k_D4@Qk3CoK>=3p_^6^&vjteanA}|y82|tGV)FM@eEG^-i7A>z&f?>YaM;tanPi zi+4)9uXk#`k9TTuF9!pAkazrVKc&+QN`h(sSHG$jV3k|&zhDUi!<`oH|K}9srE?g% z8dmNC@?cLEZ|~V zYOtD#K{Vmt+sSEDIh&bf6+p@MWP$?2$s`5FlPL;JC({&|y%-p>yqE-DolKNq^kPxW zI+-lN?8RpI>SU?}>&bKp_LB)R3@4Lhm`btV^|F4Zpvk zmw|!T8Dl@Dt_7-IXN3Egl`yDy-*0++>XHS6cYM=g1;zglyzBC(1vGLt)|K)qzGv|9 zj{kG+Wj6b4Z!ho9FSD7yde>*Oz2xHK^R6#C|58AN&AY_C=v9FLn|E=L;Y)r#e(x_) zMX&M&*}Xp(8BStrSQ%ecWSGsM=Jl>Tb<#4^hPU}Cil6`A@;Wi!#Uq4+!Ry3w-lRd3`DFS3Jj{;2oH>*=Pzgw|8OIW(Mv+ z2JgCjmsiEyg5Gt-y)Q-h1txn=lx!;D7I-Nj!s;b+-u+d90IT=?>;8t>1_oXd+2@$K z52$)cl<+T=U{LXrv3HYDU|{o-k@xrNQTKawN`}F!huxncfq}zojlLf!0zeT1iU3f= z2s~h528HZPZuZHqvY97Oj+@;*p?^kyM}J2z>w*8G{gw@!O$zc144{6419t*L4;TLx z#;gb>;Rk;nF?T;u=wagj!`%HqiLpCDf%%Yt5~#_{*p#5elK5w(0@q{-*;m@m-Q zKcj!){003T{Q@n04ZR9n0SuEib~1DSnYFC(N#F9h$`af!6hyjT%nE3373b;SK9S3T z!J%uJadW@+uB9H#_6!P)%-mDG=he0zWmquPo54%e`Trk9F9tOQNd|`g4O0akFqA4h zpA@+1U}4WMMhgXb1`7@bmPN0h7zj?cm~~c!X^PkP1_sF(2FAz$1=a+HzNHb9EvGMB zwl;!+K|!ADL%)1O@9QT9Jo7cS-Q{3l{iq->G-FCKQ=dr^1A|f*gM@ed&vTQac8fN| z|Lj+A`v1T?{=fSPX9u2^IrMP_K@I zfkkw3CI3zi2A0wmF2-r|H23v-YdQ&>YnaQyz$QCElxgL9u_@D6hIX;vV0pl>Uui2- zfT#k4tJ0GH0Vg;j7*24+F`nRvVK~7N#dty>g6V`n9PQoSe*J^+NQ>PRdyt>={7H~5y^Ey4<&uewRpV#SNes2-?GH+4WuijH!w<&5e zD0ojz{n~5tzrs5{bz85+{|+ynbazJG03~nx-**{JBb2=5f6rZag@M6q`h3@QHyBvF zrp@+0b=rWz>-=+9uXE4+z1BbX^;-Ab|J7Lo1}~Xfzdn#!nNt2fkXoLUSCS448X)(9 z+$5X8z_QllzYWM;tO@^bt+n{?b85RmrUJ86fWc}ON$>dZ&ED62KMN)>>`{=E^)Oh? z!XTKyz+|wBfkQ!ZwuGPq1Bba91H+5??9JZs<(ps3XKz=Klon86mNGcGokR5GKCxbd z)eHi&W7ZTlFe*q&{SkCvSZS`rz@T)5LBRWe_~sXL3>Z#s7h*ZNU5tf;fn8leQtA%K zWiNOQszI*eU|_Qch1UH1nV=Gbx4~OHRpZo23kL6dscsw$Y;(N-rM7vk;rBmv#jpWX z7o56k$k5+8_tZ6m1}_E%^T{5wPflO%aB7o5y7%_=9w#PSFnF79=9p|fHL@YjD-cvb z39V(|He1QS;2oc&>^*6@!%1z64DU_rJrp(nfAGGvnd799LAsalb9YhQ|KGh{#GL4# zJh`%^dt(2>e#Yk7W@ZHj4lm9*%e`LicRRJoBFp>#BYyAyUIAV&<~w+um~w)_fq}z2 z{!fS3<~fhOF3))ks+t)NFmQNH_F2wykfGO$b56qv4ufiMj^z&C8tXm0J+_?i?pW^N zy<)wG_leCMUZ0;FKeMJon!J++8q%q0W2%91rjPa~!+`dk%R2 z?|1Ol=;i>)d2{r5fSNX5Jaar|3-(RCC6La*wasJaQVAuNLgMn?=$qh0Y-drxl-d!oh ztc(oK3M>o^UR_HVyzT4VIT+ZIz3W@~y?WH$CU7#X1l0y7f-D$8wE-w<6g8Owyv`V( zo9s9%u;Gjdzv&?c1}~XMS|-X24Br2>kDXj0*z5hDho6IiZTHC)qP-`#D=>P=zREhe zf?L$P{(rK;>dECR1KXGkHZur#$M1a(Y9bhHVPQDoBf)gSM~1=cjk{})H-n6K{9nHw zHwF&xj8qLC1~!c~-V7XGGS+@xGSdA9%NaPl|4#`#X>5_@HUEE-zyk)R6FvrvUSC$L zd;fp#4pQ$e-qq{%YR&<#&U!ZmCk6$tmF>O?$^RdCb++;|u(~yP+h@BOEMa)yZC~8) zwdJY1NW=dfURR#BgY-|-{_pH<-oq=X%OG-6%OF!Ufx+vfjzxwy*K!AMt@R$P0u1cl zUYk0+J|r`E#|JG2B`#2+;$UD)^Xf`D(Ww33-=ljrgZKZSHQvQR?V#2kh&@^8jAYa1 zIm#fvdI?W<5K3TR@e-Q6%IiXlvX{{0EUyWV+d)Z68)Bl(_11txOzOi z1Zq59T@+zpNnl{=JI289B2b{N$NT>amIQ{9HE#c3$Rzxqw8s1Y9}Wg~wUY)CnI{co zGAC;Ncb{nS-_MJ$MZk-<-Iakmior`D-;aSSu)#~9-QT0zi^1Fex2#8(H-oqQue%Hq zkxpJ`p1T@zG01zJe(rDT#h~D|=D9CpRsf6F>gWCpTtN(8GRb`63=B+OGEwIhxEL6` zxx>r6dHhQ~y8IZtyWPtexI&n`d-6*K{Qf6-$ETNh&CNdM(dEzJwYT}K*WBjwUVCF$ zz2>IydCiUY_v&BN;I)2Lhe*SJTd(t*I=nOAyLxA~`*?dk_w_!R?&Ezj-q-tOG9RnJ z{~qs`QRlt?KVkO{@8R|4_WtC}6a3M;JNlD%Pw_|Z`07ufRN!?!+?9iYtpC0wXsUL*6YrbcD1#-@`p z3=KW93@tr!3>`f@3_UyyYzz9Hon64da9=^1fk8n+z=4B-{e=RTV9mUM-Di!h8Ga~N z|Bqmhj&@*P{X&U3VTSrV%iS}TOZYD^M_-twwri{45e^2{e+|q`Z7c~4tn*}d^mWW- z`nEucZ6agBG|9%P{1=21{=c5q!`fiSJmEFd9T5fQy#5OQD-7Hb4Gvrh49a^M7|o9` zFs$L?ztXp4u5vX42ZN;WfxZX5JPa)EvodxzGOuguUBJN9Hm{*Spt;|o;cE{QQ-?^x z|GUi50Sban3`}ddm^u{L85lVjSaKGy_aA9xz1W}I(7m(q;`DyT2KHyuwYVKP7+4%9 zSMr~nZo=&VGI)9-|4F9C1xgCW|7USG*fz`#P+)9eP_P%8qg=^uF237~A@9Taru&_U1^isBDU^LdAEZB6BgFzyQY0(b`HVy`sor_*Eu=6mm?3~6r zqgAeFQcL6SZB1{zOnwh(=rQMH3k1`WpHsteqmk)Z?w4 z*5AX%6ftc^W5A@QUPg}q)xM5i#)trwzK&iG&I=5E9d|_?7$q6lmO6MbnI|xC#vk(D z|KK=dNd!yZf?n1HMvlIQzK&i&1xD7siR&ixb@Un>V_@x@(YLYhL$5c7xqIKkUTefh5oFbzK+QZ4P9N6 zE_Pi&#=R5RnS%N{K#KY<_Im%Te%9B~>plOudtXPVw|vW_woY&Po@s4eCng>2I)IFO zdxROz^fmMvtYT>BYk14(9-!)#`?!74D+WgIc(+fWROkKwY5S{ZoDzLACUta8?0xlu zLvmfm+E=eRq`dz>YBwt8VOZDEt5p1jp|4@)sTVSA-tqsIwYA3oE^26LRO)N$obSZW z)X?16F{=rTHD)z6YRqbCwf`}#rB(jNw3fydvzoy8#H^;q6CjzNAeo;`4K2N9uNWBm zI;KsWYVQlmQcev$jWV;E8fBy!nsz=nd@hv0pyT~m;JNopr}RnlIzMSGpC{MQ*KzWt zyBPCJXEDZ?o?=XF4Gd~8y~HNfHT8LJ+1ta#|3)<7{~x8v3_GL}nB*4CnCTs$#Olbv zwXUyM`5puNx&{!%*4F`|xK1@R{@T_w^}dJIHRc7NEd1ZY``&YR@49Ke-ajp$aWJqR z^ZxfenfU<&2PmkTv-wX>)^6*3&A>Viu<1ptnqa7SpB(CGWzBPm0<9e|Q%}Y-CMji1m(- z_~c#xK6nZ%Q)Hh;L+`TnJRW@wzKv6|8C1OEB_0|qXJqiU7g(;em4V4Ssolje`~QCL zq#j=d#{d7l@DBI=Plpk zzg(wf>E3f*g2(v1#FxADSvK@~iLdwVYuM=}v4rnLxdoG##2Wuo)fSWQ_nxQ_VD0bd zJyiyxOdGsqdJ??tThzT}+C#nLdy>6nTGYMm8```J_Pcr~-8<`DaNN~9X=|@{fw_x! z!LpF1y*v!;rrz;?&xtYopKjvJz|gPR(BIMBu~25&Vjd3;1~%dTODnxtRJAx5*v!3H zbtf}7bZImcHi#@+z~eD(F^`+T0S49yr@qCI(5NL(ED7N>lu~9Zqf+V4la(Y1!uW|9{d6DG8YqQZh0p_bD*- za4|)AoA;y}dNVk9i(gv~N*}K-DlmH2|4;Ug|Gr%Q!GGyjw-gu*RxmLLGB7YH2*?yD z2#9|GCGZmr3JfQh6c|siC@`I1Q(&IJ&2Zm~fgx)G7gM_zlfbJJj1r7qEQ(ntm?fCK z*bHBtV3lCi&1PU^V6}2$cx|D=@XA8v1iJ+L2?iO46HGEpCs<@yL>~P6d4f%b?F5Gc z%Ly(8))PDmY$x~>*cIRZ-{QsLl;y=0^y&ns1g95Ia@GlM32raG;#VhlC3sKpOYooI zkl{GNCBt=sM~3GFpA4VDa>hw)(`#FmE;9shFt7)kWiT)($jh~O$^Tnpu$qC>=>m)O=Uj}Q(9 zkXa|i`Po2bohs*M^ZM1(SKH9YFu9_uPqrztAuP4n(2JSdyDYcZ)QiEv>*IcxmxBC) zULTM9zAEGv^!l*(+)Dv|0k03o_+J%p3%t52!*=ST0%L!1Luk{fTM7)`b;o#5-L_x@ zL>8vU!>O+QT~^b?2{*zEM{!1 zWS*=b&%gl6rw-f+3_V=@R~WM*l!PDrImO)lK!LgYffDnP040zZ2LnqXV|RkW6g8$P zpxnsA!2ZePP=9CxYm?v+g)9aM@A#kR6tWpOyyJiND>(gs;2rFW;P7gY^b^Vc|HZ38kY6P0|67G*296iU z6_{QeQ($;;M1irdyZ6OW1!kot#ty>{}BZdfrfdLHm;Fj zXjmi5(6UC3p<~VD^qor@6`rhZSR=#zVvQ{Kn>BLWeY+=et>NMR(#O@XZbq*HR{+Dj zjk6YP+|nb#|3g`V`-Or?_lsFZ%`3%0!J)wAz~Ioe%(!`o!|=#LVF3ffo&L^#g{En9rt+VhV!|}3ucx==KhvdU9jzY%zO}S| z2$tqc>3Pjmzbe0BZQ+{NO!W%fLLqA_-}fz;Sh%+0 z1H-zm*()1!`WpK8Ph!}$*GqjKgJcW?V`P8=YXXDr(&`=_^y)*$V^{7`RVeH{kHTzc0hv{<*tX2& z*Zu!VUIKfBy=Jwjd;h<8aRMj9U9So1ZWFkf+Px;Q`x`7{Q1IHI@29BA6yUXi-``*r z!vn7iW_*GP48mR)M9-g)Qs6ituE2RhP=U)!>ROhU`2MUDk`jVmf_+*iWF>@8NXZDC z5R?%)At51pLR?13Yr=asuL;-vy*Bjwd2KlF?{(oApVx)G=Xn^|HlH-K$nyUG+}&I5 zp0AhC6fHpq25zsPJq{3N!S0@~ z*YxM^UfZAhdtHBeUf=)&o7c~44UH!M{XM3fVDSFG_l>vY-s6+m8aZ3y_dfQzvES9} z$KLabn*Tp|2|jn{U|_TNntsK@`~STQ2CEqa47MLq<|mDk3; z#a_3rE%uVWm*q9Vhs#T20IuIcnS7pd5O0;2s1Endr6&penLV)%}b#5vcYNw z2k(E+-M#PaJt3IDz~o)A_qf;p|A}7T?>+a9zxPY2CwNo>E8RFy9*{TO!nU2+u^;xx4}zn zTZ8xi?GE1iwt0Z$yytE0;9y{v@shmSanf8O^Q5^=r(gOu=#n% z-ShR5*zd}~9mU`!e%y~iWMPAs_Ox`oy%M?Ty z7`$iYmwLyimw8M%&EPfn7#oAg5+<*``*=a^6tB5^`sZ7&?q^uhAK1P=p0e6OM1?K-(1=1Pv6}TAqyzNzP~c`@@?v2PKIx^w;BC*l z=A^dZ(>a;VA?U@pb@|BxE_UyD@r09w zT;g7AV!a~LxI6dY^m1COa&%y`>10li#RyF?SuMH7IR2? zNrL3L>b)dD@?8Ah_C0PVb0iqO?OXUy=1Q=7ZC#su(odq^Ys*rtll~IS-uCm3oy_54 z_O_qae=?U#*z4-r*3V0zl>ddOgfIsKJKGBp2?5Z+ zLaP@88)Jlk5{u(Mrdc(cI~x@wCl$}0=-yt!e{z@j^tp3RFbSA3NS>N(HL-icM6?rVo>frb;#h|NqadbV5m9;r}mY qrUMEb3@qu&+CLZ=xWf;Fdc~jwqnO0Ou=Y((&eA-e)b|^{Spxvc_2}dP diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps index c115bd0df50214791876d441730c2c0bbd2d390d..13ba10f19e74572797527f3733cec197a7b42785 100644 GIT binary patch literal 237 zcmZI-gf0|EgtARyYBX7%JH)9vq2;+FCqVRY>f9LoB$9N}&q)LV0 z#L}X~)I0^Xa~6#Y{W9}PQu9*sxz^b?HvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=S znlIM>XZk11P{+W+@Q;B(fssLg;s5^yle1eUZJ+di-jv24({8U!U|OcY!SI9O2IGQh z8Z9Te0~j2*0~j7KP7s|%yEi5z1t@)(f{3MyAwjIKI8#B39lX tk-&nUMGF?p?%lg+^5n^j?1CARA3u6@a@jH=Q(2W)|2;g-7O79D007nuVM+i1 literal 227 zcmZ9Pd;V9`EPx93SAQkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>wlXli z6J`)#U}0cT`2XWy-$R*f4>qfZ-Mc z1H%ud7{&#HbL6%N&Y7B-X~Lk-WiLLnA)?SsUe44sH#avoCnrZIM?1?RCo3ywc3H#D h?(Xi~xwHH-w{P9LbV;F|sjSMY33Y$evM)200{{WSSz`bI diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps index b6c51e40748a6ef8ac76e34cbbbf2cc26038f2f1..82819a2f310fae6079af4f736697c045143b748d 100644 GIT binary patch literal 5357 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 diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PB.data.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PB.data.bps index 095e2e6b8a15db863cbd16ea8039c27daf68919d..12de934f5cac843f9137f9947118f1a3cbe0c2f1 100644 GIT binary patch literal 237 zcmZI-gf0|EgtARyYBX7%JH)9vq2;+FCqVRY>f9LoBr+6oYq)LV0 z#L}X~)I0^Xa~6#Y{W9}PQu9*sxz^b?HvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=S znlIM>XZk11P{+W+@Q;B(fssLg;s5^yle1eUZJ+di-jv24({8U!U|OcY!SI9O2IGQh z8Z9Te0~j2*0~j7KP7vx4Xps_<7M7Xh)_hWKc7jYo(+1(Kwdq`o+C1E)rRPoeX`9PG sPhd{Ryg74b_wJq7-`_vaE|?+l_N`k77cCMpl~sAw^7lXi_d~UO0K{xzQUCw| literal 227 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 ALI3~& literal 4697 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 literal 227 zcmZ9Pd;V9`EPx93SAUkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>wlXli z6J`)#U}0cT`2XWy-$R*f4>qfZ-Mc z1H%ud7{&#HQ{-9%r%X*xH)Sy3a*&wW5LsZZAa7=tot>SXm6fHNrITTqm64G(yR2bn gcXxO8+*$tV+qZ6Ax}?C~R958``$6dwE?4u*0qXi#(*OVf diff --git a/F3DEX3/gc/F3DEX3_BrW_PA.code.bps b/F3DEX3/gc/F3DEX3_BrW_PA.code.bps index ea3f68d47c2e1b4e23bccf8b8426328f07aab8d6..d0cb89850f9999450bb6e1345d629a8e1d7c4972 100644 GIT binary patch literal 5532 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 RYv1JLJbZW2RhZG14*-K!72^N^ literal 4836 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 diff --git a/F3DEX3/gc/F3DEX3_BrW_PB.code.bps b/F3DEX3/gc/F3DEX3_BrW_PB.code.bps index 4b0167b8dcd52ef14bccd8d2ff44dfb9a9d29c25..407cc18e36474f1421ad0b368531671d78ae7d89 100644 GIT binary patch literal 5455 zcmZzYeA!V$43b-+4lh_7!_0%c$oqe#CamTt`{#m!eW$uk-ZgMyU=(m*Q0|f8e$gY#{ia8b`$G>8_m{o}Yg<^j{Wus{A{Dp< zBbXW*8kuJ`H7av8Htm#QXy}n;Xz7t-=;+~L=;?d5bqNF0(kZM=wF&|Z3<}bdVj5@G zD@X`0KIYWcM1Lo2tT#VBcxC9s!B={Q?gc<8O7})PAhzKzBa5L5P88mcRG<;NLkkDe{ zU|?Ca{>O(B1#a$uleH2IAd7k=nR@z;_i`|>%;;Om+t9$wR1I=c4--?FNCE>Zb98`$ zpc4br8ZM?X1$G9;1?)`KvpN);=db(0z{0`6CIQmGlEA?7>WKk^(su?9rf&dL-IGtip;U)h=M>ygCnF;@yu6aNFalF5h|A4omqDy}T{}FG-hvyjNe>8Z<|LkFY zz`&tg&A?%-&A=*{z?c9ER%3MrCWYt!?|>X+tjzFlaxwqTDJ4u37$gOqn3@(Sw7g?xz{tQI;c&Xn;D@)OVb9VOrXH3AX10^dh4?*Kj2Ji=SnjtlG4*&i zK6m#{oaXEO^WHNK2G)n(jQq(8@*)8qOjZmYEQSo;Y7g6$|Nocqc7Mq3o&Jd3gV~zF z`+4N&NkQ`)+xiwYvQ3-cHDS`kiN^y!PigC$)%&1*iu<&V&M6rTlcx0=oMz_ko7u{k zK5a@bV@8C^w1!qD-oBo>-r8yXQzRJfOq$Wjy4<0!t(W0=fNEbyFQW&T^5DF{(ARO7 zF(N?4i^)7e)PYfmfiwP)_x=aR8A~Eq`WE!ECNTc&Yv}8kE2zNujp4X~N?%7W!wC@8 zX>g2VQrldS1B`Dy7>gMCX7qY62{H7Yc5QDe;pIC+oGZeh- z|4f_QH=%E0S3$$N!iHY&ct4}Q7rn2ZaZ2f!!RT)YmbYVPaR;Ygj?-@f~5W( zYH2k*H>;(QZ(38Y*((NyzK&@Vr{4DkWy)nejrZ6ZnkGg|uzJhP>Y6As-T#F(S3}p% z-)7H+68?Slek}0Z`=wL*qs;=+xv#BHqT%GrXffuO&SH!&J;j*V8W<&B zdWlV{YwGjdvbTqe|BYzE|36BT8Fok|FflEfG0{6fiPe#>v1{sm536g;3DbHS|4$a4 zAlksd7|F!k{Xl_Lfq~6n6~hBj2L_e~PNrqb_ZS#?7}#$sNC=)#?3phzYocht5_!f+ zS(|GcSROKbP~dA|=&#`4qrm+Cnm{^({0x$(7(itLgXAeD1!iUe9tJjJZ>0zA z3Qo)nFPs$WMV$ZtQ*iqKq5n^(f=Kf;vDTfz|Nk>9olufj`2UNU>43sC;g*X+9m?82 z7(hvmF)Km^RQxC=aZFx3v%Q3Wr?D~rWae49EgTFidl*C(G%N3AV0^)#P_u-E|I`vD z{xeIM`Okq;gn}pos{#`PgVNUj|0iu>TA*}{K|q0>K|(=-fsuoOEkS{iflEQ+|9^1? z1|9{i|No|X^B-91&3{PN;s0MnumAs+Fz_Ex;QsetDeKD(MX&$2SRMcWW8jW(X7CnJ zG0R|JPY#lSQ>V@~HjQOEu^+a3lc1;zjW6u2206qva+7`P*x7?T22L>>PB zRY+z~6HH*pW$+eIU82l?V98+y7KLLBZ0rpG?<+_!Ff2Lo|Id=k|9?%n^8d?}8~?vq zt!7|6)hog1ahikSRG$QcxBX*vqty&7r+H-G^-i7A>z&f?>YaM;tanPii+4)9uXk#`k9TTuF9!pA zmUsMbKc&+QN`h(sSHG$jV3k|&zhDUi!<`oH|K}9srE?g%8EiLzuke|F2oX&G61!I_>ikE{10l*qN4|+#ykWa)(Uq z$(<5)CwI!!o!li+e{z>hy|;DVXVwG%13J$vljzHmKT%2tCNWmj9x5? zStpYvn7!BxU!6>qU_F^G!G1D9hT&wA4AaRJ85Y5We_v0g$*_6d|DSBIoRPuX{?T&= zc1tIv%M5NxCm7sV5BzWT-XC?Ghk^Z*;`{%%PF@yaK6zP;{p3XfCJqMnBPTD4uzAJ* zPh?7uQ1TKATK+PRdA8Tt>gT5}Sul7>_q)Cn5MlF@d*ZM7p25dUGCcWJfdHGAjJ=zO zHwS~4jJ*F#eo=O>9(BJ-My-{NJ?#Fk@&(zw*68~&W<{uat>O1K%wpj8I%DjonEn5Q z*BRk{Q3nPl!)y))vnd=5-gWsd%-jc5z3Ym3mr5|GfND_*1%^Z~seCstsdE2iB@8Ow zIqpRYivJ&YmjoG3if&x_CaTCVn?cR{OOavUGRr3K_^Kks&;M_E%m14DQpk$Q>s@*3 zt0D^~uM^8%Uh>H>c%4Z1eU&G{;PrAT-%DN@Mz5F2{I7B)7`@)+r@T6+zyQiO9w8hI z-ttTNUY+A&_LfiPKY3Y#(YrqT*sF7V?B4Yy{3m(&*+Ax`TyD1hj^2}( zWtjUr?lOoRWb*n@o@y+?%nZe3!|Ujgk#t%6(rI3b1;;$@V+JFCpvo zrnvv52*04$s*njM_+@0hgy&?vD&ZFF|JP^G+}*LT_azU%04PWGHSjigotiY^RSvg+ zcVNnAqbbbXUNZIW4BUYXUIN+Y46_XkyaY=4C--|c-hbS0=w)Ew^(#DqscV6%cVW(F z4=)Y|@A)n5C(lSQc;7ExeDaJ8lc5)bpx1_Y2S)Y?C9g?`I$m9tVepy|@9;8@eYV%8 zBOMG03>@C^&B?3>{xkHi>(5-@f9t^(JjAIjAX>`qlcUSg7Q5FQ0sCJGxvc>A~WL}_?NVr#-}t)4@1wgj!vc?g=cLa8`j8h zzgQ#7{br3E_XmLo4BTsYxW6o6;r8oc=D)CRQLh450K=q>oy^>SW-Z&er$>VShq46s z3k8wx7qg6-SBirYy#kj5gG1Lcxm~~c!X^PkP1_sF( z2FAz$1=a+HuB8!^1E(Kcv^Ii)K|!AD11N}IKQZ8$Z?yF;2LtO{1$m*4DalNICP@qo zN?i;R-tj-rO^Vtr+7SP!E(Y$hUHX;0)tnl z{IoMGJH>q!oESK~IwbujO`F&u$S>A4t!wRzbOojtX$lN4QWO~bX7Dz=NL66=PS#@a z5V2lyWd;qsQA~_U+dBTP zfBb$8$craf3?xClI}QdG(aDwkJ2@Cwid(oCr_Iyc*Xyn6Byg@_c5%x@nF*pyEB7nS z>Q(GFPY7{~dHFc0pAg~~^YRN?esZ-zrdQz;cLh!+0WV&!bOmmP zdasZc^;egI7`(dO-A`RoVDJ*{Nq==Jh{0>MzyGOI3JhM|?S2cmnU;B-p6=(hy5G<1 zbTGfSh1`GHThrR9iO_b*W!PN7f-r7qi%qbxBc(CjHVGv z-txcauDim(;5B`|>$)2ZEMC)Q`=2^(z~FWMxvST?=l)*npZj{Pd+z`0tO0|UOs!uZ zNUcmMe;-IKPs%Gv2L?@$`#^4zO<-VIYx3U)%N}_6BrIENXkYStY%>lOkiL#SjE7hAURt?(1C%&T#bR@#eDW=@A&e~FXpqi zD@aNUC@@PIoZQYKdUBswufb{tf!Q`|6dM>7B&GfcIxws=S7KmLI>I2}{Xcy3i#Y}i zC$|f+oZK$P!ok3?p5b;Ym&R5P5qYRE9zbIQzX1`S>e4Ca%|W?42) zU+!>flR>)o_VpeoCR;Fgn{W02RV3bVUV)&BL})Dox7kVt2JiSRW$#JL9Zu?5WO#2{ z@1dyq|AY6X%^oL>4AQ-XpSz3d{{QavqU6Nk>RFO4|Nkd3D==_)an4!p^>V-4sZADH z-v1x*d;j+e@Om-d!Ry476ATWZ!s<_l*XB8oy)Msr?DhYD62k!o4zI~R%UKRGO!VTM z({O^rpxT>bxr4XHdJk`pEhoG?mOFT_SnuI|VzY zTLS3}T-!W$E|pMXNn~IGb@BVA%<7o9O@aOYooPaijSYvIKqC>G`}-$r^seUYo1U?3 zD!YyXHv_}|CAy6#H%Me~FtF`9xj`nwo6DuxyDO!bm65?kfrWv=t7{2^w|%`k2LoHO zcYQ0rSC6{e1Wu-vUOnvoCxR>(L3J#sepS?D3h+8(d~P!5tiXmdBK)R@7#O@{9%-2< zGcb7n*FJV~gE@l}+3u^5{QrShXDdGgt6PJ&eYTsy5{3uf_Qm~PTb{a$H2mN0b>(S0NdH9b z|IXg#J-mXt3?e7B3^GL%7`#sESY&u}EqCzNTJOOsz`*Y9wW-7FLo$PRe9&T00s|#1 z4hFU~udb96joSbHJ-TNzc>fPt<6Ruo-v6v$W6fmErq0cCl>2AfHh2k7b`VNnVDS=~ zyvplBi?Wx{FnHk{nR!R95{6Kt@W z!NL3cb9e9SJ)WSP>@Cpa?)CqFqSwSJ%Y_;kBwqws)XsNkJnHSW`Gj}ZatH5K>pi?r zZQ(e%YBg_r>xAn0Eo(Wv_t$uM@2_$266~Hnqf@JgV{%($2Um}Wmq3ljtBWEGEC~!u zea9FWUIYr%^?3h(!IHpGvBvHH3z>xflh%0u|HHw+u65EtBJ-qyOy)$b|Lzkl{`-0H zwFr3ew!1QLM=^K_dog(1|CaUW@@DXs|8cTaw)fZzW_@A&jGuesUBJi7cDy!JMq^_ts!-fM3RtJmBVKCij){$Bly z8obu8>JVx8Z{u}-Q-^ovdspwwb{}ug=f2)2(|x>8#`}7|Oy*-1_}}CGGU~kd|0nF; z;XSgJRS G0)_zF#QA{$ literal 4767 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 literal 224 zcmZ9Pd;V9v|SOkW{G!Yj#<~&eqn} e?CDed(l@SOKYw1novEzKt6O%=it39_L<0bdbXW}l diff --git a/F3DEX3/gc/F3DEX3_BrW_PC.code.bps b/F3DEX3/gc/F3DEX3_BrW_PC.code.bps index 451143202927d4ca2829c67d9a77a509b26eb6c0..a98240767e063a8c89a9b566cc0e547979befca5 100644 GIT binary patch literal 5508 zcmZt`{#m!eW$uk-ZgMyU=(m*Q0|f8e$gY#{ia8b`$G>8_m{o}Yg<^j{Wus{A{Dp< zBbXW*8kuJ`H7av8Htm#QXy}n;Xz7t-=;+~L=;?cQ)PXyJVGTF`l_d;JOQ*0h)hY;d zG)hm3X`I=pAR!RJz|hw%+Q25|!DY?R>czmu7$Km<;>cjvBf-?8AlbmcASrxc0z1P! z9tM_(St2_dnI|>waypHV}X zMZ-r`1_>=D4hEK`>wkR6QQ+ndI9V&f0J5n^lBuWfcrOP7%dEbYybTS^Ow}Ma^)NA& zi6k(vGDim}2s$w^t>I!SQ($LcT)@s$J*&gFY2msb3@jWBY;qtCEC~#(ubvn%DBp8n zQ2Nfm!Sro`65B+^pyqV`1E*6AD!k->=m;nLKRw|;(>3phKaTfT@*nV4RCMXD;6LKP z6~W-m`0yNq{Er6Zy$pgv04NgCE|ChCNGDn0i#+kQbTa!DPkY!D7hZt@f~8`Tu_gZ}*4n-sz9nJ(#T-yq`yYo@6C>k4GG;`mOlxRm zV(sgh>#d#EKShG!&ZHTgtjitx+Iks|2dMUS^fG#YDG$yI41FDU86yHzyqL@rL>(CU z7&zk(dGCL4oUtT=rEftmYXalPzJ|Vzxq=Fe?--67sPuL8GMoTWod(A^Cbi8KIl%bb zgRzLAZ$_^NlMqASiI?6S=I#n2|9^OMyZd`E2Qhfd|A}RoFhjxH{?D|@eG~d7b`>FLmy*fA4B6L#>P&K*iDn#P9B`n(!kAB;(c(=ksdV$1@D7v zT_&Y9bS_-(GO6w9!mYic35+|uTqWUJv$;hQ5y834BcTeI0Wra57x>ezbH&-^E_JBd+MhEOJB#Nja?ghPek+c_jOEq*!7^# zvZ2>o(!FTXgO!#}8z*ovT=L3&+&*dd&Um+?9$|(v-v6JrgYr?IT*IV}u8C7$z2K1a zmYmgdR5IKD)oTtZ@Bfe5jf!~~ycziyP3cuC{=(4Lu=dmo88+|ue}1404D!V*3)Q}c znTwt?FnY)T-qqH4�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 X2F0Z5qEpwt$;m1Gw7LJs4jx4Sp~5(6 diff --git a/F3DEX3/gc/F3DEX3_BrW_PC.data.bps b/F3DEX3/gc/F3DEX3_BrW_PC.data.bps index 6f139bc160d83014fcf7e554bd9d4435527961f1..45baa38b9171c7aecc1f347ba408a04fdc6b8e9d 100644 GIT binary patch literal 233 zcmZI-gf0|EgtARyYBX7%FH)9vq2;+FCqVV_t=XfWDq)LV0#L}X~ z)I0^Xa~6#Y{W9}PQu9*sx%Rm?HvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=SnlIM> zXZk11P{+W+@Q;B(fssLg;s5^yle1eUZJ+di-jv24({8U!U|OcY!SI9O2IGQh8Z9Te z0~j2*0~j7KP7s|%yEi5z1t@)(f+$5Q#mL0NB~Pc6hi;OD~x2(>9lXfxx`3 p1@q?3?%lg!;>3vy?1CARpFVkVdg)RjQ(2W)ew9^v$M09B0|22FU{wGB literal 224 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 W`WYA)7(}LfPhIr(p3};jno0n*2nMeJ literal 4850 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 RGTnQs!-iJHr*nSA0068GDBJ)5 diff --git a/F3DEX3/n64/F3DEX3_BrW.data.bps b/F3DEX3/n64/F3DEX3_BrW.data.bps index 91a2cd67138069f6855c33814ff5f74ec59bdb40..34047606aef79fd3c36688516bc2edb0c54c12ea 100644 GIT binary patch literal 225 zcmZI-gf0|EgtARyYBX7$?H)9vq2;+FCqVRYpg``S_;Kb6R#MC?m zwNn<2jr#L?x|$AUH#Yv6tkX1?iGjs|p`M}s(9*i*%Ercq*&Z#^{F>L+|7ZFq%uvU` z!tjrw@9;zchX4N;OwMkZ)H3P+yeW-8rrlndz_d((gW(6m4aNo2G+It_2QWBr2QWNf zoFLRA&>|%yEi5z1t@)(foCKMKrj5eeYSXzEw|TfrOV6L~(>9lXzQEj$`E%#a?%g|o h!h{L)?SdH+pFVkVdhvdtH3xf-hO2n3_n78y1OP+VU;zLC literal 218 zcmZ9Pd;Vu8>rz5S&abT!ts5fq!#@|@k*w`?;u4Ubi*8l$(NjIEjV0tIaAi%)Fz@YH| z$3F%}hX4N;OrAFB*rflxmGT%&I&eSwJJ3BioD@!L!JHsL?BO_~eS;Nl0zP{`QbN$nI Y?bxwmd8_@JgS|)Fh0{7td*(_30Ifq->Hq)$ diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC.code.bps index b87d19b4cb60602b72d4dde41471ebea3aea187e..b56f6be30a31eaae1f8a0e230b2234cbd9220a44 100644 GIT binary patch delta 5414 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 delta 4650 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 literal 221 zcmZ9Pd;V9`EPxtdLZx5S&(%=Y?xiwvhGLg|No1m8_qH?y%S~-U|?Zj zQ277j9|I%9|NjdnPn&dX(*I?uO=}G-Sb14^xDPNea37fD)E?L{fvJGu76Svr52hH# z1%gxLjtEYfk)CeCpwHzXKBp=&-%MW4)HFLgJ3A{YOD9V^!y+pqBWre9!_L0GzU&2a b{nK~t*s)@HtNogTy+_k$2YDZtoje-=I(Ar3 diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps index 2c230b7d7946d80b92100d365d02c96ddf5ac226..4d9990b9d85e45ebec9c394687e9adb6bd7d2bfc 100644 GIT binary patch literal 5442 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 literal 4613 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 Ho#!(F=;+)? diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps index 0825a2acc269928feb984684646e0fda0baad3c1..c60e748d065938b3bd5cc31d0c1661c81030c66b 100644 GIT binary patch literal 232 zcmZI-gf0|EgtARyYBX7%JH)9vq2;+FCqVRY>f9LoBr+6oYq)LV0 z#L}X~)I0^XQx=Vl`ty3anwG^jHvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=Sn%CC< zXZk11P{+W+@QS%)43M4dALhU&ztVkHkW^%z?_bG obLPzM-8-+pzki-xFhk<)Tel7_S|qgQVDHhEzXuB5ov6JF08m0?xBvhE literal 224 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 diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps index cd1c470b427a40eef852d612214973ae8001253d..3b9d1c9c708483e7d858c9da717bf4895a15d37a 100644 GIT binary patch literal 232 zcmZI-gf0|EgtARyYBX7%JH)9vq2;+FCqVRY>f9LoB=XfWDq)LV0 z#L}X~)I0^XQx=Vl`ty3anwG^jHvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=Sn%CC< zXZk11P{+W+@Q9Pd;V9`EPx93SAUkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>&N48)6J`)# zU}0cT`2XV{10%!#{|hEhn{;f_|7EI8YYi+|d0BY44=^xrADHCS9@sE}ses`Y0|Ubk zrWnQrf>Y#L1gA_*Pd8;S;Bt_d*$`P^t{`t_mYtoQot2fPo28RsnU#@|HM^`~XLomZ e_S{+i>D#w%UAm;ee$Bz&qwEKzPngK<`vU;`23Xnv diff --git a/F3DEX3/n64/F3DEX3_BrW_PA.code.bps b/F3DEX3/n64/F3DEX3_BrW_PA.code.bps index 6796c54edd131700398966a4d6294507bfb724f5..f97b6e2dbc2cb3505152c1352780bdddfdf89ef9 100644 GIT binary patch literal 5536 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

s!&c{ zHDs8~ICbVVg9gxO$7HqHmW|VwJDl2NknX*Gy~l~k77X6zn>|4Fk9V9`AgKNkTFby~ zwvvItJ3dR;pZbC!F(-0ya3lSP*I|401Z|GfgdUd(s!Ix*!0g9E6H`_tjIdCp_6%X1!k z{r{iDaDaisYqHOBmV*qvUYv6pPH-4hdvh#z@YY!G;q9^Igm=es2k#Z@J-knB_E3EP ze~Z`WC&y2&5McA#|3ArKH3x&&+d0p@_dj_J|YchBWuVAoOLW?)#auw1wCRtao*J!PuoHICu;w9_BQX~71U)AIjLokDVo6GbyCM7!<%clgSXat4^{yNc5kmu z9bO-j8NB0z7K73jC{1xNuw{95rJQKg{_pS6J)6P%f6yB5;-Gd=lM%$8EObV)Y4aRq zkYBxoCp!owFtB(DOCUK6J*7iwUTd=X?(JHM>!sJGYV z6W(3R9lTeq_wYWoh2!L^)wyl06RPL8tmW|DU*qAuzsA8!uzUK9POTn}$!(DxTsQTI2oy4+jIg)=2}2%##K( znG?1CyHB+E@8`wWBH+c_?#jR&#o#57@5jIu*x)75?(fm<#o%rKTh^n?o55TD*IfpQ zNGGo|&s~kV805W9KleBFVo>l}^W2v)D}cpo^>cp)t{?_4nPfh31_mZCnW*y$Tnr4} z+~H;3JpQE~U49JS-R@-!Tp>)}J^7^qe*cra zUUO6UyynLHd-X4B@LIpBL!{xqt=IWY9p0JmUA;5geY`!N`+A>D_wha%@9X_CnU7WA ze~r}(3HeDx<#I`BFl?#jWyR_gUWsGos> Tfk9-t_tb~)F1l{`b-w`sSnU;= literal 4835 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 GuhjupL?rJ3 diff --git a/F3DEX3/n64/F3DEX3_BrW_PA.data.bps b/F3DEX3/n64/F3DEX3_BrW_PA.data.bps index 84a49ae9ff858ed4f3314aedf17ab38a40404ef9..044f4d069d7fdc9aeb71e2f0062b46732285cd84 100644 GIT binary patch literal 228 zcmZI-gf0|EgtARyYBX7%FH)9vq2;+FCqVV_t$9N}&q)LV0#L}X~ z)I0^XQx=Vl`ty3anzp4jHvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=Sn%CC9Pd;V9v|SSkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>&N48)6J`)#U}0cT z`2XV{10%!#{|hEhn{;f_|7EI8YYi+|d0BY44=^xrADHCS9@sE}ses`Y0|UbkrWnQr zf^#G|1m{f6%rs%p=du@{*$`1^CNF1dnwy)Oo0F5HlcSwwk&~5`GrO!|XLomZ?%Y{^ ancKH+UAm;uZq32oqqTCvN-y6^uK@tWlverx diff --git a/F3DEX3/n64/F3DEX3_BrW_PB.code.bps b/F3DEX3/n64/F3DEX3_BrW_PB.code.bps index 61d941ffb8f0c36fcd9b539ac0a86d478d5cc880..3758b158f0d5857bd595c909d7205d1b45048f3b 100644 GIT binary patch literal 5453 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 AE&u=k literal 4771 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 diff --git a/F3DEX3/n64/F3DEX3_BrW_PB.data.bps b/F3DEX3/n64/F3DEX3_BrW_PB.data.bps index 965e45dd31b9e053cfbe53135c2417868b6629e2..4faaaecfc1c291b3689f681265bcdb64d657a898 100644 GIT binary patch literal 228 zcmZI-gf0|EgtARyYBX7%FH)9vq2;+FCqVV_tr+6oYq)LV0#L}X~ z)I0^XQx=Vl`ty3anzp4jHvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=Sn%CCS%)43M4dALhU&ztVkHkW^%z?_bGbLPzM k-8-+pzki-xFhk<)Tel7_S|qgQVDHfr`&wV+8i~FJ03$SFQ~&?~ literal 220 zcmZ9Pd;V9v|SOkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>&N48)6J`)#U}0cT z`2XV{10%!#{|hEhn{;f_|7EI8YYi+|d0BY44=^xrADHCS9@sE}ses`Y0|UbkrWnQr zf>Xrb2u|rwPd8!E=du@{TosXTCNF1dnw_1Uot2fPlck+uk(H5=HM^`~XKQO~_Vg)! a=^NLtpFc0(Zq32oqqpps6~(`w4+Q}4!B<-V diff --git a/F3DEX3/n64/F3DEX3_BrW_PC.code.bps b/F3DEX3/n64/F3DEX3_BrW_PC.code.bps index 7f779dda1d0c40d9ef5d571a53537a2162698033..90606d357aef854bcbe7057dfd9c0c58dd8f3fd1 100644 GIT binary patch literal 5511 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 CHVoSU literal 4861 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 diff --git a/F3DEX3/n64/F3DEX3_BrW_PC.data.bps b/F3DEX3/n64/F3DEX3_BrW_PC.data.bps index 27ee568bacb52534fd74b256377a6934be1e8588..b8a9cf13afd69269fb7ca5d9c389692b409abf71 100644 GIT binary patch literal 228 zcmZI-gf0|EgtARyYBX7%FH)9vq2;+FCqVV_t=XfWDq)LV0#L}X~ z)I0^XQx=Vl`ty3anzp4jHvXBc(=?ZffyIHLo}vEG(z@o##>R%(9xc=Sn%CC11{V04!8tivR!s literal 220 zcmZ9Pd;V9v|SWkW{GPLBgqr3uF|ar=)HBo@H%;SjtZZy-m|fSh?nmqY|BIv>&N48)6J`)#U}0cT z`2XV{10%!#{|hEhn{;f_|7EI8YYi+|d0BY44=^xrADHCS9@sE}ses`Y0|UbkrWnQr zf>R_I1gA_*Pd8;S;Bt_d*$`P^t{`t_mYtoQot2fPo28RsnU#@|HM^`~XLomZ_S{+i a>D#w%UAm;ee$Bz&qp$z`4)ZjW-~<52Sywdx diff --git a/format.py b/format.py index 06a05cd3b..0c6841c93 100755 --- a/format.py +++ b/format.py @@ -178,6 +178,12 @@ def list_files_to_format(): if file in files: files.remove(file) + # Do not format F3DEX3's gbi.h + for file in glob.glob("include/ultra64/*.h", recursive=True): + if file in files and "gbi.f3dex3.h" in file: + files.remove(file) + break + return files, extra_files diff --git a/include/ultra64/gbi.f3dex3.h b/include/ultra64/gbi.f3dex3.h index 39db98305..73975e207 100644 --- a/include/ultra64/gbi.f3dex3.h +++ b/include/ultra64/gbi.f3dex3.h @@ -16,17 +16,9 @@ #ifndef GBI_F3DEX3_H #define GBI_F3DEX3_H -/* Don't remove this block which defines F3DEX3 as F3DEX2. Other headers in your +/* Don't remove this line which defines F3DEX3 as F3DEX2. Other headers in your romhack codebase will likely assume that if the microcode is not F3DEX2, it is F3DEX1 or older, thus breaking F3DEX3 compatibility even more. */ -#ifdef F3DEX_GBI_2 -#undef F3DEX_GBI_2 -#endif - -#ifdef F3DEX_GBI_PL -#undef F3DEX_GBI_PL -#endif - #define F3DEX_GBI_2 1 #define F3DEX_GBI_PL 1 #define F3DEX_GBI_3 1 @@ -73,8 +65,8 @@ of warnings if you use -Wpedantic. */ */ /*#define G_SPECIAL_3 0xD3 no-op in F3DEX2 */ /*#define G_SPECIAL_2 0xD4 no-op in F3DEX2 */ -/*#define G_SPECIAL_1 0xD5 triggered MVP recalculation in F3DEX2 for debug */ #define G_FLUSH 0xD4 +/*#define G_SPECIAL_1 0xD5 triggered MVP recalculation in F3DEX2 for debug */ #define G_MEMSET 0xD5 #define G_DMA_IO 0xD6 #define G_TEXTURE 0xD7 @@ -126,8 +118,9 @@ of warnings if you use -Wpedantic. */ #define G_TRI1 0x05 #define G_TRI2 0x06 #define G_QUAD 0x07 -#define G_TRISTRIP 0x08 /* = G_LINE3D was a no-op in F3DEX2, has been removed */ -#define G_TRIFAN 0x09 +/*#define G_LINE3D 0x08 no-op in F3DEX2 */ +#define G_TRISNAKE 0x08 /* used to be G_TRISTRIP */ +/* no command for 0x09 used to be G_TRIFAN */ #define G_LIGHTTORDP 0x0A #define G_RELSEGMENT 0x0B @@ -159,8 +152,8 @@ of warnings if you use -Wpedantic. */ #define G_ZBUFFER 0x00000001 #define G_TEXTURE_ENABLE 0x00000000 /* actually 2, but controlled by SPTexture */ #define G_SHADE 0x00000004 -#define G_AMBOCCLUSION 0x00000040 -#define G_ATTROFFSET_ST_ENABLE 0x00000100 +#define G_ATTROFFSET_ST_ENABLE 0x00000080 +#define G_AMBOCCLUSION 0x00000100 #define G_CULL_NEITHER 0x00000000 #define G_CULL_FRONT 0x00000200 #define G_CULL_BACK 0x00000400 @@ -176,7 +169,7 @@ of warnings if you use -Wpedantic. */ #define G_TEXTURE_GEN_LINEAR 0x00080000 #define G_LOD 0x00100000 /* Ignored by all F3DEX* variants */ #define G_SHADING_SMOOTH 0x00200000 -#define G_LIGHTING_POSITIONAL 0x00400000 /* Ignored by F3DEX3, assumed always on */ +#define G_LIGHTING_POSITIONAL 0x00400000 /* In F3DEX3, replaced by ENABLE_POINT_LIGHTS */ #define G_CLIPPING 0x00800000 /* Ignored by all F3DEX* variants */ /* See SPDisplayList / SPBranchList */ @@ -185,40 +178,51 @@ of warnings if you use -Wpedantic. */ /* See SPMatrix */ /** - * @brief specifies whether the matrix operation will be performed on the projection or the model view matrix. - * + * @brief Specifies whether the matrix operation will be performed on the + * model or the view*projection matrix. */ -#define G_MTX_MODELVIEW 0x00 /* matrix types */ +#define G_MTX_MODEL 0x00 /** - * @brief @copybrief G_MTX_MODELVIEW - * + * @brief Equivalent to G_MTX_MODEL, for backwards compatibility. The view + * matrix used to be put in the same stack as the model matrix, whereas now it + * should be multiplied with the projection matrix. In SM64, this is called + * "mat stack fix"; in OoT, the vanilla game already does this. */ -#define G_MTX_PROJECTION 0x04 +#define G_MTX_MODELVIEW G_MTX_MODEL /** - * @brief concatenates the matrix (m) with the top of the matrix stack. - * + * @brief @copybrief G_MTX_MODEL */ -#define G_MTX_MUL 0x00 /* concat or load */ +#define G_MTX_VIEWPROJECTION 0x04 /** - * @brief loads the matrix (m) onto the top of the matrix stack. - * + * @brief Equivalent to G_MTX_VIEWPROJECTION, @see G_MTX_MODELVIEW. */ -#define G_MTX_LOAD 0x02 +#define G_MTX_PROJECTION G_MTX_VIEWPROJECTION /** - * @brief specifies do not push the matrix stack prior to matrix operations - * + * @brief Multiplies the incoming matrix into the top of the matrix stack. + * @note The binary encoding of this bit is flipped in SPMatrix to save a RSP + * instruction. This is new in F3DEX3. */ -#define G_MTX_NOPUSH 0x00 /* push or not */ +#define G_MTX_MUL 0x00 /** - * @brief specifies push the matrix stack prior to matrix operations - * + * @brief Replaces the top of the matrix stack with the incoming matrix. + * @note The binary encoding of this bit is flipped in SPMatrix to save a RSP + * instruction. This is new in F3DEX3. */ -#define G_MTX_PUSH 0x01 - -/* See SPNormalsMode */ -#define G_NORMALS_MODE_FAST 0x00 -#define G_NORMALS_MODE_AUTO 0x01 -#define G_NORMALS_MODE_MANUAL 0x02 +#define G_MTX_LOAD 0x02 +/** + * @brief Do not push the top of the matrix stack to DRAM prior to matrix + * operations. + * @note The binary encoding of this bit is flipped in SPMatrix to save a RSP + * instruction. This is true in both F3DEX2 and F3DEX3. + */ +#define G_MTX_NOPUSH 0x00 +/** + * @brief Push the top of the matrix stack to DRAM prior to matrix operations. + * This is not supported for G_MTX_VIEWPROJECTION, only G_MTX_MODEL. + * @note The binary encoding of this bit is flipped in SPMatrix to save a RSP + * instruction. This is true in both F3DEX2 and F3DEX3. + */ +#define G_MTX_PUSH 0x01 /* See SPAlphaCompareCull */ #define G_ALPHA_COMPARE_CULL_DISABLE 0 @@ -230,15 +234,15 @@ of warnings if you use -Wpedantic. */ * Each of these indexes an entry in a dmem table which points to an arbitrarily * sized block of dmem in which to store the result of a DMA. */ -#define G_MV_TEMPMTX0 0 /* for internal use by G_MTX multiply mode */ -#define G_MV_MMTX 2 -#define G_MV_TEMPMTX1 4 /* for internal use by G_MTX multiply mode */ -#define G_MV_VPMTX 6 +#define G_MV_MMTX 0 +#define G_MV_TEMPMTX0 2 /* for internal use by G_MTX multiply mode */ +#define G_MV_VPMTX 4 +#define G_MV_TEMPMTX1 6 /* for internal use by G_MTX multiply mode */ #define G_MV_VIEWPORT 8 #define G_MV_LIGHT 10 /* G_MV_POINT is no longer supported because the internal vertex format is no longer a multiple of 8 (DMA word). This was not used in any command anyway. */ -/* G_MV_MATRIX is no longer supported because there is no MVP matrix in F3DEX3. */ +/* G_MV_MATRIX is no longer supported. */ #define G_MV_PMTX G_MV_VPMTX /* backwards compatibility */ /* @@ -252,7 +256,7 @@ longer a multiple of 8 (DMA word). This was not used in any command anyway. */ #define G_MW_SEGMENT 0x06 #define G_MW_FOG 0x08 #define G_MW_LIGHTCOL 0x0A -/* G_MW_FORCEMTX is no longer supported because there is no MVP matrix in F3DEX3. */ +/* G_MW_FORCEMTX is no longer supported. */ /* G_MW_PERSPNORM is removed; perspective norm is now set via G_MW_FX. */ #define G_MW_HALFWORD_FLAG 0x8000 /* indicates store 2 bytes instead of 4 */ @@ -334,8 +338,7 @@ longer a multiple of 8 (DMA word). This was not used in any command anyway. */ #define G_MWO_ATTR_OFFSET_S 0x10 #define G_MWO_ATTR_OFFSET_T 0x12 #define G_MWO_ALPHA_COMPARE_CULL 0x14 -#define G_MWO_NORMALS_MODE 0x16 -#define G_MWO_LAST_MAT_DL_ADDR 0x18 +#define G_MWO_LAST_MAT_DL_ADDR 0x16 /* * RDP command argument defines @@ -1217,9 +1220,9 @@ typedef union { */ #define LIGHT_TYPE_DIR 0 /** - * Identifies the light as a point light, with x acting as the kc coefficient. + * Identifies the light as a point light, with the given kc coefficient (nonzero). */ -#define LIGHT_TYPE_POINT(x) x +#define LIGHT_TYPE_POINT(kc) kc /** * Light structure. @@ -1255,7 +1258,7 @@ typedef struct { } PointLight_t; /** - * @copydetails PosLight_t + * @copydetails PointLight_t */ typedef struct { unsigned char col[3]; /** ambient light color (rgb) */ @@ -2137,16 +2140,36 @@ _DW({ \ /** * @brief macro which inserts a matrix operation at the end display list. * - * It inserts a matrix operation in the display list. The parameters allow you to select which matrix stack to use (projection or model view), where to load or concatenate, and whether or not to push the matrix stack. The following parameters are bit OR'ed together: - * - @ref G_MTX_PROJECTION @ref G_MTX_MODELVIEW - @copybrief G_MTX_MODELVIEW + * It inserts a matrix operation in the display list. The parameters allow you + * to select which matrix stack to use (projection or model view), whether to + * load or multiply, and whether or not to push the matrix stack. The following + * parameters are bitwise OR'ed together: + * - @ref G_MTX_MODEL - @copybrief G_MTX_MODEL + * - @ref G_MTX_VIEWPROJECTION - @copybrief G_MTX_VIEWPROJECTION * - @ref G_MTX_MUL - @copybrief G_MTX_MUL * - @ref G_MTX_LOAD - @copybrief G_MTX_LOAD * - @ref G_MTX_NOPUSH - @copybrief G_MTX_NOPUSH * - @ref G_MTX_PUSH - @copybrief G_MTX_PUSH - * # Matrix Format - * The format of the fixed-point matrices may seem a little awkward to the application programmer because it is optimized for the RSP geometry engine. This unusual format is hidden in the graphics utility libraries and not usually exposed to the application programmer, but in some cases (static matrix declarations or direct element manipulation) it is necessary to understand the format. * - * The integer and fractional components of the matrix elements are separated. The first 8 words (16 shorts) hold the 16-bit integer elements, the second 8 words (16 shorts) hold the 16-bit fractional elements. The fact that the Mtx type is declared as a long [4][4] array is slightly misleading. For example, to declare a static identity matrix, use code similar to this: + * The legacy parameters @ref G_MTX_MODELVIEW and @ref G_MTX_PROJECTION are also + * supported, but in F3DEX3 you should always multiply the view matrix with the + * projection matrix as G_MTX_VIEWPROJECTION, and only put model matrices in the + * G_MTX_MODEL stack. + * + * # Matrix Format + * + * The format of the fixed-point matrices may seem a little awkward to the + * application programmer because it is optimized for the RSP geometry engine. + * This unusual format is hidden in the graphics utility libraries and not + * usually exposed to the application programmer, but in some cases (static + * matrix declarations or direct element manipulation) it is necessary to + * understand the format. + * + * The integer and fractional components of the matrix elements are separated. + * The first 8 words (16 shorts) hold the 16-bit integer elements, the second + * 8 words (16 shorts) hold the 16-bit fractional elements. The fact that the + * Mtx type is declared as a long [4][4] array is slightly misleading. For + * example, to declare a static identity matrix, use code similar to this: * ```#include "gbi.h" * static Mtx ident = * { @@ -2163,7 +2186,8 @@ _DW({ \ * 0x00000000, 0x00000000, * }; * ``` - * To force the translation elements of a matrix to be (10.5, 20.5, 30.5), use code similar to this: + * To force the translation elements of a matrix to be (10.5, 20.5, 30.5), use + * code similar to this: * ``` * #include "gbi.h" * @@ -2177,70 +2201,113 @@ _DW({ \ * mat.m[3][3] = * (0x8000 << 16) | (0); * ``` - * @note - * Matrix concatenation in the RSP geometry engine is done using 32-bit integer arithmetic. A 32 x 32 bit multiply results in a 64-bit number. Only the middle 32 bits of this 64-bit result are kept for the new matrix. Therefore, when concatenating matrices, remember about the resulting fixed-point numerical error. * - * For example, to retain maximum precision, the number ranges must be similar. Large-scale and translate parameters can decrease the transformation precision. Because rotation and projection matrices require quite a bit of fractional accuracy, these fractions may get tossed out if multiplied against large integer numbers. + * # Accuracy * - * Each concatenation results in the rounding of the LSB of each matrix term. This means that each concatenation injects 1/2 LSB of error into the matrix. To keep full precision, concatenate matrices in floating-point on the processor and just load the result into the RSP. + * Matrix multiplication in the RSP geometry engine is done using 32-bit integer + * arithmetic, in s15.16 format (16 integer, 16 fractional bits, in other words + * representing -32768.0 to 32767.999985 with a resolution of about 0.000015). + * A 32 x 32 bit multiply results in a 64-bit number. Only the middle 32 bits of + * this 64-bit result are kept for the new matrix, to preserve the s15.16 + * format. + * + * A typical game object's transformation will have a scale around the range of + * 1/100, a rotation which is always values -1.0 to 1.0, and a translation + * around the range of 1000. When producing a final transformation matrix, you + * will typically compose (multiply) one scale, multiple rotations (for limbs), + * and finally one translation. Each matrix multiply on the RSP will lose + * precision, especially if the scale has been applied before the rotations. + * + * Therefore, your game should usually maintain a matrix stack on the CPU in + * floating point, and once you have a final model matrix for each limb / + * object, convert it to fixed point and load it to the RSP. Occasional uses of + * G_MTX_MUL, such as multiplying view * projection or for HUD elements, are + * okay. Both SM64 and OoT already operate this way. * * # Performance - * Each @ref G_MTX_MODELVIEW matrix operation has an implicit matrix multiplication even if you specify @ref G_MTX_LOAD. This is the combined model view (M) and projection (P) matrix that is necessary for the vertex transformation to use a single matrix during transformation. * - * You can optimize this by concatenating modeling matrices on the CPU and then putting the viewing (V) and projection matrices on the projection stack. By doing this, you only incur the single MxVP matrix concatenation each time you load a modeling matrix. Furthermore, the application has more information on how to do a cheap hack for modeling matrix concatenation. For example, if you want to combine a single axis rotation with a translation, just place the coefficients in the correct entries of the resulting matrix. + * Your game generally should not use G_MTX_PUSH or SPPopMatrix*, even in a + * scene graph style engine like SM64. * - * @param m is the pointer to the 4x4 fixed-point matrix (see note below about format) - * @param p are the bit OR'd parameters to the matrix macro (@ref G_MTX_PROJECTION, @ref G_MTX_MODELVIEW, @ref G_MTX_MUL, @ref G_MTX_LOAD, @ref G_MTX_NOPUSH) + * If you have taken the advice above to just compute and upload final model + * matrices, there is no need to use push or pop--you'll always just do a single + * load before rendering any model. If you need to return to a previous + * transformation matrix, just upload that already-computed matrix again. Again, + * both SM64 and OoT already do this. + * + * In F3DEX3, the code for G_MTX_PUSH and SPPopMatrix* is moved to overlay 3, + * meaning these operations will be slower on average than in F3DEX2. + * + * @param m is the pointer to the 4x4 fixed-point matrix (see note above about + * format) + * @param p are the bit OR'd parameters to the matrix macro + * (@ref G_MTX_MODEL, @ref G_MTX_VIEWPROJECTION, @ref G_MTX_MUL, + * @ref G_MTX_LOAD, @ref G_MTX_NOPUSH, @ref G_MTX_PUSH) + * + * @note The binary encoding for this command inverts both G_MTX_PUSH and + * G_MTX_LOAD. F3DEX2 already inverted G_MTX_PUSH, but the inversion of + * G_MTX_LOAD is new in F3DEX3. No C source level changes are needed due to + * these inversions, it's just a binary encoding change. + * + * @note G_MTX_PUSH | G_MTX_VIEWPROJECTION is not supported; the behavior will + * be that G_MTX_PUSH is ignored in this case. + * + * @note Unlike the display list stack, which is kept in DMEM and is 18 deep, + * the matrix stack is kept in RDRAM and is of no specified size. It is of + * whatever size the developer chooses to allocate; there is no bounds checking. */ #define gSPMatrix(pkt, m, p) \ - gDma2p((pkt),G_MTX, (m), sizeof(Mtx), (p) ^ G_MTX_PUSH, 0) + gDma2p((pkt),G_MTX, (m), sizeof(Mtx), (p) ^ G_MTX_PUSH ^ G_MTX_LOAD, 0) /** * @brief macro which inserts a matrix operation in a static display list. * * @copydetails gSPMatrix */ #define gsSPMatrix(m, p) \ - gsDma2p( G_MTX, (m), sizeof(Mtx), (p) ^ G_MTX_PUSH, 0) + gsDma2p( G_MTX, (m), sizeof(Mtx), (p) ^ G_MTX_PUSH ^ G_MTX_LOAD, 0) /** - * @brief macro which pops one of the matrix stacks at the end display list. + * @brief macro which pops multiple matrices from a matrix stack. * - * It pops `num` of the matrix stacks. The model view stack can be up to 10 matrices deep. The projection stack is 1 matrix deep, so it cannot be popped. + * It pops `num` matrices from the stack. * - * @note - * If the stack is empty, the macro is ignored. + * @note If the number of matrices to pop is greater than the number of matrices + * currently on the stack, the stack ends up validly holding 0 matrices. This is + * a rare case of "exception" handling in the microcode. Perhaps SGI's intention + * was to allow for resetting the matrix stack by popping >= 10 matrices at + * once. * - * @param n is the flag field that identifies which matrix stack to pop: - * - @ref G_MTX_MODELVIEW pops the modeling/viewing matrix stack - * - @ref G_MTX_PROJECTION pops the projection matrix stack (NOT IMPLEMENTED) + * @param mtx is the flag field that identifies which matrix stack to pop: + * - @ref G_MTX_MODEL pops from the model matrix stack + * - @ref G_MTX_VIEWPROJECTION pops from the view*projection matrix stack; this + * is not supposed to be supported but actually kind of is. The model matrix + * stack pointer is reduced by the number of matrices specified here, and then + * the resulting matrix is loaded into the view*projection matrix. * @param num is the number of matrices to pop */ -#define gSPPopMatrixN(pkt, n, num) gDma2p((pkt), G_POPMTX, (num) * 64, 64, 2, 0) +#define gSPPopMatrixN(pkt, mtx, num) \ + gDma2p((pkt), G_POPMTX, (num) * 64, 64, (mtx) + G_MV_MMTX, 0) /** - * @brief macro which pops one of the matrix stacks in a static display list. + * @brief macro which pops multiple matrices from a matrix stack. * * @copydetails gSPPopMatrixN */ -#define gsSPPopMatrixN(n, num) gsDma2p( G_POPMTX, (num) * 64, 64, 2, 0) +#define gsSPPopMatrixN(mtx, num) \ + gsDma2p( G_POPMTX, (num) * 64, 64, (mtx) + G_MV_MMTX, 0) /** - * @brief macro which pops one of the matrix stacks at the end display list. + * @brief macro which pops one matrix from a matrix stack in a static display list. * - * It pops one of the matrix stacks. The model view stack can be up to 10 matrices deep. The projection stack is 1 matrix deep, so it cannot be popped. + * This is just SPPopMatrixN with num=1: * - * @note - * If the stack is empty, the macro is ignored. - * - * @param n is the flag field that identifies which matrix stack to pop: - * - @ref G_MTX_MODELVIEW pops the modeling/viewing matrix stack - * - @ref G_MTX_PROJECTION pops the projection matrix stack (NOT IMPLEMENTED) + * @copydetails gSPPopMatrixN */ -#define gSPPopMatrix(pkt, n) gSPPopMatrixN((pkt), (n), 1) +#define gSPPopMatrix(pkt, mtx) gSPPopMatrixN((pkt), (mtx), 1) /** - * @brief macro which pops one of the matrix stacks in a static display list. + * @brief macro which pops one matrix from a matrix stack in a static display list. * * @copydetails gSPPopMatrix */ -#define gsSPPopMatrix(n) gsSPPopMatrixN( (n), 1) +#define gsSPPopMatrix(mtx) gsSPPopMatrixN( (mtx), 1) /** * @brief macro which loads an internal vertex buffer in the RSP with points that are used by @ref gSP1Triangle macros to generate polygons at the end display list. @@ -2260,9 +2327,6 @@ _DW({ \ * gSPVertex(glistp++, v, 3, 2); * ``` * - * @note - * Because the RSP geometry transformation engine uses a vertex list with triangle list architecture, it is quite powerful. A simple one-triangle macro retains least performance compared to @ref gSP2Triangles or the new 5 tris commands in EX3 (@ref gSPTriStrip, @ref gSPTriFan). - * * @param v is the pointer to the vertex list (segment address) * @param n is the number of vertices * @param v0 is the load vertex by index vo(0~55) in vertex buffer @@ -2613,61 +2677,197 @@ _DW({ \ __gsSP1Triangle_w1f(v10, v11, v12, flag1) \ } -/* - * 5 Triangles base commands +/** + * Make the triangle snake turn right before drawing this triangle. In other + * words, build the new triangle off the newest and middle-age vertices of the + * last triangle. + * @see gSPTriSnake */ -#define _gSP5Triangles(pkt, cmd, v1, v2, v3, v4, v5, v6, v7) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = (_SHIFTL(cmd, 24, 8) | \ - _SHIFTL((v1)*2, 16, 8) | \ - _SHIFTL((v2)*2, 8, 8) | \ - _SHIFTL((v3)*2, 0, 8)); \ - _g->words.w1 = (_SHIFTL((v4)*2, 24, 8) | \ - _SHIFTL((v5)*2, 16, 8) | \ - _SHIFTL((v6)*2, 8, 8) | \ - _SHIFTL((v7)*2, 0, 8)); \ +#define G_SNAKE_RIGHT 0 +/** + * Make the triangle snake turn left before drawing this triangle. In other + * words, build the new triangle off the newest and oldest vertices of the last + * triangle. + * @see gSPTriSnake + */ +#define G_SNAKE_LEFT 1 +/** + * Logical-OR this into a triangle index to mark it as the last triangle of the + * snake. In other words, this gets OR'd into the last valid index, not the + * first invalid index. + * + * @note Due to tri indices being multiplied by 2 in the binary encoding, this + * is actually 0x80--the byte's sign bit--in the binary encoding. + * + * @see gSPTriSnake + */ +#define G_SNAKE_LAST 0x40 + +#define _gSPTriSnakeW0(i1, i2, i3) \ + (_SHIFTL(G_TRISNAKE, 24, 8) | \ + _SHIFTL((i2)*2, 16, 8) | \ + _SHIFTL((i1)*2, 8, 8) | \ + _SHIFTL((i3)*2|G_SNAKE_LEFT, 0, 8)) +#define _gSPTriSnakeW1(i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ + (_SHIFTL((i4)*2|(i4d), 24, 8) | \ + _SHIFTL((i5)*2|(i5d), 16, 8) | \ + _SHIFTL((i6)*2|(i6d), 8, 8) | \ + _SHIFTL((i7)*2|(i7d), 0, 8)) + +/** + * Triangle snake is F3DEX3's accelerated triangles command. It is a generalized + * form of a triangle strip or fan, which can represent any sequential chain of + * connected triangles by encoding which side of the current triangle the next + * triangle attaches to. This allows the chain of triangles to "snake" around + * and double back next to itself, unlike a triangle strip. For more information + * on the design, see Triangle Snake in the documentation. + * + * The drawing algorithm is: + * - Initialize 3 bytes of stored triangle indices, A-B-C, to i3-i1-i2, and draw + * this triangle. (This initialization and draw is actually implemented by + * storing i2-i1-i3 and then running the algorithm below with G_SNAKE_LEFT, + * which ends up storing i2 to C and i3 to A, ultimately creating i3-i1-i2.) + * - Loop: + * - If the index in A has G_SNAKE_LAST or'd into it, exit. + * - Increment the input pointer, and read the next index and its direction + * flag (currently i4 and i4d). + * - If the direction flag is G_SNAKE_RIGHT, copy A to B; else + * (G_SNAKE_LEFT), copy A to C. + * - Store the new index (currently i4) to A. + * - Draw the triangle A-B-C and repeat the loop. + * + * For example, after drawing the first triangle i3-i1-i2, if i4 is + * G_SNAKE_RIGHT, the snake turns right and draws i4-i3-i2: + * 3 --<-- 4 + * /'\ '/ (winding order and + * / \ / first vertex for flat + * / \ / shading are marked) + * 1 -->-- 2 + * Conversely, after the first triangle i3-i1-i2, if i4 is G_SNAKE_LEFT, the + * snake turns left and draws i4-i1-i3: + * 4 --<-- 3 + * \' /'\ + * \ / \ + * \ / \ + * 1 -->-- 2 + * If the snake turns in the same direction repeatedly, it will coil up, forming + * a triangle fan. If it slithers left and right alternately, this will form a + * triangle strip. Any combination of these is also possible. In particular, a + * useful shape is a triangle strip for a few tris, then a tri fan for a couple + * tris to "turn around", then another tri strip alongside the first, and so on. + * This shape can cover almost all tris of a typical surface with a single + * snake, except for tris which have two unconnected edges which can only be the + * first or last tris of the snake. + * + * Logical-OR G_SNAKE_LAST into the last valid index of the snake. This index + * still needs a valid G_SNAKE_LEFT or G_SNAKE_RIGHT for its direction. However, + * for all indices after this, you can fill the index and direction parameters + * with 0s. + * + * @see gSPContinueSnake to extend the snake to more than 5 triangles. + */ +#define gSPTriSnake(pkt, i1, i2, i3, i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ +_DW({ \ + Gfx *_g = (Gfx *)(pkt); \ + _g->words.w0 = _gSPTriSnakeW0(i1, i2, i3); \ + _g->words.w1 = _gSPTriSnakeW1(i4, i4d, i5, i5d, i6, i6d, i7, i7d); \ }) -#define _gsSP5Triangles(cmd, v1, v2, v3, v4, v5, v6, v7) \ -{ \ - (_SHIFTL(cmd, 24, 8) | \ - _SHIFTL((v1)*2, 16, 8) | \ - _SHIFTL((v2)*2, 8, 8) | \ - _SHIFTL((v3)*2, 0, 8)), \ - (_SHIFTL((v4)*2, 24, 8) | \ - _SHIFTL((v5)*2, 16, 8) | \ - _SHIFTL((v6)*2, 8, 8) | \ - _SHIFTL((v7)*2, 0, 8)) \ +/** + * @copydetails gSPTriSnake + */ +#define gsSPTriSnake(i1, i2, i3, i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ +{ \ + _gSPTriSnakeW0(i1, i2, i3), \ + _gSPTriSnakeW1(i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ } + +/** + * Continue a triangle snake for up to 8 more triangles. This is actually not + * a display list command--there's no command byte. The data is just the next + * 8 bytes of the display list data, still being processed by the previous + * gSPTriSnake. Note that the microcode implementation does correctly handle + * the case when the snake continues past the end of the current data in the + * input buffer (which is a copy in DMEM of a chunk of the display list); the + * input buffer is reloaded like it would be for more commands. So the snake can + * be an unlimited length by continuing to append gSPContinueSnake commands. + */ +#define gSPContinueSnake(pkt, i0, i0d, i1, i1d, i2, i2d, i3, i3d, \ + i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ +_DW({ \ + Gfx *_g = (Gfx *)(pkt); \ + _g->words.w0 = _gSPTriSnakeW1(i0, i0d, i1, i1d, i2, i2d, i3, i3d); \ + _g->words.w1 = _gSPTriSnakeW1(i4, i4d, i5, i5d, i6, i6d, i7, i7d); \ +}) +/** + * @copydetails gSPContinueSnake + */ +#define gsSPContinueSnake(i0, i0d, i1, i1d, i2, i2d, i3, i3d, \ + i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ +{ \ + _gSPTriSnakeW1(i0, i0d, i1, i1d, i2, i2d, i3, i3d), \ + _gSPTriSnakeW1(i4, i4d, i5, i5d, i6, i6d, i7, i7d) \ +} + /** * 5 Triangles in strip arrangement. Draws the following tris: - * v1-v2-v3, v3-v2-v4, v3-v4-v5, v5-v4-v6, v5-v6-v7 - * If you want to draw fewer tris, set indices to -1 from the right. - * e.g. to draw 4 tris, set v7 to -1; to draw 3 tris, set v6 to -1 - * Note that any set of 3 adjacent tris can be drawn with either SPTriStrip - * or SPTriFan. For arbitrary sets of 4 adjacent tris, four out of five of them - * can be drawn with one of SPTriStrip or SPTriFan. The 4-triangle formation - * which can't be drawn with either command looks like the Triforce. + * v3-v1-v2, v4-v3-v2, v5-v3-v4, v6-v5-v4, v7-v5-v6 + * To draw fewer than 5 tris, set indices to -1 from the right; for example to + * draw 4 tris, set v7 to -1, or to draw 3 tris set v6 to -1. + * + * @note The first index of each triangle drawn is different, so that in + * !G_SHADING_SMOOTH (flat shading) mode, the single color or single normal of + * each triangle can be set independently. + * + * @deprecated This used to be directly implemented in the microcode, but is + * now implemented as a special case of gSPTriSnake. The latter is more general + * and should be used directly. + * + * @note One of the two handednesses of a 4 tri strip cannot be drawn directly + * with gSPTriStrip, unless v1 and v2 are set to the same vertex to create a + * degenerate triangle, which costs a little performance. However, now this + * shape can be drawn with gSPTriSnake (directions left-right-left). */ -#define gSPTriStrip(pkt, v1, v2, v3, v4, v5, v6, v7) \ - _gSP5Triangles(pkt, G_TRISTRIP, v1, v2, v3, v4, v5, v6, v7) +#define gSPTriStrip(pkt, v1, v2, v3, v4, v5, v6, v7) \ + gSPTriSnake(pkt, v1, v2, \ + (v3) | (((v4) & 0x80) ? G_SNAKE_LAST : 0), \ + (v4) | (((v5) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_RIGHT, \ + (v5) | (((v6) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v6) | (((v7) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_RIGHT, \ + (v7) | G_SNAKE_LAST, G_SNAKE_LEFT) /** * @copydetails gSPTriStrip */ -#define gsSPTriStrip(v1, v2, v3, v4, v5, v6, v7) \ - _gsSP5Triangles(G_TRISTRIP, v1, v2, v3, v4, v5, v6, v7) +#define gsSPTriStrip(v1, v2, v3, v4, v5, v6, v7) \ + gsSPTriSnake(v1, v2, \ + (v3) | (((v4) & 0x80) ? G_SNAKE_LAST : 0), \ + (v4) | (((v5) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_RIGHT, \ + (v5) | (((v6) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v6) | (((v7) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_RIGHT, \ + (v7) | G_SNAKE_LAST, G_SNAKE_LEFT) /** * 5 Triangles in fan arrangement. Draws the following tris: - * v1-v2-v3, v1-v3-v4, v1-v4-v5, v1-v5-v6, v1-v6-v7 - * Otherwise works the same as SPTriStrip, see above. + * v3-v1-v2, v4-v1-v3, v5-v1-v4, v6-v1-v5, v7-v1-v6 + * Otherwise works the same as @see gSPTriStrip. + * + * @deprecated Use gSPTriSnake directly. */ -#define gSPTriFan(pkt, v1, v2, v3, v4, v5, v6, v7) \ - _gSP5Triangles(pkt, G_TRIFAN, v1, v2, v3, v4, v5, v6, v7) +#define gSPTriFan(pkt, v1, v2, v3, v4, v5, v6, v7) \ + gSPTriSnake(pkt, v1, v2, \ + (v3) | (((v4) & 0x80) ? G_SNAKE_LAST : 0), \ + (v4) | (((v5) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v5) | (((v6) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v6) | (((v7) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v7) | G_SNAKE_LAST, G_SNAKE_LEFT) /** * @copydetails gSPTriFan */ -#define gsSPTriFan(v1, v2, v3, v4, v5, v6, v7) \ - _gsSP5Triangles(G_TRIFAN, v1, v2, v3, v4, v5, v6, v7) +#define gsSPTriFan(v1, v2, v3, v4, v5, v6, v7) \ + gsSPTriSnake(v1, v2, \ + (v3) | (((v4) & 0x80) ? G_SNAKE_LAST : 0), \ + (v4) | (((v5) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v5) | (((v6) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v6) | (((v7) & 0x80) ? G_SNAKE_LAST : 0), G_SNAKE_LEFT, \ + (v7) | G_SNAKE_LAST, G_SNAKE_LEFT) /* @@ -2709,7 +2909,7 @@ other segments. */ /** * @brief Load new MVP matrix directly. * - * This is no longer supported as there is no MVP matrix in F3DEX3. + * This is no longer supported as it was not used in production games. * @deprecated */ #define gSPForceMatrix(pkt, mptr) gSPNoOp(pkt) @@ -2882,8 +3082,14 @@ _DW({ \ /** - * Alpha compare culling. Optimization for cel shading, could also be used for - * other scenarios where lots of tris are being drawn with alpha compare. + * Alpha compare culling. This was originally created as an optimization for cel + * shading, but it can also be used for other scenarios. In particular, it can + * be used with fog to cull tris which are entirely in the fog. This could also + * be accomplished with far clipping, but far clipping is removed in F3DEX3. + * ``` + * // Cull tris where all three vertex shade alpha are >= 0xFF + * gSPAlphaCompareCull(..., G_ALPHA_COMPARE_CULL_ABOVE, 0xFF); + * ``` * * If mode == G_ALPHA_COMPARE_CULL_DISABLE, tris are drawn normally. * @@ -2927,49 +3133,6 @@ _DW({ \ gsMoveHalfwd(G_MW_FX, G_MWO_ALPHA_COMPARE_CULL, \ (_SHIFTL((mode), 8, 8) | _SHIFTL((thresh), 0, 8))) -/** - * Normals mode: How to handle transformation of vertex normals from model to - * world space for lighting. - * - * If mode = G_NORMALS_MODE_FAST, transforms normals from model space to world - * space with the M matrix. This is correct if the object's transformation - * matrix stack only included translations, rotations, and uniform scale (i.e. - * same scale in X, Y, and Z); otherwise, if the transformation matrix has - * nonuniform scale or shear, the lighting on the object will be somewhat - * distorted. - * - * If mode = G_NORMALS_MODE_AUTO, transforms normals from model space to world - * space with M inverse transpose, which renders lighting correctly for the - * object regardless of its transformation matrix (nonuniform scale or shear is - * okay). Whenever vertices are drawn with lighting enabled after M has been - * changed, computes M inverse transpose from M. This requires swapping to - * overlay 4 for M inverse transpose and then back to overlay 2 for lighting, - * which produces roughly 3.5 us of extra DRAM traffic. This performance penalty - * happens effectively once per matrix, which is once per normal object or - * separated limb or about twice per flex skeleton limb. So in a scene with lots - * of complex skeletons, this may have a noticeable performance impact. - * - * If mode = G_NORMALS_MODE_MANUAL, uses M inverse transpose for correct results - * like G_NORMALS_MODE_AUTO, but it never internally computes M inverse - * transpose. You have to upload M inverse transpose to the RSP using - * SPMITMatrix every time you change the M matrix. The DRAM traffic for the - * extra matrix uploads is much smaller than the overlay swaps, so if you can - * efficiently compute M inverse transpose on the CPU, this may be faster than - * G_NORMALS_MODE_AUTO. - * - * Recommended to leave this set to G_NORMALS_MODE_FAST generally, and only set - * it to G_NORMALS_MODE_AUTO for specific objects at times when they actually - * have a nonuniform scale. For example, G_NORMALS_MODE_FAST for Mario - * generally, but G_NORMALS_MODE_AUTO temporarily while he is squashed. - */ -#define gSPNormalsMode(pkt, mode) \ - gMoveHalfwd(pkt, G_MW_FX, G_MWO_NORMALS_MODE, (mode) & 0xFF) -/** - * @copydetails gSPNormalsMode - */ -#define gsSPNormalsMode(mode) \ - gsMoveHalfwd(G_MW_FX, G_MWO_NORMALS_MODE, (mode) & 0xFF) - /** * F3DEX3 has a basic auto-batched rendering system. At a high level, if a * material display list being run is the same as the last material, the texture @@ -3006,35 +3169,6 @@ _DW({ \ #define gsSPDontSkipTexLoadsAcross() \ gsMoveWd(G_MW_FX, G_MWO_LAST_MAT_DL_ADDR, 0xFFFFFFFF) -typedef union { - struct { - s16 intPart[3][4]; /** Fourth row containing translations is omitted. */ - u16 fracPart[3][4]; /** Also the fourth column data is ignored, need not be 0. */ - }; - long long int force_structure_alignment; -} MITMtx; - -/** - * See SPNormalsMode. mtx is the address of a MITMtx (M inverse transpose). - * - * The matrix values must be scaled down so that the matrix norm is <= 1, - * i.e. multiplying this matrix by any vector length <= 1 must produce a vector - * with length <= 1. Normally, M scales things down substantially, so M inverse - * transpose natively would scale them up substantially; you need to apply a - * constant scale to counteract this. One easy way to do this is compute M - * inverse transpose normally, then scale it so until the maximum absolute - * value of any element is 0.5. Because of this scaling, you can also skip the - * part of the inverse computation where you compute the determinant and divide - * by it, cause you're going to rescale it arbitrarily anyway. - */ -#define gSPMITMatrix(pkt, mit) \ - gDma2p((pkt), G_MOVEMEM, (mit), sizeof(MITMtx), G_MV_MMTX, 0x80) -/** - * @copydetails gSPMITMatrix - */ -#define gsSPMITMatrix(mtx) \ - gsDma2p( G_MOVEMEM, (mit), sizeof(MITMtx), G_MV_MMTX, 0x80) - /** * @brief You can use this macro to modify certain sections of a vertex after it has been sent to the RSP (by the gSPVertex macro). @@ -3240,8 +3374,15 @@ _DW({ \ * Lighting Commands */ +/** + * OR this flag into n in SPNumLights or SPSetLights* to indicate that one or + * more of the lights are point lights. + * Example: gSPSetLights(POLY_OPA_DISP++, numLights | ENABLE_POINT_LIGHTS, *lights); + */ +#define ENABLE_POINT_LIGHTS (0x8000 >> 4) + #define NUML(n) ((n) * 0x10) -/* +/** * F3DEX3 properly supports zero lights, so there is no need to use these macros * anymore. */ @@ -3258,7 +3399,7 @@ _DW({ \ /** * Number of directional / point lights, in the range 0-9. There is also always - * one ambient light not counted in this number. + * one ambient light not counted in this number. See also ENABLE_POINT_LIGHTS. */ #define gSPNumLights(pkt, n) \ gMoveWd(pkt, G_MW_NUMLIGHT, G_MWO_NUMLIGHT, NUML(n)) @@ -3268,7 +3409,7 @@ _DW({ \ #define gsSPNumLights(n) \ gsMoveWd( G_MW_NUMLIGHT, G_MWO_NUMLIGHT, NUML(n)) -/* There is also no need to use these macros. */ +/** There is also no need to use these macros. */ #define LIGHT_1 1 #define LIGHT_2 2 #define LIGHT_3 3 @@ -3352,7 +3493,8 @@ _DW({\ * Set all your scene's lights (directional/point + ambient) with one memory * transaction. * n is the number of directional / point lights, from 0 to 9. There is also - * always an ambient light. + * always an ambient light. If there are point lights, set ENABLE_POINT_LIGHTS + * in n via logical or (i.e. set n to (numLights | ENABLE_POINT_LIGHTS)) * name should be the NAME of a Lights struct (NOT A POINTER) * filled in with all the lighting data. You can use the gdSPDef* macros to fill * in the struct or just do it manually. Example: @@ -3367,7 +3509,8 @@ _DW({\ * lights[1].l.dir = ...; * ... * lights[numLights].l.col = ambient_color(); - * gSPSetLights(POLY_OPA_DISP++, numLights, *lights); // <- NOTE DEREFERENCE + * gSPSetLights(POLY_OPA_DISP++, ENABLE_POINT_LIGHTS | numLights, + * *lights); // <- NOTE DEREFERENCE * * If you're wondering why this macro takes a name / dereference instead of a * pointer, it's for backwards compatibility. @@ -5457,4 +5600,4 @@ _DW({ \ #define gDPNoOpCloseDisp(pkt, file, line) gDma1p(pkt, G_NOOP, file, line, 8) #define gDPNoOpTag3(pkt, type, data, n) gDma1p(pkt, G_NOOP, data, n, type) -#endif /* F3DEX3_H */ +#endif /* GBI_F3DEX3_H */ diff --git a/src/code/cutscene_manager.c b/src/code/cutscene_manager.c index 55461b1f6..8ffdf8889 100644 --- a/src/code/cutscene_manager.c +++ b/src/code/cutscene_manager.c @@ -21,6 +21,8 @@ #include "array_count.h" #include "gfx.h" +#include "libc/math.h" + #if ENABLE_CUTSCENE_IMPROVEMENTS CutsceneEntry sGlobalCutsceneList[] = {