Merge pull request #364 from hatal175/m_do_graphics

Work on m_Do_graphic
This commit is contained in:
hatal175
2023-07-08 06:06:50 +03:00
committed by GitHub
25 changed files with 647 additions and 348 deletions
+18 -18
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 28.020678% | 1007776 | 3596544
.text | 28.037360% | 1008376 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 35.608774% | 1431712 | 4020672
Total | 35.623697% | 1432312 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 35.608774% | 1431712 | 4020672
RELs | 33.680860% | 3873408 | 11500324
Total | 34.180281% | 5305120 | 15520996
main.dol | 35.623697% | 1432312 | 4020672
RELs | 33.810282% | 3888292 | 11500324
Total | 34.280042% | 5320604 | 15520996
## RELs
@@ -71,7 +71,7 @@ d_a_cstaF | 32.377740% | 3840 | 11860
d_a_cstatue | 29.155833% | 6728 | 23076
d_a_demo00 | 29.136000% | 7284 | 25000
d_a_demo_item | 33.863165% | 3920 | 11576
d_a_disappear | 45.091514% | 1084 | 2404
d_a_disappear | 100.000000% | 2404 | 2404
d_a_dmidna | 100.000000% | 1888 | 1888
d_a_do | 37.666220% | 14616 | 38804
d_a_door_boss | 40.856890% | 3700 | 9056
@@ -201,13 +201,13 @@ d_a_kytag06 | 100.000000% | 14140 | 14140
d_a_kytag07 | 100.000000% | 1272 | 1272
d_a_kytag08 | 31.379026% | 1520 | 4844
d_a_kytag09 | 49.936948% | 1584 | 3172
d_a_kytag10 | 31.720430% | 944 | 2976
d_a_kytag10 | 43.413978% | 1292 | 2976
d_a_kytag11 | 52.643172% | 956 | 1816
d_a_kytag12 | 20.217129% | 3352 | 16580
d_a_kytag13 | 30.696576% | 2080 | 6776
d_a_kytag14 | 100.000000% | 1408 | 1408
d_a_kytag15 | 49.443561% | 1244 | 2516
d_a_kytag16 | 47.212544% | 1084 | 2296
d_a_kytag15 | 100.000000% | 2516 | 2516
d_a_kytag16 | 100.000000% | 2296 | 2296
d_a_kytag17 | 100.000000% | 752 | 752
d_a_mant | 86.020312% | 40316 | 46868
d_a_mg_fish | 26.024167% | 17660 | 67860
@@ -385,7 +385,7 @@ d_a_obj_crvhahen | 37.120623% | 1908 | 5140
d_a_obj_crvlh_down | 42.363776% | 2208 | 5212
d_a_obj_crvlh_up | 42.485784% | 2092 | 4924
d_a_obj_crvsteel | 48.717949% | 1520 | 3120
d_a_obj_crystal | 44.482173% | 1048 | 2356
d_a_obj_crystal | 100.000000% | 2356 | 2356
d_a_obj_cwall | 30.455195% | 5968 | 19596
d_a_obj_damCps | 100.000000% | 504 | 504
d_a_obj_dan | 35.198921% | 4176 | 11864
@@ -489,12 +489,12 @@ d_a_obj_lv3Water | 44.263566% | 4568 | 10320
d_a_obj_lv3Water2 | 41.786571% | 2788 | 6672
d_a_obj_lv3WaterB | 46.278317% | 1716 | 3708
d_a_obj_lv3saka00 | 50.576369% | 1404 | 2776
d_a_obj_lv3waterEff | 48.122066% | 820 | 1704
d_a_obj_lv3waterEff | 100.000000% | 1704 | 1704
d_a_obj_lv4CandleDemoTag | 46.972860% | 1800 | 3832
d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496
d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200
d_a_obj_lv4Gate | 48.863636% | 2064 | 4224
d_a_obj_lv4HsTarget | 58.333333% | 1428 | 2448
d_a_obj_lv4HsTarget | 100.000000% | 2448 | 2448
d_a_obj_lv4PoGate | 44.906743% | 2504 | 5576
d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268
d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208
@@ -690,7 +690,7 @@ d_a_path_line | 100.000000% | 508 | 508
d_a_peru | 33.139234% | 10244 | 30912
d_a_ppolamp | 42.341463% | 1736 | 4100
d_a_scene_exit | 61.359223% | 1264 | 2060
d_a_scene_exit2 | 44.782034% | 1356 | 3028
d_a_scene_exit2 | 99.075297% | 3000 | 3028
d_a_set_bgobj | 100.000000% | 1108 | 1108
d_a_shop_item | 43.088737% | 2020 | 4688
d_a_skip_2D | 100.000000% | 1332 | 1332
@@ -729,7 +729,7 @@ d_a_tag_gra | 100.000000% | 800 | 800
d_a_tag_gstart | 100.000000% | 1208 | 1208
d_a_tag_guard | 100.000000% | 1176 | 1176
d_a_tag_hinit | 100.000000% | 1440 | 1440
d_a_tag_hjump | 40.841584% | 1320 | 3232
d_a_tag_hjump | 100.000000% | 3232 | 3232
d_a_tag_howl | 100.000000% | 1892 | 1892
d_a_tag_hstop | 100.000000% | 3424 | 3424
d_a_tag_instruction | 100.000000% | 712 | 712
@@ -742,11 +742,11 @@ d_a_tag_lv5soup | 100.000000% | 1908 | 1908
d_a_tag_lv6CstaSw | 100.000000% | 2560 | 2560
d_a_tag_magne | 100.000000% | 928 | 928
d_a_tag_mhint | 35.576923% | 1332 | 3744
d_a_tag_mist | 43.436293% | 900 | 2072
d_a_tag_mist | 100.000000% | 2072 | 2072
d_a_tag_mmsg | 100.000000% | 1960 | 1960
d_a_tag_msg | 37.563971% | 1468 | 3908
d_a_tag_mstop | 43.995098% | 1436 | 3264
d_a_tag_mwait | 35.082873% | 1016 | 2896
d_a_tag_mwait | 100.000000% | 2896 | 2896
d_a_tag_myna2 | 47.260274% | 828 | 1752
d_a_tag_myna_light | 36.747759% | 1148 | 3124
d_a_tag_pachi | 51.107595% | 1292 | 2528
@@ -782,7 +782,7 @@ d_a_tboxSw | 100.000000% | 1016 | 1016
d_a_title | 39.558574% | 2796 | 7068
d_a_vrbox | 100.000000% | 2152 | 2152
d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.680860% | 3873408 | 11500324
Total | 33.810282% | 3888292 | 11500324
@@ -1,78 +0,0 @@
lbl_8027E3F4:
/* 8027E3F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027E3F8 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E3FC C0 24 01 A8 */ lfs f1, 0x1a8(r4)
/* 8027E400 C0 04 01 98 */ lfs f0, 0x198(r4)
/* 8027E404 C0 42 B9 58 */ lfs f2, lit_2632(r2)
/* 8027E408 D0 41 00 08 */ stfs f2, 8(r1)
/* 8027E40C D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8027E410 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 8027E414 E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */
/* 8027E418 10 00 00 32 */ ps_mul f0, f0, f0
/* 8027E41C 10 A1 00 7A */ ps_madd f5, f1, f1, f0
/* 8027E420 10 A5 00 14 */ ps_sum0 f5, f5, f0, f0
/* 8027E424 C0 22 B9 5C */ lfs f1, lit_2633(r2)
/* 8027E428 3C 80 80 45 */ lis r4, __float_epsilon@ha /* 0x80450AEC@ha */
/* 8027E42C C0 04 0A EC */ lfs f0, __float_epsilon@l(r4) /* 0x80450AEC@l */
/* 8027E430 EC 01 00 32 */ fmuls f0, f1, f0
/* 8027E434 FC 05 00 40 */ fcmpo cr0, f5, f0
/* 8027E438 4C 40 13 82 */ cror 2, 0, 2
/* 8027E43C 41 82 00 58 */ beq lbl_8027E494
/* 8027E440 FC 05 10 40 */ fcmpo cr0, f5, f2
/* 8027E444 4C 40 13 82 */ cror 2, 0, 2
/* 8027E448 40 82 00 0C */ bne lbl_8027E454
/* 8027E44C FC 60 28 90 */ fmr f3, f5
/* 8027E450 48 00 00 2C */ b lbl_8027E47C
lbl_8027E454:
/* 8027E454 FC 80 28 34 */ frsqrte f4, f5
/* 8027E458 FC 80 20 18 */ frsp f4, f4
/* 8027E45C C0 02 B9 60 */ lfs f0, lit_2634(r2)
/* 8027E460 EC 40 01 32 */ fmuls f2, f0, f4
/* 8027E464 C0 22 B9 64 */ lfs f1, lit_2635(r2)
/* 8027E468 EC 04 01 32 */ fmuls f0, f4, f4
/* 8027E46C EC 05 00 32 */ fmuls f0, f5, f0
/* 8027E470 EC 01 00 28 */ fsubs f0, f1, f0
/* 8027E474 EC 02 00 32 */ fmuls f0, f2, f0
/* 8027E478 FC 60 00 90 */ fmr f3, f0
lbl_8027E47C:
/* 8027E47C E0 01 00 08 */ psq_l f0, 8(r1), 0, 0 /* qr0 */
/* 8027E480 E0 21 80 10 */ psq_l f1, 16(r1), 1, 0 /* qr0 */
/* 8027E484 10 00 00 D8 */ ps_muls0 f0, f0, f3
/* 8027E488 F0 01 00 08 */ psq_st f0, 8(r1), 0, 0 /* qr0 */
/* 8027E48C 10 01 00 D8 */ ps_muls0 f0, f1, f3
/* 8027E490 F0 01 80 10 */ psq_st f0, 16(r1), 1, 0 /* qr0 */
lbl_8027E494:
/* 8027E494 C0 02 B9 68 */ lfs f0, lit_2636(r2)
/* 8027E498 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E49C D0 04 01 54 */ stfs f0, 0x154(r4)
/* 8027E4A0 C0 62 B9 58 */ lfs f3, lit_2632(r2)
/* 8027E4A4 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4A8 D0 64 01 58 */ stfs f3, 0x158(r4)
/* 8027E4AC 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4B0 D0 64 01 5C */ stfs f3, 0x15c(r4)
/* 8027E4B4 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4B8 C0 04 01 90 */ lfs f0, 0x190(r4)
/* 8027E4BC D0 04 01 60 */ stfs f0, 0x160(r4)
/* 8027E4C0 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4C4 D0 64 01 64 */ stfs f3, 0x164(r4)
/* 8027E4C8 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8027E4CC 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4D0 D0 44 01 68 */ stfs f2, 0x168(r4)
/* 8027E4D4 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8027E4D8 FC 00 08 50 */ fneg f0, f1
/* 8027E4DC 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4E0 D0 04 01 6C */ stfs f0, 0x16c(r4)
/* 8027E4E4 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4E8 C0 04 01 A0 */ lfs f0, 0x1a0(r4)
/* 8027E4EC D0 04 01 70 */ stfs f0, 0x170(r4)
/* 8027E4F0 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4F4 D0 64 01 74 */ stfs f3, 0x174(r4)
/* 8027E4F8 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E4FC D0 24 01 78 */ stfs f1, 0x178(r4)
/* 8027E500 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8027E504 D0 44 01 7C */ stfs f2, 0x17c(r4)
/* 8027E508 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8027E50C C0 03 01 B0 */ lfs f0, 0x1b0(r3)
/* 8027E510 D0 03 01 80 */ stfs f0, 0x180(r3)
/* 8027E514 38 21 00 20 */ addi r1, r1, 0x20
/* 8027E518 4E 80 00 20 */ blr
@@ -414,7 +414,7 @@ lbl_80008C24:
/* 80008C48 B0 1E 00 06 */ sth r0, 6(r30)
lbl_80008C4C:
/* 80008C4C 80 6D 80 18 */ lwz r3, l_tevColor0(r13)
/* 80008C50 80 0D 80 1C */ lwz r0, data_8045059C(r13)
/* 80008C50 80 0D 80 1C */ lwz r0, l_tevColor0+0x4(r13)
/* 80008C54 90 61 00 20 */ stw r3, 0x20(r1)
/* 80008C58 90 01 00 24 */ stw r0, 0x24(r1)
/* 80008C5C 38 60 00 01 */ li r3, 1
@@ -308,7 +308,7 @@ lbl_80009928:
/* 80009B0C 38 C0 00 07 */ li r6, 7
/* 80009B10 48 35 60 E1 */ bl GXSetBlendMode
/* 80009B14 80 62 80 B4 */ lwz r3, lit_4528(r2)
/* 80009B18 80 02 80 B8 */ lwz r0, data_80451AB8(r2)
/* 80009B18 80 02 80 B8 */ lwz r0, lit_4528+0x4(r2)
/* 80009B1C 90 61 00 24 */ stw r3, 0x24(r1)
/* 80009B20 90 01 00 28 */ stw r0, 0x28(r1)
/* 80009B24 88 1F 00 0A */ lbz r0, 0xa(r31)
@@ -1,79 +0,0 @@
lbl_8000A160:
/* 8000A160 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8000A164 7C 08 02 A6 */ mflr r0
/* 8000A168 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000A16C 39 61 00 40 */ addi r11, r1, 0x40
/* 8000A170 48 35 80 65 */ bl _savegpr_27
/* 8000A174 C0 04 00 00 */ lfs f0, 0(r4)
/* 8000A178 FC 00 00 1E */ fctiwz f0, f0
/* 8000A17C D8 01 00 08 */ stfd f0, 8(r1)
/* 8000A180 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8000A184 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 8000A188 7C 1F 07 34 */ extsh r31, r0
/* 8000A18C C0 04 00 04 */ lfs f0, 4(r4)
/* 8000A190 FC 00 00 1E */ fctiwz f0, f0
/* 8000A194 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 8000A198 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8000A19C 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 8000A1A0 7C 05 07 34 */ extsh r5, r0
/* 8000A1A4 7C A0 FE 70 */ srawi r0, r5, 0x1f
/* 8000A1A8 7C A0 00 78 */ andc r0, r5, r0
/* 8000A1AC 7C 1E 07 34 */ extsh r30, r0
/* 8000A1B0 C0 04 00 08 */ lfs f0, 8(r4)
/* 8000A1B4 FC 00 00 1E */ fctiwz f0, f0
/* 8000A1B8 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8000A1BC 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8000A1C0 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 8000A1C4 7C 1D 07 34 */ extsh r29, r0
/* 8000A1C8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8000A1CC FC 00 00 1E */ fctiwz f0, f0
/* 8000A1D0 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8000A1D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8000A1D8 54 00 00 38 */ rlwinm r0, r0, 0, 0, 0x1c
/* 8000A1DC 7C 1C 07 34 */ extsh r28, r0
/* 8000A1E0 83 6D 86 50 */ lwz r27, mFrameBufferTex__13mDoGph_gInf_c(r13)
/* 8000A1E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8000A1E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8000A1EC 88 03 5E B5 */ lbz r0, 0x5eb5(r3)
/* 8000A1F0 28 00 00 00 */ cmplwi r0, 0
/* 8000A1F4 40 82 00 84 */ bne lbl_8000A278
/* 8000A1F8 7C A0 07 35 */ extsh. r0, r5
/* 8000A1FC 40 80 00 30 */ bge lbl_8000A22C
/* 8000A200 7F 9C 2A 14 */ add r28, r28, r5
/* 8000A204 7C 05 00 D0 */ neg r0, r5
/* 8000A208 7C 00 0E 70 */ srawi r0, r0, 1
/* 8000A20C 38 60 01 30 */ li r3, 0x130
/* 8000A210 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8000A214 80 AD 86 4C */ lwz r5, mFrameBufferTimg__13mDoGph_gInf_c(r13)
/* 8000A218 88 A5 00 00 */ lbz r5, 0(r5)
/* 8000A21C 38 C0 00 00 */ li r6, 0
/* 8000A220 38 E0 00 00 */ li r7, 0
/* 8000A224 48 35 39 F9 */ bl GXGetTexBufferSize
/* 8000A228 7F 7B 1A 14 */ add r27, r27, r3
lbl_8000A22C:
/* 8000A22C 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 8000A230 57 C4 04 3E */ clrlwi r4, r30, 0x10
/* 8000A234 57 A5 04 3E */ clrlwi r5, r29, 0x10
/* 8000A238 57 86 04 3E */ clrlwi r6, r28, 0x10
/* 8000A23C 48 35 28 45 */ bl GXSetTexCopySrc
/* 8000A240 7F A0 0E 70 */ srawi r0, r29, 1
/* 8000A244 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8000A248 7F 80 07 34 */ extsh r0, r28
/* 8000A24C 7C 00 0E 70 */ srawi r0, r0, 1
/* 8000A250 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8000A254 80 AD 86 4C */ lwz r5, mFrameBufferTimg__13mDoGph_gInf_c(r13)
/* 8000A258 88 A5 00 00 */ lbz r5, 0(r5)
/* 8000A25C 38 C0 00 01 */ li r6, 1
/* 8000A260 48 35 28 D1 */ bl GXSetTexCopyDst
/* 8000A264 7F 63 DB 78 */ mr r3, r27
/* 8000A268 38 80 00 00 */ li r4, 0
/* 8000A26C 48 35 32 01 */ bl GXCopyTex
/* 8000A270 48 35 21 05 */ bl GXPixModeSync
/* 8000A274 48 35 43 F1 */ bl GXInvalidateTexAll
lbl_8000A278:
/* 8000A278 39 61 00 40 */ addi r11, r1, 0x40
/* 8000A27C 48 35 7F A5 */ bl _restgpr_27
/* 8000A280 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8000A284 7C 08 03 A6 */ mtlr r0
/* 8000A288 38 21 00 40 */ addi r1, r1, 0x40
/* 8000A28C 4E 80 00 20 */ blr
+39
View File
@@ -3,6 +3,8 @@
#include "dolphin/mtx/vec.h"
#include "dolphin/types.h"
#include "MSL_C/float.h"
#include "MSL_C/math.h"
namespace JGeometry {
@@ -46,6 +48,11 @@ inline void setTVec3f(const f32* vec_a, f32* vec_b) {
};
}
inline float fsqrt_step(float mag) {
f32 root = __frsqrte(mag);
return 0.5f * root * (3.0f - mag * (root * root));
}
template <>
struct TVec3<f32> {
f32 x;
@@ -110,6 +117,38 @@ struct TVec3<f32> {
};
return *this;
}
f32 squared() {
return C_VECSquareMag((Vec*)&x);
}
void normalize() {
f32 sq = squared();
if (sq <= FLT_EPSILON * 32.0f) {
return;
}
f32 norm;
if (sq <= 0.0f) {
norm = sq;
} else {
norm = fsqrt_step(sq);
}
scale(norm);
}
void scale(register f32 sc) {
register f32 z;
register f32 x_y;
register f32* dst = &x;
asm {
psq_l x_y, 0(dst), 0, 0
psq_l z, 8(dst), 1, 0
ps_muls0 x_y, x_y, sc
psq_st x_y, 0(dst), 0, 0
ps_muls0 x_y, z, sc
psq_st x_y, 8(dst), 1, 0
};
}
};
template <typename T>
+5
View File
@@ -75,6 +75,11 @@ public:
template <class T>
struct JPANode {
JPANode() {
mpPrev = NULL;
mpNext = NULL;
}
~JPANode() {}
JPANode<T>* mpPrev;
JPANode<T>* mpNext;
T mData;
+1 -1
View File
@@ -525,7 +525,7 @@ public:
/* 0x12F4 */ dKy_color_data_struct* mResColorDataTbl;
/* 0x12F8 */ s8 mFogDensity;
/* 0x12F9 */ u8 field_0x12f9;
/* 0x12FA */ u8 field_0x12fa;
/* 0x12FA */ u8 mIsBlure;
/* 0x12FB */ u8 field_0x12fb;
/* 0x12FC */ s8 field_0x12fc;
/* 0x12FD */ u8 mDarktimeWeek;
+14
View File
@@ -33,6 +33,20 @@ f32 PSVECDistance(const Vec* a, const Vec* b);
void C_VECHalfAngle(const Vec* a, const Vec* b, Vec* half);
void C_VECReflect(const Vec* src, const Vec* normal, Vec* dst);
inline f32 C_VECSquareMag(const Vec* v) {
register f32 x_y;
register f32 z;
register const f32* src = &v->x;
asm {
psq_l x_y, 0(src), 0, 0
ps_mul x_y, x_y, x_y
lfs z, 8(src)
ps_madd z, z, z, x_y
ps_sum0 z, z, x_y, x_y
};
return z;
}
#ifdef __cplusplus
};
#endif
+4
View File
@@ -62,6 +62,10 @@ inline s16 fopCamM_GetAngleY(camera_class* i_camera) {
return i_camera->mAngle.y;
}
inline f32 fopCamM_GetFovy(camera_class* i_camera) {
return i_camera->mFovy;
}
u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3);
void fopCamM_Management(void);
u32 fopCamM_GetParam(camera_class* pCamera);
+9
View File
@@ -62,7 +62,11 @@ public:
static void offFade() { mFade = 0; }
static u8 isFade() { return mFade; }
static void offBlure() { mBlureFlag = false; }
static bool isBlure() { return mBlureFlag; }
static u8 getBlureRate() { return mBlureRate; }
static MtxP getBlureMtx() { return mBlureMtx; }
static void offAutoForcus() { data_80450BE7 = 0; }
static bool isAutoForcus() { return data_80450BE7; }
static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
static f32 getWidthF() { return 608.0f; }
@@ -81,12 +85,16 @@ public:
static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; }
static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
static void* getFrameBufferTex() { return mFrameBufferTex; }
static void* getZbufferTex() { return mZbufferTex; }
static void setFadeRate(f32 rate) { mFadeRate = rate; }
static f32 getFadeRate() { return mFadeRate; }
static bloom_c* getBloom() { return &m_bloom; }
static GXColor& getFadeColor() { return mFadeColor; }
static GXColor& getBackColor() { return mBackColor; }
static void endRender() { JFWDisplay::getManager()->endRender(); }
static GXTexObj* getZbufferTexObj() { return &mZbufferTexObj; }
static GXTexObj* getFrameBufferTexObj() { return &mFrameBufferTexObj; }
static f32 getInvScale() { return 1.0f; }
static GXTexObj mFrameBufferTexObj;
static GXTexObj mZbufferTexObj;
@@ -102,6 +110,7 @@ public:
static f32 mFadeRate;
static f32 mFadeSpeed;
static bool mBlureFlag;
static u8 mBlureRate;
static u8 mFade;
};
-31
View File
@@ -4,7 +4,6 @@
//
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
#include "dol2asm.h"
#include "dolphin/gx/GX.h"
#include "dolphin/mtx/mtx44.h"
#include "dolphin/types.h"
@@ -13,40 +12,10 @@
// Forward References:
//
extern "C" void __ct__13J2DOrthoGraphFv();
extern "C" void __ct__13J2DOrthoGraphFffffff();
extern "C" void setPort__13J2DOrthoGraphFv();
extern "C" void func_802E980C();
extern "C" void setLookat__13J2DOrthoGraphFv();
extern "C" void func_802E987C();
extern "C" void J2DDrawLine__FffffQ28JUtility6TColori();
extern "C" void J2DFillBox__FffffQ28JUtility6TColor();
extern "C" void func_802E9B0C();
extern "C" void J2DDrawFrame__FffffQ28JUtility6TColorUc();
extern "C" void func_802E9BE8();
extern "C" bool getGrafType__13J2DOrthoGraphCFv();
//
// External References:
//
extern "C" void __dt__13J2DOrthoGraphFv();
extern "C" void __ct__14J2DGrafContextFffff();
extern "C" void setPort__14J2DGrafContextFv();
extern "C" void setup2D__14J2DGrafContextFv();
extern "C" void setScissor__14J2DGrafContextFv();
extern "C" void func_802E90E4();
extern "C" void
setColor__14J2DGrafContextFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor();
extern "C" void setLineWidth__14J2DGrafContextFUc();
extern "C" void func_802E9260();
extern "C" void func_802E9368();
extern "C" void func_802E9564();
extern "C" void place__14J2DGrafContextFffff();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__14J2DGrafContext[10];
//
// Declarations:
//
@@ -11,10 +11,6 @@
// Types:
//
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DTextureSRTInfo {};
//
-5
View File
@@ -22,10 +22,6 @@ struct JKRHeap {
/* 802CE474 */ void alloc(u32, int, JKRHeap*);
};
struct JMath {
static u8 sincosTable_[65536];
};
//
// Forward References:
//
@@ -125,7 +121,6 @@ extern "C" void _restgpr_24();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_epsilon;
//
// Declarations:
-1
View File
@@ -42,7 +42,6 @@ extern "C" void init_c__15JPABaseParticleFP18JPAEmitterWorkDataP15JPABaseParticl
extern "C" void __dl__FPv();
extern "C" void load__10JUTTextureF11_GXTexMapID();
extern "C" extern void* __vt__18JPAEmitterCallBack[7];
extern "C" extern u32 __float_epsilon;
//
// Declarations:
+19 -33
View File
@@ -64,7 +64,6 @@ extern "C" void _restgpr_24();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern u32 __float_epsilon;
//
// Declarations:
@@ -72,6 +71,7 @@ extern "C" extern u32 __float_epsilon;
/* 8027DCA0-8027DEBC 2785E0 021C+00 0/0 1/1 0/0 .text __ct__17JPAEmitterManagerFUlUlP7JKRHeapUcUc
*/
// template ctors are at the end of the TU for some reason
#ifdef NONMATCHING
JPAEmitterManager::JPAEmitterManager(u32 ptclMax, u32 emtrMax, JKRHeap* pHeap, u8 grpMax,
u8 resMax) {
@@ -88,11 +88,11 @@ JPAEmitterManager::JPAEmitterManager(u32 ptclMax, u32 emtrMax, JKRHeap* pHeap, u
for (u32 i = 0; i < mPtclMax; i++)
mPtclPool.push_back(&ptcl[i]);
// can't get __construct_new_array to call the correct constructor within.
mpGrpEmtr = new (pHeap, 0) JSUList<JPABaseEmitter>[mGrpMax];
mpResMgrAry = new (pHeap, 0) JPAResourceManager*[mResMax];
for (u8 i = 0; i < mResMax; i++)
for (int i = 0; i < mResMax; i++) {
mpResMgrAry[i] = NULL;
}
mpWorkData = new (pHeap, 0) JPAEmitterWorkData();
}
@@ -231,40 +231,26 @@ void JPAEmitterManager::clearResourceManager(u8 resMgrID) {
}
/* ############################################################################################## */
/* 80455358-8045535C 003958 0004+00 1/1 0/0 0/0 .sdata2 @2632 */
SECTION_SDATA2 static u8 lit_2632[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8045535C-80455360 00395C 0004+00 1/1 0/0 0/0 .sdata2 @2633 */
SECTION_SDATA2 static f32 lit_2633 = 32.0f;
/* 80455360-80455364 003960 0004+00 1/1 0/0 0/0 .sdata2 @2634 */
SECTION_SDATA2 static f32 lit_2634 = 0.5f;
/* 80455364-80455368 003964 0004+00 1/1 0/0 0/0 .sdata2 @2635 */
SECTION_SDATA2 static f32 lit_2635 = 3.0f;
/* 80455368-80455370 003968 0004+04 1/1 0/0 0/0 .sdata2 @2636 */
SECTION_SDATA2 static f32 lit_2636[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
/* 8027E3F4-8027E51C 278D34 0128+00 1/1 0/0 0/0 .text calcYBBCam__17JPAEmitterManagerFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JPAEmitterManager::calcYBBCam() {
nofralloc
#include "asm/JSystem/JParticle/JPAEmitterManager/calcYBBCam__17JPAEmitterManagerFv.s"
void JPAEmitterManager::calcYBBCam() {
JGeometry::TVec3<float> v;
v.set(0.0f, mpWorkData->mPosCamMtx[1][1], mpWorkData->mPosCamMtx[2][1]);
v.normalize();
mpWorkData->mYBBCamMtx[0][0] = 1.0f;
mpWorkData->mYBBCamMtx[0][1] = 0.0f;
mpWorkData->mYBBCamMtx[0][2] = 0.0f;
mpWorkData->mYBBCamMtx[0][3] = mpWorkData->mPosCamMtx[0][3];
mpWorkData->mYBBCamMtx[1][0] = 0.0f;
mpWorkData->mYBBCamMtx[1][1] = v.y;
mpWorkData->mYBBCamMtx[1][2] = -v.z;
mpWorkData->mYBBCamMtx[1][3] = mpWorkData->mPosCamMtx[1][3];
mpWorkData->mYBBCamMtx[2][0] = 0.0f;
mpWorkData->mYBBCamMtx[2][1] = v.z;
mpWorkData->mYBBCamMtx[2][2] = v.y;
mpWorkData->mYBBCamMtx[2][3] = mpWorkData->mPosCamMtx[2][3];
}
#pragma pop
/* 8027E51C-8027E54C 278E5C 0030+00 1/1 0/0 0/0 .text __ct__25JSUList<14JPABaseEmitter>Fv
*/
-5
View File
@@ -11,10 +11,6 @@
// Types:
//
struct JMath {
static u8 sincosTable_[65536];
};
//
// Forward References:
//
@@ -33,7 +29,6 @@ extern "C" void JPACalcKeyAnmValue__FfUsPCf();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_epsilon;
//
// Declarations:
-1
View File
@@ -37,7 +37,6 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__19JPAParticleCallBack[5];
extern "C" extern u32 __float_epsilon;
//
// Declarations:
@@ -86,7 +86,6 @@ extern "C" u8 const sauVariableValue_3_POSITION_XYZ__Q27JStudio14TAdaptor_sound[
extern "C" extern void* __vt__Q27JStudio14TAdaptor_sound[20];
extern "C" extern void* __vt__Q27JStudio8TAdaptor[8];
extern "C" extern void* __vt__Q37JStudio14TVariableValue7TOutput[4];
extern "C" extern u32 __float_nan;
extern "C" u8 soOutput_none___Q27JStudio14TVariableValue[4 + 4 /* padding */];
extern "C" extern u8 data_804511F8[8];
@@ -90,7 +90,6 @@ extern "C" u8 const sauVariableValue_4_COLOR_RGBA__Q27JStudio17TAdaptor_particle
extern "C" extern void* __vt__18JPAEmitterCallBack[7];
extern "C" extern void* __vt__Q27JStudio17TAdaptor_particle[19];
extern "C" extern void* __vt__Q27JStudio8TAdaptor[8];
extern "C" extern u32 __float_nan;
extern "C" extern u8 data_80451200[8];
//

Some files were not shown because too many files have changed in this diff Show More