From 7a0a0e78054cbc1f5a22a7d1eaf98ab80fc0bf54 Mon Sep 17 00:00:00 2001 From: Zelllll <56516451+Zelllll@users.noreply.github.com> Date: Fri, 4 Jul 2025 16:44:07 -0500 Subject: [PATCH 1/3] Update .gitattributes (#176) --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index cbd25a6bf..9e1af8aa0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,5 @@ # Auto detect text files and perform LF normalization -* text=auto +* text eol=lf # Set browser syntax highlighting for certain files *.inc linguist-language=gas *.seq linguist-language=gas From 009bd5135dffaa5967c592ab8d11ec90dbee1ffd Mon Sep 17 00:00:00 2001 From: Zelllll <56516451+Zelllll@users.noreply.github.com> Date: Sat, 5 Jul 2025 03:38:03 -0500 Subject: [PATCH 2/3] Update .gitattributes to be stricter with applying LF (#177) * Update .gitattributes * add .mk files --------- Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com> --- .gitattributes | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitattributes b/.gitattributes index 9e1af8aa0..dd2798fe8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,18 @@ -# Auto detect text files and perform LF normalization -* text eol=lf +# Apply LF only to known text/code file types +*.c text eol=lf +*.h text eol=lf +*.cpp text eol=lf +*.hpp text eol=lf +*.sh text eol=lf +*.py text eol=lf +*.js text eol=lf +*.json text eol=lf +*.md text eol=lf +*.txt text eol=lf +*.make text eol=lf +*.mk text eol=lf +Makefile text eol=lf + # Set browser syntax highlighting for certain files *.inc linguist-language=gas *.seq linguist-language=gas From f3397294d504a5ab413ca979499389d9087e8045 Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Mon, 14 Jul 2025 18:31:07 +0200 Subject: [PATCH 3/3] Fix various issues and update F3DEX3 (#178) * fix sMoonDL build issues on gc-eu-mq-dbg and add both versions to CI * it's oot_version actually * update F3DEX3 patches/gbi * turns out language enum isn't shiftable * format * fix ci issues --------- Co-authored-by: Yanis002 --- .github/workflows/build.yml | 8 +- .make_hackeroot.mk | 2 +- F3DEX3/gc/F3DEX3_BrW.code.bps | Bin 4585 -> 4848 bytes F3DEX3/gc/F3DEX3_BrW.data.bps | Bin 213 -> 221 bytes F3DEX3/gc/F3DEX3_BrW_NOC.code.bps | Bin 4443 -> 4686 bytes F3DEX3/gc/F3DEX3_BrW_NOC.data.bps | Bin 218 -> 224 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps | Bin 4421 -> 4669 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps | Bin 221 -> 227 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps | Bin 4374 -> 4607 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PB.data.bps | Bin 221 -> 227 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PC.code.bps | Bin 4453 -> 4697 bytes F3DEX3/gc/F3DEX3_BrW_NOC_PC.data.bps | Bin 221 -> 227 bytes F3DEX3/gc/F3DEX3_BrW_PA.code.bps | Bin 4567 -> 4836 bytes F3DEX3/gc/F3DEX3_BrW_PA.data.bps | Bin 216 -> 224 bytes F3DEX3/gc/F3DEX3_BrW_PB.code.bps | Bin 4511 -> 4767 bytes F3DEX3/gc/F3DEX3_BrW_PB.data.bps | Bin 216 -> 224 bytes F3DEX3/gc/F3DEX3_BrW_PC.code.bps | Bin 4595 -> 4860 bytes F3DEX3/gc/F3DEX3_BrW_PC.data.bps | Bin 216 -> 224 bytes F3DEX3/n64/F3DEX3_BrW.code.bps | Bin 4820 -> 4850 bytes F3DEX3/n64/F3DEX3_BrW.data.bps | Bin 215 -> 218 bytes F3DEX3/n64/F3DEX3_BrW_NOC.code.bps | Bin 4660 -> 4687 bytes F3DEX3/n64/F3DEX3_BrW_NOC.data.bps | Bin 221 -> 221 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps | Bin 4639 -> 4670 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PA.data.bps | Bin 224 -> 224 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PB.code.bps | Bin 4587 -> 4613 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps | Bin 224 -> 224 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PC.code.bps | Bin 4676 -> 4700 bytes F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps | Bin 224 -> 224 bytes F3DEX3/n64/F3DEX3_BrW_PA.code.bps | Bin 4798 -> 4835 bytes F3DEX3/n64/F3DEX3_BrW_PA.data.bps | Bin 220 -> 220 bytes F3DEX3/n64/F3DEX3_BrW_PB.code.bps | Bin 4746 -> 4771 bytes F3DEX3/n64/F3DEX3_BrW_PB.data.bps | Bin 220 -> 220 bytes F3DEX3/n64/F3DEX3_BrW_PC.code.bps | Bin 4833 -> 4861 bytes F3DEX3/n64/F3DEX3_BrW_PC.data.bps | Bin 220 -> 220 bytes include/ultra64/gbi.f3dex3.h | 178 ++++++++++++-------------- include/z64save.h | 8 +- src/code/z_kankyo.c | 9 +- 37 files changed, 102 insertions(+), 103 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8dd86a397..f9708d3ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,12 +13,16 @@ jobs: include: - name: "Debug, No F3DEX3" args: DEBUG_FEATURES=1 CPP_DEFINES=-DENABLE_F3DEX3=0 + version: gc-eu-mq-dbg - name: "Debug, F3DEX3" args: DEBUG_FEATURES=1 CPP_DEFINES=-DENABLE_F3DEX3=1 + version: ntsc-1.2 - name: "Release, No F3DEX3" args: DEBUG_FEATURES=0 CPP_DEFINES=-DENABLE_F3DEX3=0 + version: ntsc-1.2 - name: "Release, F3DEX3" args: DEBUG_FEATURES=0 CPP_DEFINES=-DENABLE_F3DEX3=1 + version: gc-eu-mq-dbg defaults: run: shell: bash @@ -49,8 +53,8 @@ jobs: # Setup the project - name: Setup - run: make setup -j$(nproc) + run: make setup -j$(nproc) VERSION=${{ matrix.version }} # Build the project - name: Build - run: ${{ matrix.args }} make -j$(nproc) + run: ${{ matrix.args }} make -j$(nproc) VERSION=${{ matrix.version }} diff --git a/.make_hackeroot.mk b/.make_hackeroot.mk index eba6578d1..a73cc0c31 100644 --- a/.make_hackeroot.mk +++ b/.make_hackeroot.mk @@ -190,7 +190,7 @@ patch: # Create F3DEX3 bps patches # Steps: # - run Flips and create the patches -create_f3dex3_patches: F3DEX3/f3dzex2.code F3DEX3/f3dzex2.data +create_f3dex3_patches: $(F3DEX3_DIR)/f3dzex2.code $(F3DEX3_DIR)/f3dzex2.data $(call print_no_args,Creating F3DEX3 patches...) $(V)$(FLIPS) --create --bps $(F3DEX3_DIR)/f3dzex2.code $(F3DEX3_DIR)/F3DEX3_BrW.code $(F3DEX3_DIR)/F3DEX3_BrW.code.bps $(V)$(FLIPS) --create --bps $(F3DEX3_DIR)/f3dzex2.data $(F3DEX3_DIR)/F3DEX3_BrW.data $(F3DEX3_DIR)/F3DEX3_BrW.data.bps diff --git a/F3DEX3/gc/F3DEX3_BrW.code.bps b/F3DEX3/gc/F3DEX3_BrW.code.bps index 6634c5d5c83a9d88e0a6d425a9416996036e2318..eb7d91a87bb70f00e8199436c3e54989e5c97d3f 100644 GIT binary patch delta 2786 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 D45=L; delta 2575 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 E0F_2l9RL6T diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC.code.bps index dc05eb29681b4198c9805f44a29152bbd83d3bf2..f916771d01d4c8d4ffccbe5d795a1d0901a0dd26 100644 GIT binary patch delta 2795 zcmcbubWWw-DInO;V0FgYhOPyT<{b|uyky@8oRCvcQ{ZI^P!Q+I@RI+pqaensFlkaF z*R-a&-uBN01rr!JCw08^Vqg?>U{LIl;eOF0%l)QDj{8Fo5BC=i29|K4hIx(5vzi)} zxf+{J$}lwa$TGC_$T4*E@G$i7FtDxZdvp2pR59BZo2G)Di z4VoDn*q=?;;&$L*U~!sU$$xUX3AY2tnCXf9^(UDc7bqzh|DVO(VB0XeL4mP>LBU>V zg>ohTiGB+P2IXx2vx1fX4>3rDF|a!PKd|lx0}J~D#t>yo21aA;$&5`GIT$2@m=^tD zVB=t5*|X>s13M1`%br=RGaC0yYHIwwt?93q{12Teirfy~a?jnSIB`38+ub`eC7Ij7 zJN_q+a{XQhhD$pdcQ0#doYL2{@OP2%6n6%dDH(lTQy;V&tY+r!>uF_7pEjkJF(X2y zZ)V?&UeN?bwZ4YF32UcFF!gwAr}g)+F-1(9(HJnPsh80sK(()$N;;X#CgL)XNm?{clzWh?&|De%O27au@G;TYH5X7`VOT|MGbW zPg^`en5lJgEvJ0_rM@F`z2kqMW6X+B>6gxb0>buzM{jd62Uq`R^{O9g{9i86tEtA?hz2$qRwRN4Cbg=6HGVbjWW;oN= z&}*=Yp`owgEu(vYs#osg`u0Vy7#O|d-9CZRqWAx&?XRA3O7zW`)X_Du_tgsy$#orT zU%lp#^8Wv*-Kdy{VO>YBQt=mtzJ{5nUdXU{$NyW_)*AntsiCD;c@6{PyM{)kzNXIk zPV7t#&5a$in!s3NR#T(Ktfp4`AJbY|<$p|TXyFN8u~g; zzH}F3e(5a6_|j91iLHS_?WLF4q`Ia)&nOtD-Q$vYXu3x9n;ySWHyLOERkoN22#Pp!1i2$je$jho8igQ1nwl+g#Z5(v;W^x z5Mp3k=E&o;%!$WknKO^uG6x`&Ws2<6Xy{$Gp2wrF!MAZr zHiL?Hyu?F;<%|s8_5#b5wlXkzC$+m6X8+&soz&y2!1({acl;l|CD{xrlmD`5TIsYb z-FwbU@EE_B_;Qy%%Z6Sr@%6ra4LiLgmhhb@w_x&;SmS@H+G6tk-V+r9tos?^(;$5&Tq-ie?1G}?#{NHn84F9K_I5RNx zYc}+EbayP2S+rnFBVlT4hA-7FIL^j%ne-{4TTLN%NFo>Ok2$3CUAg( zb;4<;UIk7DM#fAJ77hkBDTQPI|APvWB@9eGpz2{-y(5p)G$$SxkOq&&yA0DVO=LOg z(R{zJtMNx)(^Lg+1B)fx(@k1x8(QQUrztQpurE;Lc92o{|4%{j|9=H0Zif@j1`G|Z(x#U zY@d9FNkilWy9E0Q1{sDEOfpO-SY%j49{l@0nTOfac{$@Gw&}I4N|zY|I2hOy%`zAm z6y)Xhc**};W3ZZm(MzV@O)!Ch*-Iwg|Ku(Ko|C&oc)X^j`<&b+qnLLLzp}w!X z_r*~K=A_2NcEbiP0R{yL{sskM#&Qk@_IC;*0u0Kp{{K)AW{y`7kx=O2=D)zh!2XSy z`+$OJd`iQ7(G~p$Tl?}Fx+ZQE?yulKvxb5Hh=Pbf!@Nlw*T^t5tdV7CStG~Lv1W4m z&LxcsPu4c9k>P%^Mwa`{8aeL1-4nUi@JznUC0M_uM}q%{vIO@F1(EI-vy7Toii6y# zz~#W;(6!9Cd7nZ+FXpPXXCG^wwrx8*<6rDYwh9|FF$w0;Pf)zX;N*ECguk%424<)qTR3$xZ(FdXT5 z%~ZcCKeAzM{+icJ^$OfVA!{q&_br&1zqaB7!@90s<-H7yvp+Uw^)>YGpTw|hub28f z2FVx(#>fB#)&vHvrPG6UP0U{#!NBk?d1rt8j-}I?xg8W3nYpKW&(qnsmqBXsMs88% z?pc958=Lx?rgAW_@f)n}V{KTTGIjdO)OPj-f(Z=Vr>+}tOn%92uF&o^f!*I=8H0k? z27Nz8O{M^^4gCHFs~8@5T`=PlOkkL7&lAA7fARz#dBz2kH}H5exvZM}n@2~Avn77- zW3Ljye5olllytqm>8B$-p;EemfP&L z|9_IfY7Pdk={@P*`=7fDCNNB${GL~eZEFVy1H0B_0X})g{gVy&;@EVXIT+ZYCQs(; zP@5mQs$XGwe_;Figm%$x1!e{ofpms61*ZSk1l$?26`22D6-Z~u-|WI)$XGAhQ10s` zQ0wO}8fnDTl9P&OPxNRn;Xk=c zeEQreCzu4x7$i?kwwl4cKJ!v9~)OsWSa@hmy3to?(5fjj&#s0Ig>8H!093~S%yY-C>7)VqLz zsbXG(Z371b`xOOlL5|6l{5wxq8*wB zT^*VYItucWbd)Rkcl28@Feqp9?-i{4e}h3HjDgkR|Fv~L7+BaJFexZoGB6rzPc~_| z$iW~H#I)!K0~-eeOa0tMuNc^Q7+B`cVw~AHV^Wi3^KS!?xeW^3Qdg!Y^6#9&%CMI~ zQs@w~l7Q0UB>r6tjL{6t-47H%niaT(CrsdGxH~zKf0wZm!+*v^4y7Jt#`Wfs3=9m+ zQXq5oGb9~QZD3}q;9+3#=wV{25=mg-WR4C{5OiW-TEk_m86{mW2Py=T*<2*3l|BqwmX9)&yn)2d-&7OBIV5c8EIs|I@>@YRcrLESmKR(|Y#) z_b~MO|HFg-76Zr*M#p6Z6Xz<(GccUo%E2`+qC>W^hl^p)2`LGg6H+oVUibee8G17` zc#HN12qrKvoe&q$@e=Jx_xk@o>Eu2I2592tBJzOYz~o>K&*0Te3?K^?1VrvA2#9AGEN7g=HoeQEp|I71gMl^AEQ5hTL0)i% zm;Apq2CEquy=3a$1QQsTy=3D3Pwo<6Ik`)O#cOK1&k0EZJ+Gd8k72(-YW3(1WkSY|DWQkFFPb17-|f&85~3t z{{L2d|Nqv$hF*))ldD*{nMxZcx3h-JMSI6beDbberP44lUgDv*eP5SrL%WN2Qjf29 z{2#u_%50kTG0jW&p7Rns#_uJ*+@;UAq1Q`%y>DN`UN4Cyd?(5+n7ky`_@An_VCp~G zd!j;swZEbFRG9$lZ%$LB%`i z-dP34|Np%Uj=LHxXJqhB+S+TF{eQoAfw{}F^-MRs3+nBCm9{c4c_*p+ESW6PDB7UM z%frAL;2r<>oEXFZ=_bw$3{0CMloYf7|6omIkXp8w=>`V_>-+vAE4^4$wKy2qguPgG zCnq<>Hn1iz2rXN{bYt3LrfUKR7+5EqW~x=-WME{>^kCs&V11=C!YO zrYj(I9*y;P8D?d)^zQL!zTel;_@l3BZHqkPGUf*i9124J|MRsawDvY<^Y5I@I9;;g zH3O>$<6Q6=>0dmR`&nC>x{s4y^q6fTixTy{cDfXz$(ht4E{?#A8Ini{9{bxr(T zWIV;audDY#`;?4n9lbql40|SZv@Z9U)Y8eQ;W4SLx86{jnR`}4qiWx#zKy*MD>PL5 zI(iM38dyx~=oE@S+}GC2uv$ZwD2SbK3byKf4a}8XRL_?Q58PoJqdE>{~-C!}e`0 zjp5Up8ndP~^$ImGa8EiQ*&sY^@dRO}axdX&59Ascn7l-l0VQUU z18VFH3}+S{?u`G-H<@jD--P~-*7)CC4Lz+4+sYbR8lOLFYFss|sntDTT1(@rdriHM z+r8uaI$EE$KWk}y)PAU?HU8hS`j*!C-$e~AjY@otO|AAnrnR)n{}5|vX|?|eV*XTW zXz5j+!@wBS(9kF|tEo{&s-da#Mds#7^EzK|DAY9K_&cVQbM?pk@ zLHX7H9}2?E@d_g189m(m7kC)hzcF(kP%w>GZ%l8?X;`b6#ju?^aX`Ey&?(> zB0X#SEBN=UVcjG7z8Cs$6J z$mPJ`(6!CD`IkgPW8AE!i4vfCSFE9`VJrV0hDR0(ATFqMpEhSI|IR5UOig_~y)FNl z4lV0w{Sff2rS(I=td_?8eN9sp7#TR$SWYV4yKw&+3x*>-uNfY%%5SJ&o3`dP!(#<* zfgNir-}fz;n6|d!1H-zmUgf%G+Y7-22JTbW4Y(%X=P{SB^qRo#Z?KF( z!E1xQpQ0vHg4YIqe}h#F54mw-;Jt5~2T0C)UY}TlY7?vZWOjae#tDF0E(izeenEqcAaA(L-VE%tqAf2ILv!y^GWBt`~UoU}LKQDn&{uiPW z!W;~&vM)p=1g5hd*ea>f>czmu7$Km<;`mQ;mekhHA_d7w#j_`Rw3qPj+$BDJ?vxWu z0%i=7rzU4LNj5M@o?=p9W)|RKV9WGYdeE-m#LV!*NugfE`Tsu!r~e;7;tC?o)6=$W z4F3P0S?Pq5yuyF=U(8ICvzpeXDre*6gx|oqc_M*$d|Sr|;UaW5x1TdsA7JSLw5Z KypPO^;Q|0kuTb^? delta 198 zcmaFBc#BcoDInNTp*^CdA+BXY>;M1Le45_mH43&&^&Tv$65d z+yRr6T6`N8FeNbDVqjqS!LWgGgWwdg4}w$n>@i``=XMaUDU3`rlb16! zJ#gT_f&KgU>+IK7+iS6Z@812hdD{1G+O+Awf?EGQvuDn1?_6omU@EKf>QLF)OPTgF FZ2=+XRI&g7 diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PA.code.bps index 564f956864e91fc71442681cd59ae97f286775da..ca826240e7c0b0fad048a5e1bf39d318e9230a6c 100644 GIT binary patch delta 2788 zcmX@Av{$9xDInO;V0FgYhOPyT<{b|uyky@8oRCvcQ{ZI^P!Q+I@RI+pqaensFlkaF z*R-a&-uBN01rr!JCw08^Vqg?>U{LIl;eOF0%l)QDj{8Fo5BC=i29|K4hIx(5vzi)} zxf+{J$}lwa$TGC_$T4*E@G$i7Ft9D?dvphmmj&r~kqzrY-QVV2sit%6557+C)`Ff+BWBrvef zliktRF_-Dv0wuPIj0w{u8>jML5Kj32dRh-_gB|mP*GzXr6qxh+EBLQ4a7Q#aa3wG( z?`2>#Kf=JUhKs-cO5c*X%GC@U43feJ`X2Q1FtE7K%GlY+ysoKt0RvOpyoUaO=6;KY zuRTmm9U=+;?=nXRCQG>3VB}z6$yvbOf25W5Vt;N!_s+(P)B714*q=?; z;&$L*U~!yW$$xUX3AY2t;OU9{Cz%=-C@C2KpT*r^+b}yop`NjULBU>Vj&ddciGB+P z2IXx2vx1dOKN%##7+4*czOVbiz{383(M#EqfzeodvS8Ci4hD%JrbRy(*f7=>lK-JIMUmUVTkg5r6en&6Z@YVErX+Jac*p#=Z}| z-W=xceGhxRx!wIIo#>SR6FaG`)Bca_q_(aVeFhDa0vr1z8u}y~x+EHUz2p6i`d0Kd zh%mK0YH0k|*VM}t?EP<62Z)*45PsNu-f|c3d0Tsh8W^~}XrMrzJ1Xv21f6Aw@;uH=l%a_`>SW15`8l!b#zVa zef5Gva$U#TSFbswy#GIHH!9{~Sl7|3RQ!dZuVLn?7cy+#@&A^!wZ{K0YG`Rx>TBwp z@5Ij3(A?NDs|k!XW;Hcx%xY@2|1qtlRsP4cmc|vcn!xzPtfs~jAes7~AgP~B4K2N9 zuNWBmI;KsWYVQlmP)-d!jWV;E8fBy!nsz=nd@hv0pyT~m;JNopr}RnlIzMSGpC{MQ z*KzWtyBPCJXEDZ?o?=XF4Gd~8y~HNfHT8LJ+1ta#|3)<7{~x8v3_GL}nB*4CnCTs$ z#OlbvwXUyM`5puNx`y7#EKK6{3qaZRzlZm|=kDHh(|o;uT0Y}oU_Ivj?|U-y0|pLI z$TVm3pPa1S*7=%&byjH0#McTEf;*<$P0nl(l~^LrI1QwPhk@;;0viL10yo2xr3u_g zvI+nHDQ5q_r69z>w#<>oX_*s`%Q9ykw`C4I9txZc98?9*uI zUACUbqp!iYaY{CWig&!kLxbgv4Bqwv%ayh=FnK4nyBKEw-|wB&o$FAoE|sdxO} zb7Bntr<*u4F!XCS^mlZ3EREDRV@w%Hghjl-O0=iT^bFA4I;}H z@OVsH%;P3-fPrnyN|q%IOg*3qVp_c;kJB_K9v6@X zkH)(U(=JV9IpWcLzptzDM_)yQTYE)LGk~8 z1txBX6V3(<3e4OGyz3>7g9=ZkSS0Q5dQ#5M3d(- zNi()j-pQmPa)Mog{RD#y!wDuCrV}hOEFus7{ha)h$m?bJmD#{S}l(56$j6d1hgj`5zlZNWDAE{i!M$7E5~ zpzwc@UROla1!v9XeQvVuGV11LHixDyz9xcILyW<@9oKlpQsx%+_vbN2%! z<|6@0ATbUGmO{qv1cfPTOjAH%&cnd|$>dOfXaj4L;E~CltO@mf-Muf4DljWGF?JX> za0xIdNbol(2s4&*FtEQ<5D{Qde)a!{f-rNuf{6Hs9&Y{%JPhpLn7I!qn8v3x%(q?M z@3FNnuc2$=M&bSn{xfSB_>U-v2sF%_v~i6LL&F+bhL$yQ3>|AGr|(?SsPJTM!x|ax z7i(m>->i}2?%O?)YYorj!(4*(TY4n;e<(|EzfchAelg3ad8IhWoeEqI3=Un(jGOl< zG<5eg-sx-TZ}01v%fY}Ru||U7i&%p|<5K=J438`n7BDc}>F?}UXqq->D*wqTCQOt1 zdU{*_GhJHN(fT3aTTAPQfLSe#Iekr26&M*f)>uv|-McVnjRnJzp4UwEtMcm`))uaL z%~Y?zEfli0@_pZeiG^z`J}|87n!U0yr>~)Z|0IT8d%e`>F-XQRFh&L_uqH6*E}gEl zYhvNr2nL3C$vgYYcPyRG%S!%m%CbSR0n}Pno_lwVk~{FoA*l)O7=n$=A5e723Tfu=^V< zV^Hwgpzo)s$rRwVf#2U?6~hCs3ub(R2@I2UcmfzVPp;*WXPh#5E{`XZ%Ie84cw89m zC+qV1GpbFl1&2Mr8Ux(U! z%hml1EBXW5*C(`#b}KM5un43xq$x1{zb4?$kgdS{|EfSbL;hwx{zArj(S~wgFM(P= zFM(427orlv91QGiFGM5+K<%DZF9tTo2mvJ)$A3(-YBqN^Do9Q$o;}gMy@dbdF7fGe z=bT^?Fk_HBHQ8!n_lA#53e3z5JPd5z-bxSJ6`Ytpyl_&e7jgdoPr>Q`hyGc;3L;G( zCKXMUYzY4UpIPaIlDxwIU(D)E2NXCMSkjfXe=sm`haU!2-JqgEF^Pj=?VFsOrFlN7 J?>Bt21^^{QB@F-o delta 2607 zcmdn1a#YFKDInO;V0FdXhOPyT<{cL$yky@8DDW~RD2Ve!c*+0QQ4r%5n9#^IWv;jV zb3wrb2F^*FCR$3HhYB^!Yh<3))TqqW*tAoIp`k~Xp`}NTp`(X~p{MWJ*#!&?_Z6fW z7!)J~0yr4hFDq~f*6b6QKCxe{o^$$K#AO6{4{lG*s%0Ay~P0=LwM>52S1 zr?4{YWsnp)#H=Ksv^a@>7Y74NWUB(Va7_aiN?;S_K#MeVNLdz-;QkHLYiNSO68Fq~kQU_Zei!*GI0hUo;042#GEhJ%x(I6Q+_ zGckaip&%e~LP0=0!eBY$B(~{Y9u0-99vlp;nPwRb3<~m6JG|uotua{5!007Y?Y@T;e{n--)2Uku4BmCecu(E7;F$c5)0~lOvKm*A5|fkH6;b||lI)Wwl`PI|s$`x# zMUAONftfpihk^Z*$sq=Y$>+He>Nyx#GF}{2V4h{Xf8sR-3BeQ71KK?sL^XIASe_}c zF|a6bGdx+Ez?~zT@c*A;_WxT7LJVxn9GNaHb7H!(%$e!hG6$v`3Y-iaQ?{A3HVRB@ zYGt}HtEIJI%CeTmq`s!N3j91lQ(yo8r}*m24oL@w8pCV`2hoK8zZKvAzqPNS*J82< zD-Tm?*;}SX-P^vQ4V1pU3--HC$!1XTPP%tif${%;?}Fp52Fn>4 zypy)}8fO3B?_FT-vTQxm4ex?_dtark3{2ih>OM;*OEii$=<)I}uzGvP|2-$h@PE3A zGXn$DrU)g)?EgPl6B(qIEoQpG!NB^u|Hw)&7F8_{1~z^#R^7?TO|cEE2@FEZ7BJnI zwwURfzySu<38$HA6*w6f88batI2c%;DIEL%AC&p0IWk?E=EQUbq|T$U{w~9;jF#Sm z9?kdrIvRiUHLY!tXI#eofPq6n=>LDdwuILH!ioKcZL$qLT>MuUvm%s)AN<|Q-2Fg- zx%+_<^N|20kQgY+8M_k{nzQ+LPEKh2`I>>%gYhndm-J0752kwzAfuMZGcG%!Ccx$; z|3hbzKzHNrX-$n&`nu{T{w^|};@;QQ`=EVF#YK1vkb#j`F`Gfud;f#ujA;=peI32535*i z`XU?W1vK_~HqLWsJl4@_?mn%h)!l#6l1}+Qv6I?5?f=M5YU^6qcc5=$ufZ_}*1iM1 z-tm4$eJgq!M3~CHHMBBp-`3I?KCP)SYg$vUPy++^qyv%-!qXN{5N0Z${DMio{@kL& zo$-J9Cc7=`o6z6U8vmQCp{JE$TUkR(wH`v`FT>?q?=R!{Pe2-pV+sjuLA;mz0wVr_s!_* zNNsraOsJNFfo0#TXEOB)TmlRV68sGc!i?n{4D2@*Lo!_9wz zhk^YYGxq@n)A+DP(YZMdYZbE?wzCE@>}8I=pfIObM1eu1XKjB4|DH7r{732)L|GEmix zH=|d9D}Z6%##swC9_W$a|Di0w{X#*c`^7Ay=0@?!$#W-iIWRbMZ8L8ECDG8BFso^z z1gN4FYp812%D;!=qLRQ{b)OqiPbdU{*_GaXvi(fT3aTTAPQfLSe# zyZV}@Dljr|tg)O_x_9BOH5LpI-Lh$}po5zN zBQy6@?|C{K_cDk~^=9xAb^iZH(ThP%L2_C_Yp;L;bNQ^mosIQ&bMz$M*2@Kq)t{ZSoKEq=!U+Fc0-QQptgM!xveLqD_rUb7I{Qd^37#?_C zFzZQdnXJqkpxATL&?3wG|8sY5xqH4|LQ}K^9T>R1e)c$=+%A#9!N8U~c?z#5Q_kAS z_jz3yB_^xz`7=sRF5y#S`uAY+96mFre;2&>_jY*i?``lB+t%Ryf4hVCzHJ`f`=7ge z&)eF;!N6+dC3&^uq`5@qNpqP@FZq8uUZTfDCz||s_Y&EAk%xh;XR-)?9BcOq#b))% z75p7)>&@5o2dwIkY@eUeF50cY%)la$&XA_S^#7WGJ422F^Z%;?=?n#%)dUI|>#vsk zdI{9}c?p#AzYvuW=3rozcp)MoFgC0 Q-{j;la9tA*-Mljo0N1eCBme*a diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PA.data.bps index 8ec527bd7e831e3b7304b052b5687d708f0f32a4..c115bd0df50214791876d441730c2c0bbd2d390d 100644 GIT binary patch delta 204 zcmcc1_?VI3DInNTp*^FeA*VIJ(W7CaxMF?FLch$slGMDEe6DTIjg5aM2{p}SVqkG# zsAs4*Zkop5SlQUvFuSg0-H+D){})L&Y-M12C(Izgz{0?w@c+lZzBR4?7fhZuY0{+s z%T$}z8d$LMvhZ*pU|`@rFv+PsuwepI0mCf@28JI@F^mfY=g4gloHI2u(}Y2v%U*nD zLqws8nY^5-X>M+AZca{)PL6h#MNU>$&g`;=o!#BtxpQavWp3ZPb?K5qJ5yPeR}<>~ KsAXSfDhB{c3{hVI delta 198 zcmaFNc$ZP!DInNTp*^CdA+BXY>;M1Le45_mH43&&+yRr6T6`N8FeNbDVqjqS!LWgGgWw#oJA!kzZ#QAk=e8GbDv!u8lb16! z-MxGF?p?cf>Fm;0+hMV5$BtdIdD{1`UAuPovSz>S3+K=8?a#1dFqKt#rFTzSWyN`> F!vF`6Q)U1F diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PB.code.bps index ebba9d608d2dd59c6a66b25cb0fa30f44535ec65..b6c51e40748a6ef8ac76e34cbbbf2cc26038f2f1 100644 GIT binary patch delta 2734 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 Q`z9yn+_7todqSin0K3c}i2wiq delta 2504 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 F8363~Q(FK4 diff --git a/F3DEX3/gc/F3DEX3_BrW_NOC_PC.code.bps b/F3DEX3/gc/F3DEX3_BrW_NOC_PC.code.bps index 3df9fb567acc8e2934b8ff838b9daf0634571509..18667ca79ef5d261c19e9ff0f3b4b8bcf1d4628f 100644 GIT binary patch delta 2832 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 F4*&rhQxgCH diff --git a/F3DEX3/gc/F3DEX3_BrW_PA.code.bps b/F3DEX3/gc/F3DEX3_BrW_PA.code.bps index 8b5b60723dbd4a9b7a9862ebe343802cd8784d70..ea3f68d47c2e1b4e23bccf8b8426328f07aab8d6 100644 GIT binary patch delta 2952 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%0Ay~P0=G27^hExh zQ&<`HGDr#?VpbARTAakci-UnBvQ>dwxTb-bsRHDK9ww$Lkpu=#=I8(gK_>>LHC#+p z3hWGw91JYG7O*o_a4@jm0jXt4_`hym_55iat%3{szD#9JU^aE&n%1*av6x|psKft1 zJzT4%Om1V*tWTKMv-iJ;q1XQ(9{jf$Kvpn1E-RS0S3#bE!R!A2JsU-B%YB z7)~%KFq~jgU_8O1z;uF5fq4Qq!+kFXhO7x(OqG+FI5Z^8`WP5auuHI?V31)r!6d_U zf<=Z!Z_R;Ku%E*5V@fsAf92coNci$6|B6^cgaokjppM6zqznhoXasQLz{A}Lxe`8O6 z=VtS|+28lKk!ff#sP3 z8v~01H^Y;q3EVld3IG2oX8*sXAjH77%#rERGAE`h%bc06EpuSHp}@(&F=bom^hSYc zO|48fX0@~yOj*{_nAF$wR)L=%t7d>eYb#Mk@w zHSG10Si*Or+=9tVVvYZ)Y73_RqrE381X%kUdQX)Juug8UZItOr@V0MJ_m*i7^^WgJ z_LgZ;_qK0n10`thg8i;jvKdsolkS~WVEq5zyWqI1!E#0h@1(80hS~r3dl#6yEL+cX z!@Ho~-dAZW1Cw`>y3dly5{;q_db~Ugtp48df6s|A{GV>(%)r33DMCpx`~MHtLj1x^M= z#!L?u4hGg&3djEc2j%u@j!c)PIWb)Usq<*8zsoQyqowz#NAvx@j>aE-O>0}^8J96X zVBk;?`v0G=Eupnva8kcvn`}c57ylK;tOzCH2Y)v*cRx^I?tY-ed?Y{#B*wwOlEK)W zpwOJnzjJazbPq_$o|ZD#IS4UIB=oBB5PGOW;0 z?d#|@SZZJ~siRXU{%~JgFT-jLmA;OtA`AZg^5B@((rc*6(9qX0S5$$Khk+yhP~U{T zf((qDirEaJ-uoXMXH1J=>FelaO<-i{Yv}7p>5FXab7<_F&==V_FQBo{vvHn7RZvq?t@b~rwY19r5Nl{@wf_lX{w!;3X_T4O)F>m>(A4=NbMvHmoi8&#PipIY z6uEg)Tj%5Y$j_77Cf%I+=c`x!|HQsMeH{?k>y>V}yl+NdM{2{XXF|0c3@rOzJ(H)r~ z>U|87F$|260Sc@M3@S?_Ce`npn6Wm3f#Kbx>6T4%1s&WK7@4`Jde76@xR*g>syBm| zsPq3nie3zA3X;gZ{3@ifa3@w`-1sWMOOqb0N!{oPu3H6||=*3Y5=IN>X zw@R*P^PY|q diff --git a/F3DEX3/gc/F3DEX3_BrW_PA.data.bps b/F3DEX3/gc/F3DEX3_BrW_PA.data.bps index c606e60fe02dd9594a4b2207f920c4c5f52bd60f..decbc5d9cd30ccee9f208e9b268d6c1a108ca6ef 100644 GIT binary patch delta 205 zcmcb?_<)h$DInNTp*^FeA*VIJ(W7CaxNLpPLch$slGMDEe6B;xO|Ad`O!8@(%f!Iq zz);UnZ`?GEzp=8hv0-*y%eo(}|Nk$NZrIAe^iG&TfPsa9LE-<8e|>9O|1X$4ZPKJk z|CgyYtu?S<gDInNTp*^CdA+BXY>;M1Le45_mH43&&~)T0h5$kd>a-pB{1A#U|{&cuz_)d;2iM+!8zNvn=t5e+lx1qM`W1E%bA+) z-o1PGu3fuyc4_ZWwb->|$FA8t?R(d*UAuc(v)}fG^XK>WXV@{A%BsAwtng=PZkTih E0E1alRR910 diff --git a/F3DEX3/gc/F3DEX3_BrW_PB.code.bps b/F3DEX3/gc/F3DEX3_BrW_PB.code.bps index 28d82b7cdb6baf1ad93bfdf0410a2b0e947098a3..4b0167b8dcd52ef14bccd8d2ff44dfb9a9d29c25 100644 GIT binary patch delta 2838 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 Lm=)C*ornei@2*iy delta 197 zcmaFBc!N>gDInNTp*^CdA+BXY>;M1Le45_mH43&&~)T0h5$kd>a-pB{1A#U|{&cuz_)d;1ux~!6}d^%bA*P z-@bkOwr$&VwrOuswb-_0%eL7(?R!_QT)BNgt>5O^GiSDUrr9x=%BsA|&-uTwuCx0) E0B>SbJ^%m! diff --git a/F3DEX3/gc/F3DEX3_BrW_PC.code.bps b/F3DEX3/gc/F3DEX3_BrW_PC.code.bps index 86569b06839c0d0f255d97db0bc2df061c64d168..451143202927d4ca2829c67d9a77a509b26eb6c0 100644 GIT binary patch delta 2960 zcmeyY{71FkDInO;U^T<~hOPyT<{b|uyky@8oRCvcQ{ZI^P!Q+I@RI+pqaensFlkaF z*R-a&-uBN01rr!JCw08^Vqg?>U{LIl;eOF0%l)QDj{8Fo5BC=i29|K4hIx(5vzi)} zxf+{J$}lwa$TGC_$T4*E@G$i7Ft9D^dnVi9z@5ObhP$5s$^r(4`wG$w3m4C{U}FerUz;9&Z;K#6T4W9l@~T~qll2q*l1Gp*;M9rJ|OOm{>Sn3MY}_^&W< zM>IHaMfAVh$iYz073{#g>V<;xUIxa#C3BUl88{dug%9*S=;dKx@tBpdvypjSQ||%> zrnY$v{a#J|9t~f6n3y_568_(2jt)=|bYfsy!^PC0z|O$P!N8KWfW7}nE9=$%(uQ6R z2G*<7Pck;J-Ob(-ZkmGBqwxs#h@n-^bnH+3-$5es+Wc zV*`VNz0e%xO8yi577Pr^+5Be(EB_y3kO*U7b@+b-mYuWer#Bv$)YSNUThm)F`5!t{6uBL|<(|7uapHFHw!3#` zN;0>Dcl=MDLkAk`cQ0#doYL2{@OP2%6n6%dDH(lTQy;V&tY+r!>uF_7pEjkJF(X2y zZ)V?&UeN?b#lD8V32UcFF!gwAr}g)+F-1(9(HJnPsh80sK(()RZv0;LfWZXM}ohhiV1Ei?$Vz2kV>Sui&z25VmyZ3c;dds&=YU}it z@0r%tbz;)Nt^>%pw?~-aOkYE|DU$M zdd4ZyH)B#q*TmjeFE}LEb*z2$nnTL_|D$%JVjhNd9lc7$Ul{rtW}bQ>!{#0TZ&_Pw z{O_WMmPVz%rq20J>`V>KjUBU^z*u8eQ=`VLrdInO(^^{Pe@ts>TrsN&j8DvJYCHjw zss9O*`pMML(rfmLfuXNs+Qg~$zMxFy)X>u?GpnglMyjD{=X1m7LJ17o-j4;Id%tu_ zpER%Ylh*Qiat(bQCttdYF~4*cV|?i;#>CdZp!(8FY*JlQpXZjdJzV^66nhxhMHBx2 zR+`MPLn?tua?y;5-T_Lij(m+>rVaN!tm>~ZFW_Kcf2VZ)zlZm|=kDHh(|o;uT0Y}o zU_Isi?|U-y0|pLI$TVm3pPcO7w(>OtD-Q$veFX`@6Vv@BXEumxERkoN22#Ppz;;`K zje$jho8igQ1nwl+g#Z5(v;W^x5Mp3k=E&o;%!$WknKO^uG6xvh7PfHLSnv3VPu}(KgQu`EMfPbl^e$V^;-SHE zMh0(tf#phD8JN72+FcB@|L^xs>hV=z{QuuO{tw@hYzCFdKiM?vby}A0J?ABOjNeOq zxl5mAL$8*;}SX-P^vQ&AVW~t9R19v)%>AUA>dG_IekXyLcBY3u)TR!@zFs9sl>7 z7{mYRCe92D{hAH^^&Q}1*G1i z@h-!(OA}d+cr@Sd>uUVb*ECgu+rVN8_jHq%+J+W+#%T)mj124x6uBK_6#oBHQ2hU2 zfr;DUgtGyI0yFmk?|O;jphC^tPLjtvPU3=s6N7+=^Z(y3Tomd-sl>0DpT4r&+Tw>y8yG-{r|})1SMp>?VqWi5R{Si`u{&^Q9*}l+dc&*@BPQv zd$^b)yv?n8(qG+BU^4V(aPSsyQ5Q{MV19K`fziAEf3kP{_vP{r{)@l5puk|Tf{8(p zfq_XuK&C@MK>P;8i6TpO^UkLqSjEENC3w$4Fo9um0j~+8 z+T^9YYD^5vC!gh2GRtlD+W$YvU^NGW*Yuur@BPo+1rr#id++b<@ZR6s;3c-L!TbMq z2k(8`JV0{Z^R{+yFt964R^yXr+&bBfFOE&OnS+5XVDd`74!QZBtNR63^ar-DPiQyo zR$%&nOTe8WLxGurMIfD_b+bQzBct}$a$hfjT0bv=QvMgB62cq|>^v_-Bm}0YF--v# z6Mau>n@kRYGM3>Il&}g#vplWveV@54Ih~ln3)-P7}(Z%D?MmeaANxK!bzcC#QFa} z1*iWX`e*ejh%|ke964`m@c;kJN+*=$75@KXW;!rQVE0jF?H>#b+~HD(K`jeV?odpc UE;@DXo1C1|Pn-LH?BG!Z02Fw1cmMzZ delta 2590 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 diff --git a/F3DEX3/gc/F3DEX3_BrW_PC.data.bps b/F3DEX3/gc/F3DEX3_BrW_PC.data.bps index 2756caf107f41a20ecfc48904a3cc4fe0c7610f1..6f139bc160d83014fcf7e554bd9d4435527961f1 100644 GIT binary patch delta 205 zcmcb?_<)h$DInNTp*^FeA*VIJ(W7CaxNLpPLch$slGMDEe6B;xO|Ad`O!8@(%f!Iq zz);UnZ`?GEzp=8hv0-*y%eo(}|Nk$NZrIAe^iG&TfPsa9LE-<8e|>9O|1X$4ZPKJk z|CgyYtu?S<8VSfXhK* zW<#WDfw_XbnOSyrc6L@)mTs0#hGkYpM%L`IhMnEr-PvgDInNTp*^CdA+BXY>;M1Le45_mH43&&~)T0h5$kd>a-pB{1A#U|{&cuz_)d;1ux!!71CenKBq~J4iH^MW&f6$eWq% z+O=!f&Ye4Tcj|0cwcNRV`_9=s?R(d(S+i?tlmE5_^XB#RrP(u>%BsBT_7D5^@b-t* E0EVDcLjV8( diff --git a/F3DEX3/n64/F3DEX3_BrW.code.bps b/F3DEX3/n64/F3DEX3_BrW.code.bps index f36d6ddbe788a7969099ae64599bc03d26264e63..7d34be8f41cff6025122caec62e56f24da9fa7a9 100644 GIT binary patch delta 1713 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 diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC.code.bps index c7726d346e5924297501ccfff3be810f01906f0a..b87d19b4cb60602b72d4dde41471ebea3aea187e 100644 GIT binary patch delta 1647 zcmdm@a$ZH#DInNTU|Gi6hF&iQ2J?=G5?-?J15U^(s44I=1t^H~WO&K{*HIATRhX#h zBe16L+1UjQ4EGhJ85k5K1RN%|%G+OHj=nIdTn)@jZ7c~4tn+kt^mWW- z`nEucZ6ag-G|9%P{1=21{=c2pbJUJ`!fU2GA_~j}{T2LICO%e_ZR22IiR^e{1Xh$Q^K!5kf+An3%vw1$hRLxG)v zk%NIHYXLh`8xI5PJ&=tY46OI28#FUEus@rw#qGesz~VHylKmOZmn7d7sg)YSNUThm`J`5!t{ z6uBL|<(|7uapHFHw!3#`N;0>@p#U;?! z(AUu`sKCfOxt1wGrR7^gD^u{c7SYD=!`}0jyLivr+AGw+!0jFXm(NRh+TsbqOs$g{ zndKQTO;%(UXY`tE$t=yp6f`-E+15jt;Y?pcufZyYhQ5ZkjP3!dUb&Ck7rkO&^p1D? zw19!B&HMk;_E*n1CHiJe>gbx-`|1UUOVdH;XZZdA;}u&$$5sd(~j=FG4K zN=^+ujWV;E8fBy!nsz=nd@hv0pyT~m;JNopr}RnlIzMSGpC{MQ*KzWtyBPCJXEDZ? zo?=XF4Gd~8y~HM|_4Y+>+1ta#|3)<7{~x8v3_GL}m;@Kim^_6=vwp#}9@d8c9^Ut! zyL;D7^Y#8|`HX{s^|JTB@5#&$7&t&KZO-ODIk~uPXCAj@4m=(T zoD3XOw!LcSal~eH*{$<6gG$~TfpNnZ849V zzySu<38$HQ6*w6f88batI2hQZ6psD>4@wnF7?^rM8El#(kJB_K9v6^$kH)(U(=JV9 zIXPL8T|#!60wV+a0!3~I8HNA<6cqpeS773HIN@x-puo(1U~(9{wlPyAgQUw^Evd!!N|D+RA5;7;GWMoe6Q()@hVv3l&gg@S;D z0w}~LzhReVY@f`*G1)ZHEQ5hTL0)c;m;Apq2CEquy=3a$1QQsTy=3D3Pwo=nIk`)O z$7^c3&&izvj9ydSeNXNbVcdLy<1(Xegx3{O{+E*MlP8I+dsxXlnS+5PALO+uYD`l= zZslQM|73EgKeU0hNpR2PGh7MWecin;jw&!GH72%Cw%}H%SLos9zre%5{*9UYfP!g! zO2d5775xTV`|=vPCT;eN43mix^bIqtsQ6S>y#aDVCJYFIa;SAi>lVcy1B3pQ@)k>LNKEW!OkL8SY| zETiU?;vk19a5*s8J9I5GZr-QR(B0E`r>~*Ey{}^~2Lp@58VQCkVhsX~OZm?*JhD(& zz`$^)zq8+>Y1*8r{3oZFFiq;~>23MXbZN36k5V90{i^(iwfSpaGu10_3x%w$eBZZV zV*c8S4-D(NdX@JwFwXwinAO+NzkiazuDxFB^B5#!7#Jf16j&1&w3bc}+BGqMZ3F|u zyW*Yw@jI4IXXbX8+`^;F&u_50kF{ZW%GBvAQ`^}WOg_M4FWBxif!*I=8H0k?27Nz8 zO{Rd!0=)5z`zIIh$}=vQJb~Af$z|2#+q^D}-jfyh{2A3I7x2|HYEAyYC(pQlvH*V) zW7Ong{!T9T)%^;~`vcq8Cv0XDn8z3?@dYz@pzWh@B{tn+kt^mWW- z`sSd-D#(~UO|o$+{{i8I|8J-D9JOPf@S5qghyrs#e+B=MiH{X!%QzTV;`%x)npjKcM0JPa%zJxoj$A_@O*Fh>U{2s$w^t>I#-P+(_Z z;eVG z1_lLtp&81R{5$$B7#NhZ`S%J|{y)Yb5yrsk@c+oV9}Fz)4;X`$Eg2Y%wI|zHH(cak zkO*R0^n-zogMnqoqE`&;JPa&5W~nY}+%u`E@%Of-zh3e`bfzeB8+gk-cbnqGZQyNp z@642BZiC5x8O=qycC;EV@7ua|iUd=Qw{}{84;#at$?i;6T>O0veI31m3XD9HyO|Q$ zO1?F;GHjpxkx7=ZbTU7)Jmba5`pn{TTD^T8lNlPix+Y!hx`2#(C$KYYo1DUI>mkB$ zrmvybU=>3{U&C8Q_W)I|+{f*UUNJCw$Gd%6z`#`I{r_qEt7n`NeKRI?bWQAi^@2lk zUB}v2uQ{Z=|37Lsn!>}duA^6J%H)^KnE?(;P7OVcGP9Z*WuzLKc0M6Oek3#=8vDE=^=P>d}0^udDG#U(-|tZUc)Y+|x~3Y8zVQ8J8(A zGO#aDkQ6$^tR$c`#h=@Nfiaqa zx%+{_32_0Pd4=;W+r0k&PdXtbA#*}XM&{%`1%@6jhCP#yvFmfrP!Nz100raZf9%qX z<&&j2CY#2ZWiT)($jhzqlK;2HU^N4ymrT8zU;+cPmrT6>$z1|0CwGakcuh_BIUy;a z=QY*c_k^T~-sVRfml-v~y{?Gzzm#O3JV|67XLBXkJJ z1HN!K*OAkYh)N2*2prntdV2rSTi|(?Xq=^3eTF>Hms51 zez8WD`^_3T?moeWiCk-VxWDvqHLRP_tH2e&FmL0m1sf0aNbvtqmf(J&AkzI}mQl0S zN^y|;6u2B19J;m{H~*4oXiT5g)F{#4Bi2yWFqMA~!y^lY{?2}jrfGAg^6#8t!qn8) z)7$c&>Cj|t9wmN;$E)%i*5;GgI?-=43aSnjFABftO*QSOCu)n z@0ysuHiCiS-K746hNaV)xeX@IhzVV?d%gK-{P?sEccqg?r*S+ zLBVT-zMrBdQ^I5|-gw5{le>838Rtx1#p}t$vU>7YUKd99$yR*+jFOYP`05$eCUf!2 zGwz7&spUXjfPE};S znY^5#scCk0c6L@)mQI#-hDBCJM%L`IhMj$Vec21<`ls*Ov17&ZR{J#vdyl5i4)Q)O HJ9#z$bsAAW delta 201 zcmcc1c$ZP!DInNTp*_5%A+BXY>;M1Le45_mH43&&^&Y}B9E)77*qy|MAn;NCFFsol3>0aF6QEd~aL9}F89HwaFV+afq6J>7&spW8uvMpb0K znY^5-X?AvYc2<^VmQI#-hDBCJM%HYe_MLrwec5wn`loN(vSrEQR{J#vdygKEJ7P8O Hb?y}agB??V diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PA.code.bps index 814dd80a6468972c3a9d4c78bbc88bbdb40c8d9c..2c230b7d7946d80b92100d365d02c96ddf5ac226 100644 GIT binary patch delta 1677 zcmbQQvQI_RDInNTU|Gi6hF&iQ2J?=G5?-?J15U^(s44I=1t^H~WO&K{*HIATRhX#h zBe0+eF5MX_Ado`7a13{C_>Ihqb|udBSU^J0c3qdHogqS0=tOtZ(CBV2SJN=nrV_ zw`lm|1$G8T4hEK-1?>GtT3Ijl=Qi|mFtA>nevq+& z{n>OaZU+tq7RSkz{3oZIa69lYu((f87{+LHyFE^;tP1Tii8!NA7B zz_N4ED+YER29}-ER2MbMO>1iWy{+l3m;4W%DT>?<-g3{~rZ{msc-!4OGbNeZVe)-O z6Ct_2{=Nxor${jMcx$Ki_pmWVOjc!*SCwR7Tk7D&WS+pl8Gp!o|AXU!*n8e`7w>sndxaVpxV_{5@_7kQTRcIS zsntt(+5@=;1|~1jYm2=^?=A3@8hbAkqws0{;_GvWqE?dvz zF?k*9@p@D5_`m1G82(Q;ab{rX*KFwT=x9!xy$YNRjEtEcEF27Mdy+`9+hG~~3vK;YfzTel?_@l2$XQ~3XfyEN;=_W0;4K4DF(-asP*cT{r zJIE;f|EHk%|Gxqgx5Ei%0|o_V?gNt**tNBpA{iuw4lyeUC{6L_b~w3RfO%fwe9Jbk z|NoOtNJ+??kdl!(xle(qhl?po`C`6PY3PI7n*@(c-o}-{)z{to;-~_%QWN83MQ+9V4?W!c7kC)hzcF(kP%w>8X_#-j zyx(JMUtUAk#EruJ75rz`Fz_Ey5D{pYH)-P<8HR>6vJ5S2SnI$dek#KN@^3=HpzclMX>SUR1V+hKAhkEUop!_=u93~bB>tNU0R zmQR_!GPRw(VDfSvd%~H6xOs9ouRPqGBj4G24 z^13qGPiE)yXH=UU&R5SUGx<87Jmcoc-}&NLyH_YS`%RAK@8n8f-OsS1Kd^m$!sd7U z^BJSrUWiBtfC|`FF9tTo2mvJ)$A3(-QdV|0Do9Sso;}gMy@dbdF81EJb51Y`m@!D6 znrt<(d&5U21!iUj9tO50zA3QkNPUN|Y#i#Y%Pr{MJeL;tK^1(Bu?lb;J3a4gO9 KNqtcFF$w^GyIY$8 delta 1696 zcmdm|GG9g0DInNTU|Gf5hF&iQ2J?=G5?-?J15U^(NGk9$B`ApVM0m;n*HIAT6_}{$ zBQUG)+1UjQ4EGhJ85k5K1Og_usyiHDj=nI&rM8SmOFR`U9H# zEgHV|Ffmn#B>cb2937w_=)}OZhKs2}ft`VogMlSy0ek$ofGz$nhZw$#Ck$vlC9GyahG z{s+eyOCnhM7WA?vFtYbG^mX(KDloE4E@yI&Df!mW%CLP~i)dr`Vefg%UA*UQ?GFJdjww70>pFUs zrcB<$oD|@o@8mnNIBws0}*?bB%J zUACUbV)7Bz6D{^kPxf;$UDi^kUVW%-qnW(NNeRvTOm5#k9pd zW&#HoSSOrjs#V}*U}VhnVBuh3<4`#E|34`0EMZ`(0cEdgjyy)woOnz?>OC6oGEBQP zk>$W-Ms^9=WeSW8>|6hTL+u($=0fPcF_lC)4?AqE4dl@8!4lyeU zC{6L_HaH(es^8{{&`(6wTSrfRJ$|pZypKR)DmchWFATO8WCI4@Y!Di4bN2%U=I#ed%tr#0Kw=yWEQO5S2?|rx zm|8$yP%^Mwa`{8aeJh!G?)kYk0W7^l>$;o6)Pl6~HiWW)226kI9w% zom`x2`U6(|?1}E} zCHy;gvG>lMbAn00j6w3$WUGnY8{RT0Ff)DNVPI?ZR(jB`;KcOcg_A;M1Le45_mH43&&;NCFFsol3>0aF6QEd~aL9}F89Hwey=nM+AZcdJ7j!uqtmPJlhR?cjm_MP3`-MKTT`DJe2xN+fvLc28wdyj@6KU2O? H$a*aRd~H&1 diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PB.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PB.code.bps index 22453ac06cc6f37fa72dd591ef7a68d373eb586e..5556e77af1cafd998ae778a5ad89f1c2a88389fe 100644 GIT binary patch delta 1656 zcmaE@+^VAK6cB7Eu#96}L$4PDgL%h82`}0A0Vm`X)D(D`0u;n~GQ8yf>nMovDooV$ z5t!Zg?Cb&thWiTA3=9eq0uB>f3G6heb!z9btI(Zk9yx9fsxH?zw_}}Lk zvm#Xbo=lq9HKFff--Ujwp1zLB3=LgflP-2$K*qfj*qMSR^E2Br3QzWBmS=36oXafF zQOv`zuA^6}c=8nHr1}L)P7OVcGP9Z*WuzLKc0Ml+r!2GMl|97AEn6*JERhrR2I#c z=pCTM>d4pFHTAxS)ive?(|R8M_wc^=+}*owny>dy%V!)6tOvaReNV1e-s>Q*;X5_`HJDItmOQWH% zL1fti9*=2@dE5jJFtAQI&D5*F$-u~%>A}Lmz{aU??Eil+`5!t<7?^rMd1smCs-7iPOvF3PvB;_@5R87HGzw%eeyc? z$)JlBstSOkiO4l8N^}xl4fOdOfXaj4L z;GW4vTnXHL-Muf4Dli8%M|MoU$0e6>p@*CQg7Q6wNxY4Hk$YNA<5L>u$1d-$*xDDd zt!v^&;r1*h3@9UV$ z!N4N1MuOpsSc5?0QvNdxk1P}xFfiQd@9ZyVoHl1F|H&yPOq2S0dRzW8U7Ea$Tgiv1 zepPYGpCqtrub28f2FVx(#>fB# z)&vIarPG6UP0U{#!NBmYcxS)*&ZX0txg92J@MtRZ2P|5vJcogagMsy*!DGpf!*I=8H0k?27Nz8O{M^^4gCHFs~8@5T`=oOY?*wH zCxCI?WO-hB#{S9nyq=6&lRJ4`8LcLt=k;e)n=H>)&nPu{KA$|}y2<bYar8aeMgp9ui;Ut>xD delta 1590 zcmZowd9AGJ6cB7EuuNiIL$4PDgL%h82`}0A0Vm`XBo%m>5){OFBE01P>nMov3QW}W z5t!ch?Cb&thWiTA3=9eq0s#|SWh@B{tn+kt^mWW- z`sSd-D##cyO|o$+{{i8I|8J-D9JOPf@S5qghyrtde+B=MiH{ZQ%QzTV;`%!J9h&X3^oq>^qfhB7Jd;glF>`$j_aT{leLZVCP|ASwBm4QRALTO^v^|HNEwc|DiKQk=wvq z?z!6(CvF38yL)G*By$@~zRYMMB-7X5H(~7*38orv?X>GP$#rd~0ZB*gkm`lPqKDRi3!f1hK_icsl$GHGJhguaV?7y6|p zF-tQsY@000Y|AJzIht9Xv21cRvpmNX9)@)ty-HIiFJexrcTjR_=xLOh)zl~>)zGx_ zx#4r61_n*<#{$p2Upl2vn%DVBYxz96hQ5xgFWtqMUpk91zVsAhVr5`ZdFds_;J`Ia zciB=!VTK)|4*&o3aIKm$(K|qi)se5UYwCRut82^&(|R8M_wc^=+}*owny>dy%V!)6 ztb4rweNR^2>o6&3bA5kVV{dad|IW#pofls-ure?(Feu++VB}$7f2ANHctWvfzR~2$ z22qP8@{G%r_cAapU|=faVPLzgz{bF$z|HVvX##hUY{LJ4irN2fDF`vJEpy~CTIR%K zvdo#sY?%X(g#sr7$CPdPn;HeCHMR0s%xY;Zn6j*;F{!WVtpY!f1;^Ca|Nkkz`f_P9 z4{Hk-!`?oPhTdiCc`PQ+Vm)53?;Zd5oEXFZ=_bw$4E>r7{T^Qg0jc+Byvs1{(nOYB9?kdrx*C7yS{3Kf`Iq|P*9#=P+&O0q`-KBMST8z4z@Q*6m*XY>Z;iof21YNLdN;uY24*jrc>j~T z1Xxb)5@GS0n(lK#Qb5mZs=MzANfEuxZ5)>wHG{pbi1NRbWS=}qWF2R7CG%ts29|t~ zx2LEvwSe5r!@&N@%AL!xczo2~2VG?g+U*w)v z)A*c*tqw|xTnyV;0~wDnM_*8w(<`FDAkwq8zk+|y8V3F&3L*jxb2hG#VQ5$*%h0k$ zj-g}C#e}J; zucx==KhvSf=ed>m86L07Z&;hZ<~74(1#W>IlXxUl4|=KhF-XQRFh&L_uqH5QFO8VQ zziVRt+6V@Qca!=h8kSCH<~EpY%cChbxnRo5ISfo346MHlRx@zypVq3_GudWdVf!lu z33i9cZ9Mi0&fUfc|NZzquJ!Ay#9=mlTG>R8O0`V<&$SzHTf!EGNbEcOa2bN{gG?>G`9CM ztn5#0-(Ru$690V0D25jz5(1zyvDJ%#jWI$%iN*0B=Pb|O&T0k8N!ha}y0@3`@7%@S zJ9o+nCIK@B$y1Y~CU$Rl%cQ`}^nr(gt;t*ILA!zz(}NdI3iTq+|NkjC{hvIeS3#ud Z!Q?Z7+I-oYMW%aCoxI}e(vNE^TL9OsG5i1k diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PB.data.bps index ca938fbc7759aa07905e69ae18feb1378fa96cf9..0825a2acc269928feb984684646e0fda0baad3c1 100644 GIT binary patch delta 201 zcmaFB_<)h$DInNTp*^FeA*VIJ(W7CaxMF=vqyD^}uBLT~jg5aM2{p}SVqkG#sAs4* zZkop5SlQUvFuSg0-H+D){})L&oMm8oC(Izgz{0?w@c+j@21bVe{})W2HtE=;|I1XH z)*4u_^0M%7A7EhMJ}}9tJ+NT{Qvt&*1_p*7OfifL1gFTg2u|rwPd8!E=du@{TosXT zCNF1bYMPy$ot>4HrIV$dVUd-Qku|%lVP|V=YxeXhe(4+6ub)3J-)_yp-lOfxz6ZDP H9IOHWQ0`E2 delta 201 zcmaFB_<&K|DInNTp*_5%A+BXY>;M1Le45_mH43&&;NCFFsol3>0aF6QEd~aL9}F89HwaFVD-oQMo^HaR&uuT>UloyW zCNF1dnw_1Uot34TrIV$dVUd-Qku{sAeP?THYxd*`e(7shubw?C-)_yp-lMHGWz9UN HR{jD2UZqk% diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PC.code.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PC.code.bps index c3973a6b1cee454c6db00cf8cdf40b5cdf77576c..a3f1fbafea7041e809b085657543f28f2b632794 100644 GIT binary patch delta 1673 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 I^1m+w0FCoytN;K2 diff --git a/F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps b/F3DEX3/n64/F3DEX3_BrW_NOC_PC.data.bps index 3392aef3ba2dac3062b75d1daf7d9bd3fd4fc501..cd1c470b427a40eef852d612214973ae8001253d 100644 GIT binary patch delta 201 zcmaFB_<)h$DInNTp*^FeA*VIJ(W7CaxMF=vqyD^}uBLT~jg5aM2{p}SVqkG#sAs4* zZkop5SlQUvFuSg0-H+D){})L&oMm8oC(Izgz{0?w@c+j@21bVe{})W2HtE=;|I1XH z)*4u_^0M%7A7EhMJ}}9tJ+NT{Qvt&*1_p*7OfifL1gFTg2u_)ro^Hxuz~vw@vmvs; zTtVK@%q%-QJ3A{YOE*g=!!j!)BWre9!_MyR?(Dg<{L{B@-MVy1f&H3;y+_#(N}n*1 H+xG_mTKG`a delta 201 zcmaFB_<&K|DInNTp*_5%A+BXY>;M1Le45_mH43&&;NCFFsol3>0aF6QEd~aL9}F89HwaFVD-oQMo^Hxu!0jM0wIQ;= zTtVKy>@jK3O HENKS-W&lxW diff --git a/F3DEX3/n64/F3DEX3_BrW_PA.code.bps b/F3DEX3/n64/F3DEX3_BrW_PA.code.bps index cce5822cf68a8d06ee76a3cffd185a4b67ced660..6796c54edd131700398966a4d6294507bfb724f5 100644 GIT binary patch delta 1724 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 diff --git a/F3DEX3/n64/F3DEX3_BrW_PA.data.bps b/F3DEX3/n64/F3DEX3_BrW_PA.data.bps index 64b2045dac1e463c3fe4b103d67838ab49de73fe..84a49ae9ff858ed4f3314aedf17ab38a40404ef9 100644 GIT binary patch delta 201 zcmcb^c!!bSDInNTp*^FeA*VIJ(W7CaxNLn(qyD^}uBLsNjg5aM2{p}SVqkG#sAs4* zZkop5SlQUvFuSg0-H+D){})L&oMm8oC(Izgz{0?w@c+j@21bVe{})W2HtE=;|I1XH z)*4u_^0M%7A7EhMJ}}9tJ+NT{Qvt&*1_p*7OfifL1m{R_2+o>1gq2>t Hm0kk?MSV~@ delta 201 zcmcb^c!yEkDInNTp*_5%A+BXY>;M1Le45_mH43&&~)Y}B9E)77*uv$65d;NCFFsol3>0aF6QEd~aL9}F89HwexV{~$OgGt-1YpW9x1YC}Y! znY^5-X>M+AZcdJ7j!uqtmPJlhR?cjm_MP3`-MKTT`DJe2xN+fvLc28wdyh8H71|Zq Hkh2p2l-p9a diff --git a/F3DEX3/n64/F3DEX3_BrW_PB.code.bps b/F3DEX3/n64/F3DEX3_BrW_PB.code.bps index d2ec4c82b0ef0eeed1015e79ff273df4532ad88c..61d941ffb8f0c36fcd9b539ac0a86d478d5cc880 100644 GIT binary patch delta 1728 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 ACIA2c diff --git a/F3DEX3/n64/F3DEX3_BrW_PB.data.bps b/F3DEX3/n64/F3DEX3_BrW_PB.data.bps index 19745fd087b29f9fec37b424bf31939bdad1a6e3..965e45dd31b9e053cfbe53135c2417868b6629e2 100644 GIT binary patch delta 201 zcmcb^c!!bSDInNTp*^FeA*VIJ(W7CaxNLn(qyD^}uBLsNjg5aM2{p}SVqkG#sAs4* zZkop5SlQUvFuSg0-H+D){})L&oMm8oC(Izgz{0?w@c+j@21bVe{})W2HtE=;|I1XH z)*4u_^0M%7A7EhMJ}}9tJ+NT{Qvt&*1_p*7OfifL1gD6<5uDPWo^HaR&t)$@xhf*x zOkU2=)HFLgJ3A{YOD9V^!y+pqBWre9!_L;$*6it1{L(kBUq63dzTKLGy+?1^F)NCH HKOYJJaHUY1 delta 201 zcmcb^c!yEkDInNTp*_5%A+BXY>;M1Le45_mH43&&~)Y}B9E)77*uv$65d;NCFFsol3>0aF6QEd~aL9}F89HwaD7&spW9x%zbYc% zOkU2^G&?&xJ1a{wOD9V^!y+pqBWpHK`_9(Z*6hg>{LU>uhF&iQ2J?=G5?-?J15U^(s44I=1t^H~WO&K{*HIATRhX#h zBe|&WnQVgtcLKv2ZvHC^7#Qv=NHZ`fNC*T>?34Doz#M&Hmc=g72EhXy3~USy%uH=8 z2@GuOelV~o-*aGC_mhD^={o}l)3*gmY!ew%r>X9m%6~yP;s2XyJs0hmC%k65Bci~Z z++V?eW#VU(`Zf**mbku-ey^r}kA|;3OiUdj3IA_1M+YbfIx#S<;bQ7gU}s?DU|`8w zz}|nPmGx?WX+tju1MAi4Cm9>qZ%xcs9IKke?l)z}Uc`U@tUBxsv}xzXbz>ayI{2!OH(3#~38S7+4+t9|5_a{Q;w| zvLyqfvG!!fri&a55QYqK)B)z2_}=@t(J}SEzx3+dKX*pO^5o#S?^? zS|@*Cl4rayS%6twj;pt?V=_ZSSJ$MAT^EpX?*w+HpvkVxwjRO^XZjj?4OTHU^fkO? zbPrJV%6;6v=oJH_cf8xD1q@7W-v6Jrzk0?g(KlmKN7uyOS1&ju*LAFY^_oM<`~RbM zqhcP0bsfD*#gk7lCuJ{Ca%$*ll$q7kC?nO-wDY;)bD;zVZSThd&%IwdrB9mI`AKW} zJh_Ixj*~Cl#h70@i!r|R6k}p*U{HPOB{oT|w=Z(b*&Z(bH;O$B?4k+(e=AL9*ddj` zB)MqDMDGA4R!6?ZF4Knl9#+?w7fhbWB3^&W```Cu<_8QMAcr<*^PimT-L~>I11k>$ z`+Wro!4uQ{CTBK?YAlgwoCZ?C!@zc1fsKJhft%sU(gf}#*@XZ96tn-|QV?QbTjt2) zw9JXeWtlUN+cF0p4+TyJjw##N8X5(rHMR11%xY;Zn6j*;F{!WVtpY!f$JE#V|0y!R z`f_NpHfswPQ)Hh;L+`TnJRXyGvL0u&p4`YLQSZUQz$V&%X{8s7sul+Wo23`4?queM zE{%r529ae8cs!;p=5Z4^z`#1;G*hnvCj%p6rUwfL1Dk-tvH$-;31$fcQx7QLO>^XN zn&!mg0#fhMc$ZhEN z7<&&FQ^e$6c4N*C1p)CNpfHq#DE6a=oBx6XXTqeIw!X+ct)}tYWVZHe zPWIuJv(agopSY#pV{0E*Lx14TwLM(?R~WM*l$g68D0FNT?yulKvxb5Hh=Pbf!@Q1- zYh)N2*2prntdV2rSTlM4Sx^BFVHk?&Q$)BQ%sm9_4Ukc`OkETgMt0sWLq93U#9w1`3)Bf*1Tq_SKt{(HXRnz2lE+@K-D?87zrivF1+NYIeu|n* z0h29x;~BS3p2;iEIBoJyUQb4o$;^DNjE<8%`TQBxCeP%nXH=Rj$uG~ib+RRY99#Da z#pVF-$#eKSbjw%w3#{l5Y+s+yZrZKD^#7KCJ41#7GXsl2Izy`h)BkG%?hIWD%>Sm^X@=Os|e|3Xwkn1g|x=Y@!bz!Wv6DWKHT_cXQ1l=EI3RbU2{t*u@RY>W|;Ojb4Co7L3Ws318hd-g<+_7eV+tJr(jzEhAFoN|Im zz>Goi)MTg0-5WkKDKIlL@G!8g^HzG$uHeM<;f0ezy@>Pwe+o|jKlIP)RS;?VFgbFb a;N-PJYW&khr;1GXo?7~8bAQEt?X3V1(r>o_ delta 1693 zcmeyX`cPHVDInNTU>V2yhF&iQ2J?=G5?-?J15U^(NGk9$B`ApVM0m;n*HIAT6_}{$ zBRQ|{nQVgtcLKv2ZvHC^7#Qv=NHZ`fNC+fM?34C7z#M&Hmc=g72EhXy46J_|n3>90 z5*XOl{a|2GzURQO?k59-(su?9rf&{Ptb&Y*(^Pj&t@c+%Uo{M(O6J9f&7ExeM z?yulKGV!xXeHjM>OI%+^zgJVgN5j`1CZ-CJg#WjhqXQHKofw$ba4}UVurn}nFtB7T zVDDdZl>OFpEp7u21{SBumHa!Wn{XTSPgyxVk$)#s;{qiGpFUsrcA!coFwL;9ym4QL!rI#3k1J^X&Wm^@68Fnc4FmQ=F{Qup77{mYRCe92D{hAH^ z9o-!ZWtJ`GvEX1}6YRgV(u+k^i-Up9)QeSjGIK+hMnhqP$g%}I7Sk58_GwxLCyahU=m1N#C+ZUY&G|Nj&e|NmED;x;(pY`~zv%)Mc< zJ-dz&!(IkSp+n3{0!mZ-xeZQ;3+PO)WtZk;@ZNuny@!io&*X*d#+(%j0^%<~p*Z<2 zyEJ3@2{k95@pu#kBQB?rAlR-zKxQpL22o zx1764!%_z&MJ|TztbvT@`nVeA^at+P+r!0wg)u8aiMjiMf`|fxNZ-uviiU-I)-doN zQ4kSmm^WkN8X1O$HL?sXYvdR@)=ZXdoV<(MAjYM+QDCyx_PNRu+%FVFx?fD^Z0KYV z=jq=zk;{R>p=;ZoUlI+C8MB&ZN`lHK<$IImx1D2X?AO@7s$(nv9)?F23LtSF1{RNL zbEfj|oMOV%)YsG7@}KEY|MtltJW75Hk5}b4Tr61gn&Ghmx4@pYmG6IWFt8M?t$6=u z-KN=!I~%k58v6H764-UnOTCXlGKPUMGC+YffkAs|#3cS*6ARWxFfhEE)GyJnbUHJ) z!Q{g{y8Mg=tNU0Rmg`KNzB09)J!A5J9(%!ZuL zJ+D0Dq{-)bJsC?TOY*rg+D?w=^JkQtyq>R~QEsw6zdYl{$^QIttdm&gNH$O2%-^BQ zxu!p0MSo=b`iyqdZUv_Qw*=f7G8C8@SOn4;S`?W6UlVX==u}|-e^nrzp?7nJKp~?> zY;(DGoi)MTs4-5cIA zDKImA;9+1}>80Ebs%WdHyG diff --git a/F3DEX3/n64/F3DEX3_BrW_PC.data.bps b/F3DEX3/n64/F3DEX3_BrW_PC.data.bps index 6fe193de6cd531b1e78969d14af145b3348b76f8..27ee568bacb52534fd74b256377a6934be1e8588 100644 GIT binary patch delta 201 zcmcb^c!!bSDInNTp*^FeA*VIJ(W7CaxNLn(qyD^}uBLsNjg5aM2{p}SVqkG#sAs4* zZkop5SlQUvFuSg0-H+D){})L&oMm8oC(Izgz{0?w@c+j@21bVe{})W2HtE=;|I1XH z)*4u_^0M%7A7EhMJ}}9tJ+NT{Qvt&*1_p*7OfifL1gA(a2u_)ro^Hxuz~vw@vmvs; zTtVK@%q%-QJ3A{YOE*g=!!j!)BWre9!_MyR?(Dg<{L{B@-MVy1f&H3;y+>dF`5oqI HD8UH;My*hD delta 201 zcmcb^c!yEkDInNTp*_5%A+BXY>;M1Le45_mH43&&~)Y}B9E)77*uv$65d;NCFFsol3>0aF6QEd~aL9}F89HwaD<{~$OeJ>8VSfZIW0YC~j! zxq`fzS$1}Ic2<^VmTs0#hGkYpM%HYe_MP3`-Ptpz`KNE*xN+fv0{b-wdygJ{yZnFP H?cb6Bm?l&| diff --git a/include/ultra64/gbi.f3dex3.h b/include/ultra64/gbi.f3dex3.h index f5f3c99c6..39db98305 100644 --- a/include/ultra64/gbi.f3dex3.h +++ b/include/ultra64/gbi.f3dex3.h @@ -16,6 +16,9 @@ #ifndef GBI_F3DEX3_H #define GBI_F3DEX3_H +/* Don't remove this block 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 @@ -28,6 +31,13 @@ #define F3DEX_GBI_PL 1 #define F3DEX_GBI_3 1 +/* This is only included to check correctness of OS_YIELD_DATA_SIZE. If you are +sure this is correct in your project, you can remove this include. */ +#include "ultra64/sptask.h" +#if OS_YIELD_DATA_SIZE != 0xC00 +#error "F3DEX3 requires OS_YIELD_DATA_SIZE == 0xC00" +#endif + #ifdef REQUIRE_SEMICOLONS_AFTER_GBI_COMMANDS /* OoT style, semicolons required after using macros, cleaner code. If modding SM64, will have to fix a few places the codebase omits the semicolons. */ @@ -63,7 +73,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, not supported in F3DEX3 */ +/*#define G_SPECIAL_1 0xD5 triggered MVP recalculation in F3DEX2 for debug */ +#define G_FLUSH 0xD4 #define G_MEMSET 0xD5 #define G_DMA_IO 0xD6 #define G_TEXTURE 0xD7 @@ -578,8 +589,12 @@ longer a multiple of 8 (DMA word). This was not used in any command anyway. */ #define G_MDSFT_PIPELINE 23 /* G_SETOTHERMODE_H gPipelineMode */ -#define G_PM_1PRIMITIVE (1 << G_MDSFT_PIPELINE) #define G_PM_NPRIMITIVE (0 << G_MDSFT_PIPELINE) +#ifdef KAZE_GBI_HACKS +#define G_PM_1PRIMITIVE G_PM_NPRIMITIVE +#else +#define G_PM_1PRIMITIVE (1 << G_MDSFT_PIPELINE) +#endif /* G_SETOTHERMODE_H gSetCycleType */ #define G_CYC_1CYCLE (0 << G_MDSFT_CYCLETYPE) @@ -1194,6 +1209,18 @@ typedef union { long long int force_structure_alignment[2]; } Vp; +/* + * Light types, encoded in the kc coefficient. + */ +/** + * Standard directional light. Equivalent to kc = 0. + */ +#define LIGHT_TYPE_DIR 0 +/** + * Identifies the light as a point light, with x acting as the kc coefficient. + */ +#define LIGHT_TYPE_POINT(x) x + /** * Light structure. * @@ -2027,6 +2054,26 @@ typedef union { * Macros to assemble the graphics display list */ +/* + * Command where only the first word (containing the command byte) is used, + * saving one CPU instruction to write the second word as zero. + */ +#define g1Word(pkt, c, l) \ +_DW({ \ + Gfx *_g = (Gfx *)(pkt); \ + _g->words.w0 = (_SHIFTL((c), 24, 8) | \ + _SHIFTL((l), 0, 24)); \ +}) +/* + * The static version has to fill in the second word with something. + */ +#define gs1Word(c, l) \ +{ \ + (_SHIFTL((c), 24, 8) | \ + _SHIFTL((l), 0, 24)), \ + 0 \ +} + /* * DMA macros */ @@ -2084,8 +2131,8 @@ _DW({ \ (unsigned int)(adrs) \ } -#define gSPNoOp(pkt) gDma0p(pkt, G_SPNOOP, 0, 0) -#define gsSPNoOp() gsDma0p( G_SPNOOP, 0, 0) +#define gSPNoOp(pkt) g1Word(pkt, G_SPNOOP, 0) +#define gsSPNoOp() gs1Word( G_SPNOOP, 0) /** * @brief macro which inserts a matrix operation at the end display list. @@ -2258,8 +2305,8 @@ _DW({ \ #define _gSPBranchListRaw(pkt,dl,hint) gDma1p(pkt, G_DL, dl, hint, G_DL_NOPUSH) #define _gsSPBranchListRaw( dl,hint) gsDma1p( G_DL, dl, hint, G_DL_NOPUSH) -#define _gSPEndDisplayListRaw(pkt,hint) gDma0p(pkt, G_ENDDL, 0, hint) -#define _gsSPEndDisplayListRaw(hint) gsDma0p( G_ENDDL, 0, hint) +#define _gSPEndDisplayListRaw(pkt,hint) g1Word(pkt, G_ENDDL, hint) +#define _gsSPEndDisplayListRaw(hint) gs1Word( G_ENDDL, hint) /* * Converts a total expected count of DL commands to a number of bytes to @@ -2430,27 +2477,36 @@ _DW({ \ /** * @copydetails gSPMemset */ -#define gsSPMemset(pkt, dram, value, size) \ +#define gsSPMemset(dram, value, size) \ gsImmp1(G_RDPHALF_1, ((value) & 0xFFFF)), \ gsDma0p(G_MEMSET, (dram), ((size) & 0xFFFFF0)) /** - * RSP short command (no DMA required) macros + * Flush the internal DMEM buffer of RDP commands to the RDP FIFO in DRAM, + * causing the RDP to immediately begin executing any previous commands. + * Without SPFlush, the RDP may not begin executing any given command until up + * to 46 more RDP commands after that have been processed by the RSP (or the + * final end of the display list for the frame). + * + * The primary use case is if your frame's display list begins with clearing + * the framebuffer and/or Z buffer, and then proceeds to things which take + * significant time on the RSP before emitting many RDP commands, such as + * matrix and lighting for drawing a character model. You should insert SPFlush + * after the first large buffer clear to cause the RDP to begin executing those + * long operations immediately while the RSP is continuing to work. If you are + * clearing both the framebuffer and Z buffer, you would usually only need one + * SPFlush after the first of these two DPFillRect commands. */ -#define gImmp0(pkt, c) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ -}) +#define gSPFlush(pkt) g1Word(pkt, G_FLUSH, 0) /** - * @copydetails gImmp0 + * @copydetails gSPFlush + */ +#define gsSPFlush() gs1Word( G_FLUSH, 0) + +/* + * RSP short command (no DMA required) macros */ -#define gsImmp0(c) \ -{ \ - _SHIFTL((c), 24, 8) \ -} #define gImmp1(pkt, c, p0) \ _DW({ \ @@ -2466,58 +2522,6 @@ _DW({ \ (unsigned int)(p0) \ } -#define gImmp2(pkt, c, p0, p1) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ - _g->words.w1 = (_SHIFTL((p0), 16, 16) | \ - _SHIFTL((p1), 8, 8)); \ -}) - -#define gsImmp2(c, p0, p1) \ -{ \ - _SHIFTL((c), 24, 8), \ - (_SHIFTL((p0), 16, 16) | \ - _SHIFTL((p1), 8, 8)) \ -} - -#define gImmp3(pkt, c, p0, p1, p2) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL((c), 24, 8); \ - _g->words.w1 = (_SHIFTL((p0), 16, 16) | \ - _SHIFTL((p1), 8, 8) | \ - _SHIFTL((p2), 0, 8)); \ -}) - -#define gsImmp3(c, p0, p1, p2) \ -{ \ - _SHIFTL((c), 24, 8), \ - (_SHIFTL((p0), 16, 16) | \ - _SHIFTL((p1), 8, 8) | \ - _SHIFTL((p2), 0, 8)) \ -} - -#define gImmp21(pkt, c, p0, p1, dat) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = (_SHIFTL((c), 24, 8) | \ - _SHIFTL((p0), 8, 16) | \ - _SHIFTL((p1), 0, 8)); \ - _g->words.w1 = (unsigned int) (dat); \ -}) - -#define gsImmp21(c, p0, p1, dat) \ -{ \ - (_SHIFTL((c), 24, 8) | \ - _SHIFTL((p0), 8, 16) | \ - _SHIFTL((p1), 0, 8)), \ - (unsigned int) (dat) \ -} - #define gMoveWd(pkt, index, offset, data) \ gDma1p((pkt), G_MOVEWORD, data, (offset & 0xFFF), index) #define gsMoveWd( index, offset, data) \ @@ -2559,22 +2563,13 @@ _DW({ \ /** * 1 Triangle */ -#define gSP1Triangle(pkt, v0, v1, v2, flag) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - _g->words.w0 = (_SHIFTL(G_TRI1, 24, 8) | \ - __gsSP1Triangle_w1f(v0, v1, v2, flag)); \ - _g->words.w1 = 0; \ -}) +#define gSP1Triangle(pkt, v0, v1, v2, flag) \ + g1Word(pkt, G_TRI1, __gsSP1Triangle_w1f(v0, v1, v2, flag)) /** * @copydetails gSP1Triangle */ #define gsSP1Triangle(v0, v1, v2, flag) \ -{ \ - (_SHIFTL(G_TRI1, 24, 8) | \ - __gsSP1Triangle_w1f(v0, v1, v2, flag)), \ - 0 \ -} + gs1Word(G_TRI1, __gsSP1Triangle_w1f(v0, v1, v2, flag)) /** * 1 Quadrangle @@ -5232,19 +5227,8 @@ _DW({ \ _SHIFTL(sB, 0, 8)) \ } -#define gDPNoParam(pkt, cmd) \ -_DW({ \ - Gfx *_g = (Gfx *)(pkt); \ - \ - _g->words.w0 = _SHIFTL(cmd, 24, 8); \ - _g->words.w1 = 0; \ -}) - -#define gsDPNoParam(cmd) \ -{ \ - _SHIFTL(cmd, 24, 8), \ - 0 \ -} +#define gDPNoParam(pkt, cmd) g1Word(pkt, cmd, 0) +#define gsDPNoParam(cmd) gs1Word( cmd, 0) #define gDPParam(pkt, cmd, param) \ _DW({ \ @@ -5473,4 +5457,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 /* GBI_F3DEX3_H */ +#endif /* F3DEX3_H */ diff --git a/include/z64save.h b/include/z64save.h index 21cb73fdb..10e2fbe0c 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -12,10 +12,14 @@ typedef enum ZTargetSetting { } ZTargetSetting; typedef enum Language { +#if OOT_NTSC /* 0 */ LANGUAGE_JPN, /* 1 */ LANGUAGE_ENG, - /* 2 */ LANGUAGE_GER, - /* 3 */ LANGUAGE_FRA, +#else + /* 0 */ LANGUAGE_ENG, + /* 1 */ LANGUAGE_GER, + /* 2 */ LANGUAGE_FRA, +#endif /* */ LANGUAGE_MAX } Language; diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index d2e348ba8..0d6760433 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -1423,6 +1423,13 @@ void Environment_Update(PlayState* play, EnvironmentContext* envCtx, LightContex } } +//! TODO: remove once this is documented +#if OOT_VERSION == NTSC_1_2 +#define MOON_VTX gMoonDL_04039410_Vtx +#else +#define MOON_VTX gMoonDL_04038F70_Vtx +#endif + void Environment_DrawSunAndMoon(PlayState* play) { // This replace gMoonDL in gameplay_keep. TODO make this gMoonDL once asset replacement is sophisticated enough static Gfx sMoonDL[] = { @@ -1436,7 +1443,7 @@ void Environment_DrawSunAndMoon(PlayState* play) { G_AC_NONE | G_ZS_PIXEL | G_RM_FOG_PRIM_A | G_RM_XLU_SURF2), gsDPLoadTextureBlock(gMoonTex, G_IM_FMT_IA, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), - gsSPVertex(gMoonDL_04039410_Vtx, 4, 0), + gsSPVertex(MOON_VTX, 4, 0), gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), gsSPEndDisplayList(), };