mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-23 22:09:43 +00:00
Fixed merge conflict
This commit is contained in:
commit
6a45dcba7f
23
.clang-format
Normal file
23
.clang-format
Normal file
@ -0,0 +1,23 @@
|
||||
IndentWidth: 4
|
||||
Language: Cpp
|
||||
UseTab: Never
|
||||
ColumnLimit: 120
|
||||
PointerAlignment: Left
|
||||
BreakBeforeBraces: Attach
|
||||
SpaceAfterCStyleCast: false
|
||||
Cpp11BracedListStyle: false
|
||||
IndentCaseLabels: true
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignOperands: true
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
AllowShortBlocksOnASingleLine: true
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignTrailingComments: true
|
||||
SortIncludes: false
|
5
.clang-tidy
Normal file
5
.clang-tidy
Normal file
@ -0,0 +1,5 @@
|
||||
Checks: '-*,readability-braces-around-statements'
|
||||
WarningsAsErrors: ''
|
||||
HeaderFilterRegex: '(src|include)\/.*\.h$'
|
||||
FormatStyle: 'file'
|
||||
CheckOptions:
|
@ -1,82 +0,0 @@
|
||||
glabel FaultDrawer_DrawRecImpl
|
||||
/* B4D920 800D6780 3C0EFFFA */ lui $t6, (0xFFFA5A5A >> 16) # lui $t6, 0xfffa
|
||||
/* B4D924 800D6784 03A07825 */ move $t7, $sp
|
||||
/* B4D928 800D6788 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B4D92C 800D678C 35CE5A5A */ ori $t6, (0xFFFA5A5A & 0xFFFF) # ori $t6, $t6, 0x5a5a
|
||||
.L800D6790:
|
||||
/* B4D930 800D6790 25EFFFF8 */ addiu $t7, $t7, -8
|
||||
/* B4D934 800D6794 ADEE0000 */ sw $t6, ($t7)
|
||||
/* B4D938 800D6798 15FDFFFD */ bne $t7, $sp, .L800D6790
|
||||
/* B4D93C 800D679C ADEE0004 */ sw $t6, 4($t7)
|
||||
/* B4D940 800D67A0 3C0D8017 */ lui $t5, %hi(sFaultDrawerStruct) # $t5, 0x8017
|
||||
/* B4D944 800D67A4 25ADB680 */ addiu $t5, %lo(sFaultDrawerStruct) # addiu $t5, $t5, -0x4980
|
||||
/* B4D948 800D67A8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B4D94C 800D67AC 95A90004 */ lhu $t1, 4($t5)
|
||||
/* B4D950 800D67B0 95AE0006 */ lhu $t6, 6($t5)
|
||||
/* B4D954 800D67B4 00C41823 */ subu $v1, $a2, $a0
|
||||
/* B4D958 800D67B8 00E55823 */ subu $t3, $a3, $a1
|
||||
/* B4D95C 800D67BC 24630001 */ addiu $v1, $v1, 1
|
||||
/* B4D960 800D67C0 256B0001 */ addiu $t3, $t3, 1
|
||||
/* B4D964 800D67C4 01241023 */ subu $v0, $t1, $a0
|
||||
/* B4D968 800D67C8 00604025 */ move $t0, $v1
|
||||
/* B4D96C 800D67CC 01605025 */ move $t2, $t3
|
||||
/* B4D970 800D67D0 1840002E */ blez $v0, .L800D688C
|
||||
/* B4D974 800D67D4 01C56023 */ subu $t4, $t6, $a1
|
||||
/* B4D978 800D67D8 1980002C */ blez $t4, .L800D688C
|
||||
/* B4D97C 800D67DC 0043082A */ slt $at, $v0, $v1
|
||||
/* B4D980 800D67E0 50200003 */ beql $at, $zero, .L800D67F0
|
||||
/* B4D984 800D67E4 018B082A */ slt $at, $t4, $t3
|
||||
/* B4D988 800D67E8 00404025 */ move $t0, $v0
|
||||
/* B4D98C 800D67EC 018B082A */ slt $at, $t4, $t3
|
||||
.L800D67F0:
|
||||
/* B4D990 800D67F0 10200002 */ beqz $at, .L800D67FC
|
||||
/* B4D994 800D67F4 00000000 */ nop
|
||||
/* B4D998 800D67F8 01805025 */ move $t2, $t4
|
||||
.L800D67FC:
|
||||
/* B4D99C 800D67FC 01250019 */ multu $t1, $a1
|
||||
/* B4D9A0 800D6800 8DB90000 */ lw $t9, ($t5)
|
||||
/* B4D9A4 800D6804 00003825 */ move $a3, $zero
|
||||
/* B4D9A8 800D6808 00007812 */ mflo $t7
|
||||
/* B4D9AC 800D680C 000FC040 */ sll $t8, $t7, 1
|
||||
/* B4D9B0 800D6810 00047840 */ sll $t7, $a0, 1
|
||||
/* B4D9B4 800D6814 03197021 */ addu $t6, $t8, $t9
|
||||
/* B4D9B8 800D6818 1940001A */ blez $t2, .L800D6884
|
||||
/* B4D9BC 800D681C 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* B4D9C0 800D6820 97A4002A */ lhu $a0, 0x2a($sp)
|
||||
.L800D6824:
|
||||
/* B4D9C4 800D6824 19000012 */ blez $t0, .L800D6870
|
||||
/* B4D9C8 800D6828 00001825 */ move $v1, $zero
|
||||
/* B4D9CC 800D682C 31060003 */ andi $a2, $t0, 3
|
||||
/* B4D9D0 800D6830 10C00007 */ beqz $a2, .L800D6850
|
||||
/* B4D9D4 800D6834 3C098017 */ lui $t1, %hi(sFaultDrawerStruct+4) # $t1, 0x8017
|
||||
/* B4D9D8 800D6838 00C02825 */ move $a1, $a2
|
||||
.L800D683C:
|
||||
/* B4D9DC 800D683C 24630001 */ addiu $v1, $v1, 1
|
||||
/* B4D9E0 800D6840 A4440000 */ sh $a0, ($v0)
|
||||
/* B4D9E4 800D6844 14A3FFFD */ bne $a1, $v1, .L800D683C
|
||||
/* B4D9E8 800D6848 24420002 */ addiu $v0, $v0, 2
|
||||
/* B4D9EC 800D684C 10680007 */ beq $v1, $t0, .L800D686C
|
||||
.L800D6850:
|
||||
/* B4D9F0 800D6850 24630004 */ addiu $v1, $v1, 4
|
||||
/* B4D9F4 800D6854 A4440002 */ sh $a0, 2($v0)
|
||||
/* B4D9F8 800D6858 A4440004 */ sh $a0, 4($v0)
|
||||
/* B4D9FC 800D685C A4440006 */ sh $a0, 6($v0)
|
||||
/* B4DA00 800D6860 24420008 */ addiu $v0, $v0, 8
|
||||
/* B4DA04 800D6864 1468FFFA */ bne $v1, $t0, .L800D6850
|
||||
/* B4DA08 800D6868 A444FFF8 */ sh $a0, -8($v0)
|
||||
.L800D686C:
|
||||
/* B4DA0C 800D686C 9529B684 */ lhu $t1, %lo(sFaultDrawerStruct+4)($t1)
|
||||
.L800D6870:
|
||||
/* B4DA10 800D6870 0128C023 */ subu $t8, $t1, $t0
|
||||
/* B4DA14 800D6874 24E70001 */ addiu $a3, $a3, 1
|
||||
/* B4DA18 800D6878 0018C840 */ sll $t9, $t8, 1
|
||||
/* B4DA1C 800D687C 14EAFFE9 */ bne $a3, $t2, .L800D6824
|
||||
/* B4DA20 800D6880 00591021 */ addu $v0, $v0, $t9
|
||||
.L800D6884:
|
||||
/* B4DA24 800D6884 0C041924 */ jal osWritebackDCacheAll
|
||||
/* B4DA28 800D6888 00000000 */ nop
|
||||
.L800D688C:
|
||||
/* B4DA2C 800D688C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B4DA30 800D6890 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B4DA34 800D6894 03E00008 */ jr $ra
|
||||
/* B4DA38 800D6898 00000000 */ nop
|
@ -1,388 +0,0 @@
|
||||
.rdata
|
||||
glabel D_80136160
|
||||
.asciz "../z_actor.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80136170
|
||||
.asciz "../z_actor.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel TitleCard_Draw
|
||||
/* AA414C 8002CFAC 27BDFF30 */ addiu $sp, $sp, -0xd0
|
||||
/* AA4150 8002CFB0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* AA4154 8002CFB4 AFA400D0 */ sw $a0, 0xd0($sp)
|
||||
/* AA4158 8002CFB8 AFA500D4 */ sw $a1, 0xd4($sp)
|
||||
/* AA415C 8002CFBC 84AF000C */ lh $t7, 0xc($a1)
|
||||
/* AA4160 8002CFC0 3C068013 */ lui $a2, %hi(D_80136160) # $a2, 0x8013
|
||||
/* AA4164 8002CFC4 24C66160 */ addiu $a2, %lo(D_80136160) # addiu $a2, $a2, 0x6160
|
||||
/* AA4168 8002CFC8 51E00159 */ beql $t7, $zero, .L8002D530
|
||||
/* AA416C 8002CFCC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* AA4170 8002CFD0 90AA0008 */ lbu $t2, 8($a1)
|
||||
/* AA4174 8002CFD4 84B80004 */ lh $t8, 4($a1)
|
||||
/* AA4178 8002CFD8 90A90009 */ lbu $t1, 9($a1)
|
||||
/* AA417C 8002CFDC 000A1040 */ sll $v0, $t2, 1
|
||||
/* AA4180 8002CFE0 0018C880 */ sll $t9, $t8, 2
|
||||
/* AA4184 8002CFE4 03227823 */ subu $t7, $t9, $v0
|
||||
/* AA4188 8002CFE8 AFAF00C0 */ sw $t7, 0xc0($sp)
|
||||
/* AA418C 8002CFEC 84B80006 */ lh $t8, 6($a1)
|
||||
/* AA4190 8002CFF0 00097840 */ sll $t7, $t1, 1
|
||||
/* AA4194 8002CFF4 24070B08 */ li $a3, 2824
|
||||
/* AA4198 8002CFF8 0018C880 */ sll $t9, $t8, 2
|
||||
/* AA419C 8002CFFC 032F7023 */ subu $t6, $t9, $t7
|
||||
/* AA41A0 8002D000 AFAE00B8 */ sw $t6, 0xb8($sp)
|
||||
/* AA41A4 8002D004 8C850000 */ lw $a1, ($a0)
|
||||
/* AA41A8 8002D008 AFA20038 */ sw $v0, 0x38($sp)
|
||||
/* AA41AC 8002D00C 27A4009C */ addiu $a0, $sp, 0x9c
|
||||
/* AA41B0 8002D010 AFAA00CC */ sw $t2, 0xcc($sp)
|
||||
/* AA41B4 8002D014 AFA900C8 */ sw $t1, 0xc8($sp)
|
||||
/* AA41B8 8002D018 0C031AB1 */ jal func_800C6AC4
|
||||
/* AA41BC 8002D01C AFA500AC */ sw $a1, 0xac($sp)
|
||||
/* AA41C0 8002D020 8FA900C8 */ lw $t1, 0xc8($sp)
|
||||
/* AA41C4 8002D024 8FAA00CC */ lw $t2, 0xcc($sp)
|
||||
/* AA41C8 8002D028 3C198016 */ lui $t9, %hi(gSaveContext+0x1409) # $t9, 0x8016
|
||||
/* AA41CC 8002D02C 9339FA69 */ lbu $t9, %lo(gSaveContext+0x1409)($t9)
|
||||
/* AA41D0 8002D030 01490019 */ multu $t2, $t1
|
||||
/* AA41D4 8002D034 8FA800AC */ lw $t0, 0xac($sp)
|
||||
/* AA41D8 8002D038 8FAB00D4 */ lw $t3, 0xd4($sp)
|
||||
/* AA41DC 8002D03C 240E1000 */ li $t6, 4096
|
||||
/* AA41E0 8002D040 00002812 */ mflo $a1
|
||||
/* AA41E4 8002D044 28A11001 */ slti $at, $a1, 0x1001
|
||||
/* AA41E8 8002D048 00000000 */ nop
|
||||
/* AA41EC 8002D04C 00B90019 */ multu $a1, $t9
|
||||
/* AA41F0 8002D050 8FB900B8 */ lw $t9, 0xb8($sp)
|
||||
/* AA41F4 8002D054 00007812 */ mflo $t7
|
||||
/* AA41F8 8002D058 AFAF00B0 */ sw $t7, 0xb0($sp)
|
||||
/* AA41FC 8002D05C 54200011 */ bnezl $at, .L8002D0A4
|
||||
/* AA4200 8002D060 0009C080 */ sll $t8, $t1, 2
|
||||
/* AA4204 8002D064 01CA001A */ div $zero, $t6, $t2
|
||||
/* AA4208 8002D068 00004812 */ mflo $t1
|
||||
/* AA420C 8002D06C 15400002 */ bnez $t2, .L8002D078
|
||||
/* AA4210 8002D070 00000000 */ nop
|
||||
/* AA4214 8002D074 0007000D */ break 7
|
||||
.L8002D078:
|
||||
/* AA4218 8002D078 2401FFFF */ li $at, -1
|
||||
/* AA421C 8002D07C 15410004 */ bne $t2, $at, .L8002D090
|
||||
/* AA4220 8002D080 3C018000 */ lui $at, 0x8000
|
||||
/* AA4224 8002D084 15C10002 */ bne $t6, $at, .L8002D090
|
||||
/* AA4228 8002D088 00000000 */ nop
|
||||
/* AA422C 8002D08C 0006000D */ break 6
|
||||
.L8002D090:
|
||||
/* AA4230 8002D090 01490019 */ multu $t2, $t1
|
||||
/* AA4234 8002D094 00002812 */ mflo $a1
|
||||
/* AA4238 8002D098 00000000 */ nop
|
||||
/* AA423C 8002D09C 00000000 */ nop
|
||||
/* AA4240 8002D0A0 0009C080 */ sll $t8, $t1, 2
|
||||
.L8002D0A4:
|
||||
/* AA4244 8002D0A4 03196021 */ addu $t4, $t8, $t9
|
||||
/* AA4248 8002D0A8 AFAC00B4 */ sw $t4, 0xb4($sp)
|
||||
/* AA424C 8002D0AC 8D0402B0 */ lw $a0, 0x2b0($t0)
|
||||
/* AA4250 8002D0B0 AFAC0030 */ sw $t4, 0x30($sp)
|
||||
/* AA4254 8002D0B4 AFAA00CC */ sw $t2, 0xcc($sp)
|
||||
/* AA4258 8002D0B8 AFA900C8 */ sw $t1, 0xc8($sp)
|
||||
/* AA425C 8002D0BC AFA800AC */ sw $t0, 0xac($sp)
|
||||
/* AA4260 8002D0C0 0C024E02 */ jal func_80093808
|
||||
/* AA4264 8002D0C4 AFA50034 */ sw $a1, 0x34($sp)
|
||||
/* AA4268 8002D0C8 8FA800AC */ lw $t0, 0xac($sp)
|
||||
/* AA426C 8002D0CC 8FA50034 */ lw $a1, 0x34($sp)
|
||||
/* AA4270 8002D0D0 8FAA00CC */ lw $t2, 0xcc($sp)
|
||||
/* AA4274 8002D0D4 8FAB00D4 */ lw $t3, 0xd4($sp)
|
||||
/* AA4278 8002D0D8 8FA900C8 */ lw $t1, 0xc8($sp)
|
||||
/* AA427C 8002D0DC 8FAC0030 */ lw $t4, 0x30($sp)
|
||||
/* AA4280 8002D0E0 244F0008 */ addiu $t7, $v0, 8
|
||||
/* AA4284 8002D0E4 AD0202B0 */ sw $v0, 0x2b0($t0)
|
||||
/* AA4288 8002D0E8 3C0EFA00 */ lui $t6, 0xfa00
|
||||
/* AA428C 8002D0EC AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA4290 8002D0F0 AC4E0000 */ sw $t6, ($v0)
|
||||
/* AA4294 8002D0F4 9163000F */ lbu $v1, 0xf($t3)
|
||||
/* AA4298 8002D0F8 01403825 */ move $a3, $t2
|
||||
/* AA429C 8002D0FC 24ED0007 */ addiu $t5, $a3, 7
|
||||
/* AA42A0 8002D100 0003C600 */ sll $t8, $v1, 0x18
|
||||
/* AA42A4 8002D104 0003CC00 */ sll $t9, $v1, 0x10
|
||||
/* AA42A8 8002D108 03197825 */ or $t7, $t8, $t9
|
||||
/* AA42AC 8002D10C 00037200 */ sll $t6, $v1, 8
|
||||
/* AA42B0 8002D110 01EEC025 */ or $t8, $t7, $t6
|
||||
/* AA42B4 8002D114 916F000D */ lbu $t7, 0xd($t3)
|
||||
/* AA42B8 8002D118 24A30001 */ addiu $v1, $a1, 1
|
||||
/* AA42BC 8002D11C 00031843 */ sra $v1, $v1, 1
|
||||
/* AA42C0 8002D120 030F7025 */ or $t6, $t8, $t7
|
||||
/* AA42C4 8002D124 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA42C8 8002D128 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA42CC 8002D12C 3C18FD70 */ lui $t8, 0xfd70
|
||||
/* AA42D0 8002D130 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* AA42D4 8002D134 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA42D8 8002D138 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA42DC 8002D13C AC580000 */ sw $t8, ($v0)
|
||||
/* AA42E0 8002D140 8FAE00B0 */ lw $t6, 0xb0($sp)
|
||||
/* AA42E4 8002D144 8D6F0000 */ lw $t7, ($t3)
|
||||
/* AA42E8 8002D148 000D68C3 */ sra $t5, $t5, 3
|
||||
/* AA42EC 8002D14C 31AD01FF */ andi $t5, $t5, 0x1ff
|
||||
/* AA42F0 8002D150 01EEC821 */ addu $t9, $t7, $t6
|
||||
/* AA42F4 8002D154 AC590004 */ sw $t9, 4($v0)
|
||||
/* AA42F8 8002D158 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA42FC 8002D15C 3C0E0700 */ lui $t6, 0x700
|
||||
/* AA4300 8002D160 3C0FF570 */ lui $t7, 0xf570
|
||||
/* AA4304 8002D164 24580008 */ addiu $t8, $v0, 8
|
||||
/* AA4308 8002D168 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA430C 8002D16C AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA4310 8002D170 AC4F0000 */ sw $t7, ($v0)
|
||||
/* AA4314 8002D174 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4318 8002D178 3C18E600 */ lui $t8, 0xe600
|
||||
/* AA431C 8002D17C 3C0EF300 */ lui $t6, 0xf300
|
||||
/* AA4320 8002D180 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA4324 8002D184 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA4328 8002D188 AC400004 */ sw $zero, 4($v0)
|
||||
/* AA432C 8002D18C AC580000 */ sw $t8, ($v0)
|
||||
/* AA4330 8002D190 8D0602B0 */ lw $a2, 0x2b0($t0)
|
||||
/* AA4334 8002D194 286107FF */ slti $at, $v1, 0x7ff
|
||||
/* AA4338 8002D198 000D6A40 */ sll $t5, $t5, 9
|
||||
/* AA433C 8002D19C 24CF0008 */ addiu $t7, $a2, 8
|
||||
/* AA4340 8002D1A0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA4344 8002D1A4 10200003 */ beqz $at, .L8002D1B4
|
||||
/* AA4348 8002D1A8 ACCE0000 */ sw $t6, ($a2)
|
||||
/* AA434C 8002D1AC 10000002 */ b .L8002D1B8
|
||||
/* AA4350 8002D1B0 00602025 */ move $a0, $v1
|
||||
.L8002D1B4:
|
||||
/* AA4354 8002D1B4 240407FF */ li $a0, 2047
|
||||
.L8002D1B8:
|
||||
/* AA4358 8002D1B8 04E10003 */ bgez $a3, .L8002D1C8
|
||||
/* AA435C 8002D1BC 000728C3 */ sra $a1, $a3, 3
|
||||
/* AA4360 8002D1C0 24E10007 */ addiu $at, $a3, 7
|
||||
/* AA4364 8002D1C4 000128C3 */ sra $a1, $at, 3
|
||||
.L8002D1C8:
|
||||
/* AA4368 8002D1C8 1CA00003 */ bgtz $a1, .L8002D1D8
|
||||
/* AA436C 8002D1CC 2547FFFF */ addiu $a3, $t2, -1
|
||||
/* AA4370 8002D1D0 10000002 */ b .L8002D1DC
|
||||
/* AA4374 8002D1D4 24030001 */ li $v1, 1
|
||||
.L8002D1D8:
|
||||
/* AA4378 8002D1D8 00A01825 */ move $v1, $a1
|
||||
.L8002D1DC:
|
||||
/* AA437C 8002D1DC 1CA00003 */ bgtz $a1, .L8002D1EC
|
||||
/* AA4380 8002D1E0 247907FF */ addiu $t9, $v1, 0x7ff
|
||||
/* AA4384 8002D1E4 10000002 */ b .L8002D1F0
|
||||
/* AA4388 8002D1E8 24020001 */ li $v0, 1
|
||||
.L8002D1EC:
|
||||
/* AA438C 8002D1EC 00A01025 */ move $v0, $a1
|
||||
.L8002D1F0:
|
||||
/* AA4390 8002D1F0 0322001A */ div $zero, $t9, $v0
|
||||
/* AA4394 8002D1F4 14400002 */ bnez $v0, .L8002D200
|
||||
/* AA4398 8002D1F8 00000000 */ nop
|
||||
/* AA439C 8002D1FC 0007000D */ break 7
|
||||
.L8002D200:
|
||||
/* AA43A0 8002D200 2401FFFF */ li $at, -1
|
||||
/* AA43A4 8002D204 14410004 */ bne $v0, $at, .L8002D218
|
||||
/* AA43A8 8002D208 3C018000 */ lui $at, 0x8000
|
||||
/* AA43AC 8002D20C 17210002 */ bne $t9, $at, .L8002D218
|
||||
/* AA43B0 8002D210 00000000 */ nop
|
||||
/* AA43B4 8002D214 0006000D */ break 6
|
||||
.L8002D218:
|
||||
/* AA43B8 8002D218 0000C012 */ mflo $t8
|
||||
/* AA43BC 8002D21C 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AA43C0 8002D220 3C010700 */ lui $at, 0x700
|
||||
/* AA43C4 8002D224 30990FFF */ andi $t9, $a0, 0xfff
|
||||
/* AA43C8 8002D228 0019C300 */ sll $t8, $t9, 0xc
|
||||
/* AA43CC 8002D22C 01E17025 */ or $t6, $t7, $at
|
||||
/* AA43D0 8002D230 01D87825 */ or $t7, $t6, $t8
|
||||
/* AA43D4 8002D234 ACCF0004 */ sw $t7, 4($a2)
|
||||
/* AA43D8 8002D238 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA43DC 8002D23C 3C0EE700 */ lui $t6, 0xe700
|
||||
/* AA43E0 8002D240 3C01F568 */ lui $at, 0xf568
|
||||
/* AA43E4 8002D244 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA43E8 8002D248 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA43EC 8002D24C AC400004 */ sw $zero, 4($v0)
|
||||
/* AA43F0 8002D250 AC4E0000 */ sw $t6, ($v0)
|
||||
/* AA43F4 8002D254 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA43F8 8002D258 01A16825 */ or $t5, $t5, $at
|
||||
/* AA43FC 8002D25C 252EFFFF */ addiu $t6, $t1, -1
|
||||
/* AA4400 8002D260 24580008 */ addiu $t8, $v0, 8
|
||||
/* AA4404 8002D264 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA4408 8002D268 AC400004 */ sw $zero, 4($v0)
|
||||
/* AA440C 8002D26C AC4D0000 */ sw $t5, ($v0)
|
||||
/* AA4410 8002D270 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4414 8002D274 00073880 */ sll $a3, $a3, 2
|
||||
/* AA4418 8002D278 30E70FFF */ andi $a3, $a3, 0xfff
|
||||
/* AA441C 8002D27C 244F0008 */ addiu $t7, $v0, 8
|
||||
/* AA4420 8002D280 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA4424 8002D284 000EC080 */ sll $t8, $t6, 2
|
||||
/* AA4428 8002D288 3C19F200 */ lui $t9, 0xf200
|
||||
/* AA442C 8002D28C 330F0FFF */ andi $t7, $t8, 0xfff
|
||||
/* AA4430 8002D290 00073B00 */ sll $a3, $a3, 0xc
|
||||
/* AA4434 8002D294 AC590000 */ sw $t9, ($v0)
|
||||
/* AA4438 8002D298 00EFC825 */ or $t9, $a3, $t7
|
||||
/* AA443C 8002D29C AC590004 */ sw $t9, 4($v0)
|
||||
/* AA4440 8002D2A0 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4444 8002D2A4 8FA600C0 */ lw $a2, 0xc0($sp)
|
||||
/* AA4448 8002D2A8 2599FFFF */ addiu $t9, $t4, -1
|
||||
/* AA444C 8002D2AC 244E0008 */ addiu $t6, $v0, 8
|
||||
/* AA4450 8002D2B0 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AA4454 8002D2B4 8FB80038 */ lw $t8, 0x38($sp)
|
||||
/* AA4458 8002D2B8 3C01E400 */ lui $at, 0xe400
|
||||
/* AA445C 8002D2BC 332E0FFF */ andi $t6, $t9, 0xfff
|
||||
/* AA4460 8002D2C0 00187840 */ sll $t7, $t8, 1
|
||||
/* AA4464 8002D2C4 01E62021 */ addu $a0, $t7, $a2
|
||||
/* AA4468 8002D2C8 2484FFFC */ addiu $a0, $a0, -4
|
||||
/* AA446C 8002D2CC 30840FFF */ andi $a0, $a0, 0xfff
|
||||
/* AA4470 8002D2D0 00042300 */ sll $a0, $a0, 0xc
|
||||
/* AA4474 8002D2D4 00812025 */ or $a0, $a0, $at
|
||||
/* AA4478 8002D2D8 008EC025 */ or $t8, $a0, $t6
|
||||
/* AA447C 8002D2DC AC580000 */ sw $t8, ($v0)
|
||||
/* AA4480 8002D2E0 8FAF00B8 */ lw $t7, 0xb8($sp)
|
||||
/* AA4484 8002D2E4 30DF0FFF */ andi $ra, $a2, 0xfff
|
||||
/* AA4488 8002D2E8 001FFB00 */ sll $ra, $ra, 0xc
|
||||
/* AA448C 8002D2EC 31F90FFF */ andi $t9, $t7, 0xfff
|
||||
/* AA4490 8002D2F0 03F97025 */ or $t6, $ra, $t9
|
||||
/* AA4494 8002D2F4 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA4498 8002D2F8 AFA4001C */ sw $a0, 0x1c($sp)
|
||||
/* AA449C 8002D2FC 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA44A0 8002D300 3C0CE100 */ lui $t4, 0xe100
|
||||
/* AA44A4 8002D304 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
|
||||
/* AA44A8 8002D308 24580008 */ addiu $t8, $v0, 8
|
||||
/* AA44AC 8002D30C AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA44B0 8002D310 AC400004 */ sw $zero, 4($v0)
|
||||
/* AA44B4 8002D314 AC4C0000 */ sw $t4, ($v0)
|
||||
/* AA44B8 8002D318 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA44BC 8002D31C 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
|
||||
/* AA44C0 8002D320 3C19F100 */ lui $t9, 0xf100
|
||||
/* AA44C4 8002D324 244F0008 */ addiu $t7, $v0, 8
|
||||
/* AA44C8 8002D328 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA44CC 8002D32C AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA44D0 8002D330 AC590000 */ sw $t9, ($v0)
|
||||
/* AA44D4 8002D334 91780009 */ lbu $t8, 9($t3)
|
||||
/* AA44D8 8002D338 00401825 */ move $v1, $v0
|
||||
/* AA44DC 8002D33C 03094823 */ subu $t1, $t8, $t1
|
||||
/* AA44E0 8002D340 59200074 */ blezl $t1, .L8002D514
|
||||
/* AA44E4 8002D344 8FB800D0 */ lw $t8, 0xd0($sp)
|
||||
/* AA44E8 8002D348 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA44EC 8002D34C 3C19FD70 */ lui $t9, 0xfd70
|
||||
/* AA44F0 8002D350 01490019 */ multu $t2, $t1
|
||||
/* AA44F4 8002D354 244F0008 */ addiu $t7, $v0, 8
|
||||
/* AA44F8 8002D358 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA44FC 8002D35C AC590000 */ sw $t9, ($v0)
|
||||
/* AA4500 8002D360 8FB800B0 */ lw $t8, 0xb0($sp)
|
||||
/* AA4504 8002D364 8D6E0000 */ lw $t6, ($t3)
|
||||
/* AA4508 8002D368 240407FF */ li $a0, 2047
|
||||
/* AA450C 8002D36C 01D87821 */ addu $t7, $t6, $t8
|
||||
/* AA4510 8002D370 25F91000 */ addiu $t9, $t7, 0x1000
|
||||
/* AA4514 8002D374 AC590004 */ sw $t9, 4($v0)
|
||||
/* AA4518 8002D378 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA451C 8002D37C 3C0F0700 */ lui $t7, 0x700
|
||||
/* AA4520 8002D380 3C18F570 */ lui $t8, 0xf570
|
||||
/* AA4524 8002D384 244E0008 */ addiu $t6, $v0, 8
|
||||
/* AA4528 8002D388 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AA452C 8002D38C AC4F0004 */ sw $t7, 4($v0)
|
||||
/* AA4530 8002D390 AC580000 */ sw $t8, ($v0)
|
||||
/* AA4534 8002D394 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4538 8002D398 3C0EE600 */ lui $t6, 0xe600
|
||||
/* AA453C 8002D39C 00001812 */ mflo $v1
|
||||
/* AA4540 8002D3A0 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA4544 8002D3A4 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA4548 8002D3A8 AC400004 */ sw $zero, 4($v0)
|
||||
/* AA454C 8002D3AC AC4E0000 */ sw $t6, ($v0)
|
||||
/* AA4550 8002D3B0 8D0602B0 */ lw $a2, 0x2b0($t0)
|
||||
/* AA4554 8002D3B4 24630001 */ addiu $v1, $v1, 1
|
||||
/* AA4558 8002D3B8 00031843 */ sra $v1, $v1, 1
|
||||
/* AA455C 8002D3BC 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* AA4560 8002D3C0 24D80008 */ addiu $t8, $a2, 8
|
||||
/* AA4564 8002D3C4 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA4568 8002D3C8 286107FF */ slti $at, $v1, 0x7ff
|
||||
/* AA456C 8002D3CC 3C0FF300 */ lui $t7, 0xf300
|
||||
/* AA4570 8002D3D0 10200003 */ beqz $at, .L8002D3E0
|
||||
/* AA4574 8002D3D4 ACCF0000 */ sw $t7, ($a2)
|
||||
/* AA4578 8002D3D8 10000001 */ b .L8002D3E0
|
||||
/* AA457C 8002D3DC 00602025 */ move $a0, $v1
|
||||
.L8002D3E0:
|
||||
/* AA4580 8002D3E0 1CA00003 */ bgtz $a1, .L8002D3F0
|
||||
/* AA4584 8002D3E4 00A01825 */ move $v1, $a1
|
||||
/* AA4588 8002D3E8 10000001 */ b .L8002D3F0
|
||||
/* AA458C 8002D3EC 24030001 */ li $v1, 1
|
||||
.L8002D3F0:
|
||||
/* AA4590 8002D3F0 1CA00003 */ bgtz $a1, .L8002D400
|
||||
/* AA4594 8002D3F4 247907FF */ addiu $t9, $v1, 0x7ff
|
||||
/* AA4598 8002D3F8 10000002 */ b .L8002D404
|
||||
/* AA459C 8002D3FC 24020001 */ li $v0, 1
|
||||
.L8002D400:
|
||||
/* AA45A0 8002D400 00A01025 */ move $v0, $a1
|
||||
.L8002D404:
|
||||
/* AA45A4 8002D404 0322001A */ div $zero, $t9, $v0
|
||||
/* AA45A8 8002D408 14400002 */ bnez $v0, .L8002D414
|
||||
/* AA45AC 8002D40C 00000000 */ nop
|
||||
/* AA45B0 8002D410 0007000D */ break 7
|
||||
.L8002D414:
|
||||
/* AA45B4 8002D414 2401FFFF */ li $at, -1
|
||||
/* AA45B8 8002D418 14410004 */ bne $v0, $at, .L8002D42C
|
||||
/* AA45BC 8002D41C 3C018000 */ lui $at, 0x8000
|
||||
/* AA45C0 8002D420 17210002 */ bne $t9, $at, .L8002D42C
|
||||
/* AA45C4 8002D424 00000000 */ nop
|
||||
/* AA45C8 8002D428 0006000D */ break 6
|
||||
.L8002D42C:
|
||||
/* AA45CC 8002D42C 00007012 */ mflo $t6
|
||||
/* AA45D0 8002D430 31D80FFF */ andi $t8, $t6, 0xfff
|
||||
/* AA45D4 8002D434 3C010700 */ lui $at, 0x700
|
||||
/* AA45D8 8002D438 30990FFF */ andi $t9, $a0, 0xfff
|
||||
/* AA45DC 8002D43C 00197300 */ sll $t6, $t9, 0xc
|
||||
/* AA45E0 8002D440 03017825 */ or $t7, $t8, $at
|
||||
/* AA45E4 8002D444 01EEC025 */ or $t8, $t7, $t6
|
||||
/* AA45E8 8002D448 ACD80004 */ sw $t8, 4($a2)
|
||||
/* AA45EC 8002D44C 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA45F0 8002D450 3C0FE700 */ lui $t7, 0xe700
|
||||
/* AA45F4 8002D454 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA45F8 8002D458 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA45FC 8002D45C AC400004 */ sw $zero, 4($v0)
|
||||
/* AA4600 8002D460 AC4F0000 */ sw $t7, ($v0)
|
||||
/* AA4604 8002D464 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4608 8002D468 252FFFFF */ addiu $t7, $t1, -1
|
||||
/* AA460C 8002D46C 3C19F200 */ lui $t9, 0xf200
|
||||
/* AA4610 8002D470 244E0008 */ addiu $t6, $v0, 8
|
||||
/* AA4614 8002D474 AD0E02B0 */ sw $t6, 0x2b0($t0)
|
||||
/* AA4618 8002D478 AC400004 */ sw $zero, 4($v0)
|
||||
/* AA461C 8002D47C AC4D0000 */ sw $t5, ($v0)
|
||||
/* AA4620 8002D480 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4624 8002D484 000F7080 */ sll $t6, $t7, 2
|
||||
/* AA4628 8002D488 24580008 */ addiu $t8, $v0, 8
|
||||
/* AA462C 8002D48C AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA4630 8002D490 31D80FFF */ andi $t8, $t6, 0xfff
|
||||
/* AA4634 8002D494 AC590000 */ sw $t9, ($v0)
|
||||
/* AA4638 8002D498 00F8C825 */ or $t9, $a3, $t8
|
||||
/* AA463C 8002D49C AC590004 */ sw $t9, 4($v0)
|
||||
/* AA4640 8002D4A0 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4644 8002D4A4 8FA400B4 */ lw $a0, 0xb4($sp)
|
||||
/* AA4648 8002D4A8 0009C080 */ sll $t8, $t1, 2
|
||||
/* AA464C 8002D4AC 244F0008 */ addiu $t7, $v0, 8
|
||||
/* AA4650 8002D4B0 AD0F02B0 */ sw $t7, 0x2b0($t0)
|
||||
/* AA4654 8002D4B4 0098C821 */ addu $t9, $a0, $t8
|
||||
/* AA4658 8002D4B8 8FAE001C */ lw $t6, 0x1c($sp)
|
||||
/* AA465C 8002D4BC 272FFFFF */ addiu $t7, $t9, -1
|
||||
/* AA4660 8002D4C0 31F80FFF */ andi $t8, $t7, 0xfff
|
||||
/* AA4664 8002D4C4 308F0FFF */ andi $t7, $a0, 0xfff
|
||||
/* AA4668 8002D4C8 01D8C825 */ or $t9, $t6, $t8
|
||||
/* AA466C 8002D4CC 03EF7025 */ or $t6, $ra, $t7
|
||||
/* AA4670 8002D4D0 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA4674 8002D4D4 AC590000 */ sw $t9, ($v0)
|
||||
/* AA4678 8002D4D8 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA467C 8002D4DC 3C0E0400 */ lui $t6, (0x04000400 >> 16) # lui $t6, 0x400
|
||||
/* AA4680 8002D4E0 35CE0400 */ ori $t6, (0x04000400 & 0xFFFF) # ori $t6, $t6, 0x400
|
||||
/* AA4684 8002D4E4 24580008 */ addiu $t8, $v0, 8
|
||||
/* AA4688 8002D4E8 AD1802B0 */ sw $t8, 0x2b0($t0)
|
||||
/* AA468C 8002D4EC AC400004 */ sw $zero, 4($v0)
|
||||
/* AA4690 8002D4F0 AC4C0000 */ sw $t4, ($v0)
|
||||
/* AA4694 8002D4F4 8D0202B0 */ lw $v0, 0x2b0($t0)
|
||||
/* AA4698 8002D4F8 3C0FF100 */ lui $t7, 0xf100
|
||||
/* AA469C 8002D4FC 24590008 */ addiu $t9, $v0, 8
|
||||
/* AA46A0 8002D500 AD1902B0 */ sw $t9, 0x2b0($t0)
|
||||
/* AA46A4 8002D504 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* AA46A8 8002D508 AC4F0000 */ sw $t7, ($v0)
|
||||
/* AA46AC 8002D50C 00401825 */ move $v1, $v0
|
||||
/* AA46B0 8002D510 8FB800D0 */ lw $t8, 0xd0($sp)
|
||||
.L8002D514:
|
||||
/* AA46B4 8002D514 3C068013 */ lui $a2, %hi(D_80136170) # $a2, 0x8013
|
||||
/* AA46B8 8002D518 24C66170 */ addiu $a2, %lo(D_80136170) # addiu $a2, $a2, 0x6170
|
||||
/* AA46BC 8002D51C 27A4009C */ addiu $a0, $sp, 0x9c
|
||||
/* AA46C0 8002D520 24070B40 */ li $a3, 2880
|
||||
/* AA46C4 8002D524 0C031AD5 */ jal func_800C6B54
|
||||
/* AA46C8 8002D528 8F050000 */ lw $a1, ($t8)
|
||||
/* AA46CC 8002D52C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L8002D530:
|
||||
/* AA46D0 8002D530 27BD00D0 */ addiu $sp, $sp, 0xd0
|
||||
/* AA46D4 8002D534 03E00008 */ jr $ra
|
||||
/* AA46D8 8002D538 00000000 */ nop
|
||||
|
@ -1,52 +0,0 @@
|
||||
glabel func_8006376C
|
||||
/* ADA90C 8006376C 3C098012 */ lui $t1, %hi(D_8011E0B0) # $t1, 0x8012
|
||||
/* ADA910 80063770 2529E0B0 */ addiu $t1, %lo(D_8011E0B0) # addiu $t1, $t1, -0x1f50
|
||||
/* ADA914 80063774 85230000 */ lh $v1, ($t1)
|
||||
/* ADA918 80063778 27BDFFF8 */ addiu $sp, $sp, -8
|
||||
/* ADA91C 8006377C 3C0F8016 */ lui $t7, %hi(D_8015FA98) # $t7, 0x8016
|
||||
/* ADA920 80063780 00037080 */ sll $t6, $v1, 2
|
||||
/* ADA924 80063784 01C37023 */ subu $t6, $t6, $v1
|
||||
/* ADA928 80063788 AFB00004 */ sw $s0, 4($sp)
|
||||
/* ADA92C 8006378C AFA40008 */ sw $a0, 8($sp)
|
||||
/* ADA930 80063790 AFA5000C */ sw $a1, 0xc($sp)
|
||||
/* ADA934 80063794 AFA60010 */ sw $a2, 0x10($sp)
|
||||
/* ADA938 80063798 000E70C0 */ sll $t6, $t6, 3
|
||||
/* ADA93C 8006379C 25EFFA98 */ addiu $t7, %lo(D_8015FA98) # addiu $t7, $t7, -0x568
|
||||
/* ADA940 800637A0 28610016 */ slti $at, $v1, 0x16
|
||||
/* ADA944 800637A4 30C600FF */ andi $a2, $a2, 0xff
|
||||
/* ADA948 800637A8 30A500FF */ andi $a1, $a1, 0xff
|
||||
/* ADA94C 800637AC 308400FF */ andi $a0, $a0, 0xff
|
||||
/* ADA950 800637B0 00E08025 */ move $s0, $a3
|
||||
/* ADA954 800637B4 10200019 */ beqz $at, .L8006381C
|
||||
/* ADA958 800637B8 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* ADA95C 800637BC A0440000 */ sb $a0, ($v0)
|
||||
/* ADA960 800637C0 A0450001 */ sb $a1, 1($v0)
|
||||
/* ADA964 800637C4 A0460002 */ sb $a2, 2($v0)
|
||||
/* ADA968 800637C8 90E70000 */ lbu $a3, ($a3)
|
||||
/* ADA96C 800637CC 00001825 */ move $v1, $zero
|
||||
/* ADA970 800637D0 24480004 */ addiu $t0, $v0, 4
|
||||
/* ADA974 800637D4 26100001 */ addiu $s0, $s0, 1
|
||||
/* ADA978 800637D8 10E0000C */ beqz $a3, .L8006380C
|
||||
/* ADA97C 800637DC A0470003 */ sb $a3, 3($v0)
|
||||
.L800637E0:
|
||||
/* ADA980 800637E0 28620015 */ slti $v0, $v1, 0x15
|
||||
/* ADA984 800637E4 24630001 */ addiu $v1, $v1, 1
|
||||
/* ADA988 800637E8 00031C00 */ sll $v1, $v1, 0x10
|
||||
/* ADA98C 800637EC 38420001 */ xori $v0, $v0, 1
|
||||
/* ADA990 800637F0 14400006 */ bnez $v0, .L8006380C
|
||||
/* ADA994 800637F4 00031C03 */ sra $v1, $v1, 0x10
|
||||
/* ADA998 800637F8 92070000 */ lbu $a3, ($s0)
|
||||
/* ADA99C 800637FC 25080001 */ addiu $t0, $t0, 1
|
||||
/* ADA9A0 80063800 26100001 */ addiu $s0, $s0, 1
|
||||
/* ADA9A4 80063804 14E0FFF6 */ bnez $a3, .L800637E0
|
||||
/* ADA9A8 80063808 A107FFFF */ sb $a3, -1($t0)
|
||||
.L8006380C:
|
||||
/* ADA9AC 8006380C A1000000 */ sb $zero, ($t0)
|
||||
/* ADA9B0 80063810 85380000 */ lh $t8, ($t1)
|
||||
/* ADA9B4 80063814 27190001 */ addiu $t9, $t8, 1
|
||||
/* ADA9B8 80063818 A5390000 */ sh $t9, ($t1)
|
||||
.L8006381C:
|
||||
/* ADA9BC 8006381C 8FB00004 */ lw $s0, 4($sp)
|
||||
/* ADA9C0 80063820 03E00008 */ jr $ra
|
||||
/* ADA9C4 80063824 27BD0008 */ addiu $sp, $sp, 8
|
||||
|
@ -8,7 +8,7 @@ glabel D_8013F2D0
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80097604
|
||||
glabel Sample_Draw
|
||||
/* B0E7A4 80097604 27BDFF90 */ addiu $sp, $sp, -0x70
|
||||
/* B0E7A8 80097608 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* B0E7AC 8009760C AFB00028 */ sw $s0, 0x28($sp)
|
@ -1,16 +0,0 @@
|
||||
glabel func_800975D0
|
||||
/* B0E770 800975D0 948E0020 */ lhu $t6, 0x20($a0)
|
||||
/* B0E774 800975D4 2401EFFF */ li $at, -4097
|
||||
/* B0E778 800975D8 3C18800C */ lui $t8, %hi(func_800BCA64) # $t8, 0x800c
|
||||
/* B0E77C 800975DC 01C17827 */ nor $t7, $t6, $at
|
||||
/* B0E780 800975E0 15E00006 */ bnez $t7, .L800975FC
|
||||
/* B0E784 800975E4 2718CA64 */ addiu $t8, %lo(func_800BCA64) # addiu $t8, $t8, -0x359c
|
||||
/* B0E788 800975E8 3C190001 */ lui $t9, (0x00012518 >> 16) # lui $t9, 1
|
||||
/* B0E78C 800975EC 37392518 */ ori $t9, (0x00012518 & 0xFFFF) # ori $t9, $t9, 0x2518
|
||||
/* B0E790 800975F0 AC990010 */ sw $t9, 0x10($a0)
|
||||
/* B0E794 800975F4 AC98000C */ sw $t8, 0xc($a0)
|
||||
/* B0E798 800975F8 AC800098 */ sw $zero, 0x98($a0)
|
||||
.L800975FC:
|
||||
/* B0E79C 800975FC 03E00008 */ jr $ra
|
||||
/* B0E7A0 80097600 00000000 */ nop
|
||||
|
@ -1,12 +0,0 @@
|
||||
glabel func_80097820
|
||||
/* B0E9C0 80097820 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B0E9C4 80097824 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B0E9C8 80097828 0C025D81 */ jal func_80097604
|
||||
/* B0E9CC 8009782C AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B0E9D0 80097830 0C025D74 */ jal func_800975D0
|
||||
/* B0E9D4 80097834 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B0E9D8 80097838 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B0E9DC 8009783C 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B0E9E0 80097840 03E00008 */ jr $ra
|
||||
/* B0E9E4 80097844 00000000 */ nop
|
||||
|
@ -1,4 +0,0 @@
|
||||
glabel func_80097848
|
||||
/* B0E9E8 80097848 03E00008 */ jr $ra
|
||||
/* B0E9EC 8009784C AFA40000 */ sw $a0, ($sp)
|
||||
|
@ -1,52 +0,0 @@
|
||||
.late_rodata
|
||||
glabel D_8013F300
|
||||
.float 3000
|
||||
|
||||
.text
|
||||
glabel func_80097850
|
||||
/* B0E9F0 80097850 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||
/* B0E9F4 80097854 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* B0E9F8 80097858 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B0E9FC 8009785C 8C850000 */ lw $a1, ($a0)
|
||||
/* B0EA00 80097860 249000A8 */ addiu $s0, $a0, 0xa8
|
||||
/* B0EA04 80097864 0C02A89E */ jal func_800AA278
|
||||
/* B0EA08 80097868 02002025 */ move $a0, $s0
|
||||
/* B0EA0C 8009786C 240E00F0 */ li $t6, 240
|
||||
/* B0EA10 80097870 240F0140 */ li $t7, 320
|
||||
/* B0EA14 80097874 AFAF0054 */ sw $t7, 0x54($sp)
|
||||
/* B0EA18 80097878 AFAE004C */ sw $t6, 0x4c($sp)
|
||||
/* B0EA1C 8009787C AFA00048 */ sw $zero, 0x48($sp)
|
||||
/* B0EA20 80097880 AFA00050 */ sw $zero, 0x50($sp)
|
||||
/* B0EA24 80097884 02002025 */ move $a0, $s0
|
||||
/* B0EA28 80097888 0C02A93F */ jal func_800AA4FC
|
||||
/* B0EA2C 8009788C 27A50048 */ addiu $a1, $sp, 0x48
|
||||
/* B0EA30 80097890 02002025 */ move $a0, $s0
|
||||
/* B0EA34 80097894 3C054270 */ lui $a1, 0x4270
|
||||
/* B0EA38 80097898 3C064120 */ lui $a2, 0x4120
|
||||
/* B0EA3C 8009789C 0C02A918 */ jal func_800AA460
|
||||
/* B0EA40 800978A0 3C074648 */ li $a3, 0x46480000 # 0.000000
|
||||
/* B0EA44 800978A4 44800000 */ mtc1 $zero, $f0
|
||||
/* B0EA48 800978A8 3C018014 */ lui $at, %hi(D_8013F300)
|
||||
/* B0EA4C 800978AC C424F300 */ lwc1 $f4, %lo(D_8013F300)($at)
|
||||
/* B0EA50 800978B0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
||||
/* B0EA54 800978B4 44813000 */ mtc1 $at, $f6
|
||||
/* B0EA58 800978B8 02002025 */ move $a0, $s0
|
||||
/* B0EA5C 800978BC 27A5003C */ addiu $a1, $sp, 0x3c
|
||||
/* B0EA60 800978C0 27A60030 */ addiu $a2, $sp, 0x30
|
||||
/* B0EA64 800978C4 27A70024 */ addiu $a3, $sp, 0x24
|
||||
/* B0EA68 800978C8 E7A0003C */ swc1 $f0, 0x3c($sp)
|
||||
/* B0EA6C 800978CC E7A00040 */ swc1 $f0, 0x40($sp)
|
||||
/* B0EA70 800978D0 E7A00030 */ swc1 $f0, 0x30($sp)
|
||||
/* B0EA74 800978D4 E7A00034 */ swc1 $f0, 0x34($sp)
|
||||
/* B0EA78 800978D8 E7A00038 */ swc1 $f0, 0x38($sp)
|
||||
/* B0EA7C 800978DC E7A00024 */ swc1 $f0, 0x24($sp)
|
||||
/* B0EA80 800978E0 E7A0002C */ swc1 $f0, 0x2c($sp)
|
||||
/* B0EA84 800978E4 E7A40044 */ swc1 $f4, 0x44($sp)
|
||||
/* B0EA88 800978E8 0C02A8D6 */ jal func_800AA358
|
||||
/* B0EA8C 800978EC E7A60028 */ swc1 $f6, 0x28($sp)
|
||||
/* B0EA90 800978F0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B0EA94 800978F4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* B0EA98 800978F8 27BD0060 */ addiu $sp, $sp, 0x60
|
||||
/* B0EA9C 800978FC 03E00008 */ jr $ra
|
||||
/* B0EAA0 80097900 00000000 */ nop
|
||||
|
@ -1,40 +0,0 @@
|
||||
.rdata
|
||||
glabel D_8013F2E0
|
||||
.asciz "../z_sample.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_8013F2F0
|
||||
.asciz "../z_sample.c"
|
||||
.balign 4
|
||||
|
||||
.text
|
||||
glabel func_80097904
|
||||
/* B0EAA4 80097904 3C0E01AF */ lui $t6, %hi(_title_staticSegmentRomEnd) # $t6, 0x1af
|
||||
/* B0EAA8 80097908 3C0F01AA */ lui $t7, %hi(_title_staticSegmentRomStart) # $t7, 0x1aa
|
||||
/* B0EAAC 8009790C 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* B0EAB0 80097910 25EF4000 */ addiu $t7, %lo(_title_staticSegmentRomStart) # addiu $t7, $t7, 0x4000
|
||||
/* B0EAB4 80097914 25CEB440 */ addiu $t6, %lo(_title_staticSegmentRomEnd) # addiu $t6, $t6, -0x4bc0
|
||||
/* B0EAB8 80097918 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* B0EABC 8009791C 01CF2823 */ subu $a1, $t6, $t7
|
||||
/* B0EAC0 80097920 3C068014 */ lui $a2, %hi(D_8013F2E0) # $a2, 0x8014
|
||||
/* B0EAC4 80097924 AFA40028 */ sw $a0, 0x28($sp)
|
||||
/* B0EAC8 80097928 24C6F2E0 */ addiu $a2, %lo(D_8013F2E0) # addiu $a2, $a2, -0xd20
|
||||
/* B0EACC 8009792C AFA50020 */ sw $a1, 0x20($sp)
|
||||
/* B0EAD0 80097930 0C031521 */ jal Game_Alloc
|
||||
/* B0EAD4 80097934 240700A3 */ li $a3, 163
|
||||
/* B0EAD8 80097938 8FB80028 */ lw $t8, 0x28($sp)
|
||||
/* B0EADC 8009793C 3C0501AA */ lui $a1, %hi(_title_staticSegmentRomStart) # $a1, 0x1aa
|
||||
/* B0EAE0 80097940 3C078014 */ lui $a3, %hi(D_8013F2F0) # $a3, 0x8014
|
||||
/* B0EAE4 80097944 241900A4 */ li $t9, 164
|
||||
/* B0EAE8 80097948 AF0200A4 */ sw $v0, 0xa4($t8)
|
||||
/* B0EAEC 8009794C AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* B0EAF0 80097950 8FA60020 */ lw $a2, 0x20($sp)
|
||||
/* B0EAF4 80097954 24E7F2F0 */ addiu $a3, %lo(D_8013F2F0) # addiu $a3, $a3, -0xd10
|
||||
/* B0EAF8 80097958 24A54000 */ addiu $a1, %lo(_title_staticSegmentRomStart) # addiu $a1, $a1, 0x4000
|
||||
/* B0EAFC 8009795C 0C0006A8 */ jal DmaMgr_SendRequest1
|
||||
/* B0EB00 80097960 00402025 */ move $a0, $v0
|
||||
/* B0EB04 80097964 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* B0EB08 80097968 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* B0EB0C 8009796C 03E00008 */ jr $ra
|
||||
/* B0EB10 80097970 00000000 */ nop
|
||||
|
@ -1,36 +0,0 @@
|
||||
glabel func_80097974
|
||||
/* B0EB14 80097974 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* B0EB18 80097978 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* B0EB1C 8009797C 3C0E8009 */ lui $t6, %hi(func_80097820) # $t6, 0x8009
|
||||
/* B0EB20 80097980 3C0F8009 */ lui $t7, %hi(func_80097848) # $t7, 0x8009
|
||||
/* B0EB24 80097984 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* B0EB28 80097988 25CE7820 */ addiu $t6, %lo(func_80097820) # addiu $t6, $t6, 0x7820
|
||||
/* B0EB2C 8009798C 25EF7848 */ addiu $t7, %lo(func_80097848) # addiu $t7, $t7, 0x7848
|
||||
/* B0EB30 80097990 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
|
||||
/* B0EB34 80097994 AC8E0004 */ sw $t6, 4($a0)
|
||||
/* B0EB38 80097998 AC8F0008 */ sw $t7, 8($a0)
|
||||
/* B0EB3C 8009799C 8C590000 */ lw $t9, ($v0)
|
||||
/* B0EB40 800979A0 24180001 */ li $t8, 1
|
||||
/* B0EB44 800979A4 A7380110 */ sh $t8, 0x110($t9)
|
||||
/* B0EB48 800979A8 0C025E14 */ jal func_80097850
|
||||
/* B0EB4C 800979AC AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* B0EB50 800979B0 0C025E41 */ jal func_80097904
|
||||
/* B0EB54 800979B4 8FA40018 */ lw $a0, 0x18($sp)
|
||||
/* B0EB58 800979B8 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
||||
/* B0EB5C 800979BC 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
|
||||
/* B0EB60 800979C0 8C480000 */ lw $t0, ($v0)
|
||||
/* B0EB64 800979C4 A500011E */ sh $zero, 0x11e($t0)
|
||||
/* B0EB68 800979C8 8C490000 */ lw $t1, ($v0)
|
||||
/* B0EB6C 800979CC A5200120 */ sh $zero, 0x120($t1)
|
||||
/* B0EB70 800979D0 8C4A0000 */ lw $t2, ($v0)
|
||||
/* B0EB74 800979D4 A5400122 */ sh $zero, 0x122($t2)
|
||||
/* B0EB78 800979D8 8C4B0000 */ lw $t3, ($v0)
|
||||
/* B0EB7C 800979DC A5600124 */ sh $zero, 0x124($t3)
|
||||
/* B0EB80 800979E0 8C4C0000 */ lw $t4, ($v0)
|
||||
/* B0EB84 800979E4 A5800126 */ sh $zero, 0x126($t4)
|
||||
/* B0EB88 800979E8 8C4D0000 */ lw $t5, ($v0)
|
||||
/* B0EB8C 800979EC A5A00128 */ sh $zero, 0x128($t5)
|
||||
/* B0EB90 800979F0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* B0EB94 800979F4 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* B0EB98 800979F8 03E00008 */ jr $ra
|
||||
/* B0EB9C 800979FC 00000000 */ nop
|
@ -1,16 +0,0 @@
|
||||
glabel BgGateShutter_Destroy
|
||||
/* 000FC 8087825C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00100 80878260 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00104 80878264 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00108 80878268 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0010C 8087826C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00110 80878270 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00114 80878274 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00118 80878278 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 0011C 8087827C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00120 80878280 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00124 80878284 03E00008 */ jr $ra
|
||||
/* 00128 80878288 00000000 */ nop
|
||||
|
||||
|
@ -1,54 +0,0 @@
|
||||
glabel BgGateShutter_Draw
|
||||
/* 00360 808784C0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00364 808784C4 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00368 808784C8 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0036C 808784CC AFA40040 */ sw $a0, 0x0040($sp)
|
||||
/* 00370 808784D0 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 00374 808784D4 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 00378 808784D8 3C068088 */ lui $a2, %hi(D_808785E0) ## $a2 = 80880000
|
||||
/* 0037C 808784DC 24C685E0 */ addiu $a2, $a2, %lo(D_808785E0) ## $a2 = 808785E0
|
||||
/* 00380 808784E0 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
|
||||
/* 00384 808784E4 24070143 */ addiu $a3, $zero, 0x0143 ## $a3 = 00000143
|
||||
/* 00388 808784E8 0C031AB1 */ jal func_800C6AC4
|
||||
/* 0038C 808784EC 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 00390 808784F0 8FAF0044 */ lw $t7, 0x0044($sp)
|
||||
/* 00394 808784F4 0C024F46 */ jal func_80093D18
|
||||
/* 00398 808784F8 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 0039C 808784FC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 003A0 80878500 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 003A4 80878504 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 003A8 80878508 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 003AC 8087850C AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 003B0 80878510 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 003B4 80878514 8FA80044 */ lw $t0, 0x0044($sp)
|
||||
/* 003B8 80878518 3C058088 */ lui $a1, %hi(D_808785F8) ## $a1 = 80880000
|
||||
/* 003BC 8087851C 24A585F8 */ addiu $a1, $a1, %lo(D_808785F8) ## $a1 = 808785F8
|
||||
/* 003C0 80878520 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 003C4 80878524 24060148 */ addiu $a2, $zero, 0x0148 ## $a2 = 00000148
|
||||
/* 003C8 80878528 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 003CC 8087852C AFA20028 */ sw $v0, 0x0028($sp)
|
||||
/* 003D0 80878530 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 003D4 80878534 3C0B0600 */ lui $t3, 0x0600 ## $t3 = 06000000
|
||||
/* 003D8 80878538 256B1CD0 */ addiu $t3, $t3, 0x1CD0 ## $t3 = 06001CD0
|
||||
/* 003DC 8087853C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 003E0 80878540 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 003E4 80878544 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 003E8 80878548 3C068088 */ lui $a2, %hi(D_80878610) ## $a2 = 80880000
|
||||
/* 003EC 8087854C 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 003F0 80878550 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 003F4 80878554 AC4B0004 */ sw $t3, 0x0004($v0) ## 00000004
|
||||
/* 003F8 80878558 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 003FC 8087855C 8FAC0044 */ lw $t4, 0x0044($sp)
|
||||
/* 00400 80878560 24C68610 */ addiu $a2, $a2, %lo(D_80878610) ## $a2 = 80878610
|
||||
/* 00404 80878564 27A4002C */ addiu $a0, $sp, 0x002C ## $a0 = FFFFFFEC
|
||||
/* 00408 80878568 2407014D */ addiu $a3, $zero, 0x014D ## $a3 = 0000014D
|
||||
/* 0040C 8087856C 0C031AD5 */ jal func_800C6B54
|
||||
/* 00410 80878570 8D850000 */ lw $a1, 0x0000($t4) ## 00000000
|
||||
/* 00414 80878574 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00418 80878578 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 0041C 8087857C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 00420 80878580 03E00008 */ jr $ra
|
||||
/* 00424 80878584 00000000 */ nop
|
||||
/* 00428 80878588 00000000 */ nop
|
||||
/* 0042C 8087858C 00000000 */ nop
|
||||
|
@ -1,74 +0,0 @@
|
||||
glabel BgGateShutter_Init
|
||||
/* 00000 80878160 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00004 80878164 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00008 80878168 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 0000C 8087816C AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00010 80878170 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00014 80878174 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00018 80878178 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 0001C 8087817C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00020 80878180 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00024 80878184 24841DA8 */ addiu $a0, $a0, 0x1DA8 ## $a0 = 06001DA8
|
||||
/* 00028 80878188 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 0002C 8087818C 27A50020 */ addiu $a1, $sp, 0x0020 ## $a1 = FFFFFFF0
|
||||
/* 00030 80878190 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00034 80878194 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 00038 80878198 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 0003C 8087819C 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00040 808781A0 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00044 808781A4 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 00048 808781A8 C6060028 */ lwc1 $f6, 0x0028($s0) ## 00000028
|
||||
/* 0004C 808781AC C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
|
||||
/* 00050 808781B0 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 00054 808781B4 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 00058 808781B8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
/* 0005C 808781BC E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C
|
||||
/* 00060 808781C0 E6060170 */ swc1 $f6, 0x0170($s0) ## 00000170
|
||||
/* 00064 808781C4 E6080174 */ swc1 $f8, 0x0174($s0) ## 00000174
|
||||
/* 00068 808781C8 946E0F06 */ lhu $t6, 0x0F06($v1) ## 8015F566
|
||||
/* 0006C 808781CC 8FA80034 */ lw $t0, 0x0034($sp)
|
||||
/* 00070 808781D0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
|
||||
/* 00074 808781D4 55E00006 */ bnel $t7, $zero, .L808781F0
|
||||
/* 00078 808781D8 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
|
||||
/* 0007C 808781DC 94780EDC */ lhu $t8, 0x0EDC($v1) ## 8015F53C
|
||||
/* 00080 808781E0 33190020 */ andi $t9, $t8, 0x0020 ## $t9 = 00000000
|
||||
/* 00084 808781E4 5320000B */ beql $t9, $zero, .L80878214
|
||||
/* 00088 808781E8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 0008C 808781EC 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
|
||||
.L808781F0:
|
||||
/* 00090 808781F0 24010052 */ addiu $at, $zero, 0x0052 ## $at = 00000052
|
||||
/* 00094 808781F4 15210006 */ bne $t1, $at, .L80878210
|
||||
/* 00098 808781F8 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
|
||||
/* 0009C 808781FC 44815000 */ mtc1 $at, $f10 ## $f10 = -89.00
|
||||
/* 000A0 80878200 3C018088 */ lui $at, %hi(D_80878628) ## $at = 80880000
|
||||
/* 000A4 80878204 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 000A8 80878208 C4308628 */ lwc1 $f16, %lo(D_80878628)($at)
|
||||
/* 000AC 8087820C E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
|
||||
.L80878210:
|
||||
/* 000B0 80878210 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
.L80878214:
|
||||
/* 000B4 80878214 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
|
||||
/* 000B8 80878218 3C048088 */ lui $a0, %hi(D_808785B0) ## $a0 = 80880000
|
||||
/* 000BC 8087821C 248485B0 */ addiu $a0, $a0, %lo(D_808785B0) ## $a0 = 808785B0
|
||||
/* 000C0 80878220 E6000050 */ swc1 $f0, 0x0050($s0) ## 00000050
|
||||
/* 000C4 80878224 E6000054 */ swc1 $f0, 0x0054($s0) ## 00000054
|
||||
/* 000C8 80878228 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000CC 8087822C E6000058 */ swc1 $f0, 0x0058($s0) ## 00000058
|
||||
/* 000D0 80878230 3C048088 */ lui $a0, %hi(D_808785B4) ## $a0 = 80880000
|
||||
/* 000D4 80878234 0C00084C */ jal osSyncPrintf
|
||||
|
||||
/* 000D8 80878238 248485B4 */ addiu $a0, $a0, %lo(D_808785B4) ## $a0 = 808785B4
|
||||
/* 000DC 8087823C 3C0A8088 */ lui $t2, %hi(func_8087828C) ## $t2 = 80880000
|
||||
/* 000E0 80878240 254A828C */ addiu $t2, $t2, %lo(func_8087828C) ## $t2 = 8087828C
|
||||
/* 000E4 80878244 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
|
||||
/* 000E8 80878248 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 000EC 8087824C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 000F0 80878250 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 000F4 80878254 03E00008 */ jr $ra
|
||||
/* 000F8 80878258 00000000 */ nop
|
||||
|
||||
|
@ -1,17 +0,0 @@
|
||||
glabel BgGateShutter_Update
|
||||
/* 0032C 8087848C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00330 80878490 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00334 80878494 84820178 */ lh $v0, 0x0178($a0) ## 00000178
|
||||
/* 00338 80878498 10400002 */ beq $v0, $zero, .L808784A4
|
||||
/* 0033C 8087849C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00340 808784A0 A48E0178 */ sh $t6, 0x0178($a0) ## 00000178
|
||||
.L808784A4:
|
||||
/* 00344 808784A4 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00348 808784A8 0320F809 */ jalr $ra, $t9
|
||||
/* 0034C 808784AC 00000000 */ nop
|
||||
/* 00350 808784B0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00354 808784B4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00358 808784B8 03E00008 */ jr $ra
|
||||
/* 0035C 808784BC 00000000 */ nop
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
glabel func_8087828C
|
||||
/* 0012C 8087828C AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00130 80878290 84820168 */ lh $v0, 0x0168($a0) ## 00000168
|
||||
/* 00134 80878294 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00138 80878298 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
|
||||
/* 0013C 8087829C 1441000B */ bne $v0, $at, .L808782CC
|
||||
/* 00140 808782A0 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
/* 00144 808782A4 95CEF566 */ lhu $t6, -0x0A9A($t6) ## 8015F566
|
||||
/* 00148 808782A8 3C188088 */ lui $t8, %hi(func_80878300) ## $t8 = 80880000
|
||||
/* 0014C 808782AC 27188300 */ addiu $t8, $t8, %lo(func_80878300) ## $t8 = 80878300
|
||||
/* 00150 808782B0 31CF0040 */ andi $t7, $t6, 0x0040 ## $t7 = 00000000
|
||||
/* 00154 808782B4 15E00005 */ bne $t7, $zero, .L808782CC
|
||||
/* 00158 808782B8 00000000 */ nop
|
||||
/* 0015C 808782BC 24030002 */ addiu $v1, $zero, 0x0002 ## $v1 = 00000002
|
||||
/* 00160 808782C0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
|
||||
/* 00164 808782C4 03E00008 */ jr $ra
|
||||
/* 00168 808782C8 AC980164 */ sw $t8, 0x0164($a0) ## 00000164
|
||||
.L808782CC:
|
||||
/* 0016C 808782CC 14620005 */ bne $v1, $v0, .L808782E4
|
||||
/* 00170 808782D0 3C198088 */ lui $t9, %hi(func_80878300) ## $t9 = 80880000
|
||||
/* 00174 808782D4 27398300 */ addiu $t9, $t9, %lo(func_80878300) ## $t9 = 80878300
|
||||
/* 00178 808782D8 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
|
||||
/* 0017C 808782DC 03E00008 */ jr $ra
|
||||
/* 00180 808782E0 AC990164 */ sw $t9, 0x0164($a0) ## 00000164
|
||||
.L808782E4:
|
||||
/* 00184 808782E4 04410004 */ bgez $v0, .L808782F8
|
||||
/* 00188 808782E8 3C088088 */ lui $t0, %hi(func_808783D4) ## $t0 = 80880000
|
||||
/* 0018C 808782EC 250883D4 */ addiu $t0, $t0, %lo(func_808783D4) ## $t0 = 808783D4
|
||||
/* 00190 808782F0 A4830178 */ sh $v1, 0x0178($a0) ## 00000178
|
||||
/* 00194 808782F4 AC880164 */ sw $t0, 0x0164($a0) ## 00000164
|
||||
.L808782F8:
|
||||
/* 00198 808782F8 03E00008 */ jr $ra
|
||||
/* 0019C 808782FC 00000000 */ nop
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
glabel func_80878300
|
||||
/* 001A0 80878300 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 001A4 80878304 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 001A8 80878308 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 001AC 8087830C AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 001B0 80878310 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
|
||||
/* 001B4 80878314 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 001B8 80878318 55C00020 */ bnel $t6, $zero, .L8087839C
|
||||
/* 001BC 8087831C 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 001C0 80878320 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 001C4 80878324 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
|
||||
/* 001C8 80878328 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 001CC 8087832C 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
|
||||
/* 001D0 80878330 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 001D4 80878334 3C05C4AB */ lui $a1, 0xC4AB ## $a1 = C4AB0000
|
||||
/* 001D8 80878338 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 001DC 8087833C 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 001E0 80878340 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
|
||||
/* 001E4 80878344 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
|
||||
/* 001E8 80878348 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 001EC 8087834C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 001F0 80878350 34A5E000 */ ori $a1, $a1, 0xE000 ## $a1 = C4ABE000
|
||||
/* 001F4 80878354 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 001F8 80878358 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 001FC 8087835C 3C01C2B2 */ lui $at, 0xC2B2 ## $at = C2B20000
|
||||
/* 00200 80878360 44818000 */ mtc1 $at, $f16 ## $f16 = -89.00
|
||||
/* 00204 80878364 C60A0024 */ lwc1 $f10, 0x0024($s0) ## 00000024
|
||||
/* 00208 80878368 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0020C 8087836C 4610503C */ c.lt.s $f10, $f16
|
||||
/* 00210 80878370 00000000 */ nop
|
||||
/* 00214 80878374 45020009 */ bc1fl .L8087839C
|
||||
/* 00218 80878378 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 0021C 8087837C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00220 80878380 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
|
||||
/* 00224 80878384 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
|
||||
/* 00228 80878388 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
|
||||
/* 0022C 8087838C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
|
||||
/* 00230 80878390 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
|
||||
/* 00234 80878394 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
/* 00238 80878398 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8087839C:
|
||||
/* 0023C 8087839C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00240 808783A0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00244 808783A4 03E00008 */ jr $ra
|
||||
/* 00248 808783A8 00000000 */ nop
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
glabel func_808783AC
|
||||
/* 0024C 808783AC AFA50004 */ sw $a1, 0x0004($sp)
|
||||
/* 00250 808783B0 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
|
||||
/* 00254 808783B4 3C0F8088 */ lui $t7, %hi(func_8087828C) ## $t7 = 80880000
|
||||
/* 00258 808783B8 25EF828C */ addiu $t7, $t7, %lo(func_8087828C) ## $t7 = 8087828C
|
||||
/* 0025C 808783BC 15C00003 */ bne $t6, $zero, .L808783CC
|
||||
/* 00260 808783C0 00000000 */ nop
|
||||
/* 00264 808783C4 A4800168 */ sh $zero, 0x0168($a0) ## 00000168
|
||||
/* 00268 808783C8 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
|
||||
.L808783CC:
|
||||
/* 0026C 808783CC 03E00008 */ jr $ra
|
||||
/* 00270 808783D0 00000000 */ nop
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
glabel func_808783D4
|
||||
/* 00274 808783D4 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00278 808783D8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0027C 808783DC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00280 808783E0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00284 808783E4 848E0178 */ lh $t6, 0x0178($a0) ## 00000178
|
||||
/* 00288 808783E8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0028C 808783EC 55C00023 */ bnel $t6, $zero, .L8087847C
|
||||
/* 00290 808783F0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00294 808783F4 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00298 808783F8 24052067 */ addiu $a1, $zero, 0x2067 ## $a1 = 00002067
|
||||
/* 0029C 808783FC 3C014000 */ lui $at, 0x4000 ## $at = 40000000
|
||||
/* 002A0 80878400 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
|
||||
/* 002A4 80878404 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
|
||||
/* 002A8 80878408 3C05C4A8 */ lui $a1, 0xC4A8 ## $a1 = C4A80000
|
||||
/* 002AC 8087840C 3C063F4C */ lui $a2, 0x3F4C ## $a2 = 3F4C0000
|
||||
/* 002B0 80878410 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 002B4 80878414 3C073E99 */ lui $a3, 0x3E99 ## $a3 = 3E990000
|
||||
/* 002B8 80878418 34E7999A */ ori $a3, $a3, 0x999A ## $a3 = 3E99999A
|
||||
/* 002BC 8087841C 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3F4CCCCD
|
||||
/* 002C0 80878420 E6080024 */ swc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 002C4 80878424 34A5C000 */ ori $a1, $a1, 0xC000 ## $a1 = C4A8C000
|
||||
/* 002C8 80878428 0C01E107 */ jal Math_SmoothScaleMaxF
|
||||
|
||||
/* 002CC 8087842C 2604002C */ addiu $a0, $s0, 0x002C ## $a0 = 0000002C
|
||||
/* 002D0 80878430 3C0142B4 */ lui $at, 0x42B4 ## $at = 42B40000
|
||||
/* 002D4 80878434 44815000 */ mtc1 $at, $f10 ## $f10 = 90.00
|
||||
/* 002D8 80878438 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
|
||||
/* 002DC 8087843C 3C0142B6 */ lui $at, 0x42B6 ## $at = 42B60000
|
||||
/* 002E0 80878440 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 002E4 80878444 4610503C */ c.lt.s $f10, $f16
|
||||
/* 002E8 80878448 00000000 */ nop
|
||||
/* 002EC 8087844C 4502000B */ bc1fl .L8087847C
|
||||
/* 002F0 80878450 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 002F4 80878454 44819000 */ mtc1 $at, $f18 ## $f18 = 91.00
|
||||
/* 002F8 80878458 2405280E */ addiu $a1, $zero, 0x280E ## $a1 = 0000280E
|
||||
/* 002FC 8087845C 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00300 80878460 E6120024 */ swc1 $f18, 0x0024($s0) ## 00000024
|
||||
/* 00304 80878464 3C188088 */ lui $t8, %hi(func_808783AC) ## $t8 = 80880000
|
||||
/* 00308 80878468 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E
|
||||
/* 0030C 8087846C 271883AC */ addiu $t8, $t8, %lo(func_808783AC) ## $t8 = 808783AC
|
||||
/* 00310 80878470 A60F0178 */ sh $t7, 0x0178($s0) ## 00000178
|
||||
/* 00314 80878474 AE180164 */ sw $t8, 0x0164($s0) ## 00000164
|
||||
/* 00318 80878478 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L8087847C:
|
||||
/* 0031C 8087847C 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00320 80878480 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00324 80878484 03E00008 */ jr $ra
|
||||
/* 00328 80878488 00000000 */ nop
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
glabel EnTk_Destroy
|
||||
/* 012DC 80B1CBDC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 012E0 80B1CBE0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 012E4 80B1CBE4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 012E8 80B1CBE8 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 012EC 80B1CBEC 0C0170EB */ jal ActorCollider_FreeCylinder
|
||||
|
||||
/* 012F0 80B1CBF0 24C50194 */ addiu $a1, $a2, 0x0194 ## $a1 = 00000194
|
||||
/* 012F4 80B1CBF4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 012F8 80B1CBF8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 012FC 80B1CBFC 03E00008 */ jr $ra
|
||||
/* 01300 80B1CC00 00000000 */ nop
|
||||
|
||||
|
@ -1,72 +0,0 @@
|
||||
glabel EnTk_Draw
|
||||
/* 01A98 80B1D398 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 01A9C 80B1D39C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 01AA0 80B1D3A0 AFB10028 */ sw $s1, 0x0028($sp)
|
||||
/* 01AA4 80B1D3A4 AFB00024 */ sw $s0, 0x0024($sp)
|
||||
/* 01AA8 80B1D3A8 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01AAC 80B1D3AC 0C034213 */ jal Matrix_Push
|
||||
/* 01AB0 80B1D3B0 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 01AB4 80B1D3B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01AB8 80B1D3B8 0C2C6EAC */ jal func_80B1BAB0
|
||||
/* 01ABC 80B1D3BC 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
|
||||
/* 01AC0 80B1D3C0 0C034221 */ jal Matrix_Pull
|
||||
/* 01AC4 80B1D3C4 00000000 */ nop
|
||||
/* 01AC8 80B1D3C8 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 01ACC 80B1D3CC 3C0680B2 */ lui $a2, %hi(D_80B1D60C) ## $a2 = 80B20000
|
||||
/* 01AD0 80B1D3D0 24C6D60C */ addiu $a2, $a2, %lo(D_80B1D60C) ## $a2 = 80B1D60C
|
||||
/* 01AD4 80B1D3D4 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 01AD8 80B1D3D8 2407050E */ addiu $a3, $zero, 0x050E ## $a3 = 0000050E
|
||||
/* 01ADC 80B1D3DC 0C031AB1 */ jal func_800C6AC4
|
||||
/* 01AE0 80B1D3E0 AFA50048 */ sw $a1, 0x0048($sp)
|
||||
/* 01AE4 80B1D3E4 0C024F46 */ jal func_80093D18
|
||||
/* 01AE8 80B1D3E8 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
|
||||
/* 01AEC 80B1D3EC 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 01AF0 80B1D3F0 3C0FDB06 */ lui $t7, 0xDB06 ## $t7 = DB060000
|
||||
/* 01AF4 80B1D3F4 35EF0020 */ ori $t7, $t7, 0x0020 ## $t7 = DB060020
|
||||
/* 01AF8 80B1D3F8 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
|
||||
/* 01AFC 80B1D3FC 3C0480B2 */ lui $a0, %hi(D_80B1D598) ## $a0 = 80B20000
|
||||
/* 01B00 80B1D400 3C0C8016 */ lui $t4, 0x8016 ## $t4 = 80160000
|
||||
/* 01B04 80B1D404 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
|
||||
/* 01B08 80B1D408 ACAE02C0 */ sw $t6, 0x02C0($a1) ## 000002C0
|
||||
/* 01B0C 80B1D40C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
|
||||
/* 01B10 80B1D410 86180222 */ lh $t8, 0x0222($s0) ## 00000222
|
||||
/* 01B14 80B1D414 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 01B18 80B1D418 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 01B1C 80B1D41C 0018C880 */ sll $t9, $t8, 2
|
||||
/* 01B20 80B1D420 00992021 */ addu $a0, $a0, $t9
|
||||
/* 01B24 80B1D424 8C84D598 */ lw $a0, %lo(D_80B1D598)($a0)
|
||||
/* 01B28 80B1D428 3C1880B2 */ lui $t8, %hi(func_80B1D2E4) ## $t8 = 80B20000
|
||||
/* 01B2C 80B1D42C 3C0F80B2 */ lui $t7, %hi(func_80B1D278) ## $t7 = 80B20000
|
||||
/* 01B30 80B1D430 00044900 */ sll $t1, $a0, 4
|
||||
/* 01B34 80B1D434 00095702 */ srl $t2, $t1, 28
|
||||
/* 01B38 80B1D438 000A5880 */ sll $t3, $t2, 2
|
||||
/* 01B3C 80B1D43C 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 01B40 80B1D440 8D8C6FA8 */ lw $t4, 0x6FA8($t4) ## 80166FA8
|
||||
/* 01B44 80B1D444 00814024 */ and $t0, $a0, $at
|
||||
/* 01B48 80B1D448 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 01B4C 80B1D44C 010C6821 */ addu $t5, $t0, $t4
|
||||
/* 01B50 80B1D450 01A17021 */ addu $t6, $t5, $at
|
||||
/* 01B54 80B1D454 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
|
||||
/* 01B58 80B1D458 9207014E */ lbu $a3, 0x014E($s0) ## 0000014E
|
||||
/* 01B5C 80B1D45C 8E06016C */ lw $a2, 0x016C($s0) ## 0000016C
|
||||
/* 01B60 80B1D460 8E050150 */ lw $a1, 0x0150($s0) ## 00000150
|
||||
/* 01B64 80B1D464 25EFD278 */ addiu $t7, $t7, %lo(func_80B1D278) ## $t7 = 80B1D278
|
||||
/* 01B68 80B1D468 2718D2E4 */ addiu $t8, $t8, %lo(func_80B1D2E4) ## $t8 = 80B1D2E4
|
||||
/* 01B6C 80B1D46C AFB80014 */ sw $t8, 0x0014($sp)
|
||||
/* 01B70 80B1D470 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 01B74 80B1D474 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 01B78 80B1D478 0C0286B2 */ jal func_800A1AC8
|
||||
/* 01B7C 80B1D47C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 01B80 80B1D480 3C0680B2 */ lui $a2, %hi(D_80B1D61C) ## $a2 = 80B20000
|
||||
/* 01B84 80B1D484 24C6D61C */ addiu $a2, $a2, %lo(D_80B1D61C) ## $a2 = 80B1D61C
|
||||
/* 01B88 80B1D488 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFE8
|
||||
/* 01B8C 80B1D48C 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
|
||||
/* 01B90 80B1D490 0C031AD5 */ jal func_800C6B54
|
||||
/* 01B94 80B1D494 24070520 */ addiu $a3, $zero, 0x0520 ## $a3 = 00000520
|
||||
/* 01B98 80B1D498 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 01B9C 80B1D49C 8FB00024 */ lw $s0, 0x0024($sp)
|
||||
/* 01BA0 80B1D4A0 8FB10028 */ lw $s1, 0x0028($sp)
|
||||
/* 01BA4 80B1D4A4 03E00008 */ jr $ra
|
||||
/* 01BA8 80B1D4A8 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 01BAC 80B1D4AC 00000000 */ nop
|
||||
|
@ -1,108 +0,0 @@
|
||||
glabel EnTk_Init
|
||||
/* 01160 80B1CA60 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 01164 80B1CA64 AFB00028 */ sw $s0, 0x0028($sp)
|
||||
/* 01168 80B1CA68 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0116C 80B1CA6C AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 01170 80B1CA70 AFA50044 */ sw $a1, 0x0044($sp)
|
||||
/* 01174 80B1CA74 3C068003 */ lui $a2, 0x8003 ## $a2 = 80030000
|
||||
/* 01178 80B1CA78 24C6B5EC */ addiu $a2, $a2, 0xB5EC ## $a2 = 8002B5EC
|
||||
/* 0117C 80B1CA7C 24050000 */ addiu $a1, $zero, 0x0000 ## $a1 = 00000000
|
||||
/* 01180 80B1CA80 248400B4 */ addiu $a0, $a0, 0x00B4 ## $a0 = 000000B4
|
||||
/* 01184 80B1CA84 0C00AC78 */ jal ActorShape_Init
|
||||
|
||||
/* 01188 80B1CA88 3C0741C0 */ lui $a3, 0x41C0 ## $a3 = 41C00000
|
||||
/* 0118C 80B1CA8C 2605014C */ addiu $a1, $s0, 0x014C ## $a1 = 0000014C
|
||||
/* 01190 80B1CA90 3C060601 */ lui $a2, 0x0601 ## $a2 = 06010000
|
||||
/* 01194 80B1CA94 260E022A */ addiu $t6, $s0, 0x022A ## $t6 = 0000022A
|
||||
/* 01198 80B1CA98 260F0296 */ addiu $t7, $s0, 0x0296 ## $t7 = 00000296
|
||||
/* 0119C 80B1CA9C 24180012 */ addiu $t8, $zero, 0x0012 ## $t8 = 00000012
|
||||
/* 011A0 80B1CAA0 AFB80018 */ sw $t8, 0x0018($sp)
|
||||
/* 011A4 80B1CAA4 AFAF0014 */ sw $t7, 0x0014($sp)
|
||||
/* 011A8 80B1CAA8 AFAE0010 */ sw $t6, 0x0010($sp)
|
||||
/* 011AC 80B1CAAC 24C6BE40 */ addiu $a2, $a2, 0xBE40 ## $a2 = 0600BE40
|
||||
/* 011B0 80B1CAB0 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 011B4 80B1CAB4 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 011B8 80B1CAB8 0C0291BE */ jal func_800A46F8
|
||||
/* 011BC 80B1CABC 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 011C0 80B1CAC0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 011C4 80B1CAC4 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 011C8 80B1CAC8 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
|
||||
/* 011CC 80B1CACC 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 011D0 80B1CAD0 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 011D4 80B1CAD4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 011D8 80B1CAD8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 011DC 80B1CADC 44070000 */ mfc1 $a3, $f0
|
||||
/* 011E0 80B1CAE0 24A52F84 */ addiu $a1, $a1, 0x2F84 ## $a1 = 06002F84
|
||||
/* 011E4 80B1CAE4 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 011E8 80B1CAE8 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 011EC 80B1CAEC AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 011F0 80B1CAF0 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 011F4 80B1CAF4 0C029468 */ jal SkelAnime_ChangeAnimation
|
||||
|
||||
/* 011F8 80B1CAF8 E7A00018 */ swc1 $f0, 0x0018($sp)
|
||||
/* 011FC 80B1CAFC 26050194 */ addiu $a1, $s0, 0x0194 ## $a1 = 00000194
|
||||
/* 01200 80B1CB00 AFA50030 */ sw $a1, 0x0030($sp)
|
||||
/* 01204 80B1CB04 0C0170D9 */ jal ActorCollider_AllocCylinder
|
||||
|
||||
/* 01208 80B1CB08 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 0120C 80B1CB0C 3C0780B2 */ lui $a3, %hi(D_80B1D508) ## $a3 = 80B20000
|
||||
/* 01210 80B1CB10 8FA50030 */ lw $a1, 0x0030($sp)
|
||||
/* 01214 80B1CB14 24E7D508 */ addiu $a3, $a3, %lo(D_80B1D508) ## $a3 = 80B1D508
|
||||
/* 01218 80B1CB18 8FA40044 */ lw $a0, 0x0044($sp)
|
||||
/* 0121C 80B1CB1C 0C01712B */ jal ActorCollider_InitCylinder
|
||||
|
||||
/* 01220 80B1CB20 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 01224 80B1CB24 3C0680B2 */ lui $a2, %hi(D_80B1D534) ## $a2 = 80B20000
|
||||
/* 01228 80B1CB28 24C6D534 */ addiu $a2, $a2, %lo(D_80B1D534) ## $a2 = 80B1D534
|
||||
/* 0122C 80B1CB2C 26040098 */ addiu $a0, $s0, 0x0098 ## $a0 = 00000098
|
||||
/* 01230 80B1CB30 0C0187BF */ jal func_80061EFC
|
||||
/* 01234 80B1CB34 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 01238 80B1CB38 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 0123C 80B1CB3C 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 01240 80B1CB40 9462000C */ lhu $v0, 0x000C($v1) ## 8015E66C
|
||||
/* 01244 80B1CB44 3401C001 */ ori $at, $zero, 0xC001 ## $at = 0000C001
|
||||
/* 01248 80B1CB48 0041082A */ slt $at, $v0, $at
|
||||
/* 0124C 80B1CB4C 1420000D */ bne $at, $zero, .L80B1CB84
|
||||
/* 01250 80B1CB50 3401E000 */ ori $at, $zero, 0xE000 ## $at = 0000E000
|
||||
/* 01254 80B1CB54 0041082A */ slt $at, $v0, $at
|
||||
/* 01258 80B1CB58 1020000A */ beq $at, $zero, .L80B1CB84
|
||||
/* 0125C 80B1CB5C 00000000 */ nop
|
||||
/* 01260 80B1CB60 8C790004 */ lw $t9, 0x0004($v1) ## 8015E664
|
||||
/* 01264 80B1CB64 8FA80044 */ lw $t0, 0x0044($sp)
|
||||
/* 01268 80B1CB68 13200006 */ beq $t9, $zero, .L80B1CB84
|
||||
/* 0126C 80B1CB6C 00000000 */ nop
|
||||
/* 01270 80B1CB70 850900A4 */ lh $t1, 0x00A4($t0) ## 000000A4
|
||||
/* 01274 80B1CB74 24010053 */ addiu $at, $zero, 0x0053 ## $at = 00000053
|
||||
/* 01278 80B1CB78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0127C 80B1CB7C 11210005 */ beq $t1, $at, .L80B1CB94
|
||||
/* 01280 80B1CB80 3C053C23 */ lui $a1, 0x3C23 ## $a1 = 3C230000
|
||||
.L80B1CB84:
|
||||
/* 01284 80B1CB84 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 01288 80B1CB88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0128C 80B1CB8C 1000000F */ beq $zero, $zero, .L80B1CBCC
|
||||
/* 01290 80B1CB90 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B1CB94:
|
||||
/* 01294 80B1CB94 0C00B58B */ jal Actor_SetScale
|
||||
|
||||
/* 01298 80B1CB98 34A5D70A */ ori $a1, $a1, 0xD70A ## $a1 = 0000D70A
|
||||
/* 0129C 80B1CB9C 240A0006 */ addiu $t2, $zero, 0x0006 ## $t2 = 00000006
|
||||
/* 012A0 80B1CBA0 A20A001F */ sb $t2, 0x001F($s0) ## 0000001F
|
||||
/* 012A4 80B1CBA4 3C0180B2 */ lui $at, %hi(D_80B1D684) ## $at = 80B20000
|
||||
/* 012A8 80B1CBA8 C428D684 */ lwc1 $f8, %lo(D_80B1D684)($at)
|
||||
/* 012AC 80B1CBAC 3C0C80B2 */ lui $t4, %hi(func_80B1CC04) ## $t4 = 80B20000
|
||||
/* 012B0 80B1CBB0 240BFFFF */ addiu $t3, $zero, 0xFFFF ## $t3 = FFFFFFFF
|
||||
/* 012B4 80B1CBB4 258CCC04 */ addiu $t4, $t4, %lo(func_80B1CC04) ## $t4 = 80B1CC04
|
||||
/* 012B8 80B1CBB8 AE0B0214 */ sw $t3, 0x0214($s0) ## 00000214
|
||||
/* 012BC 80B1CBBC AE000210 */ sw $zero, 0x0210($s0) ## 00000210
|
||||
/* 012C0 80B1CBC0 AE0C0190 */ sw $t4, 0x0190($s0) ## 00000190
|
||||
/* 012C4 80B1CBC4 E608006C */ swc1 $f8, 0x006C($s0) ## 0000006C
|
||||
/* 012C8 80B1CBC8 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
.L80B1CBCC:
|
||||
/* 012CC 80B1CBCC 8FB00028 */ lw $s0, 0x0028($sp)
|
||||
/* 012D0 80B1CBD0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
/* 012D4 80B1CBD4 03E00008 */ jr $ra
|
||||
/* 012D8 80B1CBD8 00000000 */ nop
|
||||
|
||||
|
@ -1,49 +0,0 @@
|
||||
glabel EnTk_Update
|
||||
/* 01858 80B1D158 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 0185C 80B1D15C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01860 80B1D160 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01864 80B1D164 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01868 80B1D168 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 0186C 80B1D16C 26060194 */ addiu $a2, $s0, 0x0194 ## $a2 = 00000194
|
||||
/* 01870 80B1D170 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000194
|
||||
/* 01874 80B1D174 0C0189B7 */ jal ActorCollider_Cylinder_Update
|
||||
|
||||
/* 01878 80B1D178 AFA6002C */ sw $a2, 0x002C($sp)
|
||||
/* 0187C 80B1D17C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 01880 80B1D180 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 01884 80B1D184 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
|
||||
/* 01888 80B1D188 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 0188C 80B1D18C 0C017713 */ jal Actor_CollisionCheck_SetOT
|
||||
## CollisionCheck_setOT
|
||||
/* 01890 80B1D190 00812821 */ addu $a1, $a0, $at
|
||||
/* 01894 80B1D194 0C02927F */ jal SkelAnime_FrameUpdateMatrix
|
||||
|
||||
/* 01898 80B1D198 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 0189C 80B1D19C 0C00B638 */ jal Actor_MoveForward
|
||||
|
||||
/* 018A0 80B1D1A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018A4 80B1D1A4 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
|
||||
/* 018A8 80B1D1A8 240E0005 */ addiu $t6, $zero, 0x0005 ## $t6 = 00000005
|
||||
/* 018AC 80B1D1AC AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 018B0 80B1D1B0 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 018B4 80B1D1B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 018B8 80B1D1B8 3C064220 */ lui $a2, 0x4220 ## $a2 = 42200000
|
||||
/* 018BC 80B1D1BC 3C074120 */ lui $a3, 0x4120 ## $a3 = 41200000
|
||||
/* 018C0 80B1D1C0 0C00B92D */ jal func_8002E4B4
|
||||
/* 018C4 80B1D1C4 E7A40010 */ swc1 $f4, 0x0010($sp)
|
||||
/* 018C8 80B1D1C8 8E190190 */ lw $t9, 0x0190($s0) ## 00000190
|
||||
/* 018CC 80B1D1CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018D0 80B1D1D0 8FA5003C */ lw $a1, 0x003C($sp)
|
||||
/* 018D4 80B1D1D4 0320F809 */ jalr $ra, $t9
|
||||
/* 018D8 80B1D1D8 00000000 */ nop
|
||||
/* 018DC 80B1D1DC 0C2C6E69 */ jal func_80B1B9A4
|
||||
/* 018E0 80B1D1E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018E4 80B1D1E4 0C2C7003 */ jal func_80B1C00C
|
||||
/* 018E8 80B1D1E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 018EC 80B1D1EC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 018F0 80B1D1F0 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 018F4 80B1D1F4 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 018F8 80B1D1F8 03E00008 */ jr $ra
|
||||
/* 018FC 80B1D1FC 00000000 */ nop
|
||||
|
||||
|
@ -1,46 +0,0 @@
|
||||
glabel func_80B1B900
|
||||
/* 00000 80B1B900 24820310 */ addiu $v0, $a0, 0x0310 ## $v0 = 00000310
|
||||
/* 00004 80B1B904 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
/* 00008 80B1B908 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L80B1B90C:
|
||||
/* 0000C 80B1B90C 904E0000 */ lbu $t6, 0x0000($v0) ## 00000310
|
||||
/* 00010 80B1B910 24630001 */ addiu $v1, $v1, 0x0001 ## $v1 = 00000001
|
||||
/* 00014 80B1B914 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00018 80B1B918 108E001D */ beq $a0, $t6, .L80B1B990
|
||||
/* 0001C 80B1B91C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00020 80B1B920 C7A40014 */ lwc1 $f4, 0x0014($sp)
|
||||
/* 00024 80B1B924 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 00028 80B1B928 E4440004 */ swc1 $f4, 0x0004($v0) ## 00000314
|
||||
/* 0002C 80B1B92C C7A60018 */ lwc1 $f6, 0x0018($sp)
|
||||
/* 00030 80B1B930 E4460008 */ swc1 $f6, 0x0008($v0) ## 00000318
|
||||
/* 00034 80B1B934 93B80013 */ lbu $t8, 0x0013($sp)
|
||||
/* 00038 80B1B938 A0590000 */ sb $t9, 0x0000($v0) ## 00000310
|
||||
/* 0003C 80B1B93C A0580001 */ sb $t8, 0x0001($v0) ## 00000311
|
||||
/* 00040 80B1B940 A0580002 */ sb $t8, 0x0002($v0) ## 00000312
|
||||
/* 00044 80B1B944 8CA90000 */ lw $t1, 0x0000($a1) ## 00000000
|
||||
/* 00048 80B1B948 AC490014 */ sw $t1, 0x0014($v0) ## 00000324
|
||||
/* 0004C 80B1B94C 8CA80004 */ lw $t0, 0x0004($a1) ## 00000004
|
||||
/* 00050 80B1B950 AC480018 */ sw $t0, 0x0018($v0) ## 00000328
|
||||
/* 00054 80B1B954 8CA90008 */ lw $t1, 0x0008($a1) ## 00000008
|
||||
/* 00058 80B1B958 AC49001C */ sw $t1, 0x001C($v0) ## 0000032C
|
||||
/* 0005C 80B1B95C 8CEB0000 */ lw $t3, 0x0000($a3) ## 00000000
|
||||
/* 00060 80B1B960 AC4B002C */ sw $t3, 0x002C($v0) ## 0000033C
|
||||
/* 00064 80B1B964 8CEA0004 */ lw $t2, 0x0004($a3) ## 00000004
|
||||
/* 00068 80B1B968 AC4A0030 */ sw $t2, 0x0030($v0) ## 00000340
|
||||
/* 0006C 80B1B96C 8CEB0008 */ lw $t3, 0x0008($a3) ## 00000008
|
||||
/* 00070 80B1B970 AC4B0034 */ sw $t3, 0x0034($v0) ## 00000344
|
||||
/* 00074 80B1B974 8CCD0000 */ lw $t5, 0x0000($a2) ## 00000000
|
||||
/* 00078 80B1B978 AC4D0020 */ sw $t5, 0x0020($v0) ## 00000330
|
||||
/* 0007C 80B1B97C 8CCC0004 */ lw $t4, 0x0004($a2) ## 00000004
|
||||
/* 00080 80B1B980 AC4C0024 */ sw $t4, 0x0024($v0) ## 00000334
|
||||
/* 00084 80B1B984 8CCD0008 */ lw $t5, 0x0008($a2) ## 00000008
|
||||
/* 00088 80B1B988 03E00008 */ jr $ra
|
||||
/* 0008C 80B1B98C AC4D0028 */ sw $t5, 0x0028($v0) ## 00000338
|
||||
.L80B1B990:
|
||||
/* 00090 80B1B990 28610014 */ slti $at, $v1, 0x0014
|
||||
/* 00094 80B1B994 1420FFDD */ bne $at, $zero, .L80B1B90C
|
||||
/* 00098 80B1B998 24420038 */ addiu $v0, $v0, 0x0038 ## $v0 = 00000348
|
||||
/* 0009C 80B1B99C 03E00008 */ jr $ra
|
||||
/* 000A0 80B1B9A0 00000000 */ nop
|
||||
|
||||
|
@ -1,75 +0,0 @@
|
||||
glabel func_80B1B9A4
|
||||
/* 000A4 80B1B9A4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 000A8 80B1B9A8 F7B60018 */ sdc1 $f22, 0x0018($sp)
|
||||
/* 000AC 80B1B9AC 3C0180B2 */ lui $at, %hi(D_80B1D62C) ## $at = 80B20000
|
||||
/* 000B0 80B1B9B0 C436D62C */ lwc1 $f22, %lo(D_80B1D62C)($at)
|
||||
/* 000B4 80B1B9B4 AFB10028 */ sw $s1, 0x0028($sp)
|
||||
/* 000B8 80B1B9B8 AFB00024 */ sw $s0, 0x0024($sp)
|
||||
/* 000BC 80B1B9BC F7B40010 */ sdc1 $f20, 0x0010($sp)
|
||||
/* 000C0 80B1B9C0 3C0180B2 */ lui $at, %hi(D_80B1D630) ## $at = 80B20000
|
||||
/* 000C4 80B1B9C4 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 000C8 80B1B9C8 24900310 */ addiu $s0, $a0, 0x0310 ## $s0 = 00000310
|
||||
/* 000CC 80B1B9CC C434D630 */ lwc1 $f20, %lo(D_80B1D630)($at)
|
||||
/* 000D0 80B1B9D0 00008825 */ or $s1, $zero, $zero ## $s1 = 00000000
|
||||
.L80B1B9D4:
|
||||
/* 000D4 80B1B9D4 920E0000 */ lbu $t6, 0x0000($s0) ## 00000310
|
||||
/* 000D8 80B1B9D8 51C00029 */ beql $t6, $zero, .L80B1BA80
|
||||
/* 000DC 80B1B9DC 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000001
|
||||
/* 000E0 80B1B9E0 920F0001 */ lbu $t7, 0x0001($s0) ## 00000311
|
||||
/* 000E4 80B1B9E4 25F8FFFF */ addiu $t8, $t7, 0xFFFF ## $t8 = FFFFFFFF
|
||||
/* 000E8 80B1B9E8 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 000000FF
|
||||
/* 000EC 80B1B9EC 17200002 */ bne $t9, $zero, .L80B1B9F8
|
||||
/* 000F0 80B1B9F0 A2180001 */ sb $t8, 0x0001($s0) ## 00000311
|
||||
/* 000F4 80B1B9F4 A2000000 */ sb $zero, 0x0000($s0) ## 00000310
|
||||
.L80B1B9F8:
|
||||
/* 000F8 80B1B9F8 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 000FC 80B1B9FC 00000000 */ nop
|
||||
/* 00100 80B1BA00 46140102 */ mul.s $f4, $f0, $f20
|
||||
/* 00104 80B1BA04 46162181 */ sub.s $f6, $f4, $f22
|
||||
/* 00108 80B1BA08 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0010C 80B1BA0C E606002C */ swc1 $f6, 0x002C($s0) ## 0000033C
|
||||
/* 00110 80B1BA10 C60C0020 */ lwc1 $f12, 0x0020($s0) ## 00000330
|
||||
/* 00114 80B1BA14 C60A0014 */ lwc1 $f10, 0x0014($s0) ## 00000324
|
||||
/* 00118 80B1BA18 46140202 */ mul.s $f8, $f0, $f20
|
||||
/* 0011C 80B1BA1C C60E0024 */ lwc1 $f14, 0x0024($s0) ## 00000334
|
||||
/* 00120 80B1BA20 460C5480 */ add.s $f18, $f10, $f12
|
||||
/* 00124 80B1BA24 C6040018 */ lwc1 $f4, 0x0018($s0) ## 00000328
|
||||
/* 00128 80B1BA28 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000338
|
||||
/* 0012C 80B1BA2C E6120014 */ swc1 $f18, 0x0014($s0) ## 00000324
|
||||
/* 00130 80B1BA30 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000033C
|
||||
/* 00134 80B1BA34 460E2180 */ add.s $f6, $f4, $f14
|
||||
/* 00138 80B1BA38 46164081 */ sub.s $f2, $f8, $f22
|
||||
/* 0013C 80B1BA3C C608001C */ lwc1 $f8, 0x001C($s0) ## 0000032C
|
||||
/* 00140 80B1BA40 E6060018 */ swc1 $f6, 0x0018($s0) ## 00000328
|
||||
/* 00144 80B1BA44 46126100 */ add.s $f4, $f12, $f18
|
||||
/* 00148 80B1BA48 C6060030 */ lwc1 $f6, 0x0030($s0) ## 00000340
|
||||
/* 0014C 80B1BA4C C6120004 */ lwc1 $f18, 0x0004($s0) ## 00000314
|
||||
/* 00150 80B1BA50 46104280 */ add.s $f10, $f8, $f16
|
||||
/* 00154 80B1BA54 E6040020 */ swc1 $f4, 0x0020($s0) ## 00000330
|
||||
/* 00158 80B1BA58 C6040008 */ lwc1 $f4, 0x0008($s0) ## 00000318
|
||||
/* 0015C 80B1BA5C 46067200 */ add.s $f8, $f14, $f6
|
||||
/* 00160 80B1BA60 E60A001C */ swc1 $f10, 0x001C($s0) ## 0000032C
|
||||
/* 00164 80B1BA64 E6020034 */ swc1 $f2, 0x0034($s0) ## 00000344
|
||||
/* 00168 80B1BA68 46028280 */ add.s $f10, $f16, $f2
|
||||
/* 0016C 80B1BA6C E6080024 */ swc1 $f8, 0x0024($s0) ## 00000334
|
||||
/* 00170 80B1BA70 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 00174 80B1BA74 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000338
|
||||
/* 00178 80B1BA78 E6060004 */ swc1 $f6, 0x0004($s0) ## 00000314
|
||||
/* 0017C 80B1BA7C 26310001 */ addiu $s1, $s1, 0x0001 ## $s1 = 00000002
|
||||
.L80B1BA80:
|
||||
/* 00180 80B1BA80 00118C00 */ sll $s1, $s1, 16
|
||||
/* 00184 80B1BA84 00118C03 */ sra $s1, $s1, 16
|
||||
/* 00188 80B1BA88 2A210014 */ slti $at, $s1, 0x0014
|
||||
/* 0018C 80B1BA8C 1420FFD1 */ bne $at, $zero, .L80B1B9D4
|
||||
/* 00190 80B1BA90 26100038 */ addiu $s0, $s0, 0x0038 ## $s0 = 00000348
|
||||
/* 00194 80B1BA94 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 00198 80B1BA98 D7B40010 */ ldc1 $f20, 0x0010($sp)
|
||||
/* 0019C 80B1BA9C D7B60018 */ ldc1 $f22, 0x0018($sp)
|
||||
/* 001A0 80B1BAA0 8FB00024 */ lw $s0, 0x0024($sp)
|
||||
/* 001A4 80B1BAA4 8FB10028 */ lw $s1, 0x0028($sp)
|
||||
/* 001A8 80B1BAA8 03E00008 */ jr $ra
|
||||
/* 001AC 80B1BAAC 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
|
||||
|
@ -1,213 +0,0 @@
|
||||
glabel func_80B1BAB0
|
||||
/* 001B0 80B1BAB0 27BDFF58 */ addiu $sp, $sp, 0xFF58 ## $sp = FFFFFF58
|
||||
/* 001B4 80B1BAB4 AFBE0050 */ sw $s8, 0x0050($sp)
|
||||
/* 001B8 80B1BAB8 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
|
||||
/* 001BC 80B1BABC AFBF0054 */ sw $ra, 0x0054($sp)
|
||||
/* 001C0 80B1BAC0 AFB7004C */ sw $s7, 0x004C($sp)
|
||||
/* 001C4 80B1BAC4 AFB60048 */ sw $s6, 0x0048($sp)
|
||||
/* 001C8 80B1BAC8 AFB50044 */ sw $s5, 0x0044($sp)
|
||||
/* 001CC 80B1BACC AFB40040 */ sw $s4, 0x0040($sp)
|
||||
/* 001D0 80B1BAD0 AFB3003C */ sw $s3, 0x003C($sp)
|
||||
/* 001D4 80B1BAD4 AFB20038 */ sw $s2, 0x0038($sp)
|
||||
/* 001D8 80B1BAD8 AFB10034 */ sw $s1, 0x0034($sp)
|
||||
/* 001DC 80B1BADC AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 001E0 80B1BAE0 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 001E4 80B1BAE4 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 001E8 80B1BAE8 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 001EC 80B1BAEC 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 001F0 80B1BAF0 24920310 */ addiu $s2, $a0, 0x0310 ## $s2 = 00000310
|
||||
/* 001F4 80B1BAF4 3C0680B2 */ lui $a2, %hi(D_80B1D5B0) ## $a2 = 80B20000
|
||||
/* 001F8 80B1BAF8 24C6D5B0 */ addiu $a2, $a2, %lo(D_80B1D5B0) ## $a2 = 80B1D5B0
|
||||
/* 001FC 80B1BAFC 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0
|
||||
/* 00200 80B1BB00 24070072 */ addiu $a3, $zero, 0x0072 ## $a3 = 00000072
|
||||
/* 00204 80B1BB04 0C031AB1 */ jal func_800C6AC4
|
||||
/* 00208 80B1BB08 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 0020C 80B1BB0C 0000B825 */ or $s7, $zero, $zero ## $s7 = 00000000
|
||||
/* 00210 80B1BB10 0C024F61 */ jal func_80093D84
|
||||
/* 00214 80B1BB14 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000
|
||||
/* 00218 80B1BB18 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 0021C 80B1BB1C 4481C000 */ mtc1 $at, $f24 ## $f24 = 8.00
|
||||
/* 00220 80B1BB20 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 00224 80B1BB24 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
|
||||
/* 00228 80B1BB28 3C01437F */ lui $at, 0x437F ## $at = 437F0000
|
||||
/* 0022C 80B1BB2C 4481A000 */ mtc1 $at, $f20 ## $f20 = 255.00
|
||||
/* 00230 80B1BB30 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
|
||||
/* 00234 80B1BB34 3C16DE00 */ lui $s6, 0xDE00 ## $s6 = DE000000
|
||||
.L80B1BB38:
|
||||
/* 00238 80B1BB38 924E0000 */ lbu $t6, 0x0000($s2) ## 00000310
|
||||
/* 0023C 80B1BB3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00240 80B1BB40 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
|
||||
/* 00244 80B1BB44 11C0008A */ beq $t6, $zero, .L80B1BD70
|
||||
/* 00248 80B1BB48 03C19821 */ addu $s3, $s8, $at
|
||||
/* 0024C 80B1BB4C 3C150601 */ lui $s5, 0x0601 ## $s5 = 06010000
|
||||
/* 00250 80B1BB50 16E00014 */ bne $s7, $zero, .L80B1BBA4
|
||||
/* 00254 80B1BB54 26B5BCA0 */ addiu $s5, $s5, 0xBCA0 ## $s5 = 0600BCA0
|
||||
/* 00258 80B1BB58 3C110601 */ lui $s1, 0x0601 ## $s1 = 06010000
|
||||
/* 0025C 80B1BB5C 2631BC90 */ addiu $s1, $s1, 0xBC90 ## $s1 = 0600BC90
|
||||
/* 00260 80B1BB60 8E0402D0 */ lw $a0, 0x02D0($s0) ## 000002D0
|
||||
/* 00264 80B1BB64 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 00268 80B1BB68 0C024DDD */ jal func_80093774
|
||||
/* 0026C 80B1BB6C 24170001 */ addiu $s7, $zero, 0x0001 ## $s7 = 00000001
|
||||
/* 00270 80B1BB70 AE0202D0 */ sw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00274 80B1BB74 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00278 80B1BB78 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
|
||||
/* 0027C 80B1BB7C AC510004 */ sw $s1, 0x0004($v0) ## 00000004
|
||||
/* 00280 80B1BB80 AC560000 */ sw $s6, 0x0000($v0) ## 00000000
|
||||
/* 00284 80B1BB84 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00288 80B1BB88 3C08643C */ lui $t0, 0x643C ## $t0 = 643C0000
|
||||
/* 0028C 80B1BB8C 35081400 */ ori $t0, $t0, 0x1400 ## $t0 = 643C1400
|
||||
/* 00290 80B1BB90 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00294 80B1BB94 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
|
||||
/* 00298 80B1BB98 3C19FB00 */ lui $t9, 0xFB00 ## $t9 = FB000000
|
||||
/* 0029C 80B1BB9C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 002A0 80B1BBA0 AC480004 */ sw $t0, 0x0004($v0) ## 00000004
|
||||
.L80B1BBA4:
|
||||
/* 002A4 80B1BBA4 92490001 */ lbu $t1, 0x0001($s2) ## 00000311
|
||||
/* 002A8 80B1BBA8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 002AC 80B1BBAC 44892000 */ mtc1 $t1, $f4 ## $f4 = 0.00
|
||||
/* 002B0 80B1BBB0 05210004 */ bgez $t1, .L80B1BBC4
|
||||
/* 002B4 80B1BBB4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 002B8 80B1BBB8 44814000 */ mtc1 $at, $f8 ## $f8 = 4294967296.00
|
||||
/* 002BC 80B1BBBC 00000000 */ nop
|
||||
/* 002C0 80B1BBC0 46083180 */ add.s $f6, $f6, $f8
|
||||
.L80B1BBC4:
|
||||
/* 002C4 80B1BBC4 924A0002 */ lbu $t2, 0x0002($s2) ## 00000312
|
||||
/* 002C8 80B1BBC8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 002CC 80B1BBCC 448A5000 */ mtc1 $t2, $f10 ## $f10 = 0.00
|
||||
/* 002D0 80B1BBD0 05410004 */ bgez $t2, .L80B1BBE4
|
||||
/* 002D4 80B1BBD4 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 002D8 80B1BBD8 44819000 */ mtc1 $at, $f18 ## $f18 = 4294967296.00
|
||||
/* 002DC 80B1BBDC 00000000 */ nop
|
||||
/* 002E0 80B1BBE0 46128400 */ add.s $f16, $f16, $f18
|
||||
.L80B1BBE4:
|
||||
/* 002E4 80B1BBE4 4610A103 */ div.s $f4, $f20, $f16
|
||||
/* 002E8 80B1BBE8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 002EC 80B1BBEC 3C01AA82 */ lui $at, 0xAA82 ## $at = AA820000
|
||||
/* 002F0 80B1BBF0 34215A00 */ ori $at, $at, 0x5A00 ## $at = AA825A00
|
||||
/* 002F4 80B1BBF4 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
|
||||
/* 002F8 80B1BBF8 AE0C02D0 */ sw $t4, 0x02D0($s0) ## 000002D0
|
||||
/* 002FC 80B1BBFC 3C0DFA00 */ lui $t5, 0xFA00 ## $t5 = FA000000
|
||||
/* 00300 80B1BC00 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
|
||||
/* 00304 80B1BC04 3C19E700 */ lui $t9, 0xE700 ## $t9 = E7000000
|
||||
/* 00308 80B1BC08 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 0030C 80B1BC0C 46043202 */ mul.s $f8, $f6, $f4
|
||||
/* 00310 80B1BC10 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 00314 80B1BC14 44045000 */ mfc1 $a0, $f10
|
||||
/* 00318 80B1BC18 00000000 */ nop
|
||||
/* 0031C 80B1BC1C 00042400 */ sll $a0, $a0, 16
|
||||
/* 00320 80B1BC20 00042403 */ sra $a0, $a0, 16
|
||||
/* 00324 80B1BC24 308E00FF */ andi $t6, $a0, 0x00FF ## $t6 = 00000000
|
||||
/* 00328 80B1BC28 01C17825 */ or $t7, $t6, $at ## $t7 = AA825A00
|
||||
/* 0032C 80B1BC2C AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 00330 80B1BC30 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00334 80B1BC34 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00338 80B1BC38 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
|
||||
/* 0033C 80B1BC3C AC400004 */ sw $zero, 0x0004($v0) ## 00000004
|
||||
/* 00340 80B1BC40 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00344 80B1BC44 8E46001C */ lw $a2, 0x001C($s2) ## 0000032C
|
||||
/* 00348 80B1BC48 C64E0018 */ lwc1 $f14, 0x0018($s2) ## 00000328
|
||||
/* 0034C 80B1BC4C 0C034261 */ jal Matrix_Translate
|
||||
/* 00350 80B1BC50 C64C0014 */ lwc1 $f12, 0x0014($s2) ## 00000324
|
||||
/* 00354 80B1BC54 0C0347F5 */ jal func_800D1FD4
|
||||
/* 00358 80B1BC58 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
|
||||
/* 0035C 80B1BC5C C64C0004 */ lwc1 $f12, 0x0004($s2) ## 00000314
|
||||
/* 00360 80B1BC60 4406B000 */ mfc1 $a2, $f22
|
||||
/* 00364 80B1BC64 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00368 80B1BC68 0C0342A3 */ jal Matrix_Scale
|
||||
/* 0036C 80B1BC6C 46006386 */ mov.s $f14, $f12
|
||||
/* 00370 80B1BC70 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00374 80B1BC74 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
|
||||
/* 00378 80B1BC78 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
|
||||
/* 0037C 80B1BC7C 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
|
||||
/* 00380 80B1BC80 AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
|
||||
/* 00384 80B1BC84 3C0580B2 */ lui $a1, %hi(D_80B1D5C4) ## $a1 = 80B20000
|
||||
/* 00388 80B1BC88 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 0038C 80B1BC8C 8FC40000 */ lw $a0, 0x0000($s8) ## 00000000
|
||||
/* 00390 80B1BC90 24A5D5C4 */ addiu $a1, $a1, %lo(D_80B1D5C4) ## $a1 = 80B1D5C4
|
||||
/* 00394 80B1BC94 2406008C */ addiu $a2, $zero, 0x008C ## $a2 = 0000008C
|
||||
/* 00398 80B1BC98 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0039C 80B1BC9C 00408825 */ or $s1, $v0, $zero ## $s1 = 00000000
|
||||
/* 003A0 80B1BCA0 AE220004 */ sw $v0, 0x0004($s1) ## 00000004
|
||||
/* 003A4 80B1BCA4 924A0001 */ lbu $t2, 0x0001($s2) ## 00000311
|
||||
/* 003A8 80B1BCA8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 003AC 80B1BCAC 448A9000 */ mtc1 $t2, $f18 ## $f18 = 0.00
|
||||
/* 003B0 80B1BCB0 05410004 */ bgez $t2, .L80B1BCC4
|
||||
/* 003B4 80B1BCB4 46809420 */ cvt.s.w $f16, $f18
|
||||
/* 003B8 80B1BCB8 44813000 */ mtc1 $at, $f6 ## $f6 = 4294967296.00
|
||||
/* 003BC 80B1BCBC 00000000 */ nop
|
||||
/* 003C0 80B1BCC0 46068400 */ add.s $f16, $f16, $f6
|
||||
.L80B1BCC4:
|
||||
/* 003C4 80B1BCC4 924B0002 */ lbu $t3, 0x0002($s2) ## 00000312
|
||||
/* 003C8 80B1BCC8 3C014F80 */ lui $at, 0x4F80 ## $at = 4F800000
|
||||
/* 003CC 80B1BCCC 448B2000 */ mtc1 $t3, $f4 ## $f4 = 0.00
|
||||
/* 003D0 80B1BCD0 05610004 */ bgez $t3, .L80B1BCE4
|
||||
/* 003D4 80B1BCD4 46802220 */ cvt.s.w $f8, $f4
|
||||
/* 003D8 80B1BCD8 44815000 */ mtc1 $at, $f10 ## $f10 = 4294967296.00
|
||||
/* 003DC 80B1BCDC 00000000 */ nop
|
||||
/* 003E0 80B1BCE0 460A4200 */ add.s $f8, $f8, $f10
|
||||
.L80B1BCE4:
|
||||
/* 003E4 80B1BCE4 4608C483 */ div.s $f18, $f24, $f8
|
||||
/* 003E8 80B1BCE8 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 003EC 80B1BCEC 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000
|
||||
/* 003F0 80B1BCF0 35CE0020 */ ori $t6, $t6, 0x0020 ## $t6 = DB060020
|
||||
/* 003F4 80B1BCF4 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 003F8 80B1BCF8 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
|
||||
/* 003FC 80B1BCFC 3C0480B2 */ lui $a0, %hi(D_80B1D4D0) ## $a0 = 80B20000
|
||||
/* 00400 80B1BD00 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 00404 80B1BD04 3C0A8016 */ lui $t2, 0x8016 ## $t2 = 80160000
|
||||
/* 00408 80B1BD08 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 0040C 80B1BD0C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00410 80B1BD10 46128182 */ mul.s $f6, $f16, $f18
|
||||
/* 00414 80B1BD14 4600310D */ trunc.w.s $f4, $f6
|
||||
/* 00418 80B1BD18 44052000 */ mfc1 $a1, $f4
|
||||
/* 0041C 80B1BD1C 00000000 */ nop
|
||||
/* 00420 80B1BD20 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00424 80B1BD24 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00428 80B1BD28 00057880 */ sll $t7, $a1, 2
|
||||
/* 0042C 80B1BD2C 008F2021 */ addu $a0, $a0, $t7
|
||||
/* 00430 80B1BD30 8C84D4D0 */ lw $a0, %lo(D_80B1D4D0)($a0)
|
||||
/* 00434 80B1BD34 0004C900 */ sll $t9, $a0, 4
|
||||
/* 00438 80B1BD38 00194702 */ srl $t0, $t9, 28
|
||||
/* 0043C 80B1BD3C 00084880 */ sll $t1, $t0, 2
|
||||
/* 00440 80B1BD40 01495021 */ addu $t2, $t2, $t1
|
||||
/* 00444 80B1BD44 8D4A6FA8 */ lw $t2, 0x6FA8($t2) ## 80166FA8
|
||||
/* 00448 80B1BD48 0081C024 */ and $t8, $a0, $at
|
||||
/* 0044C 80B1BD4C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00450 80B1BD50 030A5821 */ addu $t3, $t8, $t2
|
||||
/* 00454 80B1BD54 01616021 */ addu $t4, $t3, $at
|
||||
/* 00458 80B1BD58 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 0045C 80B1BD5C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
|
||||
/* 00460 80B1BD60 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00464 80B1BD64 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
|
||||
/* 00468 80B1BD68 AC550004 */ sw $s5, 0x0004($v0) ## 00000004
|
||||
/* 0046C 80B1BD6C AC560000 */ sw $s6, 0x0000($v0) ## 00000000
|
||||
.L80B1BD70:
|
||||
/* 00470 80B1BD70 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
|
||||
/* 00474 80B1BD74 0014A400 */ sll $s4, $s4, 16
|
||||
/* 00478 80B1BD78 0014A403 */ sra $s4, $s4, 16
|
||||
/* 0047C 80B1BD7C 2A810014 */ slti $at, $s4, 0x0014
|
||||
/* 00480 80B1BD80 1420FF6D */ bne $at, $zero, .L80B1BB38
|
||||
/* 00484 80B1BD84 26520038 */ addiu $s2, $s2, 0x0038 ## $s2 = 00000348
|
||||
/* 00488 80B1BD88 3C0680B2 */ lui $a2, %hi(D_80B1D5D8) ## $a2 = 80B20000
|
||||
/* 0048C 80B1BD8C 24C6D5D8 */ addiu $a2, $a2, %lo(D_80B1D5D8) ## $a2 = 80B1D5D8
|
||||
/* 00490 80B1BD90 27A40088 */ addiu $a0, $sp, 0x0088 ## $a0 = FFFFFFE0
|
||||
/* 00494 80B1BD94 8FC50000 */ lw $a1, 0x0000($s8) ## 00000000
|
||||
/* 00498 80B1BD98 0C031AD5 */ jal func_800C6B54
|
||||
/* 0049C 80B1BD9C 2407009A */ addiu $a3, $zero, 0x009A ## $a3 = 0000009A
|
||||
/* 004A0 80B1BDA0 8FBF0054 */ lw $ra, 0x0054($sp)
|
||||
/* 004A4 80B1BDA4 D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 004A8 80B1BDA8 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 004AC 80B1BDAC D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 004B0 80B1BDB0 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 004B4 80B1BDB4 8FB10034 */ lw $s1, 0x0034($sp)
|
||||
/* 004B8 80B1BDB8 8FB20038 */ lw $s2, 0x0038($sp)
|
||||
/* 004BC 80B1BDBC 8FB3003C */ lw $s3, 0x003C($sp)
|
||||
/* 004C0 80B1BDC0 8FB40040 */ lw $s4, 0x0040($sp)
|
||||
/* 004C4 80B1BDC4 8FB50044 */ lw $s5, 0x0044($sp)
|
||||
/* 004C8 80B1BDC8 8FB60048 */ lw $s6, 0x0048($sp)
|
||||
/* 004CC 80B1BDCC 8FB7004C */ lw $s7, 0x004C($sp)
|
||||
/* 004D0 80B1BDD0 8FBE0050 */ lw $s8, 0x0050($sp)
|
||||
/* 004D4 80B1BDD4 03E00008 */ jr $ra
|
||||
/* 004D8 80B1BDD8 27BD00A8 */ addiu $sp, $sp, 0x00A8 ## $sp = 00000000
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
glabel func_80B1BDDC
|
||||
/* 004DC 80B1BDDC 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
|
||||
/* 004E0 80B1BDE0 3C0F80B2 */ lui $t7, %hi(D_80B1D4F0) ## $t7 = 80B20000
|
||||
/* 004E4 80B1BDE4 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 004E8 80B1BDE8 AFA40048 */ sw $a0, 0x0048($sp)
|
||||
/* 004EC 80B1BDEC AFA5004C */ sw $a1, 0x004C($sp)
|
||||
/* 004F0 80B1BDF0 AFA60050 */ sw $a2, 0x0050($sp)
|
||||
/* 004F4 80B1BDF4 AFA70054 */ sw $a3, 0x0054($sp)
|
||||
/* 004F8 80B1BDF8 25EFD4F0 */ addiu $t7, $t7, %lo(D_80B1D4F0) ## $t7 = 80B1D4F0
|
||||
/* 004FC 80B1BDFC 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D4F0
|
||||
/* 00500 80B1BE00 27AE003C */ addiu $t6, $sp, 0x003C ## $t6 = FFFFFFF4
|
||||
/* 00504 80B1BE04 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D4F4
|
||||
/* 00508 80B1BE08 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
||||
/* 0050C 80B1BE0C 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D4F8
|
||||
/* 00510 80B1BE10 3C0980B2 */ lui $t1, %hi(D_80B1D4FC) ## $t1 = 80B20000
|
||||
/* 00514 80B1BE14 2529D4FC */ addiu $t1, $t1, %lo(D_80B1D4FC) ## $t1 = 80B1D4FC
|
||||
/* 00518 80B1BE18 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
|
||||
/* 0051C 80B1BE1C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
|
||||
/* 00520 80B1BE20 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B1D4FC
|
||||
/* 00524 80B1BE24 27A80030 */ addiu $t0, $sp, 0x0030 ## $t0 = FFFFFFE8
|
||||
/* 00528 80B1BE28 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B1D500
|
||||
/* 0052C 80B1BE2C AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
|
||||
/* 00530 80B1BE30 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B1D504
|
||||
/* 00534 80B1BE34 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
|
||||
/* 00538 80B1BE38 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 0053C 80B1BE3C AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
|
||||
/* 00540 80B1BE40 C7A6005C */ lwc1 $f6, 0x005C($sp)
|
||||
/* 00544 80B1BE44 C7A40034 */ lwc1 $f4, 0x0034($sp)
|
||||
/* 00548 80B1BE48 93AC0053 */ lbu $t4, 0x0053($sp)
|
||||
/* 0054C 80B1BE4C 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00550 80B1BE50 C7B00054 */ lwc1 $f16, 0x0054($sp)
|
||||
/* 00554 80B1BE54 C7B20058 */ lwc1 $f18, 0x0058($sp)
|
||||
/* 00558 80B1BE58 8FA40048 */ lw $a0, 0x0048($sp)
|
||||
/* 0055C 80B1BE5C 8FA5004C */ lw $a1, 0x004C($sp)
|
||||
/* 00560 80B1BE60 27A6003C */ addiu $a2, $sp, 0x003C ## $a2 = FFFFFFF4
|
||||
/* 00564 80B1BE64 27A70030 */ addiu $a3, $sp, 0x0030 ## $a3 = FFFFFFE8
|
||||
/* 00568 80B1BE68 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 0056C 80B1BE6C AFAC0010 */ sw $t4, 0x0010($sp)
|
||||
/* 00570 80B1BE70 E7B00014 */ swc1 $f16, 0x0014($sp)
|
||||
/* 00574 80B1BE74 E7B20018 */ swc1 $f18, 0x0018($sp)
|
||||
/* 00578 80B1BE78 0C2C6E40 */ jal func_80B1B900
|
||||
/* 0057C 80B1BE7C E7AA0034 */ swc1 $f10, 0x0034($sp)
|
||||
/* 00580 80B1BE80 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00584 80B1BE84 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
|
||||
/* 00588 80B1BE88 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 0058C 80B1BE8C 03E00008 */ jr $ra
|
||||
/* 00590 80B1BE90 00000000 */ nop
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
glabel func_80B1BE94
|
||||
/* 00594 80B1BE94 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00598 80B1BE98 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 0059C 80B1BE9C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 005A0 80B1BEA0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 005A4 80B1BEA4 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 005A8 80B1BEA8 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 005AC 80B1BEAC 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
|
||||
/* 005B0 80B1BEB0 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 005B4 80B1BEB4 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 005B8 80B1BEB8 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
|
||||
/* 005BC 80B1BEBC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 005C0 80B1BEC0 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 005C4 80B1BEC4 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 005C8 80B1BEC8 24A52F84 */ addiu $a1, $a1, 0x2F84 ## $a1 = 06002F84
|
||||
/* 005CC 80B1BECC 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 005D0 80B1BED0 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 005D4 80B1BED4 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 005D8 80B1BED8 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 005DC 80B1BEDC E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 005E0 80B1BEE0 0C029468 */ jal SkelAnime_ChangeAnimation
|
||||
|
||||
/* 005E4 80B1BEE4 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 005E8 80B1BEE8 2404003C */ addiu $a0, $zero, 0x003C ## $a0 = 0000003C
|
||||
/* 005EC 80B1BEEC 0C01DF64 */ jal Math_Rand_S16Offset
|
||||
|
||||
/* 005F0 80B1BEF0 2405003C */ addiu $a1, $zero, 0x003C ## $a1 = 0000003C
|
||||
/* 005F4 80B1BEF4 8FA30028 */ lw $v1, 0x0028($sp)
|
||||
/* 005F8 80B1BEF8 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 005FC 80B1BEFC A462021C */ sh $v0, 0x021C($v1) ## 0000021C
|
||||
/* 00600 80B1BF00 E46A0068 */ swc1 $f10, 0x0068($v1) ## 00000068
|
||||
/* 00604 80B1BF04 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00608 80B1BF08 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 0060C 80B1BF0C 03E00008 */ jr $ra
|
||||
/* 00610 80B1BF10 00000000 */ nop
|
||||
|
||||
|
@ -1,36 +0,0 @@
|
||||
glabel func_80B1BF14
|
||||
/* 00614 80B1BF14 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00618 80B1BF18 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 0061C 80B1BF1C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00620 80B1BF20 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00624 80B1BF24 AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 00628 80B1BF28 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 0062C 80B1BF2C 24842F84 */ addiu $a0, $a0, 0x2F84 ## $a0 = 06002F84
|
||||
/* 00630 80B1BF30 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 00634 80B1BF34 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 00638 80B1BF38 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
|
||||
/* 0063C 80B1BF3C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00640 80B1BF40 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00644 80B1BF44 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 00648 80B1BF48 24A51FA8 */ addiu $a1, $a1, 0x1FA8 ## $a1 = 06001FA8
|
||||
/* 0064C 80B1BF4C 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 00650 80B1BF50 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 00654 80B1BF54 E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 00658 80B1BF58 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 0065C 80B1BF5C E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00660 80B1BF60 0C029468 */ jal SkelAnime_ChangeAnimation
|
||||
|
||||
/* 00664 80B1BF64 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 00668 80B1BF68 240400F0 */ addiu $a0, $zero, 0x00F0 ## $a0 = 000000F0
|
||||
/* 0066C 80B1BF6C 0C01DF64 */ jal Math_Rand_S16Offset
|
||||
|
||||
/* 00670 80B1BF70 240500F0 */ addiu $a1, $zero, 0x00F0 ## $a1 = 000000F0
|
||||
/* 00674 80B1BF74 8FAE0028 */ lw $t6, 0x0028($sp)
|
||||
/* 00678 80B1BF78 A5C2021C */ sh $v0, 0x021C($t6) ## 0000021C
|
||||
/* 0067C 80B1BF7C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00680 80B1BF80 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00684 80B1BF84 03E00008 */ jr $ra
|
||||
/* 00688 80B1BF88 00000000 */ nop
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
glabel func_80B1BF8C
|
||||
/* 0068C 80B1BF8C 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 00690 80B1BF90 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00694 80B1BF94 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00698 80B1BF98 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 0069C 80B1BF9C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 006A0 80B1BFA0 0C028800 */ jal SkelAnime_GetFrameCount
|
||||
|
||||
/* 006A4 80B1BFA4 24841144 */ addiu $a0, $a0, 0x1144 ## $a0 = 06001144
|
||||
/* 006A8 80B1BFA8 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
|
||||
/* 006AC 80B1BFAC 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
|
||||
/* 006B0 80B1BFB0 44814000 */ mtc1 $at, $f8 ## $f8 = -10.00
|
||||
/* 006B4 80B1BFB4 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 006B8 80B1BFB8 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 006BC 80B1BFBC 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
|
||||
/* 006C0 80B1BFC0 24A51144 */ addiu $a1, $a1, 0x1144 ## $a1 = 06001144
|
||||
/* 006C4 80B1BFC4 3C063F80 */ lui $a2, 0x3F80 ## $a2 = 3F800000
|
||||
/* 006C8 80B1BFC8 24070000 */ addiu $a3, $zero, 0x0000 ## $a3 = 00000000
|
||||
/* 006CC 80B1BFCC E7A60010 */ swc1 $f6, 0x0010($sp)
|
||||
/* 006D0 80B1BFD0 AFA00014 */ sw $zero, 0x0014($sp)
|
||||
/* 006D4 80B1BFD4 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 006D8 80B1BFD8 0C029468 */ jal SkelAnime_ChangeAnimation
|
||||
|
||||
/* 006DC 80B1BFDC 2484014C */ addiu $a0, $a0, 0x014C ## $a0 = 0000014C
|
||||
/* 006E0 80B1BFE0 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 006E4 80B1BFE4 0C2C7055 */ jal func_80B1C154
|
||||
/* 006E8 80B1BFE8 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 006EC 80B1BFEC 04400003 */ bltz $v0, .L80B1BFFC
|
||||
/* 006F0 80B1BFF0 8FAF0028 */ lw $t7, 0x0028($sp)
|
||||
/* 006F4 80B1BFF4 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 006F8 80B1BFF8 A1EE0208 */ sb $t6, 0x0208($t7) ## 00000208
|
||||
.L80B1BFFC:
|
||||
/* 006FC 80B1BFFC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00700 80B1C000 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 00704 80B1C004 03E00008 */ jr $ra
|
||||
/* 00708 80B1C008 00000000 */ nop
|
||||
|
||||
|
@ -1,58 +0,0 @@
|
||||
glabel func_80B1C00C
|
||||
/* 0070C 80B1C00C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00710 80B1C010 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00714 80B1C014 84820224 */ lh $v0, 0x0224($a0) ## 00000224
|
||||
/* 00718 80B1C018 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 0071C 80B1C01C 14400003 */ bne $v0, $zero, .L80B1C02C
|
||||
/* 00720 80B1C020 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 00724 80B1C024 10000003 */ beq $zero, $zero, .L80B1C034
|
||||
/* 00728 80B1C028 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
.L80B1C02C:
|
||||
/* 0072C 80B1C02C A4CE0224 */ sh $t6, 0x0224($a2) ## 00000224
|
||||
/* 00730 80B1C030 84C30224 */ lh $v1, 0x0224($a2) ## 00000224
|
||||
.L80B1C034:
|
||||
/* 00734 80B1C034 54600023 */ bnel $v1, $zero, .L80B1C0C4
|
||||
/* 00738 80B1C038 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0073C 80B1C03C 84CF0222 */ lh $t7, 0x0222($a2) ## 00000222
|
||||
/* 00740 80B1C040 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
|
||||
/* 00744 80B1C044 A4D80222 */ sh $t8, 0x0222($a2) ## 00000222
|
||||
/* 00748 80B1C048 84D90222 */ lh $t9, 0x0222($a2) ## 00000222
|
||||
/* 0074C 80B1C04C 2B210003 */ slti $at, $t9, 0x0003
|
||||
/* 00750 80B1C050 5420001C */ bnel $at, $zero, .L80B1C0C4
|
||||
/* 00754 80B1C054 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00758 80B1C058 84C80218 */ lh $t0, 0x0218($a2) ## 00000218
|
||||
/* 0075C 80B1C05C 2404001E */ addiu $a0, $zero, 0x001E ## $a0 = 0000001E
|
||||
/* 00760 80B1C060 2405001E */ addiu $a1, $zero, 0x001E ## $a1 = 0000001E
|
||||
/* 00764 80B1C064 2509FFFF */ addiu $t1, $t0, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00768 80B1C068 A4C90218 */ sh $t1, 0x0218($a2) ## 00000218
|
||||
/* 0076C 80B1C06C 84CA0218 */ lh $t2, 0x0218($a2) ## 00000218
|
||||
/* 00770 80B1C070 05430013 */ bgezl $t2, .L80B1C0C0
|
||||
/* 00774 80B1C074 A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
|
||||
/* 00778 80B1C078 0C01DF64 */ jal Math_Rand_S16Offset
|
||||
|
||||
/* 0077C 80B1C07C AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 00780 80B1C080 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00784 80B1C084 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002
|
||||
/* 00788 80B1C088 A4C20224 */ sh $v0, 0x0224($a2) ## 00000224
|
||||
/* 0078C 80B1C08C 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00790 80B1C090 A4CB0218 */ sh $t3, 0x0218($a2) ## 00000218
|
||||
/* 00794 80B1C094 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 00798 80B1C098 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
|
||||
/* 0079C 80B1C09C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 007A0 80B1C0A0 4600203C */ c.lt.s $f4, $f0
|
||||
/* 007A4 80B1C0A4 00000000 */ nop
|
||||
/* 007A8 80B1C0A8 45020005 */ bc1fl .L80B1C0C0
|
||||
/* 007AC 80B1C0AC A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
|
||||
/* 007B0 80B1C0B0 84CC0218 */ lh $t4, 0x0218($a2) ## 00000218
|
||||
/* 007B4 80B1C0B4 258D0001 */ addiu $t5, $t4, 0x0001 ## $t5 = 00000001
|
||||
/* 007B8 80B1C0B8 A4CD0218 */ sh $t5, 0x0218($a2) ## 00000218
|
||||
/* 007BC 80B1C0BC A4C00222 */ sh $zero, 0x0222($a2) ## 00000222
|
||||
.L80B1C0C0:
|
||||
/* 007C0 80B1C0C0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B1C0C4:
|
||||
/* 007C4 80B1C0C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 007C8 80B1C0C8 03E00008 */ jr $ra
|
||||
/* 007CC 80B1C0CC 00000000 */ nop
|
||||
|
||||
|
@ -1,40 +0,0 @@
|
||||
glabel func_80B1C0D0
|
||||
/* 007D0 80B1C0D0 3C0180B2 */ lui $at, %hi(D_80B1D634) ## $at = 80B20000
|
||||
/* 007D4 80B1C0D4 C424D634 */ lwc1 $f4, %lo(D_80B1D634)($at)
|
||||
/* 007D8 80B1C0D8 C486008C */ lwc1 $f6, 0x008C($a0) ## 0000008C
|
||||
/* 007DC 80B1C0DC 4606203C */ c.lt.s $f4, $f6
|
||||
/* 007E0 80B1C0E0 00000000 */ nop
|
||||
/* 007E4 80B1C0E4 45020004 */ bc1fl .L80B1C0F8
|
||||
/* 007E8 80B1C0E8 848200B6 */ lh $v0, 0x00B6($a0) ## 000000B6
|
||||
/* 007EC 80B1C0EC 03E00008 */ jr $ra
|
||||
/* 007F0 80B1C0F0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80B1C0F4:
|
||||
/* 007F4 80B1C0F4 848200B6 */ lh $v0, 0x00B6($a0) ## 000000B6
|
||||
.L80B1C0F8:
|
||||
/* 007F8 80B1C0F8 848E021E */ lh $t6, 0x021E($a0) ## 0000021E
|
||||
/* 007FC 80B1C0FC 848F0226 */ lh $t7, 0x0226($a0) ## 00000226
|
||||
/* 00800 80B1C100 8498008A */ lh $t8, 0x008A($a0) ## 0000008A
|
||||
/* 00804 80B1C104 004E1023 */ subu $v0, $v0, $t6
|
||||
/* 00808 80B1C108 00021400 */ sll $v0, $v0, 16
|
||||
/* 0080C 80B1C10C 00021403 */ sra $v0, $v0, 16
|
||||
/* 00810 80B1C110 004F1023 */ subu $v0, $v0, $t7
|
||||
/* 00814 80B1C114 00021400 */ sll $v0, $v0, 16
|
||||
/* 00818 80B1C118 00021403 */ sra $v0, $v0, 16
|
||||
/* 0081C 80B1C11C 03021823 */ subu $v1, $t8, $v0
|
||||
/* 00820 80B1C120 00031C00 */ sll $v1, $v1, 16
|
||||
/* 00824 80B1C124 00031C03 */ sra $v1, $v1, 16
|
||||
/* 00828 80B1C128 04600003 */ bltz $v1, .L80B1C138
|
||||
/* 0082C 80B1C12C 00031023 */ subu $v0, $zero, $v1
|
||||
/* 00830 80B1C130 10000001 */ beq $zero, $zero, .L80B1C138
|
||||
/* 00834 80B1C134 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L80B1C138:
|
||||
/* 00838 80B1C138 28411554 */ slti $at, $v0, 0x1554
|
||||
/* 0083C 80B1C13C 10200003 */ beq $at, $zero, .L80B1C14C
|
||||
/* 00840 80B1C140 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
/* 00844 80B1C144 03E00008 */ jr $ra
|
||||
/* 00848 80B1C148 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80B1C14C:
|
||||
/* 0084C 80B1C14C 03E00008 */ jr $ra
|
||||
/* 00850 80B1C150 00000000 */ nop
|
||||
|
||||
|
@ -1,68 +0,0 @@
|
||||
glabel func_80B1C154
|
||||
/* 00854 80B1C154 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
|
||||
/* 00858 80B1C158 AFBF003C */ sw $ra, 0x003C($sp)
|
||||
/* 0085C 80B1C15C AFB20038 */ sw $s2, 0x0038($sp)
|
||||
/* 00860 80B1C160 AFB10034 */ sw $s1, 0x0034($sp)
|
||||
/* 00864 80B1C164 AFB00030 */ sw $s0, 0x0030($sp)
|
||||
/* 00868 80B1C168 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 0086C 80B1C16C F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 00870 80B1C170 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 00874 80B1C174 8CB01C64 */ lw $s0, 0x1C64($a1) ## 00001C64
|
||||
/* 00878 80B1C178 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
|
||||
/* 0087C 80B1C17C 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00880 80B1C180 52000025 */ beql $s0, $zero, .L80B1C218
|
||||
/* 00884 80B1C184 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
|
||||
/* 00888 80B1C188 4481C000 */ mtc1 $at, $f24 ## $f24 = 10.00
|
||||
/* 0088C 80B1C18C 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 00890 80B1C190 4481B000 */ mtc1 $at, $f22 ## $f22 = 40.00
|
||||
/* 00894 80B1C194 24120196 */ addiu $s2, $zero, 0x0196 ## $s2 = 00000196
|
||||
/* 00898 80B1C198 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
|
||||
.L80B1C19C:
|
||||
/* 0089C 80B1C19C 524E0004 */ beql $s2, $t6, .L80B1C1B0
|
||||
/* 008A0 80B1C1A0 8E2F0210 */ lw $t7, 0x0210($s1) ## 00000210
|
||||
/* 008A4 80B1C1A4 10000019 */ beq $zero, $zero, .L80B1C20C
|
||||
/* 008A8 80B1C1A8 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
|
||||
/* 008AC 80B1C1AC 8E2F0210 */ lw $t7, 0x0210($s1) ## 00000210
|
||||
.L80B1C1B0:
|
||||
/* 008B0 80B1C1B0 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 008B4 80B1C1B4 560F0004 */ bnel $s0, $t7, .L80B1C1C8
|
||||
/* 008B8 80B1C1B8 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
/* 008BC 80B1C1BC 10000013 */ beq $zero, $zero, .L80B1C20C
|
||||
/* 008C0 80B1C1C0 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
|
||||
/* 008C4 80B1C1C4 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
|
||||
.L80B1C1C8:
|
||||
/* 008C8 80B1C1C8 C6260080 */ lwc1 $f6, 0x0080($s1) ## 00000080
|
||||
/* 008CC 80B1C1CC 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 008D0 80B1C1D0 0C00B6E3 */ jal func_8002DB8C
|
||||
/* 008D4 80B1C1D4 46062501 */ sub.s $f20, $f4, $f6
|
||||
/* 008D8 80B1C1D8 4600B03C */ c.lt.s $f22, $f0
|
||||
/* 008DC 80B1C1DC 00000000 */ nop
|
||||
/* 008E0 80B1C1E0 45010005 */ bc1t .L80B1C1F8
|
||||
/* 008E4 80B1C1E4 00000000 */ nop
|
||||
/* 008E8 80B1C1E8 4614C03C */ c.lt.s $f24, $f20
|
||||
/* 008EC 80B1C1EC 00000000 */ nop
|
||||
/* 008F0 80B1C1F0 45020004 */ bc1fl .L80B1C204
|
||||
/* 008F4 80B1C1F4 AE300210 */ sw $s0, 0x0210($s1) ## 00000210
|
||||
.L80B1C1F8:
|
||||
/* 008F8 80B1C1F8 10000004 */ beq $zero, $zero, .L80B1C20C
|
||||
/* 008FC 80B1C1FC 8E100124 */ lw $s0, 0x0124($s0) ## 00000124
|
||||
/* 00900 80B1C200 AE300210 */ sw $s0, 0x0210($s1) ## 00000210
|
||||
.L80B1C204:
|
||||
/* 00904 80B1C204 10000004 */ beq $zero, $zero, .L80B1C218
|
||||
/* 00908 80B1C208 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L80B1C20C:
|
||||
/* 0090C 80B1C20C 5600FFE3 */ bnel $s0, $zero, .L80B1C19C
|
||||
/* 00910 80B1C210 860E0000 */ lh $t6, 0x0000($s0) ## 00000000
|
||||
/* 00914 80B1C214 2402FFFF */ addiu $v0, $zero, 0xFFFF ## $v0 = FFFFFFFF
|
||||
.L80B1C218:
|
||||
/* 00918 80B1C218 8FBF003C */ lw $ra, 0x003C($sp)
|
||||
/* 0091C 80B1C21C D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 00920 80B1C220 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 00924 80B1C224 D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 00928 80B1C228 8FB00030 */ lw $s0, 0x0030($sp)
|
||||
/* 0092C 80B1C22C 8FB10034 */ lw $s1, 0x0034($sp)
|
||||
/* 00930 80B1C230 8FB20038 */ lw $s2, 0x0038($sp)
|
||||
/* 00934 80B1C234 03E00008 */ jr $ra
|
||||
/* 00938 80B1C238 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
glabel func_80B1C23C
|
||||
/* 0093C 80B1C23C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00940 80B1C240 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00944 80B1C244 8C850210 */ lw $a1, 0x0210($a0) ## 00000210
|
||||
/* 00948 80B1C248 50A00017 */ beql $a1, $zero, .L80B1C2A8
|
||||
/* 0094C 80B1C24C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00950 80B1C250 C4A40028 */ lwc1 $f4, 0x0028($a1) ## 00000028
|
||||
/* 00954 80B1C254 C4860080 */ lwc1 $f6, 0x0080($a0) ## 00000080
|
||||
/* 00958 80B1C258 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 0095C 80B1C25C 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 00960 80B1C260 0C00B6E3 */ jal func_8002DB8C
|
||||
/* 00964 80B1C264 E7A80018 */ swc1 $f8, 0x0018($sp)
|
||||
/* 00968 80B1C268 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 0096C 80B1C26C 44815000 */ mtc1 $at, $f10 ## $f10 = 40.00
|
||||
/* 00970 80B1C270 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 00974 80B1C274 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00978 80B1C278 4600503C */ c.lt.s $f10, $f0
|
||||
/* 0097C 80B1C27C C7B20018 */ lwc1 $f18, 0x0018($sp)
|
||||
/* 00980 80B1C280 45030008 */ bc1tl .L80B1C2A4
|
||||
/* 00984 80B1C284 AC800210 */ sw $zero, 0x0210($a0) ## 00000210
|
||||
/* 00988 80B1C288 44818000 */ mtc1 $at, $f16 ## $f16 = 10.00
|
||||
/* 0098C 80B1C28C 00000000 */ nop
|
||||
/* 00990 80B1C290 4612803C */ c.lt.s $f16, $f18
|
||||
/* 00994 80B1C294 00000000 */ nop
|
||||
/* 00998 80B1C298 45020003 */ bc1fl .L80B1C2A8
|
||||
/* 0099C 80B1C29C 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 009A0 80B1C2A0 AC800210 */ sw $zero, 0x0210($a0) ## 00000210
|
||||
.L80B1C2A4:
|
||||
/* 009A4 80B1C2A4 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L80B1C2A8:
|
||||
/* 009A8 80B1C2A8 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 009AC 80B1C2AC 03E00008 */ jr $ra
|
||||
/* 009B0 80B1C2B0 00000000 */ nop
|
||||
|
||||
|
@ -1,87 +0,0 @@
|
||||
glabel func_80B1C2B4
|
||||
/* 009B4 80B1C2B4 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 009B8 80B1C2B8 3C0F80B2 */ lui $t7, %hi(D_80B1D540) ## $t7 = 80B20000
|
||||
/* 009BC 80B1C2BC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 009C0 80B1C2C0 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 009C4 80B1C2C4 25EFD540 */ addiu $t7, $t7, %lo(D_80B1D540) ## $t7 = 80B1D540
|
||||
/* 009C8 80B1C2C8 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D540
|
||||
/* 009CC 80B1C2CC 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D544
|
||||
/* 009D0 80B1C2D0 27AE0028 */ addiu $t6, $sp, 0x0028 ## $t6 = FFFFFFF8
|
||||
/* 009D4 80B1C2D4 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF8
|
||||
/* 009D8 80B1C2D8 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFFC
|
||||
/* 009DC 80B1C2DC 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
||||
/* 009E0 80B1C2E0 C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 009E4 80B1C2E4 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
|
||||
/* 009E8 80B1C2E8 240538B8 */ addiu $a1, $zero, 0x38B8 ## $a1 = 000038B8
|
||||
/* 009EC 80B1C2EC 46007032 */ c.eq.s $f14, $f0
|
||||
/* 009F0 80B1C2F0 00000000 */ nop
|
||||
/* 009F4 80B1C2F4 45010007 */ bc1t .L80B1C314
|
||||
/* 009F8 80B1C2F8 00000000 */ nop
|
||||
/* 009FC 80B1C2FC 44812000 */ mtc1 $at, $f4 ## $f4 = 25.00
|
||||
/* 00A00 80B1C300 00000000 */ nop
|
||||
/* 00A04 80B1C304 46002032 */ c.eq.s $f4, $f0
|
||||
/* 00A08 80B1C308 00000000 */ nop
|
||||
/* 00A0C 80B1C30C 45020006 */ bc1fl .L80B1C328
|
||||
/* 00A10 80B1C310 8C890154 */ lw $t1, 0x0154($a0) ## 00000154
|
||||
.L80B1C314:
|
||||
/* 00A14 80B1C314 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 00A18 80B1C318 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00A1C 80B1C31C 44807000 */ mtc1 $zero, $f14 ## $f14 = 0.00
|
||||
/* 00A20 80B1C320 8FA40030 */ lw $a0, 0x0030($sp)
|
||||
/* 00A24 80B1C324 8C890154 */ lw $t1, 0x0154($a0) ## 00000154
|
||||
.L80B1C328:
|
||||
/* 00A28 80B1C328 3C080600 */ lui $t0, 0x0600 ## $t0 = 06000000
|
||||
/* 00A2C 80B1C32C 25081FA8 */ addiu $t0, $t0, 0x1FA8 ## $t0 = 06001FA8
|
||||
/* 00A30 80B1C330 11090003 */ beq $t0, $t1, .L80B1C340
|
||||
/* 00A34 80B1C334 27A20028 */ addiu $v0, $sp, 0x0028 ## $v0 = FFFFFFF8
|
||||
/* 00A38 80B1C338 10000024 */ beq $zero, $zero, .L80B1C3CC
|
||||
/* 00A3C 80B1C33C 46007006 */ mov.s $f0, $f14
|
||||
.L80B1C340:
|
||||
/* 00A40 80B1C340 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 00A44 80B1C344 44816000 */ mtc1 $at, $f12 ## $f12 = 12.00
|
||||
/* 00A48 80B1C348 C4820164 */ lwc1 $f2, 0x0164($a0) ## 00000164
|
||||
/* 00A4C 80B1C34C 27A30030 */ addiu $v1, $sp, 0x0030 ## $v1 = 00000000
|
||||
/* 00A50 80B1C350 C4400000 */ lwc1 $f0, 0x0000($v0) ## FFFFFFF8
|
||||
.L80B1C354:
|
||||
/* 00A54 80B1C354 460C0180 */ add.s $f6, $f0, $f12
|
||||
/* 00A58 80B1C358 4606103C */ c.lt.s $f2, $f6
|
||||
/* 00A5C 80B1C35C 00000000 */ nop
|
||||
/* 00A60 80B1C360 45020006 */ bc1fl .L80B1C37C
|
||||
/* 00A64 80B1C364 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = FFFFFFFC
|
||||
/* 00A68 80B1C368 4602003E */ c.le.s $f0, $f2
|
||||
/* 00A6C 80B1C36C 00000000 */ nop
|
||||
/* 00A70 80B1C370 45030005 */ bc1tl .L80B1C388
|
||||
/* 00A74 80B1C374 27AA0030 */ addiu $t2, $sp, 0x0030 ## $t2 = 00000000
|
||||
/* 00A78 80B1C378 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000000
|
||||
.L80B1C37C:
|
||||
/* 00A7C 80B1C37C 5443FFF5 */ bnel $v0, $v1, .L80B1C354
|
||||
/* 00A80 80B1C380 C4400000 */ lwc1 $f0, 0x0000($v0) ## 00000000
|
||||
/* 00A84 80B1C384 27AA0030 */ addiu $t2, $sp, 0x0030 ## $t2 = 00000000
|
||||
.L80B1C388:
|
||||
/* 00A88 80B1C388 004A082B */ sltu $at, $v0, $t2
|
||||
/* 00A8C 80B1C38C 54200004 */ bnel $at, $zero, .L80B1C3A0
|
||||
/* 00A90 80B1C390 C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000
|
||||
/* 00A94 80B1C394 1000000D */ beq $zero, $zero, .L80B1C3CC
|
||||
/* 00A98 80B1C398 46007006 */ mov.s $f0, $f14
|
||||
/* 00A9C 80B1C39C C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000000
|
||||
.L80B1C3A0:
|
||||
/* 00AA0 80B1C3A0 3C0180B2 */ lui $at, %hi(D_80B1D638) ## $at = 80B20000
|
||||
/* 00AA4 80B1C3A4 C430D638 */ lwc1 $f16, %lo(D_80B1D638)($at)
|
||||
/* 00AA8 80B1C3A8 46081281 */ sub.s $f10, $f2, $f8
|
||||
/* 00AAC 80B1C3AC 46105082 */ mul.s $f2, $f10, $f16
|
||||
/* 00AB0 80B1C3B0 4600148D */ trunc.w.s $f18, $f2
|
||||
/* 00AB4 80B1C3B4 44049000 */ mfc1 $a0, $f18
|
||||
/* 00AB8 80B1C3B8 00000000 */ nop
|
||||
/* 00ABC 80B1C3BC 00042400 */ sll $a0, $a0, 16
|
||||
/* 00AC0 80B1C3C0 0C01DE1C */ jal Math_Sins
|
||||
## sins?
|
||||
/* 00AC4 80B1C3C4 00042403 */ sra $a0, $a0, 16
|
||||
/* 00AC8 80B1C3C8 46000000 */ add.s $f0, $f0, $f0
|
||||
.L80B1C3CC:
|
||||
/* 00ACC 80B1C3CC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00AD0 80B1C3D0 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00AD4 80B1C3D4 03E00008 */ jr $ra
|
||||
/* 00AD8 80B1C3D8 00000000 */ nop
|
||||
|
||||
|
@ -1,99 +0,0 @@
|
||||
glabel func_80B1C3DC
|
||||
/* 00ADC 80B1C3DC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00AE0 80B1C3E0 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00AE4 80B1C3E4 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 00AE8 80B1C3E8 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
|
||||
/* 00AEC 80B1C3EC 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00AF0 80B1C3F0 3C040001 */ lui $a0, 0x0001 ## $a0 = 00010000
|
||||
/* 00AF4 80B1C3F4 05C10003 */ bgez $t6, .L80B1C404
|
||||
/* 00AF8 80B1C3F8 00852021 */ addu $a0, $a0, $a1
|
||||
/* 00AFC 80B1C3FC 1000004E */ beq $zero, $zero, .L80B1C538
|
||||
/* 00B00 80B1C400 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
.L80B1C404:
|
||||
/* 00B04 80B1C404 8C841E08 */ lw $a0, 0x1E08($a0) ## 00011E08
|
||||
/* 00B08 80B1C408 3C088016 */ lui $t0, 0x8016 ## $t0 = 80160000
|
||||
/* 00B0C 80B1C40C 860A0228 */ lh $t2, 0x0228($s0) ## 00000228
|
||||
/* 00B10 80B1C410 8C830004 */ lw $v1, 0x0004($a0) ## 00010004
|
||||
/* 00B14 80B1C414 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
|
||||
/* 00B18 80B1C418 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
|
||||
/* 00B1C 80B1C41C 00037900 */ sll $t7, $v1, 4
|
||||
/* 00B20 80B1C420 000FC702 */ srl $t8, $t7, 28
|
||||
/* 00B24 80B1C424 0018C880 */ sll $t9, $t8, 2
|
||||
/* 00B28 80B1C428 01194021 */ addu $t0, $t0, $t9
|
||||
/* 00B2C 80B1C42C 8D086FA8 */ lw $t0, 0x6FA8($t0) ## 80166FA8
|
||||
/* 00B30 80B1C430 00614824 */ and $t1, $v1, $at
|
||||
/* 00B34 80B1C434 000A5880 */ sll $t3, $t2, 2
|
||||
/* 00B38 80B1C438 3C018000 */ lui $at, 0x8000 ## $at = 80000000
|
||||
/* 00B3C 80B1C43C 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 00B40 80B1C440 01091021 */ addu $v0, $t0, $t1
|
||||
/* 00B44 80B1C444 00411021 */ addu $v0, $v0, $at
|
||||
/* 00B48 80B1C448 000B5840 */ sll $t3, $t3, 1
|
||||
/* 00B4C 80B1C44C 004B1021 */ addu $v0, $v0, $t3
|
||||
/* 00B50 80B1C450 844C0000 */ lh $t4, 0x0000($v0) ## 00000001
|
||||
/* 00B54 80B1C454 844D0004 */ lh $t5, 0x0004($v0) ## 00000005
|
||||
/* 00B58 80B1C458 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
|
||||
/* 00B5C 80B1C45C 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
|
||||
/* 00B60 80B1C460 448D5000 */ mtc1 $t5, $f10 ## $f10 = 0.00
|
||||
/* 00B64 80B1C464 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 00B68 80B1C468 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 00B6C 80B1C46C AFA40034 */ sw $a0, 0x0034($sp)
|
||||
/* 00B70 80B1C470 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 00B74 80B1C474 46083301 */ sub.s $f12, $f6, $f8
|
||||
/* 00B78 80B1C478 46128381 */ sub.s $f14, $f16, $f18
|
||||
/* 00B7C 80B1C47C E7AC002C */ swc1 $f12, 0x002C($sp)
|
||||
/* 00B80 80B1C480 0C03F494 */ jal Math_atan2f
|
||||
/* 00B84 80B1C484 E7AE0028 */ swc1 $f14, 0x0028($sp)
|
||||
/* 00B88 80B1C488 3C0180B2 */ lui $at, %hi(D_80B1D63C) ## $at = 80B20000
|
||||
/* 00B8C 80B1C48C C424D63C */ lwc1 $f4, %lo(D_80B1D63C)($at)
|
||||
/* 00B90 80B1C490 240F0001 */ addiu $t7, $zero, 0x0001 ## $t7 = 00000001
|
||||
/* 00B94 80B1C494 AFAF0010 */ sw $t7, 0x0010($sp)
|
||||
/* 00B98 80B1C498 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 00B9C 80B1C49C 260400B6 */ addiu $a0, $s0, 0x00B6 ## $a0 = 000000B6
|
||||
/* 00BA0 80B1C4A0 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 00BA4 80B1C4A4 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
|
||||
/* 00BA8 80B1C4A8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 00BAC 80B1C4AC 44054000 */ mfc1 $a1, $f8
|
||||
/* 00BB0 80B1C4B0 00000000 */ nop
|
||||
/* 00BB4 80B1C4B4 00052C00 */ sll $a1, $a1, 16
|
||||
/* 00BB8 80B1C4B8 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 00BBC 80B1C4BC 00052C03 */ sra $a1, $a1, 16
|
||||
/* 00BC0 80B1C4C0 C7AC002C */ lwc1 $f12, 0x002C($sp)
|
||||
/* 00BC4 80B1C4C4 C7AE0028 */ lwc1 $f14, 0x0028($sp)
|
||||
/* 00BC8 80B1C4C8 8A1900B4 */ lwl $t9, 0x00B4($s0) ## 000000B4
|
||||
/* 00BCC 80B1C4CC 460C6282 */ mul.s $f10, $f12, $f12
|
||||
/* 00BD0 80B1C4D0 3C014120 */ lui $at, 0x4120 ## $at = 41200000
|
||||
/* 00BD4 80B1C4D4 44812000 */ mtc1 $at, $f4 ## $f4 = 10.00
|
||||
/* 00BD8 80B1C4D8 460E7402 */ mul.s $f16, $f14, $f14
|
||||
/* 00BDC 80B1C4DC 9A1900B7 */ lwr $t9, 0x00B7($s0) ## 000000B7
|
||||
/* 00BE0 80B1C4E0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
|
||||
/* 00BE4 80B1C4E4 AA190030 */ swl $t9, 0x0030($s0) ## 00000030
|
||||
/* 00BE8 80B1C4E8 BA190033 */ swr $t9, 0x0033($s0) ## 00000033
|
||||
/* 00BEC 80B1C4EC 961900B8 */ lhu $t9, 0x00B8($s0) ## 000000B8
|
||||
/* 00BF0 80B1C4F0 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 00BF4 80B1C4F4 A6190034 */ sh $t9, 0x0034($s0) ## 00000034
|
||||
/* 00BF8 80B1C4F8 4604903C */ c.lt.s $f18, $f4
|
||||
/* 00BFC 80B1C4FC 00000000 */ nop
|
||||
/* 00C00 80B1C500 4500000D */ bc1f .L80B1C538
|
||||
/* 00C04 80B1C504 00000000 */ nop
|
||||
/* 00C08 80B1C508 86080228 */ lh $t0, 0x0228($s0) ## 00000228
|
||||
/* 00C0C 80B1C50C 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 00C10 80B1C510 A6090228 */ sh $t1, 0x0228($s0) ## 00000228
|
||||
/* 00C14 80B1C514 8FAB0034 */ lw $t3, 0x0034($sp)
|
||||
/* 00C18 80B1C518 860A0228 */ lh $t2, 0x0228($s0) ## 00000228
|
||||
/* 00C1C 80B1C51C 916C0000 */ lbu $t4, 0x0000($t3) ## 00000000
|
||||
/* 00C20 80B1C520 014C082A */ slt $at, $t2, $t4
|
||||
/* 00C24 80B1C524 14200002 */ bne $at, $zero, .L80B1C530
|
||||
/* 00C28 80B1C528 00000000 */ nop
|
||||
/* 00C2C 80B1C52C A6000228 */ sh $zero, 0x0228($s0) ## 00000228
|
||||
.L80B1C530:
|
||||
/* 00C30 80B1C530 10000001 */ beq $zero, $zero, .L80B1C538
|
||||
/* 00C34 80B1C534 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80B1C538:
|
||||
/* 00C38 80B1C538 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 00C3C 80B1C53C 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 00C40 80B1C540 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 00C44 80B1C544 03E00008 */ jr $ra
|
||||
/* 00C48 80B1C548 00000000 */ nop
|
||||
|
||||
|
@ -1,26 +0,0 @@
|
||||
glabel func_80B1C54C
|
||||
/* 00C4C 80B1C54C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00C50 80B1C550 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00C54 80B1C554 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 00C58 80B1C558 0C01B0D8 */ jal func_8006C360
|
||||
/* 00C5C 80B1C55C 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E
|
||||
/* 00C60 80B1C560 10400003 */ beq $v0, $zero, .L80B1C570
|
||||
/* 00C64 80B1C564 3043FFFF */ andi $v1, $v0, 0xFFFF ## $v1 = 00000000
|
||||
/* 00C68 80B1C568 10000009 */ beq $zero, $zero, .L80B1C590
|
||||
/* 00C6C 80B1C56C 00601025 */ or $v0, $v1, $zero ## $v0 = 00000000
|
||||
.L80B1C570:
|
||||
/* 00C70 80B1C570 3C0E8016 */ lui $t6, 0x8016 ## $t6 = 80160000
|
||||
/* 00C74 80B1C574 95CEF572 */ lhu $t6, -0x0A8E($t6) ## 8015F572
|
||||
/* 00C78 80B1C578 24025018 */ addiu $v0, $zero, 0x5018 ## $v0 = 00005018
|
||||
/* 00C7C 80B1C57C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000
|
||||
/* 00C80 80B1C580 11E00003 */ beq $t7, $zero, .L80B1C590
|
||||
/* 00C84 80B1C584 00000000 */ nop
|
||||
/* 00C88 80B1C588 10000001 */ beq $zero, $zero, .L80B1C590
|
||||
/* 00C8C 80B1C58C 24025019 */ addiu $v0, $zero, 0x5019 ## $v0 = 00005019
|
||||
.L80B1C590:
|
||||
/* 00C90 80B1C590 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00C94 80B1C594 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00C98 80B1C598 03E00008 */ jr $ra
|
||||
/* 00C9C 80B1C59C 00000000 */ nop
|
||||
|
||||
|
@ -1,117 +0,0 @@
|
||||
glabel func_80B1C5A0
|
||||
/* 00CA0 80B1C5A0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
|
||||
/* 00CA4 80B1C5A4 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00CA8 80B1C5A8 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
|
||||
/* 00CAC 80B1C5AC 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001
|
||||
/* 00CB0 80B1C5B0 AFAE001C */ sw $t6, 0x001C($sp)
|
||||
/* 00CB4 80B1C5B4 AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00CB8 80B1C5B8 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
|
||||
/* 00CBC 80B1C5BC 0C042F6F */ jal func_8010BDBC
|
||||
/* 00CC0 80B1C5C0 AFA50024 */ sw $a1, 0x0024($sp)
|
||||
/* 00CC4 80B1C5C4 2C41000A */ sltiu $at, $v0, 0x000A
|
||||
/* 00CC8 80B1C5C8 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 00CCC 80B1C5CC 10200055 */ beq $at, $zero, .L80B1C724
|
||||
/* 00CD0 80B1C5D0 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 00CD4 80B1C5D4 00027880 */ sll $t7, $v0, 2
|
||||
/* 00CD8 80B1C5D8 3C0180B2 */ lui $at, %hi(jtbl_80B1D640) ## $at = 80B20000
|
||||
/* 00CDC 80B1C5DC 002F0821 */ addu $at, $at, $t7
|
||||
/* 00CE0 80B1C5E0 8C2FD640 */ lw $t7, %lo(jtbl_80B1D640)($at)
|
||||
/* 00CE4 80B1C5E4 01E00008 */ jr $t7
|
||||
/* 00CE8 80B1C5E8 00000000 */ nop
|
||||
glabel L80B1C5EC
|
||||
/* 00CEC 80B1C5EC 94D8010E */ lhu $t8, 0x010E($a2) ## 0000010E
|
||||
/* 00CF0 80B1C5F0 24015028 */ addiu $at, $zero, 0x5028 ## $at = 00005028
|
||||
/* 00CF4 80B1C5F4 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 00CF8 80B1C5F8 17010004 */ bne $t8, $at, .L80B1C60C
|
||||
/* 00CFC 80B1C5FC 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 00D00 80B1C600 94790F12 */ lhu $t9, 0x0F12($v1) ## 8015F572
|
||||
/* 00D04 80B1C604 37280100 */ ori $t0, $t9, 0x0100 ## $t0 = 00000100
|
||||
/* 00D08 80B1C608 A4680F12 */ sh $t0, 0x0F12($v1) ## 8015F572
|
||||
.L80B1C60C:
|
||||
/* 00D0C 80B1C60C 10000045 */ beq $zero, $zero, .L80B1C724
|
||||
/* 00D10 80B1C610 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
glabel L80B1C614
|
||||
/* 00D14 80B1C614 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00D18 80B1C618 AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 00D1C 80B1C61C 0C041AF2 */ jal func_80106BC8
|
||||
/* 00D20 80B1C620 AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00D24 80B1C624 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 00D28 80B1C628 1040003E */ beq $v0, $zero, .L80B1C724
|
||||
/* 00D2C 80B1C62C 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 00D30 80B1C630 94C2010E */ lhu $v0, 0x010E($a2) ## 0000010E
|
||||
/* 00D34 80B1C634 24015018 */ addiu $at, $zero, 0x5018 ## $at = 00005018
|
||||
/* 00D38 80B1C638 3C090001 */ lui $t1, 0x0001 ## $t1 = 00010000
|
||||
/* 00D3C 80B1C63C 10410004 */ beq $v0, $at, .L80B1C650
|
||||
/* 00D40 80B1C640 01274821 */ addu $t1, $t1, $a3
|
||||
/* 00D44 80B1C644 24015019 */ addiu $at, $zero, 0x5019 ## $at = 00005019
|
||||
/* 00D48 80B1C648 54410037 */ bnel $v0, $at, .L80B1C728
|
||||
/* 00D4C 80B1C64C 87A2001E */ lh $v0, 0x001E($sp)
|
||||
.L80B1C650:
|
||||
/* 00D50 80B1C650 912904BD */ lbu $t1, 0x04BD($t1) ## 000104BD
|
||||
/* 00D54 80B1C654 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00D58 80B1C658 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 00D5C 80B1C65C 15210004 */ bne $t1, $at, .L80B1C670
|
||||
/* 00D60 80B1C660 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00D64 80B1C664 240A0084 */ addiu $t2, $zero, 0x0084 ## $t2 = 00000084
|
||||
/* 00D68 80B1C668 10000016 */ beq $zero, $zero, .L80B1C6C4
|
||||
/* 00D6C 80B1C66C A4CA010E */ sh $t2, 0x010E($a2) ## 0000010E
|
||||
.L80B1C670:
|
||||
/* 00D70 80B1C670 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 00D74 80B1C674 846B0034 */ lh $t3, 0x0034($v1) ## 8015E694
|
||||
/* 00D78 80B1C678 240C0085 */ addiu $t4, $zero, 0x0085 ## $t4 = 00000085
|
||||
/* 00D7C 80B1C67C 240D0037 */ addiu $t5, $zero, 0x0037 ## $t5 = 00000037
|
||||
/* 00D80 80B1C680 2961000A */ slti $at, $t3, 0x000A
|
||||
/* 00D84 80B1C684 50200004 */ beql $at, $zero, .L80B1C698
|
||||
/* 00D88 80B1C688 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00D8C 80B1C68C 1000000D */ beq $zero, $zero, .L80B1C6C4
|
||||
/* 00D90 80B1C690 A4CC010E */ sh $t4, 0x010E($a2) ## 0000010E
|
||||
/* 00D94 80B1C694 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
.L80B1C698:
|
||||
/* 00D98 80B1C698 00270821 */ addu $at, $at, $a3
|
||||
/* 00D9C 80B1C69C A02D03DC */ sb $t5, 0x03DC($at) ## 000103DC
|
||||
/* 00DA0 80B1C6A0 0C021CC3 */ jal Rupees_ChangeBy
|
||||
/* 00DA4 80B1C6A4 2404FFF6 */ addiu $a0, $zero, 0xFFF6 ## $a0 = FFFFFFF6
|
||||
/* 00DA8 80B1C6A8 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 00DAC 80B1C6AC 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 00DB0 80B1C6B0 946E0F12 */ lhu $t6, 0x0F12($v1) ## 8015F572
|
||||
/* 00DB4 80B1C6B4 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
|
||||
/* 00DB8 80B1C6B8 35CF0200 */ ori $t7, $t6, 0x0200 ## $t7 = 00000200
|
||||
/* 00DBC 80B1C6BC 1000001A */ beq $zero, $zero, .L80B1C728
|
||||
/* 00DC0 80B1C6C0 A46F0F12 */ sh $t7, 0x0F12($v1) ## 8015F572
|
||||
.L80B1C6C4:
|
||||
/* 00DC4 80B1C6C4 0C042DC8 */ jal func_8010B720
|
||||
/* 00DC8 80B1C6C8 94C5010E */ lhu $a1, 0x010E($a2) ## 0000010E
|
||||
/* 00DCC 80B1C6CC 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 00DD0 80B1C6D0 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 00DD4 80B1C6D4 94780F12 */ lhu $t8, 0x0F12($v1) ## 8015F572
|
||||
/* 00DD8 80B1C6D8 37190200 */ ori $t9, $t8, 0x0200 ## $t9 = 00000200
|
||||
/* 00DDC 80B1C6DC 10000011 */ beq $zero, $zero, .L80B1C724
|
||||
/* 00DE0 80B1C6E0 A4790F12 */ sh $t9, 0x0F12($v1) ## 8015F572
|
||||
glabel L80B1C6E4
|
||||
/* 00DE4 80B1C6E4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00DE8 80B1C6E8 AFA60024 */ sw $a2, 0x0024($sp)
|
||||
/* 00DEC 80B1C6EC 0C041AF2 */ jal func_80106BC8
|
||||
/* 00DF0 80B1C6F0 AFA70020 */ sw $a3, 0x0020($sp)
|
||||
/* 00DF4 80B1C6F4 8FA60024 */ lw $a2, 0x0024($sp)
|
||||
/* 00DF8 80B1C6F8 1040000A */ beq $v0, $zero, .L80B1C724
|
||||
/* 00DFC 80B1C6FC 8FA70020 */ lw $a3, 0x0020($sp)
|
||||
/* 00E00 80B1C700 94C2010E */ lhu $v0, 0x010E($a2) ## 0000010E
|
||||
/* 00E04 80B1C704 24010084 */ addiu $at, $zero, 0x0084 ## $at = 00000084
|
||||
/* 00E08 80B1C708 10410003 */ beq $v0, $at, .L80B1C718
|
||||
/* 00E0C 80B1C70C 24010085 */ addiu $at, $zero, 0x0085 ## $at = 00000085
|
||||
/* 00E10 80B1C710 54410005 */ bnel $v0, $at, .L80B1C728
|
||||
/* 00E14 80B1C714 87A2001E */ lh $v0, 0x001E($sp)
|
||||
.L80B1C718:
|
||||
/* 00E18 80B1C718 0C041B33 */ jal func_80106CCC
|
||||
/* 00E1C 80B1C71C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
|
||||
/* 00E20 80B1C720 AFA0001C */ sw $zero, 0x001C($sp)
|
||||
glabel L80B1C724
|
||||
.L80B1C724:
|
||||
/* 00E24 80B1C724 87A2001E */ lh $v0, 0x001E($sp)
|
||||
.L80B1C728:
|
||||
/* 00E28 80B1C728 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00E2C 80B1C72C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
|
||||
/* 00E30 80B1C730 03E00008 */ jr $ra
|
||||
/* 00E34 80B1C734 00000000 */ nop
|
||||
|
||||
|
@ -1,131 +0,0 @@
|
||||
glabel func_80B1C738
|
||||
/* 00E38 80B1C738 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00E3C 80B1C73C AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00E40 80B1C740 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 00E44 80B1C744 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00E48 80B1C748 3C0180B2 */ lui $at, %hi(D_80B1D668) ## $at = 80B20000
|
||||
/* 00E4C 80B1C74C C424D668 */ lwc1 $f4, %lo(D_80B1D668)($at)
|
||||
/* 00E50 80B1C750 8FA50018 */ lw $a1, 0x0018($sp)
|
||||
/* 00E54 80B1C754 3C0180B2 */ lui $at, %hi(D_80B1D670) ## $at = 80B20000
|
||||
/* 00E58 80B1C758 4604003C */ c.lt.s $f0, $f4
|
||||
/* 00E5C 80B1C75C 00000000 */ nop
|
||||
/* 00E60 80B1C760 45000003 */ bc1f .L80B1C770
|
||||
/* 00E64 80B1C764 00000000 */ nop
|
||||
/* 00E68 80B1C768 10000012 */ beq $zero, $zero, .L80B1C7B4
|
||||
/* 00E6C 80B1C76C 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
.L80B1C770:
|
||||
/* 00E70 80B1C770 D426D670 */ ldc1 $f6, %lo(D_80B1D670)($at)
|
||||
/* 00E74 80B1C774 460000A1 */ cvt.d.s $f2, $f0
|
||||
/* 00E78 80B1C778 3C0180B2 */ lui $at, %hi(D_80B1D678) ## $at = 80B20000
|
||||
/* 00E7C 80B1C77C 4626103C */ c.lt.d $f2, $f6
|
||||
/* 00E80 80B1C780 00000000 */ nop
|
||||
/* 00E84 80B1C784 45000003 */ bc1f .L80B1C794
|
||||
/* 00E88 80B1C788 00000000 */ nop
|
||||
/* 00E8C 80B1C78C 10000009 */ beq $zero, $zero, .L80B1C7B4
|
||||
/* 00E90 80B1C790 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
.L80B1C794:
|
||||
/* 00E94 80B1C794 D428D678 */ ldc1 $f8, %lo(D_80B1D678)($at)
|
||||
/* 00E98 80B1C798 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
|
||||
/* 00E9C 80B1C79C 4628103C */ c.lt.d $f2, $f8
|
||||
/* 00EA0 80B1C7A0 00000000 */ nop
|
||||
/* 00EA4 80B1C7A4 45000003 */ bc1f .L80B1C7B4
|
||||
/* 00EA8 80B1C7A8 00000000 */ nop
|
||||
/* 00EAC 80B1C7AC 10000001 */ beq $zero, $zero, .L80B1C7B4
|
||||
/* 00EB0 80B1C7B0 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
|
||||
.L80B1C7B4:
|
||||
/* 00EB4 80B1C7B4 10800009 */ beq $a0, $zero, .L80B1C7DC
|
||||
/* 00EB8 80B1C7B8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00EBC 80B1C7BC 1081000E */ beq $a0, $at, .L80B1C7F8
|
||||
/* 00EC0 80B1C7C0 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00EC4 80B1C7C4 10810015 */ beq $a0, $at, .L80B1C81C
|
||||
/* 00EC8 80B1C7C8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 00ECC 80B1C7CC 5081001D */ beql $a0, $at, .L80B1C844
|
||||
/* 00ED0 80B1C7D0 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
|
||||
/* 00ED4 80B1C7D4 10000021 */ beq $zero, $zero, .L80B1C85C
|
||||
/* 00ED8 80B1C7D8 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
|
||||
.L80B1C7DC:
|
||||
/* 00EDC 80B1C7DC 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
|
||||
/* 00EE0 80B1C7E0 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
|
||||
/* 00EE4 80B1C7E4 28610008 */ slti $at, $v1, 0x0008
|
||||
/* 00EE8 80B1C7E8 1020001C */ beq $at, $zero, .L80B1C85C
|
||||
/* 00EEC 80B1C7EC 246E0001 */ addiu $t6, $v1, 0x0001 ## $t6 = 00000001
|
||||
/* 00EF0 80B1C7F0 1000003B */ beq $zero, $zero, .L80B1C8E0
|
||||
/* 00EF4 80B1C7F4 A0AE0209 */ sb $t6, 0x0209($a1) ## 00000209
|
||||
.L80B1C7F8:
|
||||
/* 00EF8 80B1C7F8 90A3020A */ lbu $v1, 0x020A($a1) ## 0000020A
|
||||
/* 00EFC 80B1C7FC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
|
||||
/* 00F00 80B1C800 28610004 */ slti $at, $v1, 0x0004
|
||||
/* 00F04 80B1C804 10200003 */ beq $at, $zero, .L80B1C814
|
||||
/* 00F08 80B1C808 246F0001 */ addiu $t7, $v1, 0x0001 ## $t7 = 00000001
|
||||
/* 00F0C 80B1C80C 10000034 */ beq $zero, $zero, .L80B1C8E0
|
||||
/* 00F10 80B1C810 A0AF020A */ sb $t7, 0x020A($a1) ## 0000020A
|
||||
.L80B1C814:
|
||||
/* 00F14 80B1C814 10000011 */ beq $zero, $zero, .L80B1C85C
|
||||
/* 00F18 80B1C818 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
|
||||
.L80B1C81C:
|
||||
/* 00F1C 80B1C81C 90A3020B */ lbu $v1, 0x020B($a1) ## 0000020B
|
||||
/* 00F20 80B1C820 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
|
||||
/* 00F24 80B1C824 28610002 */ slti $at, $v1, 0x0002
|
||||
/* 00F28 80B1C828 10200003 */ beq $at, $zero, .L80B1C838
|
||||
/* 00F2C 80B1C82C 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001
|
||||
/* 00F30 80B1C830 1000002B */ beq $zero, $zero, .L80B1C8E0
|
||||
/* 00F34 80B1C834 A0B8020B */ sb $t8, 0x020B($a1) ## 0000020B
|
||||
.L80B1C838:
|
||||
/* 00F38 80B1C838 10000008 */ beq $zero, $zero, .L80B1C85C
|
||||
/* 00F3C 80B1C83C 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
|
||||
/* 00F40 80B1C840 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
|
||||
.L80B1C844:
|
||||
/* 00F44 80B1C844 00801025 */ or $v0, $a0, $zero ## $v0 = 00000002
|
||||
/* 00F48 80B1C848 1C600003 */ bgtz $v1, .L80B1C858
|
||||
/* 00F4C 80B1C84C 24790001 */ addiu $t9, $v1, 0x0001 ## $t9 = 00000001
|
||||
/* 00F50 80B1C850 10000023 */ beq $zero, $zero, .L80B1C8E0
|
||||
/* 00F54 80B1C854 A0B9020C */ sb $t9, 0x020C($a1) ## 0000020C
|
||||
.L80B1C858:
|
||||
/* 00F58 80B1C858 90A30209 */ lbu $v1, 0x0209($a1) ## 00000209
|
||||
.L80B1C85C:
|
||||
/* 00F5C 80B1C85C 28610008 */ slti $at, $v1, 0x0008
|
||||
/* 00F60 80B1C860 10200004 */ beq $at, $zero, .L80B1C874
|
||||
/* 00F64 80B1C864 24680001 */ addiu $t0, $v1, 0x0001 ## $t0 = 00000001
|
||||
/* 00F68 80B1C868 A0A80209 */ sb $t0, 0x0209($a1) ## 00000209
|
||||
/* 00F6C 80B1C86C 1000001B */ beq $zero, $zero, .L80B1C8DC
|
||||
/* 00F70 80B1C870 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
.L80B1C874:
|
||||
/* 00F74 80B1C874 90A3020A */ lbu $v1, 0x020A($a1) ## 0000020A
|
||||
/* 00F78 80B1C878 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
|
||||
/* 00F7C 80B1C87C 28610004 */ slti $at, $v1, 0x0004
|
||||
/* 00F80 80B1C880 10200003 */ beq $at, $zero, .L80B1C890
|
||||
/* 00F84 80B1C884 24690001 */ addiu $t1, $v1, 0x0001 ## $t1 = 00000001
|
||||
/* 00F88 80B1C888 10000014 */ beq $zero, $zero, .L80B1C8DC
|
||||
/* 00F8C 80B1C88C A0A9020A */ sb $t1, 0x020A($a1) ## 0000020A
|
||||
.L80B1C890:
|
||||
/* 00F90 80B1C890 90A3020B */ lbu $v1, 0x020B($a1) ## 0000020B
|
||||
/* 00F94 80B1C894 24040002 */ addiu $a0, $zero, 0x0002 ## $a0 = 00000002
|
||||
/* 00F98 80B1C898 28610002 */ slti $at, $v1, 0x0002
|
||||
/* 00F9C 80B1C89C 10200003 */ beq $at, $zero, .L80B1C8AC
|
||||
/* 00FA0 80B1C8A0 246A0001 */ addiu $t2, $v1, 0x0001 ## $t2 = 00000001
|
||||
/* 00FA4 80B1C8A4 1000000D */ beq $zero, $zero, .L80B1C8DC
|
||||
/* 00FA8 80B1C8A8 A0AA020B */ sb $t2, 0x020B($a1) ## 0000020B
|
||||
.L80B1C8AC:
|
||||
/* 00FAC 80B1C8AC 90A3020C */ lbu $v1, 0x020C($a1) ## 0000020C
|
||||
/* 00FB0 80B1C8B0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 00FB4 80B1C8B4 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 00FB8 80B1C8B8 1C600004 */ bgtz $v1, .L80B1C8CC
|
||||
/* 00FBC 80B1C8BC 246B0001 */ addiu $t3, $v1, 0x0001 ## $t3 = 00000001
|
||||
/* 00FC0 80B1C8C0 A0AB020C */ sb $t3, 0x020C($a1) ## 0000020C
|
||||
/* 00FC4 80B1C8C4 10000005 */ beq $zero, $zero, .L80B1C8DC
|
||||
/* 00FC8 80B1C8C8 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003
|
||||
.L80B1C8CC:
|
||||
/* 00FCC 80B1C8CC A0AC0209 */ sb $t4, 0x0209($a1) ## 00000209
|
||||
/* 00FD0 80B1C8D0 A0A0020A */ sb $zero, 0x020A($a1) ## 0000020A
|
||||
/* 00FD4 80B1C8D4 A0A0020B */ sb $zero, 0x020B($a1) ## 0000020B
|
||||
/* 00FD8 80B1C8D8 A0A0020C */ sb $zero, 0x020C($a1) ## 0000020C
|
||||
.L80B1C8DC:
|
||||
/* 00FDC 80B1C8DC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000003
|
||||
.L80B1C8E0:
|
||||
/* 00FE0 80B1C8E0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00FE4 80B1C8E4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00FE8 80B1C8E8 03E00008 */ jr $ra
|
||||
/* 00FEC 80B1C8EC 00000000 */ nop
|
||||
|
||||
|
@ -1,99 +0,0 @@
|
||||
glabel func_80B1C8F0
|
||||
/* 00FF0 80B1C8F0 27BDFFB0 */ addiu $sp, $sp, 0xFFB0 ## $sp = FFFFFFB0
|
||||
/* 00FF4 80B1C8F4 3C0F80B2 */ lui $t7, %hi(D_80B1D548) ## $t7 = 80B20000
|
||||
/* 00FF8 80B1C8F8 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 00FFC 80B1C8FC AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01000 80B1C900 25EFD548 */ addiu $t7, $t7, %lo(D_80B1D548) ## $t7 = 80B1D548
|
||||
/* 01004 80B1C904 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D548
|
||||
/* 01008 80B1C908 27AE0044 */ addiu $t6, $sp, 0x0044 ## $t6 = FFFFFFF4
|
||||
/* 0100C 80B1C90C 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D54C
|
||||
/* 01010 80B1C910 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF4
|
||||
/* 01014 80B1C914 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D550
|
||||
/* 01018 80B1C918 3C0980B2 */ lui $t1, %hi(D_80B1D554) ## $t1 = 80B20000
|
||||
/* 0101C 80B1C91C 2529D554 */ addiu $t1, $t1, %lo(D_80B1D554) ## $t1 = 80B1D554
|
||||
/* 01020 80B1C920 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF8
|
||||
/* 01024 80B1C924 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFFC
|
||||
/* 01028 80B1C928 8D2B0000 */ lw $t3, 0x0000($t1) ## 80B1D554
|
||||
/* 0102C 80B1C92C 27A80038 */ addiu $t0, $sp, 0x0038 ## $t0 = FFFFFFE8
|
||||
/* 01030 80B1C930 8D2A0004 */ lw $t2, 0x0004($t1) ## 80B1D558
|
||||
/* 01034 80B1C934 AD0B0000 */ sw $t3, 0x0000($t0) ## FFFFFFE8
|
||||
/* 01038 80B1C938 8D2B0008 */ lw $t3, 0x0008($t1) ## 80B1D55C
|
||||
/* 0103C 80B1C93C 3C0D80B2 */ lui $t5, %hi(D_80B1D560) ## $t5 = 80B20000
|
||||
/* 01040 80B1C940 25ADD560 */ addiu $t5, $t5, %lo(D_80B1D560) ## $t5 = 80B1D560
|
||||
/* 01044 80B1C944 AD0A0004 */ sw $t2, 0x0004($t0) ## FFFFFFEC
|
||||
/* 01048 80B1C948 AD0B0008 */ sw $t3, 0x0008($t0) ## FFFFFFF0
|
||||
/* 0104C 80B1C94C 8DAF0000 */ lw $t7, 0x0000($t5) ## 80B1D560
|
||||
/* 01050 80B1C950 27AC002C */ addiu $t4, $sp, 0x002C ## $t4 = FFFFFFDC
|
||||
/* 01054 80B1C954 8DAE0004 */ lw $t6, 0x0004($t5) ## 80B1D564
|
||||
/* 01058 80B1C958 AD8F0000 */ sw $t7, 0x0000($t4) ## FFFFFFDC
|
||||
/* 0105C 80B1C95C 8DAF0008 */ lw $t7, 0x0008($t5) ## 80B1D568
|
||||
/* 01060 80B1C960 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
/* 01064 80B1C964 AD8E0004 */ sw $t6, 0x0004($t4) ## FFFFFFE0
|
||||
/* 01068 80B1C968 AD8F0008 */ sw $t7, 0x0008($t4) ## FFFFFFE4
|
||||
/* 0106C 80B1C96C C4800164 */ lwc1 $f0, 0x0164($a0) ## 00000164
|
||||
/* 01070 80B1C970 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00
|
||||
/* 01074 80B1C974 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01078 80B1C978 3C014220 */ lui $at, 0x4220 ## $at = 42200000
|
||||
/* 0107C 80B1C97C 4600203E */ c.le.s $f4, $f0
|
||||
/* 01080 80B1C980 00000000 */ nop
|
||||
/* 01084 80B1C984 45020032 */ bc1fl .L80B1CA50
|
||||
/* 01088 80B1C988 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 0108C 80B1C98C 44813000 */ mtc1 $at, $f6 ## $f6 = 40.00
|
||||
/* 01090 80B1C990 00000000 */ nop
|
||||
/* 01094 80B1C994 4606003C */ c.lt.s $f0, $f6
|
||||
/* 01098 80B1C998 00000000 */ nop
|
||||
/* 0109C 80B1C99C 4502002C */ bc1fl .L80B1CA50
|
||||
/* 010A0 80B1C9A0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 010A4 80B1C9A4 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 010A8 80B1C9A8 00000000 */ nop
|
||||
/* 010AC 80B1C9AC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 010B0 80B1C9B0 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 010B4 80B1C9B4 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 010B8 80B1C9B8 44818000 */ mtc1 $at, $f16 ## $f16 = 12.00
|
||||
/* 010BC 80B1C9BC 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 010C0 80B1C9C0 C6040304 */ lwc1 $f4, 0x0304($s0) ## 00000304
|
||||
/* 010C4 80B1C9C4 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 010C8 80B1C9C8 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 010CC 80B1C9CC 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 010D0 80B1C9D0 E7A60044 */ swc1 $f6, 0x0044($sp)
|
||||
/* 010D4 80B1C9D4 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 010D8 80B1C9D8 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 010DC 80B1C9DC 3C014100 */ lui $at, 0x4100 ## $at = 41000000
|
||||
/* 010E0 80B1C9E0 44818000 */ mtc1 $at, $f16 ## $f16 = 8.00
|
||||
/* 010E4 80B1C9E4 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 010E8 80B1C9E8 C6040308 */ lwc1 $f4, 0x0308($s0) ## 00000308
|
||||
/* 010EC 80B1C9EC 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 010F0 80B1C9F0 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 010F4 80B1C9F4 0C03F66B */ jal Math_Rand_ZeroOne
|
||||
## Rand.Next() float
|
||||
/* 010F8 80B1C9F8 E7A60048 */ swc1 $f6, 0x0048($sp)
|
||||
/* 010FC 80B1C9FC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
|
||||
/* 01100 80B1CA00 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
|
||||
/* 01104 80B1CA04 3C014140 */ lui $at, 0x4140 ## $at = 41400000
|
||||
/* 01108 80B1CA08 44818000 */ mtc1 $at, $f16 ## $f16 = 12.00
|
||||
/* 0110C 80B1CA0C 46080281 */ sub.s $f10, $f0, $f8
|
||||
/* 01110 80B1CA10 C604030C */ lwc1 $f4, 0x030C($s0) ## 0000030C
|
||||
/* 01114 80B1CA14 3C0180B2 */ lui $at, %hi(D_80B1D680) ## $at = 80B20000
|
||||
/* 01118 80B1CA18 C428D680 */ lwc1 $f8, %lo(D_80B1D680)($at)
|
||||
/* 0111C 80B1CA1C 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 01120 80B1CA20 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
|
||||
/* 01124 80B1CA24 3C073E4C */ lui $a3, 0x3E4C ## $a3 = 3E4C0000
|
||||
/* 01128 80B1CA28 34E7CCCD */ ori $a3, $a3, 0xCCCD ## $a3 = 3E4CCCCD
|
||||
/* 0112C 80B1CA2C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01130 80B1CA30 27A50044 */ addiu $a1, $sp, 0x0044 ## $a1 = FFFFFFF4
|
||||
/* 01134 80B1CA34 2406000C */ addiu $a2, $zero, 0x000C ## $a2 = 0000000C
|
||||
/* 01138 80B1CA38 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 0113C 80B1CA3C E7A80010 */ swc1 $f8, 0x0010($sp)
|
||||
/* 01140 80B1CA40 E7AA0014 */ swc1 $f10, 0x0014($sp)
|
||||
/* 01144 80B1CA44 0C2C6F77 */ jal func_80B1BDDC
|
||||
/* 01148 80B1CA48 E7A6004C */ swc1 $f6, 0x004C($sp)
|
||||
/* 0114C 80B1CA4C 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B1CA50:
|
||||
/* 01150 80B1CA50 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 01154 80B1CA54 27BD0050 */ addiu $sp, $sp, 0x0050 ## $sp = 00000000
|
||||
/* 01158 80B1CA58 03E00008 */ jr $ra
|
||||
/* 0115C 80B1CA5C 00000000 */ nop
|
||||
|
||||
|
@ -1,152 +0,0 @@
|
||||
glabel func_80B1CC04
|
||||
/* 01304 80B1CC04 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 01308 80B1CC08 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 0130C 80B1CC0C AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01310 80B1CC10 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 01314 80B1CC14 848201E0 */ lh $v0, 0x01E0($a0) ## 000001E0
|
||||
/* 01318 80B1CC18 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0131C 80B1CC1C 10400028 */ beq $v0, $zero, .L80B1CCC0
|
||||
/* 01320 80B1CC20 00000000 */ nop
|
||||
/* 01324 80B1CC24 848300B6 */ lh $v1, 0x00B6($a0) ## 000000B6
|
||||
/* 01328 80B1CC28 848E021E */ lh $t6, 0x021E($a0) ## 0000021E
|
||||
/* 0132C 80B1CC2C 848F008A */ lh $t7, 0x008A($a0) ## 0000008A
|
||||
/* 01330 80B1CC30 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 01334 80B1CC34 006E1823 */ subu $v1, $v1, $t6
|
||||
/* 01338 80B1CC38 00031C00 */ sll $v1, $v1, 16
|
||||
/* 0133C 80B1CC3C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01340 80B1CC40 01E31823 */ subu $v1, $t7, $v1
|
||||
/* 01344 80B1CC44 00031C00 */ sll $v1, $v1, 16
|
||||
/* 01348 80B1CC48 14410008 */ bne $v0, $at, .L80B1CC6C
|
||||
/* 0134C 80B1CC4C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01350 80B1CC50 0C2C6FE3 */ jal func_80B1BF8C
|
||||
/* 01354 80B1CC54 00000000 */ nop
|
||||
/* 01358 80B1CC58 3C1880B2 */ lui $t8, %hi(func_80B1CEF8) ## $t8 = 80B20000
|
||||
/* 0135C 80B1CC5C 2718CEF8 */ addiu $t8, $t8, %lo(func_80B1CEF8) ## $t8 = 80B1CEF8
|
||||
/* 01360 80B1CC60 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 01364 80B1CC64 1000006B */ beq $zero, $zero, .L80B1CE14
|
||||
/* 01368 80B1CC68 AE180190 */ sw $t8, 0x0190($s0) ## 00000190
|
||||
.L80B1CC6C:
|
||||
/* 0136C 80B1CC6C 861901D4 */ lh $t9, 0x01D4($s0) ## 000001D4
|
||||
/* 01370 80B1CC70 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 01374 80B1CC74 44814000 */ mtc1 $at, $f8 ## $f8 = 30.00
|
||||
/* 01378 80B1CC78 44992000 */ mtc1 $t9, $f4 ## $f4 = 0.00
|
||||
/* 0137C 80B1CC7C 3C0880B2 */ lui $t0, %hi(func_80B1C54C) ## $t0 = 80B20000
|
||||
/* 01380 80B1CC80 3C0980B2 */ lui $t1, %hi(func_80B1C5A0) ## $t1 = 80B20000
|
||||
/* 01384 80B1CC84 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 01388 80B1CC88 2529C5A0 */ addiu $t1, $t1, %lo(func_80B1C5A0) ## $t1 = 80B1C5A0
|
||||
/* 0138C 80B1CC8C 2508C54C */ addiu $t0, $t0, %lo(func_80B1C54C) ## $t0 = 80B1C54C
|
||||
/* 01390 80B1CC90 AFA80010 */ sw $t0, 0x0010($sp)
|
||||
/* 01394 80B1CC94 AFA90014 */ sw $t1, 0x0014($sp)
|
||||
/* 01398 80B1CC98 A7A3002E */ sh $v1, 0x002E($sp)
|
||||
/* 0139C 80B1CC9C 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 013A0 80B1CCA0 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 013A4 80B1CCA4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 013A8 80B1CCA8 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
|
||||
/* 013AC 80B1CCAC 44075000 */ mfc1 $a3, $f10
|
||||
/* 013B0 80B1CCB0 0C00D0F3 */ jal func_800343CC
|
||||
/* 013B4 80B1CCB4 00000000 */ nop
|
||||
/* 013B8 80B1CCB8 10000044 */ beq $zero, $zero, .L80B1CDCC
|
||||
/* 013BC 80B1CCBC 87A3002E */ lh $v1, 0x002E($sp)
|
||||
.L80B1CCC0:
|
||||
/* 013C0 80B1CCC0 0C2C7034 */ jal func_80B1C0D0
|
||||
/* 013C4 80B1CCC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 013C8 80B1CCC8 1040001F */ beq $v0, $zero, .L80B1CD48
|
||||
/* 013CC 80B1CCCC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 013D0 80B1CCD0 860C01D4 */ lh $t4, 0x01D4($s0) ## 000001D4
|
||||
/* 013D4 80B1CCD4 860300B6 */ lh $v1, 0x00B6($s0) ## 000000B6
|
||||
/* 013D8 80B1CCD8 860A021E */ lh $t2, 0x021E($s0) ## 0000021E
|
||||
/* 013DC 80B1CCDC 448C8000 */ mtc1 $t4, $f16 ## $f16 = 0.00
|
||||
/* 013E0 80B1CCE0 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
|
||||
/* 013E4 80B1CCE4 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
|
||||
/* 013E8 80B1CCE8 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 013EC 80B1CCEC 860B008A */ lh $t3, 0x008A($s0) ## 0000008A
|
||||
/* 013F0 80B1CCF0 006A1823 */ subu $v1, $v1, $t2
|
||||
/* 013F4 80B1CCF4 00031C00 */ sll $v1, $v1, 16
|
||||
/* 013F8 80B1CCF8 00031C03 */ sra $v1, $v1, 16
|
||||
/* 013FC 80B1CCFC A600021C */ sh $zero, 0x021C($s0) ## 0000021C
|
||||
/* 01400 80B1CD00 46049180 */ add.s $f6, $f18, $f4
|
||||
/* 01404 80B1CD04 01631823 */ subu $v1, $t3, $v1
|
||||
/* 01408 80B1CD08 00031C00 */ sll $v1, $v1, 16
|
||||
/* 0140C 80B1CD0C 3C0D80B2 */ lui $t5, %hi(func_80B1C54C) ## $t5 = 80B20000
|
||||
/* 01410 80B1CD10 3C0E80B2 */ lui $t6, %hi(func_80B1C5A0) ## $t6 = 80B20000
|
||||
/* 01414 80B1CD14 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01418 80B1CD18 25CEC5A0 */ addiu $t6, $t6, %lo(func_80B1C5A0) ## $t6 = 80B1C5A0
|
||||
/* 0141C 80B1CD1C 25ADC54C */ addiu $t5, $t5, %lo(func_80B1C54C) ## $t5 = 80B1C54C
|
||||
/* 01420 80B1CD20 44073000 */ mfc1 $a3, $f6
|
||||
/* 01424 80B1CD24 AFAD0010 */ sw $t5, 0x0010($sp)
|
||||
/* 01428 80B1CD28 AFAE0014 */ sw $t6, 0x0014($sp)
|
||||
/* 0142C 80B1CD2C A7A3002E */ sh $v1, 0x002E($sp)
|
||||
/* 01430 80B1CD30 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 01434 80B1CD34 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 01438 80B1CD38 0C00D0F3 */ jal func_800343CC
|
||||
/* 0143C 80B1CD3C 260601E0 */ addiu $a2, $s0, 0x01E0 ## $a2 = 000001E0
|
||||
/* 01440 80B1CD40 10000022 */ beq $zero, $zero, .L80B1CDCC
|
||||
/* 01444 80B1CD44 87A3002E */ lh $v1, 0x002E($sp)
|
||||
.L80B1CD48:
|
||||
/* 01448 80B1CD48 0C00BC65 */ jal func_8002F194
|
||||
/* 0144C 80B1CD4C 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 01450 80B1CD50 1040000D */ beq $v0, $zero, .L80B1CD88
|
||||
/* 01454 80B1CD54 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
|
||||
/* 01458 80B1CD58 860300B6 */ lh $v1, 0x00B6($s0) ## 000000B6
|
||||
/* 0145C 80B1CD5C 860F021E */ lh $t7, 0x021E($s0) ## 0000021E
|
||||
/* 01460 80B1CD60 8618008A */ lh $t8, 0x008A($s0) ## 0000008A
|
||||
/* 01464 80B1CD64 A600021C */ sh $zero, 0x021C($s0) ## 0000021C
|
||||
/* 01468 80B1CD68 006F1823 */ subu $v1, $v1, $t7
|
||||
/* 0146C 80B1CD6C 00031C00 */ sll $v1, $v1, 16
|
||||
/* 01470 80B1CD70 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01474 80B1CD74 03031823 */ subu $v1, $t8, $v1
|
||||
/* 01478 80B1CD78 00031C00 */ sll $v1, $v1, 16
|
||||
/* 0147C 80B1CD7C 00031C03 */ sra $v1, $v1, 16
|
||||
/* 01480 80B1CD80 10000012 */ beq $zero, $zero, .L80B1CDCC
|
||||
/* 01484 80B1CD84 A61901E0 */ sh $t9, 0x01E0($s0) ## 000001E0
|
||||
.L80B1CD88:
|
||||
/* 01488 80B1CD88 8603021C */ lh $v1, 0x021C($s0) ## 0000021C
|
||||
/* 0148C 80B1CD8C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01490 80B1CD90 14600003 */ bne $v1, $zero, .L80B1CDA0
|
||||
/* 01494 80B1CD94 2468FFFF */ addiu $t0, $v1, 0xFFFF ## $t0 = FFFFFFFF
|
||||
/* 01498 80B1CD98 10000003 */ beq $zero, $zero, .L80B1CDA8
|
||||
/* 0149C 80B1CD9C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80B1CDA0:
|
||||
/* 014A0 80B1CDA0 A608021C */ sh $t0, 0x021C($s0) ## 0000021C
|
||||
/* 014A4 80B1CDA4 8602021C */ lh $v0, 0x021C($s0) ## 0000021C
|
||||
.L80B1CDA8:
|
||||
/* 014A8 80B1CDA8 14400008 */ bne $v0, $zero, .L80B1CDCC
|
||||
/* 014AC 80B1CDAC 00001825 */ or $v1, $zero, $zero ## $v1 = 00000000
|
||||
/* 014B0 80B1CDB0 0C2C6FC5 */ jal func_80B1BF14
|
||||
/* 014B4 80B1CDB4 8FA50034 */ lw $a1, 0x0034($sp)
|
||||
/* 014B8 80B1CDB8 3C0980B2 */ lui $t1, %hi(func_80B1CE28) ## $t1 = 80B20000
|
||||
/* 014BC 80B1CDBC 2529CE28 */ addiu $t1, $t1, %lo(func_80B1CE28) ## $t1 = 80B1CE28
|
||||
/* 014C0 80B1CDC0 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
|
||||
/* 014C4 80B1CDC4 10000001 */ beq $zero, $zero, .L80B1CDCC
|
||||
/* 014C8 80B1CDC8 87A3002E */ lh $v1, 0x002E($sp)
|
||||
.L80B1CDCC:
|
||||
/* 014CC 80B1CDCC 00032023 */ subu $a0, $zero, $v1
|
||||
/* 014D0 80B1CDD0 288104F6 */ slti $at, $a0, 0x04F6
|
||||
/* 014D4 80B1CDD4 10200003 */ beq $at, $zero, .L80B1CDE4
|
||||
/* 014D8 80B1CDD8 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 014DC 80B1CDDC 10000008 */ beq $zero, $zero, .L80B1CE00
|
||||
/* 014E0 80B1CDE0 240504F6 */ addiu $a1, $zero, 0x04F6 ## $a1 = 000004F6
|
||||
.L80B1CDE4:
|
||||
/* 014E4 80B1CDE4 288129EB */ slti $at, $a0, 0x29EB
|
||||
/* 014E8 80B1CDE8 14200003 */ bne $at, $zero, .L80B1CDF8
|
||||
/* 014EC 80B1CDEC 00801025 */ or $v0, $a0, $zero ## $v0 = 00000000
|
||||
/* 014F0 80B1CDF0 10000001 */ beq $zero, $zero, .L80B1CDF8
|
||||
/* 014F4 80B1CDF4 240229EA */ addiu $v0, $zero, 0x29EA ## $v0 = 000029EA
|
||||
.L80B1CDF8:
|
||||
/* 014F8 80B1CDF8 00022C00 */ sll $a1, $v0, 16
|
||||
/* 014FC 80B1CDFC 00052C03 */ sra $a1, $a1, 16
|
||||
.L80B1CE00:
|
||||
/* 01500 80B1CE00 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
|
||||
/* 01504 80B1CE04 AFAA0010 */ sw $t2, 0x0010($sp)
|
||||
/* 01508 80B1CE08 26040226 */ addiu $a0, $s0, 0x0226 ## $a0 = 00000226
|
||||
/* 0150C 80B1CE0C 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 01510 80B1CE10 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
|
||||
.L80B1CE14:
|
||||
/* 01514 80B1CE14 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 01518 80B1CE18 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0151C 80B1CE1C 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 01520 80B1CE20 03E00008 */ jr $ra
|
||||
/* 01524 80B1CE24 00000000 */ nop
|
||||
|
||||
|
@ -1,61 +0,0 @@
|
||||
glabel func_80B1CE28
|
||||
/* 01528 80B1CE28 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0152C 80B1CE2C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01530 80B1CE30 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01534 80B1CE34 848E01E0 */ lh $t6, 0x01E0($a0) ## 000001E0
|
||||
/* 01538 80B1CE38 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 0153C 80B1CE3C 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01540 80B1CE40 55C10009 */ bnel $t6, $at, .L80B1CE68
|
||||
/* 01544 80B1CE44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01548 80B1CE48 0C2C6FE3 */ jal func_80B1BF8C
|
||||
/* 0154C 80B1CE4C 00000000 */ nop
|
||||
/* 01550 80B1CE50 3C0F80B2 */ lui $t7, %hi(func_80B1CEF8) ## $t7 = 80B20000
|
||||
/* 01554 80B1CE54 25EFCEF8 */ addiu $t7, $t7, %lo(func_80B1CEF8) ## $t7 = 80B1CEF8
|
||||
/* 01558 80B1CE58 A60001E0 */ sh $zero, 0x01E0($s0) ## 000001E0
|
||||
/* 0155C 80B1CE5C 10000021 */ beq $zero, $zero, .L80B1CEE4
|
||||
/* 01560 80B1CE60 AE0F0190 */ sw $t7, 0x0190($s0) ## 00000190
|
||||
/* 01564 80B1CE64 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B1CE68:
|
||||
/* 01568 80B1CE68 0C2C70AD */ jal func_80B1C2B4
|
||||
/* 0156C 80B1CE6C AFA5002C */ sw $a1, 0x002C($sp)
|
||||
/* 01570 80B1CE70 E6000068 */ swc1 $f0, 0x0068($s0) ## 00000068
|
||||
/* 01574 80B1CE74 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 01578 80B1CE78 0C2C70F7 */ jal func_80B1C3DC
|
||||
/* 0157C 80B1CE7C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01580 80B1CE80 24180001 */ addiu $t8, $zero, 0x0001 ## $t8 = 00000001
|
||||
/* 01584 80B1CE84 AFB80010 */ sw $t8, 0x0010($sp)
|
||||
/* 01588 80B1CE88 26040226 */ addiu $a0, $s0, 0x0226 ## $a0 = 00000226
|
||||
/* 0158C 80B1CE8C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 01590 80B1CE90 24060006 */ addiu $a2, $zero, 0x0006 ## $a2 = 00000006
|
||||
/* 01594 80B1CE94 0C01E1A7 */ jal Math_SmoothScaleMaxMinS
|
||||
|
||||
/* 01598 80B1CE98 240703E8 */ addiu $a3, $zero, 0x03E8 ## $a3 = 000003E8
|
||||
/* 0159C 80B1CE9C 0C2C708F */ jal func_80B1C23C
|
||||
/* 015A0 80B1CEA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 015A4 80B1CEA4 8602021C */ lh $v0, 0x021C($s0) ## 0000021C
|
||||
/* 015A8 80B1CEA8 10400002 */ beq $v0, $zero, .L80B1CEB4
|
||||
/* 015AC 80B1CEAC 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF
|
||||
/* 015B0 80B1CEB0 A619021C */ sh $t9, 0x021C($s0) ## 0000021C
|
||||
.L80B1CEB4:
|
||||
/* 015B4 80B1CEB4 0C2C7034 */ jal func_80B1C0D0
|
||||
/* 015B8 80B1CEB8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 015BC 80B1CEBC 14400004 */ bne $v0, $zero, .L80B1CED0
|
||||
/* 015C0 80B1CEC0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 015C4 80B1CEC4 8608021C */ lh $t0, 0x021C($s0) ## 0000021C
|
||||
/* 015C8 80B1CEC8 55000007 */ bnel $t0, $zero, .L80B1CEE8
|
||||
/* 015CC 80B1CECC 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B1CED0:
|
||||
/* 015D0 80B1CED0 0C2C6FA5 */ jal func_80B1BE94
|
||||
/* 015D4 80B1CED4 8FA5002C */ lw $a1, 0x002C($sp)
|
||||
/* 015D8 80B1CED8 3C0980B2 */ lui $t1, %hi(func_80B1CC04) ## $t1 = 80B20000
|
||||
/* 015DC 80B1CEDC 2529CC04 */ addiu $t1, $t1, %lo(func_80B1CC04) ## $t1 = 80B1CC04
|
||||
/* 015E0 80B1CEE0 AE090190 */ sw $t1, 0x0190($s0) ## 00000190
|
||||
.L80B1CEE4:
|
||||
/* 015E4 80B1CEE4 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B1CEE8:
|
||||
/* 015E8 80B1CEE8 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 015EC 80B1CEEC 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
||||
/* 015F0 80B1CEF0 03E00008 */ jr $ra
|
||||
/* 015F4 80B1CEF4 00000000 */ nop
|
||||
|
||||
|
@ -1,168 +0,0 @@
|
||||
glabel func_80B1CEF8
|
||||
/* 015F8 80B1CEF8 27BDFFA8 */ addiu $sp, $sp, 0xFFA8 ## $sp = FFFFFFA8
|
||||
/* 015FC 80B1CEFC 3C0F80B2 */ lui $t7, %hi(D_80B1D56C) ## $t7 = 80B20000
|
||||
/* 01600 80B1CF00 AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 01604 80B1CF04 AFB00020 */ sw $s0, 0x0020($sp)
|
||||
/* 01608 80B1CF08 AFA5005C */ sw $a1, 0x005C($sp)
|
||||
/* 0160C 80B1CF0C 25EFD56C */ addiu $t7, $t7, %lo(D_80B1D56C) ## $t7 = 80B1D56C
|
||||
/* 01610 80B1CF10 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D56C
|
||||
/* 01614 80B1CF14 27AE002C */ addiu $t6, $sp, 0x002C ## $t6 = FFFFFFD4
|
||||
/* 01618 80B1CF18 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D570
|
||||
/* 0161C 80B1CF1C ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFD4
|
||||
/* 01620 80B1CF20 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D574
|
||||
/* 01624 80B1CF24 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFD8
|
||||
/* 01628 80B1CF28 8DF8000C */ lw $t8, 0x000C($t7) ## 80B1D578
|
||||
/* 0162C 80B1CF2C ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFDC
|
||||
/* 01630 80B1CF30 8DF90010 */ lw $t9, 0x0010($t7) ## 80B1D57C
|
||||
/* 01634 80B1CF34 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 01638 80B1CF38 ADD8000C */ sw $t8, 0x000C($t6) ## FFFFFFE0
|
||||
/* 0163C 80B1CF3C 0C2C723C */ jal func_80B1C8F0
|
||||
/* 01640 80B1CF40 ADD90010 */ sw $t9, 0x0010($t6) ## FFFFFFE4
|
||||
/* 01644 80B1CF44 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
/* 01648 80B1CF48 44812000 */ mtc1 $at, $f4 ## $f4 = 32.00
|
||||
/* 0164C 80B1CF4C C6060164 */ lwc1 $f6, 0x0164($s0) ## 00000164
|
||||
/* 01650 80B1CF50 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01654 80B1CF54 46062032 */ c.eq.s $f4, $f6
|
||||
/* 01658 80B1CF58 00000000 */ nop
|
||||
/* 0165C 80B1CF5C 45020038 */ bc1fl .L80B1D040
|
||||
/* 01660 80B1CF60 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
/* 01664 80B1CF64 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 01668 80B1CF68 240528C8 */ addiu $a1, $zero, 0x28C8 ## $a1 = 000028C8
|
||||
/* 0166C 80B1CF6C 92080208 */ lbu $t0, 0x0208($s0) ## 00000208
|
||||
/* 01670 80B1CF70 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 01674 80B1CF74 A600021A */ sh $zero, 0x021A($s0) ## 0000021A
|
||||
/* 01678 80B1CF78 55010031 */ bnel $t0, $at, .L80B1D040
|
||||
/* 0167C 80B1CF7C 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
/* 01680 80B1CF80 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
|
||||
/* 01684 80B1CF84 3C01C220 */ lui $at, 0xC220 ## $at = C2200000
|
||||
/* 01688 80B1CF88 44814000 */ mtc1 $at, $f8 ## $f8 = -40.00
|
||||
/* 0168C 80B1CF8C E7A0004C */ swc1 $f0, 0x004C($sp)
|
||||
/* 01690 80B1CF90 E7A00050 */ swc1 $f0, 0x0050($sp)
|
||||
/* 01694 80B1CF94 E7A80054 */ swc1 $f8, 0x0054($sp)
|
||||
/* 01698 80B1CF98 860900B6 */ lh $t1, 0x00B6($s0) ## 000000B6
|
||||
/* 0169C 80B1CF9C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
|
||||
/* 016A0 80B1CFA0 44895000 */ mtc1 $t1, $f10 ## $f10 = 0.00
|
||||
/* 016A4 80B1CFA4 0C034348 */ jal Matrix_RotateY
|
||||
/* 016A8 80B1CFA8 46805320 */ cvt.s.w $f12, $f10
|
||||
/* 016AC 80B1CFAC 27A4004C */ addiu $a0, $sp, 0x004C ## $a0 = FFFFFFF4
|
||||
/* 016B0 80B1CFB0 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 016B4 80B1CFB4 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
|
||||
/* 016B8 80B1CFB8 C7B00040 */ lwc1 $f16, 0x0040($sp)
|
||||
/* 016BC 80B1CFBC C6120024 */ lwc1 $f18, 0x0024($s0) ## 00000024
|
||||
/* 016C0 80B1CFC0 C7A60044 */ lwc1 $f6, 0x0044($sp)
|
||||
/* 016C4 80B1CFC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 016C8 80B1CFC8 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 016CC 80B1CFCC C7B00048 */ lwc1 $f16, 0x0048($sp)
|
||||
/* 016D0 80B1CFD0 E7A40040 */ swc1 $f4, 0x0040($sp)
|
||||
/* 016D4 80B1CFD4 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
|
||||
/* 016D8 80B1CFD8 46083280 */ add.s $f10, $f6, $f8
|
||||
/* 016DC 80B1CFDC E7AA0044 */ swc1 $f10, 0x0044($sp)
|
||||
/* 016E0 80B1CFE0 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
|
||||
/* 016E4 80B1CFE4 46128100 */ add.s $f4, $f16, $f18
|
||||
/* 016E8 80B1CFE8 0C2C71CE */ jal func_80B1C738
|
||||
/* 016EC 80B1CFEC E7A40048 */ swc1 $f4, 0x0048($sp)
|
||||
/* 016F0 80B1CFF0 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 016F4 80B1CFF4 1441000A */ bne $v0, $at, .L80B1D020
|
||||
/* 016F8 80B1CFF8 AE020214 */ sw $v0, 0x0214($s0) ## 00000214
|
||||
/* 016FC 80B1CFFC 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
|
||||
/* 01700 80B1D000 2463E660 */ addiu $v1, $v1, 0xE660 ## $v1 = 8015E660
|
||||
/* 01704 80B1D004 94620EF2 */ lhu $v0, 0x0EF2($v1) ## 8015F552
|
||||
/* 01708 80B1D008 240C0004 */ addiu $t4, $zero, 0x0004 ## $t4 = 00000004
|
||||
/* 0170C 80B1D00C 304A1000 */ andi $t2, $v0, 0x1000 ## $t2 = 00000000
|
||||
/* 01710 80B1D010 15400003 */ bne $t2, $zero, .L80B1D020
|
||||
/* 01714 80B1D014 344B1000 */ ori $t3, $v0, 0x1000 ## $t3 = 00001000
|
||||
/* 01718 80B1D018 A46B0EF2 */ sh $t3, 0x0EF2($v1) ## 8015F552
|
||||
/* 0171C 80B1D01C AE0C0214 */ sw $t4, 0x0214($s0) ## 00000214
|
||||
.L80B1D020:
|
||||
/* 01720 80B1D020 8E0D0214 */ lw $t5, 0x0214($s0) ## 00000214
|
||||
/* 01724 80B1D024 8FA4005C */ lw $a0, 0x005C($sp)
|
||||
/* 01728 80B1D028 27A50040 */ addiu $a1, $sp, 0x0040 ## $a1 = FFFFFFE8
|
||||
/* 0172C 80B1D02C 000D7080 */ sll $t6, $t5, 2
|
||||
/* 01730 80B1D030 03AE3021 */ addu $a2, $sp, $t6
|
||||
/* 01734 80B1D034 0C007D52 */ jal Item_DropCollectible
|
||||
|
||||
/* 01738 80B1D038 84C6002E */ lh $a2, 0x002E($a2) ## 0000002E
|
||||
/* 0173C 80B1D03C 3C014200 */ lui $at, 0x4200 ## $at = 42000000
|
||||
.L80B1D040:
|
||||
/* 01740 80B1D040 44814000 */ mtc1 $at, $f8 ## $f8 = 32.00
|
||||
/* 01744 80B1D044 C6060164 */ lwc1 $f6, 0x0164($s0) ## 00000164
|
||||
/* 01748 80B1D048 4606403E */ c.le.s $f8, $f6
|
||||
/* 0174C 80B1D04C 00000000 */ nop
|
||||
/* 01750 80B1D050 45020021 */ bc1fl .L80B1D0D8
|
||||
/* 01754 80B1D054 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
|
||||
/* 01758 80B1D058 860F021A */ lh $t7, 0x021A($s0) ## 0000021A
|
||||
/* 0175C 80B1D05C 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
|
||||
/* 01760 80B1D060 55E1001D */ bnel $t7, $at, .L80B1D0D8
|
||||
/* 01764 80B1D064 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
|
||||
/* 01768 80B1D068 92180208 */ lbu $t8, 0x0208($s0) ## 00000208
|
||||
/* 0176C 80B1D06C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 01770 80B1D070 57000006 */ bnel $t8, $zero, .L80B1D08C
|
||||
/* 01774 80B1D074 8E190214 */ lw $t9, 0x0214($s0) ## 00000214
|
||||
/* 01778 80B1D078 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 0177C 80B1D07C 24054806 */ addiu $a1, $zero, 0x4806 ## $a1 = 00004806
|
||||
/* 01780 80B1D080 10000015 */ beq $zero, $zero, .L80B1D0D8
|
||||
/* 01784 80B1D084 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
|
||||
/* 01788 80B1D088 8E190214 */ lw $t9, 0x0214($s0) ## 00000214
|
||||
.L80B1D08C:
|
||||
/* 0178C 80B1D08C 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
|
||||
/* 01790 80B1D090 3C078013 */ lui $a3, 0x8013 ## $a3 = 80130000
|
||||
/* 01794 80B1D094 1721000D */ bne $t9, $at, .L80B1D0CC
|
||||
/* 01798 80B1D098 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0179C 80B1D09C 3C088013 */ lui $t0, 0x8013 ## $t0 = 80130000
|
||||
/* 017A0 80B1D0A0 24E733E0 */ addiu $a3, $a3, 0x33E0 ## $a3 = 801333E0
|
||||
/* 017A4 80B1D0A4 250833E8 */ addiu $t0, $t0, 0x33E8 ## $t0 = 801333E8
|
||||
/* 017A8 80B1D0A8 3C058013 */ lui $a1, 0x8013 ## $a1 = 80130000
|
||||
/* 017AC 80B1D0AC 24A533D4 */ addiu $a1, $a1, 0x33D4 ## $a1 = 801333D4
|
||||
/* 017B0 80B1D0B0 AFA80014 */ sw $t0, 0x0014($sp)
|
||||
/* 017B4 80B1D0B4 AFA70010 */ sw $a3, 0x0010($sp)
|
||||
/* 017B8 80B1D0B8 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
|
||||
/* 017BC 80B1D0BC 0C03DCE3 */ jal Audio_PlaySoundGeneral
|
||||
|
||||
/* 017C0 80B1D0C0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
|
||||
/* 017C4 80B1D0C4 10000004 */ beq $zero, $zero, .L80B1D0D8
|
||||
/* 017C8 80B1D0C8 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
|
||||
.L80B1D0CC:
|
||||
/* 017CC 80B1D0CC 0C00BE0A */ jal Audio_PlayActorSound2
|
||||
|
||||
/* 017D0 80B1D0D0 24054807 */ addiu $a1, $zero, 0x4807 ## $a1 = 00004807
|
||||
/* 017D4 80B1D0D4 8609021A */ lh $t1, 0x021A($s0) ## 0000021A
|
||||
.L80B1D0D8:
|
||||
/* 017D8 80B1D0D8 2604014C */ addiu $a0, $s0, 0x014C ## $a0 = 0000014C
|
||||
/* 017DC 80B1D0DC 8E05015C */ lw $a1, 0x015C($s0) ## 0000015C
|
||||
/* 017E0 80B1D0E0 252A0001 */ addiu $t2, $t1, 0x0001 ## $t2 = 00000001
|
||||
/* 017E4 80B1D0E4 0C0295B2 */ jal func_800A56C8
|
||||
/* 017E8 80B1D0E8 A60A021A */ sh $t2, 0x021A($s0) ## 0000021A
|
||||
/* 017EC 80B1D0EC 50400016 */ beql $v0, $zero, .L80B1D148
|
||||
/* 017F0 80B1D0F0 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 017F4 80B1D0F4 8E0B0214 */ lw $t3, 0x0214($s0) ## 00000214
|
||||
/* 017F8 80B1D0F8 8FA4005C */ lw $a0, 0x005C($sp)
|
||||
/* 017FC 80B1D0FC 2405501A */ addiu $a1, $zero, 0x501A ## $a1 = 0000501A
|
||||
/* 01800 80B1D100 05610005 */ bgez $t3, .L80B1D118
|
||||
/* 01804 80B1D104 00000000 */ nop
|
||||
/* 01808 80B1D108 0C042DA0 */ jal func_8010B680
|
||||
/* 0180C 80B1D10C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
|
||||
/* 01810 80B1D110 10000004 */ beq $zero, $zero, .L80B1D124
|
||||
/* 01814 80B1D114 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B1D118:
|
||||
/* 01818 80B1D118 0C041B33 */ jal func_80106CCC
|
||||
/* 0181C 80B1D11C 8FA4005C */ lw $a0, 0x005C($sp)
|
||||
/* 01820 80B1D120 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
.L80B1D124:
|
||||
/* 01824 80B1D124 0C2C6FA5 */ jal func_80B1BE94
|
||||
/* 01828 80B1D128 8FA5005C */ lw $a1, 0x005C($sp)
|
||||
/* 0182C 80B1D12C 3C0D80B2 */ lui $t5, %hi(func_80B1CC04) ## $t5 = 80B20000
|
||||
/* 01830 80B1D130 240CFFFF */ addiu $t4, $zero, 0xFFFF ## $t4 = FFFFFFFF
|
||||
/* 01834 80B1D134 25ADCC04 */ addiu $t5, $t5, %lo(func_80B1CC04) ## $t5 = 80B1CC04
|
||||
/* 01838 80B1D138 AE0C0214 */ sw $t4, 0x0214($s0) ## 00000214
|
||||
/* 0183C 80B1D13C A2000208 */ sb $zero, 0x0208($s0) ## 00000208
|
||||
/* 01840 80B1D140 AE0D0190 */ sw $t5, 0x0190($s0) ## 00000190
|
||||
/* 01844 80B1D144 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L80B1D148:
|
||||
/* 01848 80B1D148 8FB00020 */ lw $s0, 0x0020($sp)
|
||||
/* 0184C 80B1D14C 27BD0058 */ addiu $sp, $sp, 0x0058 ## $sp = 00000000
|
||||
/* 01850 80B1D150 03E00008 */ jr $ra
|
||||
/* 01854 80B1D154 00000000 */ nop
|
||||
|
||||
|
@ -1,33 +0,0 @@
|
||||
glabel func_80B1D200
|
||||
/* 01900 80B1D200 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 01904 80B1D204 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 01908 80B1D208 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 0190C 80B1D20C 8C850000 */ lw $a1, 0x0000($a0) ## 00000000
|
||||
/* 01910 80B1D210 3C0680B2 */ lui $a2, %hi(D_80B1D5EC) ## $a2 = 80B20000
|
||||
/* 01914 80B1D214 24C6D5EC */ addiu $a2, $a2, %lo(D_80B1D5EC) ## $a2 = 80B1D5EC
|
||||
/* 01918 80B1D218 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFEC
|
||||
/* 0191C 80B1D21C 240704A4 */ addiu $a3, $zero, 0x04A4 ## $a3 = 000004A4
|
||||
/* 01920 80B1D220 0C031AB1 */ jal func_800C6AC4
|
||||
/* 01924 80B1D224 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 01928 80B1D228 8FA80034 */ lw $t0, 0x0034($sp)
|
||||
/* 0192C 80B1D22C 3C190601 */ lui $t9, 0x0601 ## $t9 = 06010000
|
||||
/* 01930 80B1D230 2739ACE0 */ addiu $t9, $t9, 0xACE0 ## $t9 = 0600ACE0
|
||||
/* 01934 80B1D234 8D0302C0 */ lw $v1, 0x02C0($t0) ## 000002C0
|
||||
/* 01938 80B1D238 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
|
||||
/* 0193C 80B1D23C 3C0680B2 */ lui $a2, %hi(D_80B1D5FC) ## $a2 = 80B20000
|
||||
/* 01940 80B1D240 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
|
||||
/* 01944 80B1D244 AD0F02C0 */ sw $t7, 0x02C0($t0) ## 000002C0
|
||||
/* 01948 80B1D248 AC790004 */ sw $t9, 0x0004($v1) ## 00000004
|
||||
/* 0194C 80B1D24C AC780000 */ sw $t8, 0x0000($v1) ## 00000000
|
||||
/* 01950 80B1D250 8FA90038 */ lw $t1, 0x0038($sp)
|
||||
/* 01954 80B1D254 24C6D5FC */ addiu $a2, $a2, %lo(D_80B1D5FC) ## $a2 = 80B1D5FC
|
||||
/* 01958 80B1D258 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFEC
|
||||
/* 0195C 80B1D25C 240704A6 */ addiu $a3, $zero, 0x04A6 ## $a3 = 000004A6
|
||||
/* 01960 80B1D260 0C031AD5 */ jal func_800C6B54
|
||||
/* 01964 80B1D264 8D250000 */ lw $a1, 0x0000($t1) ## 00000000
|
||||
/* 01968 80B1D268 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0196C 80B1D26C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 01970 80B1D270 03E00008 */ jr $ra
|
||||
/* 01974 80B1D274 00000000 */ nop
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
glabel func_80B1D278
|
||||
/* 01978 80B1D278 2401000F */ addiu $at, $zero, 0x000F ## $at = 0000000F
|
||||
/* 0197C 80B1D27C AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 01980 80B1D280 AFA60008 */ sw $a2, 0x0008($sp)
|
||||
/* 01984 80B1D284 10A10006 */ beq $a1, $at, .L80B1D2A0
|
||||
/* 01988 80B1D288 AFA7000C */ sw $a3, 0x000C($sp)
|
||||
/* 0198C 80B1D28C 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
|
||||
/* 01990 80B1D290 10A10009 */ beq $a1, $at, .L80B1D2B8
|
||||
/* 01994 80B1D294 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 01998 80B1D298 03E00008 */ jr $ra
|
||||
/* 0199C 80B1D29C 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80B1D2A0:
|
||||
/* 019A0 80B1D2A0 8FA30010 */ lw $v1, 0x0010($sp)
|
||||
/* 019A4 80B1D2A4 8FA20014 */ lw $v0, 0x0014($sp)
|
||||
/* 019A8 80B1D2A8 846E0002 */ lh $t6, 0x0002($v1) ## 00000002
|
||||
/* 019AC 80B1D2AC A44E021E */ sh $t6, 0x021E($v0) ## 0000021E
|
||||
/* 019B0 80B1D2B0 03E00008 */ jr $ra
|
||||
/* 019B4 80B1D2B4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
.L80B1D2B8:
|
||||
/* 019B8 80B1D2B8 8FA30010 */ lw $v1, 0x0010($sp)
|
||||
/* 019BC 80B1D2BC 844F021E */ lh $t7, 0x021E($v0) ## 0000021E
|
||||
/* 019C0 80B1D2C0 84490226 */ lh $t1, 0x0226($v0) ## 00000226
|
||||
/* 019C4 80B1D2C4 84780002 */ lh $t8, 0x0002($v1) ## 00000002
|
||||
/* 019C8 80B1D2C8 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 019CC 80B1D2CC A459021E */ sh $t9, 0x021E($v0) ## 0000021E
|
||||
/* 019D0 80B1D2D0 84680002 */ lh $t0, 0x0002($v1) ## 00000002
|
||||
/* 019D4 80B1D2D4 01095021 */ addu $t2, $t0, $t1
|
||||
/* 019D8 80B1D2D8 A46A0002 */ sh $t2, 0x0002($v1) ## 00000002
|
||||
/* 019DC 80B1D2DC 03E00008 */ jr $ra
|
||||
/* 019E0 80B1D2E0 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
|
||||
|
||||
|
@ -1,50 +0,0 @@
|
||||
glabel func_80B1D2E4
|
||||
/* 019E4 80B1D2E4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 019E8 80B1D2E8 3C0F80B2 */ lui $t7, %hi(D_80B1D580) ## $t7 = 80B20000
|
||||
/* 019EC 80B1D2EC AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 019F0 80B1D2F0 AFA40038 */ sw $a0, 0x0038($sp)
|
||||
/* 019F4 80B1D2F4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 019F8 80B1D2F8 AFA60040 */ sw $a2, 0x0040($sp)
|
||||
/* 019FC 80B1D2FC AFA70044 */ sw $a3, 0x0044($sp)
|
||||
/* 01A00 80B1D300 25EFD580 */ addiu $t7, $t7, %lo(D_80B1D580) ## $t7 = 80B1D580
|
||||
/* 01A04 80B1D304 8DF90000 */ lw $t9, 0x0000($t7) ## 80B1D580
|
||||
/* 01A08 80B1D308 27AE0028 */ addiu $t6, $sp, 0x0028 ## $t6 = FFFFFFF0
|
||||
/* 01A0C 80B1D30C 8DF80004 */ lw $t8, 0x0004($t7) ## 80B1D584
|
||||
/* 01A10 80B1D310 ADD90000 */ sw $t9, 0x0000($t6) ## FFFFFFF0
|
||||
/* 01A14 80B1D314 8DF90008 */ lw $t9, 0x0008($t7) ## 80B1D588
|
||||
/* 01A18 80B1D318 3C0880B2 */ lui $t0, %hi(D_80B1D58C) ## $t0 = 80B20000
|
||||
/* 01A1C 80B1D31C 2508D58C */ addiu $t0, $t0, %lo(D_80B1D58C) ## $t0 = 80B1D58C
|
||||
/* 01A20 80B1D320 ADD80004 */ sw $t8, 0x0004($t6) ## FFFFFFF4
|
||||
/* 01A24 80B1D324 ADD90008 */ sw $t9, 0x0008($t6) ## FFFFFFF8
|
||||
/* 01A28 80B1D328 8D0A0000 */ lw $t2, 0x0000($t0) ## 80B1D58C
|
||||
/* 01A2C 80B1D32C 27A7001C */ addiu $a3, $sp, 0x001C ## $a3 = FFFFFFE4
|
||||
/* 01A30 80B1D330 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010
|
||||
/* 01A34 80B1D334 ACEA0000 */ sw $t2, 0x0000($a3) ## FFFFFFE4
|
||||
/* 01A38 80B1D338 8D090004 */ lw $t1, 0x0004($t0) ## 80B1D590
|
||||
/* 01A3C 80B1D33C 00A03025 */ or $a2, $a1, $zero ## $a2 = 00000000
|
||||
/* 01A40 80B1D340 00E02025 */ or $a0, $a3, $zero ## $a0 = FFFFFFE4
|
||||
/* 01A44 80B1D344 ACE90004 */ sw $t1, 0x0004($a3) ## FFFFFFE8
|
||||
/* 01A48 80B1D348 8D0A0008 */ lw $t2, 0x0008($t0) ## 80B1D594
|
||||
/* 01A4C 80B1D34C 14A10006 */ bne $a1, $at, .L80B1D368
|
||||
/* 01A50 80B1D350 ACEA0008 */ sw $t2, 0x0008($a3) ## FFFFFFEC
|
||||
/* 01A54 80B1D354 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 01A58 80B1D358 AFA6003C */ sw $a2, 0x003C($sp)
|
||||
/* 01A5C 80B1D35C 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01A60 80B1D360 24A50038 */ addiu $a1, $a1, 0x0038 ## $a1 = 00000038
|
||||
/* 01A64 80B1D364 8FA6003C */ lw $a2, 0x003C($sp)
|
||||
.L80B1D368:
|
||||
/* 01A68 80B1D368 2401000E */ addiu $at, $zero, 0x000E ## $at = 0000000E
|
||||
/* 01A6C 80B1D36C 14C10006 */ bne $a2, $at, .L80B1D388
|
||||
/* 01A70 80B1D370 8FA50048 */ lw $a1, 0x0048($sp)
|
||||
/* 01A74 80B1D374 27A40028 */ addiu $a0, $sp, 0x0028 ## $a0 = FFFFFFF0
|
||||
/* 01A78 80B1D378 0C0346BD */ jal Matrix_MultVec3f
|
||||
/* 01A7C 80B1D37C 24A50304 */ addiu $a1, $a1, 0x0304 ## $a1 = 00000304
|
||||
/* 01A80 80B1D380 0C2C7480 */ jal func_80B1D200
|
||||
/* 01A84 80B1D384 8FA40038 */ lw $a0, 0x0038($sp)
|
||||
.L80B1D388:
|
||||
/* 01A88 80B1D388 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 01A8C 80B1D38C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 01A90 80B1D390 03E00008 */ jr $ra
|
||||
/* 01A94 80B1D394 00000000 */ nop
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel Bg_Gate_Shutter_InitVars
|
||||
.word 0x01000700, 0x00000000, 0x01810000, 0x0000017C
|
||||
.word BgGateShutter_Init
|
||||
.word BgGateShutter_Destroy
|
||||
.word BgGateShutter_Update
|
||||
.word BgGateShutter_Draw
|
||||
|
@ -1,11 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80878630
|
||||
|
||||
.incbin "baserom/ovl_Bg_Gate_Shutter", 0x4D0, 0x00000090
|
@ -1,35 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_808785B0
|
||||
.word 0x0A0A0000
|
||||
glabel D_808785B4
|
||||
|
||||
.asciz "[32m ☆☆☆☆☆ 柵でたなぁ ☆☆☆☆☆ \n[m"
|
||||
.balign 4
|
||||
|
||||
glabel D_808785E0
|
||||
|
||||
.asciz "../z_bg_gate_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808785F8
|
||||
|
||||
.asciz "../z_bg_gate_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80878610
|
||||
|
||||
.asciz "../z_bg_gate_shutter.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80878628
|
||||
.word 0xC4ABE000, 0x00000000
|
||||
|
||||
|
@ -1,42 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .data
|
||||
|
||||
glabel En_Tk_InitVars
|
||||
.word 0x00850400, 0x00000009, 0x00890000, 0x00000770
|
||||
.word EnTk_Init
|
||||
.word EnTk_Destroy
|
||||
.word EnTk_Update
|
||||
.word EnTk_Draw
|
||||
glabel D_80B1D4D0
|
||||
.word 0x040539B0, 0x040535B0, 0x040531B0, 0x04052DB0, 0x040529B0, 0x040525B0, 0x040521B0, 0x04051DB0
|
||||
glabel D_80B1D4F0
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B1D4FC
|
||||
.word 0x00000000, 0x3E99999A, 0x00000000
|
||||
glabel D_80B1D508
|
||||
.word 0x0A000039, 0x20010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x001E0034, 0x00000000, 0x00000000
|
||||
glabel D_80B1D534
|
||||
.word 0x00000000, 0x00000000, 0xFF000000
|
||||
glabel D_80B1D540
|
||||
.word 0x42100000, 0x41200000
|
||||
glabel D_80B1D548
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B1D554
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B1D560
|
||||
.word 0x00000000, 0x3E99999A, 0x00000000
|
||||
glabel D_80B1D56C
|
||||
.word 0x00000000, 0x00000001, 0x00000002, 0x00000014, 0x00000006
|
||||
glabel D_80B1D580
|
||||
.word 0x00000000, 0x00000000, 0x458FC000
|
||||
glabel D_80B1D58C
|
||||
.word 0x00000000, 0x00000000, 0x00000000
|
||||
glabel D_80B1D598
|
||||
.word 0x06003B40, 0x06004340, 0x06004B40, 0x00000000, 0x00000000, 0x00000000
|
||||
|
@ -1,11 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .rodata
|
||||
glabel D_80B1D690
|
||||
|
||||
.incbin "baserom/ovl_En_Tk", 0x1D90, 0x00000200
|
@ -1,70 +0,0 @@
|
||||
.include "macro.inc"
|
||||
|
||||
# assembler directives
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
.set gp=64 # allow use of 64-bit general purposee registers
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_80B1D5B0
|
||||
.asciz "../z_en_tk_eff.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D5C4
|
||||
.asciz "../z_en_tk_eff.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D5D8
|
||||
.asciz "../z_en_tk_eff.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D5EC
|
||||
.asciz "../z_en_tk.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D5FC
|
||||
.asciz "../z_en_tk.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D60C
|
||||
.asciz "../z_en_tk.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D61C
|
||||
.asciz "../z_en_tk.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_80B1D62C
|
||||
.word 0x3E4CCCCD
|
||||
glabel D_80B1D630
|
||||
.word 0x3ECCCCCD
|
||||
glabel D_80B1D634
|
||||
.word 0x461C4000
|
||||
glabel D_80B1D638
|
||||
.word 0x452AAAAB
|
||||
glabel D_80B1D63C
|
||||
.word 0x4622F983
|
||||
glabel jtbl_80B1D640
|
||||
.word L80B1C724
|
||||
.word L80B1C724
|
||||
.word L80B1C5EC
|
||||
.word L80B1C724
|
||||
.word L80B1C614
|
||||
.word L80B1C6E4
|
||||
.word L80B1C724
|
||||
.word L80B1C724
|
||||
.word L80B1C724
|
||||
.word L80B1C724
|
||||
glabel D_80B1D668
|
||||
.word 0x3ECCCCCD, 0x00000000
|
||||
glabel D_80B1D670
|
||||
.word 0x3FE66666, 0x66666666
|
||||
glabel D_80B1D678
|
||||
.word 0x3FECCCCC, 0xCCCCCCCD
|
||||
glabel D_80B1D680
|
||||
.word 0x3DCCCCCD
|
||||
glabel D_80B1D684
|
||||
.word 0xBDCCCCCD, 0x00000000, 0x00000000
|
||||
|
||||
|
28
format.sh
Executable file
28
format.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
FORMAT_OPTS="-i -style=file"
|
||||
TIDY_OPTS="-p . --fix --fix-errors"
|
||||
COMPILER_OPTS="-fno-builtin -std=gnu90 -Iinclude -Isrc -D_LANGUAGE_C"
|
||||
|
||||
shopt -s globstar
|
||||
|
||||
if (( $# > 0 )); then
|
||||
echo "Formatting file(s) $*"
|
||||
echo "Running clang-format..."
|
||||
clang-format ${FORMAT_OPTS} "$@"
|
||||
echo "Running clang-tidy..."
|
||||
clang-tidy ${TIDY_OPTS} "$@" -- ${COMPILER_OPTS} &> /dev/null
|
||||
echo "Adding missing final new lines..."
|
||||
sed -i -e '$a\' "$@"
|
||||
echo "Done formatting file(s) $*"
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "Formatting C files. This will take a bit"
|
||||
echo "Running clang-format..."
|
||||
clang-format ${FORMAT_OPTS} src/**/*.c
|
||||
echo "Running clang-tidy..."
|
||||
clang-tidy ${TIDY_OPTS} src/**/*.c -- ${COMPILER_OPTS} &> /dev/null
|
||||
echo "Adding missing final new lines..."
|
||||
find src/ -type f -name "*.c" -exec sed -i -e '$a\' {} \;
|
||||
echo "Done formatting all files."
|
@ -1,18 +1,15 @@
|
||||
#ifndef _COLOR_H_
|
||||
#define _COLOR_H_
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 r, g, b;
|
||||
} Color_RGB8;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 r, g, b, a;
|
||||
} Color_RGBA8;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
f32 r, g, b, a;
|
||||
} Color_RGBAf;
|
||||
|
||||
|
@ -26,7 +26,8 @@ void DmaMgr_ThreadEntry(void* arg0);
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg);
|
||||
s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size);
|
||||
void DmaMgr_Start();
|
||||
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, const char* file, s32 line);
|
||||
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg,
|
||||
const char* file, s32 line);
|
||||
s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line);
|
||||
void* Yaz0_FirstDMA();
|
||||
void* Yaz0_NextDMA(void* curSrcPos);
|
||||
@ -42,26 +43,29 @@ void isPrintfInit();
|
||||
void osSyncPrintfUnused(const char* fmt, ...);
|
||||
void osSyncPrintf(const char* fmt, ...);
|
||||
void rmonPrintf(const char* fmt, ...);
|
||||
u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count);
|
||||
u32 is_proutSyncPrintf(void* arg0, const char* str, s32 count);
|
||||
void func_80002384(const char* exp, const char* file, u32 line);
|
||||
OSPiHandle* osDriveRomInit();
|
||||
void Yaz0_Old_DecompressImpl(Yaz0Header* hdr, u8* dst);
|
||||
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace, const char* name);
|
||||
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
|
||||
const char* name);
|
||||
void StackCheck_Cleanup(StackEntry* entry);
|
||||
StackStatus StackCheck_GetState(StackEntry* entry);
|
||||
u32 StackCheck_CheckAll();
|
||||
u32 StackCheck_Check(StackEntry* entry);
|
||||
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name, float var2, const char* var3Name, float var3);
|
||||
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3);
|
||||
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name,
|
||||
float var2, const char* var3Name, float var3);
|
||||
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2,
|
||||
const char* var3Name, s32 var3);
|
||||
void LogUtils_LogHexDump(void* ptr, s32 size0);
|
||||
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char *name, const char *file, s32 line);
|
||||
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line);
|
||||
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line);
|
||||
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line);
|
||||
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line);
|
||||
void LogUtils_LogThreadId(const char* name, s32 line);
|
||||
void LogUtils_HungupThread(const char* name, s32 line);
|
||||
void LogUtils_ResetHungup();
|
||||
char* proutSprintf(char* dst, const char *fmt, size_t size);
|
||||
char* proutSprintf(char* dst, const char* fmt, size_t size);
|
||||
s32 vsprintf(char* dst, const char* fmt, va_list args);
|
||||
s32 sprintf(char* dst, const char* fmt, ...);
|
||||
void __osPiCreateAccessQueue(void);
|
||||
@ -88,55 +92,55 @@ void __osExceptionPreamble();
|
||||
// ? __osException(?);
|
||||
void __osEnqueueAndYield(OSThread**);
|
||||
void __osEnqueueThread(OSThread**, OSThread*);
|
||||
OSThread *__osPopThread(OSThread**);
|
||||
OSThread* __osPopThread(OSThread**);
|
||||
// ? __osNop(?);
|
||||
void __osDispatchThread();
|
||||
void __osCleanupThread(void);
|
||||
void __osDequeueThread(OSThread **queue, OSThread *thread);
|
||||
void osDestroyThread(OSThread *thread);
|
||||
void bzero(void *__s, u32 __n);
|
||||
void __osDequeueThread(OSThread** queue, OSThread* thread);
|
||||
void osDestroyThread(OSThread* thread);
|
||||
void bzero(void* __s, u32 __n);
|
||||
void osCreateThread(OSThread* thread, OSId id, void (*entry)(void*), void* arg, void* sp, OSPri pri);
|
||||
void __osSetSR(u32);
|
||||
u32 __osGetSR();
|
||||
void osWritebackDCache(void *vaddr, s32 nbytes);
|
||||
void osWritebackDCache(void* vaddr, s32 nbytes);
|
||||
void* osViGetNextFramebuffer();
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt);
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt);
|
||||
void __osDevMgrMain(void* arg);
|
||||
s32 __osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size);
|
||||
s32 __osPiRawStartDma(s32 dir, u32 cart_addr, void* dram_addr, size_t size);
|
||||
u32 osVirtualToPhysical(void* vaddr);
|
||||
void osViBlack(u8 active);
|
||||
s32 __osSiRawReadIo(void *a0, u32 *a1);
|
||||
s32 __osSiRawReadIo(void* a0, u32* a1);
|
||||
OSId osGetThreadId(OSThread* thread);
|
||||
OSIntMask osSetIntMask(OSIntMask);
|
||||
void osViSetMode(OSViMode *mode);
|
||||
u32 __osProbeTLB(void *);
|
||||
void osViSetMode(OSViMode* mode);
|
||||
u32 __osProbeTLB(void*);
|
||||
u32 osGetMemSize(void);
|
||||
void osSetEventMesg(OSEvent e, OSMesgQueue *mq, OSMesg msg);
|
||||
s32 _Printf(char *(*pfn)(char *, const char *, size_t), char *arg, const char *fmt, va_list ap);
|
||||
void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg msg);
|
||||
s32 _Printf(char* (*pfn)(char*, const char*, size_t), char* arg, const char* fmt, va_list ap);
|
||||
void osUnmapTLBAll(void);
|
||||
s32 osEPiStartDma(OSPiHandle* handle, OSIoMesg* mb, s32 direction);
|
||||
const u8 *strchr(const u8 *str, s32 ch);
|
||||
size_t strlen(const u8 *str);
|
||||
void *memcpy(void *dst, const void *src, size_t size);
|
||||
const u8* strchr(const u8* str, s32 ch);
|
||||
size_t strlen(const u8* str);
|
||||
void* memcpy(void* dst, const void* src, size_t size);
|
||||
void osInvalICache(void* vaddr, s32 nbytes);
|
||||
void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msg, s32 count);
|
||||
void osInvalDCache(void* vaddr, s32 nbytes);
|
||||
u32 __osSiDeviceBusy();
|
||||
void osSetThreadPri(OSThread* thread, OSPri pri);
|
||||
OSPri osGetThreadPri(OSThread* thread);
|
||||
s32 __osEPiRawReadIo(OSPiHandle *handle, u32 devAddr, u32 *data);
|
||||
void osViSwapBuffer(void *vaddr);
|
||||
s32 __osEPiRawStartDma(OSPiHandle *handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
|
||||
u32 bcmp(void *__sl,void *__s2,u32 __n);
|
||||
s32 __osEPiRawReadIo(OSPiHandle* handle, u32 devAddr, u32* data);
|
||||
void osViSwapBuffer(void* vaddr);
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, u32 cartAddr, void* dramAddr, size_t size);
|
||||
u32 bcmp(void* __sl, void* __s2, u32 __n);
|
||||
OSTime osGetTime(void);
|
||||
void __osTimerServicesInit();
|
||||
void __osTimerInterrupt();
|
||||
void __osSetTimerIntr(OSTime tim);
|
||||
OSTime __osInsertTimer(OSTimer *a0);
|
||||
OSTime __osInsertTimer(OSTimer* a0);
|
||||
u32 osGetCount(void);
|
||||
void __osSetGlobalIntMask(u32 mask);
|
||||
void __osSetCompare(u32);
|
||||
void* bcopy(void *__src,void *__dest,u32 __n);
|
||||
void* bcopy(void* __src, void* __dest, u32 __n);
|
||||
void __osResetGlobalIntMask(u32 mask);
|
||||
s32 __osDisableInt(void);
|
||||
void __osRestoreInt(s32);
|
||||
@ -151,9 +155,9 @@ u32 __osGetFpcCsr();
|
||||
s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
||||
void osMapTLBRdb(void);
|
||||
u32 __osGetCause();
|
||||
s32 __osEPiRawWriteIo(OSPiHandle *handle, u32 devAddr, u32 data);
|
||||
s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data);
|
||||
void osCreateViManager(OSPri pri);
|
||||
void viMgrMain(void *vargs);
|
||||
void viMgrMain(void* vargs);
|
||||
OSViContext* __osViGetCurrentContext();
|
||||
void osStartThread(OSThread* thread);
|
||||
void osViSetYScale(float scale);
|
||||
@ -223,8 +227,8 @@ void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_
|
||||
// ? func_80028FD8(?);
|
||||
// ? func_80029060(?);
|
||||
void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* burstDepthX, Vec3f* burstOrigin,
|
||||
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2,
|
||||
s16 jitter, s32 duration, s16 u3, s16 objNumber, u32 dList);
|
||||
s16 gravityInfluence, s16 u0, s16 rotSpeed, s16 burstVel, u8 u1, s16 scale, u8 u2, s16 jitter,
|
||||
s32 duration, s16 u3, s16 objNumber, u32 dList);
|
||||
// ? func_800292DC(?);
|
||||
// ? func_80029320(?);
|
||||
// ? func_80029444(?);
|
||||
@ -238,7 +242,8 @@ void Effect_SpawnFragment(GlobalContext* globalCtx, Vec3f* burstDepthY, Vec3f* b
|
||||
// ? func_8002A32C(?);
|
||||
// ? func_8002A3C4(?);
|
||||
void func_8002A65C(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, u32 arg3, u32 arg4);
|
||||
void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6, u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15);
|
||||
void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg3, u32 arg4, s32 arg5, u32 arg6,
|
||||
u32 arg7, u32 arg8, u32 arg9, u32 arg10, u32 arg11, u32 arg12, u32 arg13, u32 arg14, u32 arg15);
|
||||
// ? func_8002A894(?);
|
||||
// ? func_8002A95C(?);
|
||||
// ? func_8002A9F4(?);
|
||||
@ -268,10 +273,10 @@ void Flags_SetTempClear(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_UnsetTempClear(GlobalContext* globalCtx, s32 flag);
|
||||
s32 Flags_GetCollectible(GlobalContext* globalCtx, s32 flag);
|
||||
void Flags_SetCollectible(GlobalContext* globalCtx, s32 flag);
|
||||
void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture,
|
||||
s16 arg3, s16 arg4, u8 arg5, u8 arg6);
|
||||
void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture,
|
||||
s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
|
||||
void TitleCard_InitBossName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s16 arg3, s16 arg4,
|
||||
u8 arg5, u8 arg6);
|
||||
void TitleCard_InitPlaceName(GlobalContext* globalCtx, TitleCardContext* titleCtx, u32 texture, s32 arg3, s32 arg4,
|
||||
s32 arg5, s32 arg6, s32 arg7);
|
||||
s32 func_8002D53C(GlobalContext* globalCtx, TitleCardContext* titleCtx);
|
||||
void Actor_Kill(Actor* actor);
|
||||
void Actor_SetHeight(Actor* actor, f32 offset);
|
||||
@ -357,18 +362,18 @@ void func_800304DC(GlobalContext* globalCtx, ActorContext* actorCtx, ActorEntry*
|
||||
void Actor_UpdateAll(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
s32 func_800314D4(GlobalContext* globalCtx, Actor* actorB, Vec3f* arg2, f32 arg3);
|
||||
void func_80031B14(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId,
|
||||
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
||||
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId,
|
||||
f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
||||
Actor* Actor_Spawn(ActorContext* actorCtx, GlobalContext* globalCtx, s16 actorId, f32 posX, f32 posY, f32 posZ,
|
||||
s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
||||
Actor* Actor_SpawnAttached(ActorContext* actorCtx, Actor* attachedTo, GlobalContext* globalCtx, s16 actorId, f32 posX,
|
||||
f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, s16 params);
|
||||
void Actor_SpawnTransitionActors(GlobalContext* globalCtx, ActorContext* actorCtx);
|
||||
Actor* Actor_SpawnEntry(ActorContext* actorCtx, ActorEntry* actorEntry, GlobalContext* globalCtx);
|
||||
Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, GlobalContext* globalCtx);
|
||||
Actor* func_80032AF0(GlobalContext* globalCtx, ActorContext* actorCtx, Actor** actorPtr, Player* player);
|
||||
Actor* Actor_Find(ActorContext* actorCtx, s32 actorId, s32 actorType);
|
||||
void func_80032C7C(GlobalContext* globalCtx, Actor* actor);
|
||||
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3,
|
||||
s32 arg4, f32 arg5, s16 arg6, s16 arg7, u8 arg8);
|
||||
void func_80033260(GlobalContext* globalCtx, Actor* actor, Vec3f* arg2, f32 arg3, s32 arg4, f32 arg5, s16 arg6,
|
||||
s16 arg7, u8 arg8);
|
||||
void func_80033480(GlobalContext* globalCtx, Vec3f* arg1, f32 arg2, s32 arg3, s16 arg4, s16 arg5, u8 arg6);
|
||||
Actor* func_80033640(GlobalContext* globalCtx, Collider* collider);
|
||||
Actor* func_80033684(GlobalContext* globalCtx, Actor* explosiveActor);
|
||||
@ -389,9 +394,13 @@ void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1);
|
||||
void func_8003426C(Actor* actor, s16 arg1, s16 arg2, s16 arg3, s16 arg4);
|
||||
Hilite* func_800342EC(Vec3f* object, GlobalContext* globalCtx);
|
||||
Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
|
||||
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
|
||||
s16 (*unkFunc2)(GlobalContext*, Actor*));
|
||||
s16 func_800347E8(s16 arg0);
|
||||
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
|
||||
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor, s16 alpha);
|
||||
void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
|
||||
s16 alpha);
|
||||
void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, void* unkFunc1, void* unkFunc2, Actor* actor,
|
||||
s16 alpha);
|
||||
void func_80034EC0(SkelAnime* skelAnime, struct_80034EC0_Entry* arg1, s32 arg2);
|
||||
void Actor_Noop(Actor* actor, GlobalContext* globalCtx);
|
||||
void Draw_DListOpa(GlobalContext* globalCtx, u32 dlist);
|
||||
@ -687,7 +696,8 @@ s32 func_8005C328(GlobalContext* globalCtx, ColliderDimensions* dest, ColliderDi
|
||||
s32 ActorCollider_AllocCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
s32 ActorCollider_FreeCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
s32 func_8005C3F4(GlobalContext* globalCtx, ColliderCylinderMain* collision, ColliderCylinderInit* arg2);
|
||||
s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor, ColliderCylinderInit* src);
|
||||
s32 ActorCollider_InitCylinder(GlobalContext* globalCtx, ColliderCylinderMain* collision, Actor* actor,
|
||||
ColliderCylinderInit* src);
|
||||
s32 func_8005C508(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
s32 func_8005C540(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinderMain* collision);
|
||||
@ -720,9 +730,12 @@ void func_8005D400(UNK_TYPE, UNK_TYPE);
|
||||
// ? func_8005D40C(?);
|
||||
// ? func_8005D4DC(?);
|
||||
// ? func_8005D62C(?);
|
||||
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
|
||||
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
|
||||
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups, ColliderCylinderMain* collision);
|
||||
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
|
||||
ColliderCylinderMain* collision);
|
||||
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
|
||||
ColliderCylinderMain* collision);
|
||||
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60* simpleBodyGroups,
|
||||
ColliderCylinderMain* collision);
|
||||
// ? func_8005DF2C(?);
|
||||
// ? func_8005DF50(?);
|
||||
// ? func_8005DF74(?);
|
||||
@ -743,8 +756,8 @@ s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, SubGlobalContext11E60*
|
||||
// ? func_80061C98(?);
|
||||
// ? func_80061E48(?);
|
||||
// ? func_80061E8C(?);
|
||||
void func_80061ED4(SubActorStruct98 *sub98, ActorDamageChart *damageChart, SubActor98Init *subActor98Init);
|
||||
// ? func_80061EFC(?);
|
||||
void func_80061ED4(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
|
||||
void func_80061EFC(SubActorStruct98* sub98, ActorDamageChart* damageChart, SubActor98Init* subActor98Init);
|
||||
// ? func_80061F64(?);
|
||||
// ? func_800622E4(?);
|
||||
// ? func_80062530(?);
|
||||
@ -767,9 +780,9 @@ void func_8006375C(s32 arg0, s32 arg1, float* d_80855320);
|
||||
// ? func_80063C04(?);
|
||||
// ? func_80063D7C(?);
|
||||
void DebugDisplay_Init(void);
|
||||
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ,
|
||||
f32 scaleX, f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha,
|
||||
s16 type, GraphicsContext* gfxCtx);
|
||||
DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, s16 rotY, s16 rotZ, f32 scaleX,
|
||||
f32 scaleY, f32 scaleZ, u8 red, u8 green, u8 blue, u8 alpha, s16 type,
|
||||
GraphicsContext* gfxCtx);
|
||||
void DebugDisplay_DrawObjects(GlobalContext* globalCtx);
|
||||
void func_8006450C(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||
void func_80064534(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||
@ -787,6 +800,7 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos2, s32 radius
|
||||
// ? func_8006BE88(?);
|
||||
// ? func_8006BF1C(?);
|
||||
// ? func_8006C0FC(?);
|
||||
u16 func_8006C360(GlobalContext*, u32);
|
||||
// ? func_8006C3A0(?);
|
||||
// ? func_8006C3D0(?);
|
||||
void func_8006C438(GlobalContext* globalCtx, s16 arg1);
|
||||
@ -882,9 +896,12 @@ void Health_InitData(GlobalContext* globalCtx);
|
||||
void Health_UpdateData(GlobalContext* globalCtx);
|
||||
void Interface_DrawHealth(GlobalContext* globalCtx);
|
||||
void Health_HandleCriticalAlarm(GlobalContext* globalCtx);
|
||||
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius, u32 type);
|
||||
void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius);
|
||||
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue, s16 radius);
|
||||
void Lights_InitPositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
|
||||
s16 radius, u32 type);
|
||||
void Lights_InitType0PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
|
||||
s16 radius);
|
||||
void Lights_InitType2PositionalLight(LightInfoPositional* info, s16 posX, s16 posY, s16 posZ, u8 red, u8 green, u8 blue,
|
||||
s16 radius);
|
||||
void Lights_SetPositionalLightColorAndRadius(LightInfoPositional* info, u8 red, u8 green, u8 blue, s16 radius);
|
||||
void Lights_InitDirectional(LightInfoDirectional* info, s8 dirX, s8 dirY, s8 dirZ, u8 red, u8 green, u8 blue);
|
||||
void Lights_MapperInit(LightMapper* mapper, u8 red, u8 green, u8 blue);
|
||||
@ -1064,7 +1081,7 @@ void func_80093D18(GraphicsContext* gfxCtx);
|
||||
void func_80093D84(GraphicsContext* gfxCtx);
|
||||
// ? func_80093F34(?);
|
||||
// ? func_80093F58(?);
|
||||
void func_80094044(GraphicsContext *gfxCtx);
|
||||
void func_80094044(GraphicsContext* gfxCtx);
|
||||
// ? func_800940B0(?);
|
||||
// ? func_800942F0(?);
|
||||
// ? func_8009435C(?);
|
||||
@ -1080,8 +1097,10 @@ Gfx* func_800946E4(Gfx* a0);
|
||||
// ? func_80094DB8(?);
|
||||
Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y);
|
||||
Gfx* Draw_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height);
|
||||
Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2);
|
||||
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha);
|
||||
Gfx* Draw_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2,
|
||||
u32 y2, s32 width2, s32 height2);
|
||||
Gfx* Draw_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2,
|
||||
u32 x2, u32 y2, s32 width2, s32 height2, s32 red, s32 green, s32 blue, s32 alpha);
|
||||
// ? func_80095248(?);
|
||||
void func_80095AA0(GlobalContext* globalCtx, Room* room, UNK_TYPE arg2, UNK_TYPE arg3);
|
||||
// ? func_8009638C(?);
|
||||
@ -1091,12 +1110,13 @@ s32 func_8009728C(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomNum);
|
||||
s32 func_800973FC(GlobalContext* globalCtx, RoomContext* roomCtx);
|
||||
void Room_Draw(GlobalContext* globalCtx, Room* room, u32 flags);
|
||||
void func_80097534(GlobalContext* globalCtx, RoomContext* roomCtx);
|
||||
// ? func_800975D0(?);
|
||||
// ? func_80097604(?);
|
||||
// ? func_80097820(?);
|
||||
// ? func_80097848(?);
|
||||
// ? func_80097850(?);
|
||||
// ? func_80097904(?);
|
||||
void Sample_Calc(SampleContext* this);
|
||||
void Sample_Draw(SampleContext* this);
|
||||
void Sample_Update(SampleContext* this);
|
||||
void Sample_Destroy(SampleContext* this);
|
||||
void Sample_SetupView(SampleContext* this);
|
||||
void Sample_LoadTitleStatic(SampleContext* this);
|
||||
void Sample_Init(SampleContext* this);
|
||||
void Inventory_ChangeEquipment(s16 equipment, u16 value);
|
||||
u8 Inventory_DeleteEquipment(GlobalContext* globalCtx, s16 equipment);
|
||||
void Inventory_ChangeUpgrade(s16 upgrade, s16 value);
|
||||
@ -1113,15 +1133,18 @@ void Scene_Draw(GlobalContext* globalCtx);
|
||||
// ? func_800A0D94(?);
|
||||
// ? func_800A106C(?);
|
||||
// ? func_800A1344(?);
|
||||
void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1);
|
||||
void SkelAnime_Draw(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0,
|
||||
void* internal1);
|
||||
// ? func_800A180C(?);
|
||||
void func_800A1AC8(GlobalContext *globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc, void *drawFunc, Actor* actor);
|
||||
void func_800A1AC8(GlobalContext* globalCtx, u32 limbIndex, u32 actorDrawTbl, u32 dListCount, void* posUpdateFunc,
|
||||
void* drawFunc, Actor* actor);
|
||||
// ? func_800A1D8C(?);
|
||||
// ? func_800A1FC8(?);
|
||||
s32 SkelAnime_GetFrameCount(u32 animation);
|
||||
// ? func_800A2044(?);
|
||||
// ? func_800A24A0(?);
|
||||
Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1, Actor* actor, Gfx* gfx);
|
||||
Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDListCnt, void* internal0, void* internal1,
|
||||
Actor* actor, Gfx* gfx);
|
||||
// ? func_800A2E70(?);
|
||||
// ? func_800A32EC(?);
|
||||
// ? func_800A3334(?);
|
||||
@ -1136,8 +1159,10 @@ Gfx* func_800A273C(GlobalContext* globalCtx, u32 limbIndex, u32 adt, u8 limbDLis
|
||||
// ? func_800A3F08(?);
|
||||
// ? func_800A3D70(?);
|
||||
// ? func_800A4478(?);
|
||||
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u8 unk0, u8 unk1, u8 unk2);
|
||||
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u8 unk0, u16* unk1, u8 unk2);
|
||||
void SkelAnime_Init(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
|
||||
u8 unk2);
|
||||
void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton, u32 animation, u16* unk0, u16* unk1,
|
||||
u8 unk2);
|
||||
// ? func_800A4A20(?);
|
||||
// ? func_800A4AD8(?);
|
||||
// ? func_800A4D9C(?);
|
||||
@ -1147,13 +1172,14 @@ void func_800A46F8(GlobalContext* globalCtx, SkelAnime* skelAnime, u32 skeleton,
|
||||
s32 SkelAnime_FrameUpdateMatrix(SkelAnime* skelAnime);
|
||||
// ? func_800A4C58(?);
|
||||
// ? func_800A4FE4(?);
|
||||
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount, u8 unk1, f32 transitionRate);
|
||||
void func_800A51E8(SkelAnime *skelAnime, u32 animation);
|
||||
void func_800A5240(SkelAnime *skelAnime, u32 animation, f32 unk0);
|
||||
void func_800A529C(SkelAnime *skelAnime, u32 animation, f32 unk0, Actor *actor);
|
||||
void SkelAnime_ChangeAnimation(SkelAnime* skelAnime, u32 animation, f32 playbackSpeed, f32 unk0, f32 frameCount,
|
||||
u8 unk1, f32 transitionRate);
|
||||
void func_800A51E8(SkelAnime* skelAnime, u32 animation);
|
||||
void func_800A5240(SkelAnime* skelAnime, u32 animation, f32 unk0);
|
||||
void func_800A529C(SkelAnime* skelAnime, u32 animation, f32 unk0, Actor* actor);
|
||||
// ? func_800A52F8(?);
|
||||
// ? func_800A54FC(?);
|
||||
UNK_TYPE func_800A56C8(SkelAnime* skelAnime, f32 arg1);
|
||||
s32 func_800A56C8(SkelAnime* skelAnime, f32 arg1);
|
||||
// ? func_800A56F0(?);
|
||||
// ? func_800A5774(?);
|
||||
// ? func_800A57C0(?);
|
||||
@ -1345,7 +1371,7 @@ void KaleidoScopeCall_LoadPlayer();
|
||||
void KaleidoScopeCall_Init(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Destroy(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Update(GlobalContext* globalCtx);
|
||||
void KaleidoScopeCall_Draw(GlobalContext *globalCtx);
|
||||
void KaleidoScopeCall_Draw(GlobalContext* globalCtx);
|
||||
// ? func_800BC450(?);
|
||||
// ? func_800BC490(?);
|
||||
s32 func_800BC56C(GlobalContext*, s16);
|
||||
@ -1376,7 +1402,7 @@ void func_800C0704(GlobalContext*, s16, f32);
|
||||
// ? func_800C078C(?);
|
||||
// ? func_800C0808(?);
|
||||
// ? func_800C0874(?);
|
||||
void func_800C0C88(GlobalContext *globalCtx);
|
||||
void func_800C0C88(GlobalContext* globalCtx);
|
||||
// ? func_800C0A44(?);
|
||||
// ? func_800C0A88(?);
|
||||
void func_800C0AF4(GlobalContext*, s8, s16);
|
||||
@ -1476,7 +1502,7 @@ void* Graph_Alloc(GraphicsContext* gfxCtx, size_t size);
|
||||
void func_800C6AC4(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line);
|
||||
void func_800C6B54(Gfx** a0, GraphicsContext* gfxCtx, char* file, s32 line);
|
||||
Gfx* func_800C6C20(Gfx* a0);
|
||||
Gfx* func_800C6C28(Gfx* a0, Gfx* dlist); //branch dlist
|
||||
Gfx* func_800C6C28(Gfx* a0, Gfx* dlist); // branch dlist
|
||||
// ? func_800C6C3C(?);
|
||||
ListAlloc* ListAlloc_Init(ListAlloc* this);
|
||||
void* ListAlloc_Alloc(ListAlloc* this, u32 size);
|
||||
@ -1496,7 +1522,7 @@ void Main(void*);
|
||||
// ? func_800C7C14(?);
|
||||
// ? func_800C7DD0(?);
|
||||
void func_800C7E08(Input*, u32);
|
||||
//void PadMgr_Init(PadMgr* padmgr, OSMesg mesg, UNK_TYPE arg2, OSId id, OSPri priority, void* stack);
|
||||
// void PadMgr_Init(PadMgr* padmgr, OSMesg mesg, UNK_TYPE arg2, OSId id, OSPri priority, void* stack);
|
||||
// ? func_800C82A0(?);
|
||||
// ? func_800C84E4(?);
|
||||
// ? func_800C8534(?);
|
||||
@ -1646,7 +1672,7 @@ void IrqMgr_AddClient(IrqMgr* this, IrqMgrClient* c, OSMesgQueue* msgQ);
|
||||
void IrqMgr_RemoveClient(IrqMgr* this, IrqMgrClient* c);
|
||||
void IrqMgr_SendMesgForClient(IrqMgr* this, OSMesg msg);
|
||||
void IrqMgr_JamMesgForClient(IrqMgr* this, OSMesg msg);
|
||||
void IrqMgr_HandlePreNMI(IrqMgr *this);
|
||||
void IrqMgr_HandlePreNMI(IrqMgr* this);
|
||||
void IrqMgr_CheckStack();
|
||||
void IrqMgr_HandlePRENMI450(IrqMgr* this);
|
||||
void IrqMgr_HandlePRENMI480(IrqMgr* this);
|
||||
@ -1728,7 +1754,7 @@ void FaultDrawer_VPrintf(const char*, char*);
|
||||
void FaultDrawer_Printf(const char*, ...);
|
||||
void FaultDrawer_DrawText(s32, s32, const char*, ...);
|
||||
void FaultDrawer_SetDrawerFB(void*, u16, u16);
|
||||
void FaultDrawer_SetInputCallback(void(*)());
|
||||
void FaultDrawer_SetInputCallback(void (*)());
|
||||
void FaultDrawer_SetDefault();
|
||||
// ? func_800D7CD0(?);
|
||||
// ? func_800D7D04(?);
|
||||
@ -2147,14 +2173,14 @@ void GfxPrint_VPrintf(GfxPrint*, const char*, va_list);
|
||||
void GfxPrint_Printf(GfxPrint*, const char*, ...);
|
||||
void func_800FBCE0();
|
||||
void func_800FBFD8();
|
||||
void *Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void *vRamStart, void *vRamEnd);
|
||||
void* Overlay_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd);
|
||||
// ? func_800FC258(?);
|
||||
void Overlay_DoRelocation(void *allocatedVRamAddress, OverlayRelocationSection *overlayInfo, void *vRamAddress);
|
||||
s32 Overlay_Load(u32 vRomStart, u32 vRomEnd, void *vRamStart, void *vRamEnd, void *allocatedVRamAddress);
|
||||
void Overlay_DoRelocation(void* allocatedVRamAddress, OverlayRelocationSection* overlayInfo, void* vRamAddress);
|
||||
s32 Overlay_Load(u32 vRomStart, u32 vRomEnd, void* vRamStart, void* vRamEnd, void* allocatedVRamAddress);
|
||||
// ? func_800FC800(?);
|
||||
// ? func_800FC83C(?);
|
||||
// ? func_800FCAB4(?);
|
||||
void SystemHeap_Init(void *start, u32 size);
|
||||
void SystemHeap_Init(void* start, u32 size);
|
||||
// ? func_800FCC00(?);
|
||||
// ? func_800FCC08(?);
|
||||
// ? func_800FCC10(?);
|
||||
@ -2217,10 +2243,10 @@ u8 __osMallocIsInitalized(Arena* arena);
|
||||
void __osMalloc_FreeBlockTest(Arena* arena, ArenaNode* node);
|
||||
void* __osMalloc_NoLockDebug(Arena* arena, u32 size, const char* file, s32 line);
|
||||
void* __osMallocDebug(Arena* arena, u32 size, const char* file, s32 line);
|
||||
void* __osMallocRDebug(Arena *arena, u32 size, const char *file, s32 line);
|
||||
void* __osMalloc_NoLock(Arena *arena, u32 size);
|
||||
void* __osMallocRDebug(Arena* arena, u32 size, const char* file, s32 line);
|
||||
void* __osMalloc_NoLock(Arena* arena, u32 size);
|
||||
void* __osMalloc(Arena* arena, u32 size);
|
||||
void* __osMallocR(Arena *arena, u32 size);
|
||||
void* __osMallocR(Arena* arena, u32 size);
|
||||
void __osFree_NoLock(Arena* arena, void* ptr);
|
||||
void __osFree(Arena* arena, void* ptr);
|
||||
void __osFree_NoLockDebug(Arena* arena, void* ptr, const char* file, s32 line);
|
||||
@ -2293,11 +2319,12 @@ s16 sins(u16);
|
||||
// ? func_80103210(?);
|
||||
// ? func_8010328C(?);
|
||||
// ? func_801032B0(?);
|
||||
void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
|
||||
void func_80103A70(UNK_PTR, Gfx*, Hilite*, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32,
|
||||
s32, s32);
|
||||
// ? func_80103B30(?);
|
||||
// ? func_80103B60(?);
|
||||
// ? func_80103BB0(?);
|
||||
// ? func_80103D58(?);
|
||||
void func_80103D58(Mtx*, f32, f32, f32, f32, f32, f32, f32);
|
||||
// ? func_80103DC0(?);
|
||||
// ? func_80103E20(?);
|
||||
// ? func_80103FA4(?);
|
||||
@ -2351,7 +2378,7 @@ f32 absf(f32);
|
||||
// ? func_801069B0(?);
|
||||
u8 func_80106BC8(GlobalContext* globalCtx);
|
||||
// ? func_80106C88(?);
|
||||
// ? func_80106CCC(?);
|
||||
void func_80106CCC(GlobalContext*);
|
||||
// ? func_80106D40(?);
|
||||
// ? func_80106F1C(?);
|
||||
// ? func_80107244(?);
|
||||
@ -2365,7 +2392,7 @@ u8 func_80106BC8(GlobalContext* globalCtx);
|
||||
// ? func_80109968(?);
|
||||
// ? func_80109B3C(?);
|
||||
// ? func_8010B0C0(?);
|
||||
// ? func_8010B680(?);
|
||||
void func_8010B680(GlobalContext*, u16, s32);
|
||||
void func_8010B720(GlobalContext* globalCtx, u16 textId);
|
||||
// ? func_8010B820(?);
|
||||
// ? func_8010BD58(?);
|
||||
|
@ -1,8 +1,7 @@
|
||||
#ifndef _ICHAIN_H_
|
||||
#define _ICHAIN_H_
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 cont: 1;
|
||||
u32 type: 4;
|
||||
u32 offset: 11;
|
||||
@ -11,8 +10,7 @@ typedef struct
|
||||
|
||||
#define OFFSETOF(structure, member) ((size_t)&(((structure*)0)->member))
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x0 */ ICHAINTYPE_U8, // sets byte
|
||||
/* 0x1 */ ICHAINTYPE_S8,
|
||||
/* 0x2 */ ICHAINTYPE_U16, // sets short
|
||||
|
@ -13,6 +13,7 @@
|
||||
#define SQ(x) ((x)*(x))
|
||||
#define ABS(x) ((x) >= 0 ? (x) : -(x))
|
||||
#define DECR(x) ((x) == 0 ? 0 : ((x) -= 1))
|
||||
#define CLAMP(x,min,max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x))
|
||||
|
||||
#define PLAYER ((Player*)globalCtx->actorCtx.actorList[ACTORTYPE_PLAYER].first)
|
||||
|
||||
@ -34,4 +35,8 @@
|
||||
#define CAPACITY(upg, value) gUpgradeCapacities[upg][value]
|
||||
#define CUR_CAPACITY(upg) CAPACITY(upg, CUR_UPG_VALUE(upg))
|
||||
|
||||
#define SET_NEXT_GAMESTATE(curState, newInit, newStruct) \
|
||||
(curState)->init = newInit; \
|
||||
(curState)->size = sizeof(newStruct);
|
||||
|
||||
#endif
|
||||
|
@ -6,8 +6,7 @@
|
||||
|
||||
#include <ultra64/controller.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ OSContStatus pad_status[4];
|
||||
/* 0x0010 */ OSMesg msgbuf1[1];
|
||||
/* 0x0014 */ OSMesg msgbuf2[1];
|
||||
@ -24,10 +23,10 @@ typedef struct
|
||||
/* 0x02A8 */ u8 unk_2A8;
|
||||
/* 0x02A9 */ u8 unk_2A9;
|
||||
/* 0x02AA */ u8 unk_2AA[4];
|
||||
/* 0x02AA */ u8 unk_2AE[4]; //Looks like 1 if vibration pack, 2 if (maybe controller pack)?
|
||||
/* 0x02AA */ u8 unk_2AE[4]; // Looks like 1 if vibration pack, 2 if (maybe controller pack)?
|
||||
/* 0x02B2 */ u8 unk_2B2[4];
|
||||
/* 0x02B6 */ u8 unk_2B6[4];
|
||||
/* 0x02BA */ char unk_2BA[0x02]; //probably padding
|
||||
/* 0x02BA */ char unk_2BA[0x02]; // probably padding
|
||||
/* 0x02BC */ unk_controller_t unk_controller[4];
|
||||
/* 0x045C */ u8 unk_45C;
|
||||
/* 0x045D */ u8 unk_45D;
|
||||
@ -38,4 +37,4 @@ typedef struct
|
||||
} PadMgr; // size = 0x468
|
||||
|
||||
|
||||
#endif //_PADMGR_H_
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef _REGS_H_
|
||||
#define _REGS_H_
|
||||
|
||||
#define REG_GROUPS 29 //number of REG groups, i.e. REG, SREG, OREG, etc.
|
||||
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
|
||||
#define REG_PAGES 6
|
||||
#define REG_PER_PAGE 16
|
||||
#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE
|
||||
|
@ -13,8 +13,7 @@
|
||||
#define OS_SC_RCP_MASK 0x0003
|
||||
#define OS_SC_TYPE_MASK 0x0007
|
||||
|
||||
typedef struct OSScTask
|
||||
{
|
||||
typedef struct OSScTask {
|
||||
/* 0x00 */ struct OSScTask* next;
|
||||
/* 0x04 */ u32 state;
|
||||
/* 0x08 */ u32 flags;
|
||||
@ -24,14 +23,12 @@ typedef struct OSScTask
|
||||
/* 0x54 */ OSMesg msg;
|
||||
} OSScTask;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x12];
|
||||
/* 0x12 */ s8 unk_12;
|
||||
} struct_800C8BC4;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ OSMesgQueue interruptQ;
|
||||
/* 0x0018 */ OSMesg intBuf[8];
|
||||
/* 0x0038 */ OSMesgQueue cmdQ;
|
||||
|
@ -1091,5 +1091,4 @@ DECLARE_ROM_SEGMENT(testroom_room_2)
|
||||
DECLARE_ROM_SEGMENT(testroom_room_3)
|
||||
DECLARE_ROM_SEGMENT(testroom_room_4)
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef _STDDEF_H_
|
||||
#define _STDDEF_H_
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#define NULL ((void*)0)
|
||||
|
||||
typedef unsigned long size_t;
|
||||
|
||||
|
@ -1,14 +1,12 @@
|
||||
#ifndef _STDLIB_H_
|
||||
#define _STDLIB_H_
|
||||
|
||||
typedef struct lldiv_t
|
||||
{
|
||||
typedef struct lldiv_t {
|
||||
long long quot;
|
||||
long long rem;
|
||||
} lldiv_t;
|
||||
|
||||
typedef struct ldiv_t
|
||||
{
|
||||
typedef struct ldiv_t {
|
||||
long quot;
|
||||
long rem;
|
||||
} ldiv_t;
|
||||
|
@ -1,8 +1,10 @@
|
||||
#ifndef _STRING_H_
|
||||
#define _STRING_H_
|
||||
|
||||
#include <ultra64/types.h>
|
||||
|
||||
void* memcpy(void*, const void*, size_t);
|
||||
size_t strlen(const u8 *str);
|
||||
const u8 *strchr(const u8 *str, s32 ch);
|
||||
size_t strlen(const u8* str);
|
||||
const u8* strchr(const u8* str, s32 ch);
|
||||
|
||||
#endif
|
||||
|
@ -24,15 +24,13 @@ typedef double f64;
|
||||
|
||||
|
||||
typedef long int Mtx_t[4][4];
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
Mtx_t m;
|
||||
long long int forc_structure_alignment;
|
||||
} Mtx;
|
||||
|
||||
typedef float MtxF_t[4][4];
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
MtxF_t mf;
|
||||
struct
|
||||
{
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
#define VT_ESC "\x1b"
|
||||
#define VT_CSI "["
|
||||
#define VT_CUP(x, y) VT_ESC VT_CSI #y ";" #x "H"
|
||||
#define VT_CUP(x, y) VT_ESC VT_CSI y ";" x "H"
|
||||
#define VT_ED(n) VT_ESC VT_CSI #n "J"
|
||||
#define VT_SGR(n) VT_ESC VT_CSI n "m"
|
||||
|
||||
//Add more macros if necessary
|
||||
// Add more macros if necessary
|
||||
#define VT_COL(back, fore) VT_SGR(VT_COLOR(BACKGROUND, back) ";" VT_COLOR(FOREGROUND, fore))
|
||||
#define VT_FGCOL(color) VT_SGR(VT_COLOR(FOREGROUND, color))
|
||||
#define VT_BGCOL(color) VT_SGR(VT_COLOR(BACKGROUND, color))
|
||||
|
362
include/z64.h
362
include/z64.h
@ -31,25 +31,22 @@
|
||||
|
||||
// Game Info aka. Static Context (dbg ram start: 80210A10)
|
||||
// Data normally accessed through REG macros (see regs.h)
|
||||
typedef struct
|
||||
{
|
||||
/* 0x00 */ s32 regPage; //1 is first page
|
||||
/* 0x04 */ s32 regGroup; //"register" group (R, RS, RO, RP etc.)
|
||||
/* 0x08 */ s32 regCur; //selected register within page
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 regPage; // 1 is first page
|
||||
/* 0x04 */ s32 regGroup; // "register" group (R, RS, RO, RP etc.)
|
||||
/* 0x08 */ s32 regCur; // selected register within page
|
||||
/* 0x0C */ s32 dpadLast;
|
||||
/* 0x10 */ s32 repeat;
|
||||
/* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; //0xAE0
|
||||
/* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 bytes
|
||||
} GameInfo; // size = 0x15D4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 button_items[4];
|
||||
/* 0x04 */ u8 c_button_slots[3];
|
||||
/* 0x08 */ u16 equipment;
|
||||
} ItemEquips; // size = 0x0A
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 chest;
|
||||
/* 0x04 */ u32 swch;
|
||||
/* 0x08 */ u32 clear;
|
||||
@ -59,15 +56,13 @@ typedef struct
|
||||
/* 0x18 */ u32 rooms_2;
|
||||
} SaveSceneFlags; // size = 0x1C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 scene;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
/* 0x08 */ s16 angle;
|
||||
} HorseData; // size = 0x0A
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 yaw;
|
||||
/* 0x0E */ s16 player_params;
|
||||
@ -78,22 +73,19 @@ typedef struct
|
||||
/* 0x18 */ u32 temp_collect_flags;
|
||||
} RespawnData; // size = 0x1C
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */
|
||||
/* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */
|
||||
/* 0x02 */ RESPAWN_MODE_TOP /* Farore's Wind */
|
||||
} RespawnMode;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ BTN_ENABLED,
|
||||
/* 0xFF */ BTN_DISABLED = 0xFF
|
||||
} ButtonStatus;
|
||||
|
||||
// Save Context (dbg ram start: 8015E660)
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ s32 entrance_index;
|
||||
/* 0x0004 */ s32 link_age; // 0: Adult; 1: Child
|
||||
/* 0x0008 */ s32 cutscene_index;
|
||||
@ -133,8 +125,7 @@ typedef struct
|
||||
/* 0x00CF */ s8 defense_hearts;
|
||||
/* 0x00D0 */ s16 gs_tokens;
|
||||
/* 0x00D4 */ SaveSceneFlags scene_flags[124];
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
/* 0x0E64 */ s32 pos_x;
|
||||
/* 0x0E68 */ s32 pos_y;
|
||||
/* 0x0E6C */ s32 pos_z;
|
||||
@ -217,8 +208,7 @@ typedef struct
|
||||
/* 0x1424 */ s16 health_accumulator;
|
||||
} SaveContext; // size = 0x1428
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00000 */ u16 headMagic; // 1234
|
||||
/* 0x00008 */ Gfx polyOpaBuffer[0x17E0];
|
||||
/* 0x0BF08 */ Gfx polyXluBuffer[0x800];
|
||||
@ -228,24 +218,21 @@ typedef struct
|
||||
/* 0x12408 */ u16 tailMagic; // 5678
|
||||
} GfxPool; // size = 0x12410
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ u32 size;
|
||||
/* 0x0004 */ u8* bufp;
|
||||
/* 0x0008 */ u8* head;
|
||||
/* 0x000C */ u8* tail;
|
||||
} TwoHeadArena; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ u32 size;
|
||||
/* 0x0004 */ Gfx* bufp;
|
||||
/* 0x0008 */ Gfx* p;
|
||||
/* 0x000C */ Gfx* d;
|
||||
} TwoHeadGfxArena; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ char unk_00[0x01B4];
|
||||
/* 0x01B4 */ TwoHeadGfxArena work;
|
||||
/* 0x01C4 */ char unk_1C4[0x00E4];
|
||||
@ -254,12 +241,9 @@ typedef struct
|
||||
/* 0x02C8 */ TwoHeadGfxArena polyXlu;
|
||||
} GraphicsContext;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* 0x00 */ union
|
||||
{
|
||||
struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ union {
|
||||
struct {
|
||||
u16 a : 1;
|
||||
u16 b : 1;
|
||||
u16 z : 1;
|
||||
@ -282,8 +266,7 @@ typedef struct
|
||||
/* 0x03 */ s8 y;
|
||||
} RawInput; // size = 0x4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ RawInput raw;
|
||||
/* 0x04 */ u16 status;
|
||||
/* 0x06 */ RawInput rawPrev;
|
||||
@ -298,22 +281,21 @@ typedef struct
|
||||
/* 0x16 */ char unk_16[0x02];
|
||||
} Input; // size = 0x18
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ char unk_00[0x28];
|
||||
/* 0x0028 */ Vec3f eye;
|
||||
/* 0x0034 */ char unk_34[0xF4];
|
||||
/* 0x0034 */ char unk_34[0xEC];
|
||||
/* 0x0120 */ u32 unk_120;
|
||||
/* 0x0124 */ char unk_124[4];
|
||||
} View; // size = 0x128
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
f32 unk_00;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
} struct_80045714; // used in z_camera.c and code_8007BF90
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ s32 unk_00;
|
||||
/* 0x0004 */ s16 unk_04;
|
||||
/* 0x0006 */ s16 unk_06;
|
||||
@ -370,49 +352,42 @@ typedef struct
|
||||
/* 0x016A */ s16 unk_16A; // unknown if used
|
||||
} Camera; // size = 0x16C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ Camera activeCameras[4];
|
||||
/* 0x05B0 */ Camera* activeCameraPtrs[4];
|
||||
/* 0x05C0 */ s16 unk_5C0;
|
||||
/* 0x05C2 */ s16 unk_5C2;
|
||||
} CameraContext; // size = 0x5C4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 musicSeq;
|
||||
/* 0x01 */ u8 nighttimeSFX;
|
||||
/* 0x02 */ char unk_02[0x2];
|
||||
} SoundContext; // size = 0x4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x50];
|
||||
} StaticCollisionContext; // size = 0x50
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ char unk_00[0x04];
|
||||
/* 0x0004 */ ActorMesh actorMeshArr[50];
|
||||
/* 0x138C */ u16 flags[50];
|
||||
/* 0x13F0 */ char unk_13F0[0x24];
|
||||
} DynaCollisionContext; // size = 0x1414
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ StaticCollisionContext stat;
|
||||
/* 0x0050 */ DynaCollisionContext dyna;
|
||||
} CollisionContext; // size = 0x1464
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ f32 unk_0C; // radius?
|
||||
/* 0x10 */ Color_RGB8 color;
|
||||
} TargetContextEntry; // size = 0x14
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3f naviRefPos; // possibly wrong
|
||||
/* 0x0C */ Vec3f targetCenterPos;
|
||||
/* 0x18 */ Color_RGBAf naviInner;
|
||||
@ -432,8 +407,7 @@ typedef struct
|
||||
/* 0x94 */ Actor* unk_94;
|
||||
} TargetContext; // size = 0x98
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 texture;
|
||||
/* 0x04 */ s16 unk_4;
|
||||
/* 0x06 */ s16 unk_6;
|
||||
@ -445,14 +419,12 @@ typedef struct
|
||||
/* 0x0E */ s16 unk_E;
|
||||
} TitleCardContext; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 length; // number of actors loaded of this type
|
||||
/* 0x04 */ Actor* first; // pointer to first actor of this type
|
||||
} ActorListEntry; // size = 0x08
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ u8 unk_00;
|
||||
/* 0x0001 */ char unk_01[0x01];
|
||||
/* 0x0002 */ u8 unk_02;
|
||||
@ -462,8 +434,7 @@ typedef struct
|
||||
/* 0x0009 */ char unk_09[0x03];
|
||||
/* 0x000C */ ActorListEntry actorList[12];
|
||||
/* 0x006C */ TargetContext targetCtx;
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
/* 0x0104 */ u32 swch;
|
||||
/* 0x0108 */ u32 tempSwch;
|
||||
/* 0x010C */ u32 unk0;
|
||||
@ -479,19 +450,16 @@ typedef struct
|
||||
/* 0x013C */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type 1
|
||||
} ActorContext; // size = 0x140
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x4];
|
||||
/* 0x04 */ void* segment;
|
||||
/* 0x08 */ u8 state;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ u16 frames;
|
||||
/* 0x12 */ u16 unk_12;
|
||||
union
|
||||
{
|
||||
union {
|
||||
/* 0x14 */ s32 unk_14_all;
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
s16 unk_14;
|
||||
s16 unk_16;
|
||||
};
|
||||
@ -505,8 +473,7 @@ typedef struct
|
||||
/* 0x28 */ CsCmdActorAction* actorActions[10];
|
||||
} CutsceneContext; // size = 0x50
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ char unk_128[0xE188];
|
||||
/* 0xE2B0 */ void* textboxSegment; // "fukidashiSegment"
|
||||
@ -532,8 +499,7 @@ typedef struct
|
||||
/* 0xE40E */ char unk_E40E[0x0A];
|
||||
} MessageContext; // size = 0xE418
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromAddr; // VROM address (source)
|
||||
/* 0x04 */ void* dramAddr; // DRAM address (destination)
|
||||
/* 0x08 */ u32 size; // File Transfer size
|
||||
@ -544,8 +510,7 @@ typedef struct
|
||||
/* 0x1C */ OSMesg notifyMsg; // Completion notification message
|
||||
} DmaRequest; // size = 0x20
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ Vtx* vtx_128;
|
||||
/* 0x012C */ Vtx* vtx_12C;
|
||||
@ -600,8 +565,7 @@ typedef struct
|
||||
/* 0x025E */ char unk_25E[0x002];
|
||||
/* 0x0260 */ u8 unk_260;
|
||||
/* 0x0261 */ u8 unk_261;
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
/* 0x0262 */ u8 hGauge; // "h_gage"; unknown?
|
||||
/* 0x0263 */ u8 bButton; // "b_button"
|
||||
/* 0x0264 */ u8 aButton; // "a_button"
|
||||
@ -617,8 +581,7 @@ typedef struct
|
||||
} restrictions;
|
||||
} InterfaceContext; // size = 0x270
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ void* unk_128;
|
||||
/* 0x012C */ char unk_12C[0x03C];
|
||||
@ -643,8 +606,7 @@ typedef struct
|
||||
/* 0x025A */ char unk_25A[0x066];
|
||||
} PauseContext; // size = 0x2C0
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x04 */ void* segment;
|
||||
/* 0x08 */ DmaRequest dmaRequest;
|
||||
@ -652,8 +614,7 @@ typedef struct
|
||||
/* 0x40 */ OSMesg loadMsg;
|
||||
} ObjectStatus; // size = 0x44
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ void* spaceStart;
|
||||
/* 0x0004 */ void* spaceEnd; // original name: "endSegment"
|
||||
/* 0x0008 */ u8 num; // number of objects in bank
|
||||
@ -663,30 +624,26 @@ typedef struct
|
||||
/* 0x000C */ ObjectStatus status[OBJECT_EXCHANGE_BANK_MAX];
|
||||
} ObjectContext; // size = 0x514
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Gfx* opa;
|
||||
/* 0x04 */ Gfx* xlu;
|
||||
} PolygonDlist; // size = 0x8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 num; // number of dlist entries
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ void* end;
|
||||
} Polygon; // size = 0xC
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 num; // number of dlist entries
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ void* end;
|
||||
} PolygonType0; // size = 0xC
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u8 id;
|
||||
/* 0x04 */ u32 source;
|
||||
@ -700,15 +657,12 @@ typedef struct
|
||||
/* 0x18 */ u16 tlutCount;
|
||||
} BgImage; // size = 0x1C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 format; // 1 = single, 2 = multi
|
||||
/* 0x04 */ void* dlist;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
/* 0x08 */ u32 source;
|
||||
/* 0x0C */ u32 unk_0C;
|
||||
/* 0x10 */ u32 tlut;
|
||||
@ -719,40 +673,35 @@ typedef struct
|
||||
/* 0x1A */ u16 mode0;
|
||||
/* 0x1C */ u16 tlutCount;
|
||||
} single;
|
||||
struct
|
||||
{
|
||||
struct {
|
||||
/* 0x08 */ u8 count;
|
||||
/* 0x0C */ BgImage* list;
|
||||
} multi;
|
||||
};
|
||||
} PolygonType1;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3s pos;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ Gfx* opa;
|
||||
/* 0x0C */ Gfx* xlu;
|
||||
} PolygonDlist2; // size = 0x8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 num; // number of dlist entries
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ void* end;
|
||||
} PolygonType2; // size = 0xC
|
||||
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
Polygon polygon;
|
||||
PolygonType0 polygon0;
|
||||
PolygonType1 polygon1;
|
||||
PolygonType2 polygon2;
|
||||
} Mesh; // "Ground Shape"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 num;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
@ -764,8 +713,7 @@ typedef struct
|
||||
/* 0x10 */ char unk_10[0x4];
|
||||
} Room; // size = 0x14
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Room curRoom;
|
||||
/* 0x14 */ Room prevRoom;
|
||||
/* 0x28 */ void* bufPtrs[2];
|
||||
@ -777,21 +725,18 @@ typedef struct
|
||||
/* 0x70 */ OSMesg loadMsg;
|
||||
} RoomContext; // size = 0x74
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x028C];
|
||||
} SubGlobalContext11E60; // size = 0x28C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
/* 0x08 */ Vec3s rot;
|
||||
/* 0x0E */ s16 params;
|
||||
} ActorEntry; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 frontRoom; // Room to switch to when triggered from the front of the object
|
||||
/* 0x01 */ s8 frontEffects; // How the camera reacts during the front transition
|
||||
/* 0x02 */ s8 backRoom; // Room to switch to when triggered from the back of the object
|
||||
@ -802,39 +747,33 @@ typedef struct
|
||||
/* 0x0E */ s16 params;
|
||||
} TransitionActorEntry; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 spawn;
|
||||
/* 0x01 */ u8 room;
|
||||
} EntranceEntry;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
} RomFile; // size = 0x8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ void* read_buff;
|
||||
} Sram; // size = 0x4
|
||||
|
||||
typedef struct GameAllocEntry
|
||||
{
|
||||
typedef struct GameAllocEntry {
|
||||
/* 0x00 */ struct GameAllocEntry* next;
|
||||
/* 0x04 */ struct GameAllocEntry* prev;
|
||||
/* 0x08 */ u32 size;
|
||||
/* 0x0C */ u32 unk_0C;
|
||||
} GameAllocEntry; //size = 0x10
|
||||
} GameAllocEntry; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ GameAllocEntry base;
|
||||
/* 0x10 */ GameAllocEntry* head;
|
||||
} GameAlloc; // size = 0x14
|
||||
|
||||
typedef struct GameState
|
||||
{
|
||||
typedef struct GameState {
|
||||
/* 0x00 */ GraphicsContext* gfxCtx;
|
||||
/* 0x04 */ void (*main)(struct GameState*);
|
||||
/* 0x08 */ void (*destroy)(struct GameState*); // "cleanup"
|
||||
@ -848,8 +787,7 @@ typedef struct GameState
|
||||
/* 0xA0 */ u32 unk_A0;
|
||||
} GameState; // size = 0xA4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ void* staticSegment;
|
||||
/* 0x00A8 */ View view;
|
||||
@ -865,9 +803,15 @@ typedef struct
|
||||
/* 0x01E2 */ char unk_1E2[6];
|
||||
} TitleContext; // size = 0x1E8
|
||||
|
||||
// Global Context (dbg ram start: 80212020)
|
||||
typedef struct GlobalContext
|
||||
typedef struct
|
||||
{
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ void* staticSegment;
|
||||
/* 0x00A8 */ View view;
|
||||
} SampleContext;
|
||||
|
||||
// Global Context (dbg ram start: 80212020)
|
||||
typedef struct GlobalContext {
|
||||
/* 0x00000 */ GameState state;
|
||||
/* 0x000A4 */ s16 sceneNum;
|
||||
/* 0x000A6 */ u8 sceneConfig;
|
||||
@ -988,22 +932,19 @@ typedef struct GlobalContext
|
||||
/* 0x12430 */ char unk_12430[0xE8];
|
||||
} GlobalContext; // size = 0x12518
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ char unk_A4[4];
|
||||
/* 0x00A8 */ View view;
|
||||
} OpeningContext; // size = 0x1D0
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
DPM_UNK = 0,
|
||||
DPM_PLAYER = 1,
|
||||
DPM_ENEMY = 2
|
||||
} DynaPolyMoveFlag;
|
||||
|
||||
typedef struct LoadedParticleEntry
|
||||
{
|
||||
typedef struct LoadedParticleEntry {
|
||||
/* 0x0000 */ Vec3f position;
|
||||
/* 0x000C */ Vec3f velocity;
|
||||
/* 0x0018 */ Vec3f acceleration;
|
||||
@ -1022,8 +963,7 @@ typedef struct LoadedParticleEntry
|
||||
} LoadedParticleEntry; // size = 0x60
|
||||
|
||||
// Some animation related structure
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 animation;
|
||||
/* 0x04 */ f32 playbackSpeed;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
@ -1032,8 +972,7 @@ typedef struct
|
||||
/* 0x14 */ f32 transitionRate;
|
||||
} struct_80034EC0_Entry; // size = 0x18
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 limbCount;
|
||||
/* 0x01 */ char unk_01[0x01];
|
||||
/* 0x02 */ u8 dListCount;
|
||||
@ -1058,14 +997,12 @@ typedef struct
|
||||
/* 0x42 */ u16 unk_42;
|
||||
} SkelAnime; // size = 0x44
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ u32(*init)(GlobalContext*, u32, LoadedParticleEntry*, void*);
|
||||
} ParticleOverlayInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x0C */ void* vramStart;
|
||||
@ -1075,15 +1012,13 @@ typedef struct
|
||||
/* 0x18 */ u32 unk_18; // Always 0x01000000?
|
||||
} ParticleOverlay;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ LoadedParticleEntry* data_table; // Name from debug assert
|
||||
/* 0x04 */ s32 searchIndex;
|
||||
/* 0x08 */ s32 size;
|
||||
} EffectTableInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 scene;
|
||||
/* 0x01 */ s8 spawn;
|
||||
/* 0x02 */ u16 continueBgm : 1;
|
||||
@ -1092,8 +1027,7 @@ typedef struct
|
||||
/* 0x02 */ u16 fadeOutTransition : 7;
|
||||
} EntranceInfo; // size = 0x4
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ void* loadedRamAddr;
|
||||
/* 0x04 */ u32 vromStart; // if applicable
|
||||
/* 0x08 */ u32 vromEnd; // if applicable
|
||||
@ -1108,21 +1042,18 @@ typedef struct
|
||||
/* 0x2C */ u32 instanceSize;
|
||||
} GameStateOverlay; // size = 0x30
|
||||
|
||||
typedef struct PreNMIContext
|
||||
{
|
||||
typedef struct PreNMIContext {
|
||||
/* 0x00 */ GameState state;
|
||||
/* 0xA4 */ u32 timer;
|
||||
/* 0xA8 */ UNK_TYPE unk_A8;
|
||||
} PreNMIContext; // size = 0xAC
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
|
||||
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
|
||||
} MapMarkPoint; // size = 0x3
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
|
||||
/* 0x01 */ u8 count; // number of icons to display
|
||||
/* 0x02 */ MapMarkPoint points[12];
|
||||
@ -1130,8 +1061,7 @@ typedef struct
|
||||
|
||||
typedef MapMarkData MapMarksData[3]; // size = 0x72
|
||||
|
||||
typedef struct DebugDispObject
|
||||
{
|
||||
typedef struct DebugDispObject {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3s rot;
|
||||
/* 0x14 */ Vec3f scale;
|
||||
@ -1140,8 +1070,7 @@ typedef struct DebugDispObject
|
||||
/* 0x28 */ struct DebugDispObject* next;
|
||||
} DebugDispObject; // size = 0x2C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3s colAbsMin;
|
||||
/* 0x06 */ Vec3s colAbsMax;
|
||||
/* 0x0C */ s16 nbVertices;
|
||||
@ -1154,30 +1083,26 @@ typedef struct
|
||||
/* 0x28 */ void* waterBoxes;
|
||||
} CollisionHeader;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
MTXMODE_NEW, // generates a new matrix
|
||||
MTXMODE_APPLY // applies transformation to the current matrix
|
||||
} MatrixMode;
|
||||
|
||||
typedef struct FaultClient
|
||||
{
|
||||
typedef struct FaultClient {
|
||||
struct FaultClient* next;
|
||||
u32 callback;
|
||||
u32 param1;
|
||||
u32 param2;
|
||||
} FaultClient;
|
||||
|
||||
typedef struct FaultAddrConvClient
|
||||
{
|
||||
typedef struct FaultAddrConvClient {
|
||||
struct FaultAddrConvClient* next;
|
||||
u32 callback;
|
||||
u32 param;
|
||||
} FaultAddrConvClient;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 (*callback)(u32, u32);
|
||||
u32 param0;
|
||||
u32 param1;
|
||||
@ -1186,8 +1111,7 @@ typedef struct
|
||||
OSMesg msg;
|
||||
} FaultClientContext;
|
||||
|
||||
typedef struct FaultThreadStruct
|
||||
{
|
||||
typedef struct FaultThreadStruct {
|
||||
OSThread thread;
|
||||
u8 unk_1B0[0x600];
|
||||
OSMesgQueue queue;
|
||||
@ -1208,8 +1132,7 @@ typedef struct FaultThreadStruct
|
||||
u8 unk_84C[4];
|
||||
} FaultThreadStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u16* fb;
|
||||
u16 w;
|
||||
u16 h;
|
||||
@ -1227,13 +1150,12 @@ typedef struct
|
||||
s8 charWPad;
|
||||
s8 charHPad;
|
||||
u16 printColors[10];
|
||||
u8 escCode; //bool
|
||||
u8 escCode; // bool
|
||||
u8 osSyncPrintfEnabled;
|
||||
void(*inputCallback)();
|
||||
} FaultDrawer;
|
||||
|
||||
typedef struct GfxPrint
|
||||
{
|
||||
typedef struct GfxPrint {
|
||||
/* 0x00 */ struct GfxPrint*(*callback)(struct GfxPrint*, const char*, size_t);
|
||||
/* 0x04 */ Gfx* dlist;
|
||||
/* 0x08 */ u16 posX;
|
||||
@ -1244,8 +1166,7 @@ typedef struct GfxPrint
|
||||
/* 0x10 */ Color_RGBA8 color;
|
||||
} GfxPrint;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
GFXPRINT_FLAG1 = 1,
|
||||
GFXPRINT_USE_RGBA16 = 2,
|
||||
GFXPRINT_FLAG4 = 4,
|
||||
@ -1254,8 +1175,7 @@ typedef enum
|
||||
GFXPRINT_OPEN = 0x80
|
||||
} GfxPrintFlag;
|
||||
|
||||
typedef struct StackEntry
|
||||
{
|
||||
typedef struct StackEntry {
|
||||
/* 0x00 */ struct StackEntry* next;
|
||||
/* 0x04 */ struct StackEntry* prev;
|
||||
/* 0x08 */ u32 head;
|
||||
@ -1265,16 +1185,14 @@ typedef struct StackEntry
|
||||
/* 0x18 */ const char* name;
|
||||
} StackEntry;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
STACK_STATUS_OK = 0,
|
||||
STACK_STATUS_WARNING = 1,
|
||||
STACK_STATUS_OVERFLOW = 2
|
||||
} StackStatus;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* 0x00 */ u32 magic; //IS64
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 magic; // IS64
|
||||
/* 0x04 */ u32 get;
|
||||
/* 0x08 */ u8 unk_08[0x14-0x08];
|
||||
/* 0x14 */ u32 put;
|
||||
@ -1282,22 +1200,18 @@ typedef struct
|
||||
/* 0x20 */ u8 data[0x10000-0x20];
|
||||
} ISVDbg;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x08 */ u32 romStart;
|
||||
/* 0x0C */ u32 romEnd;
|
||||
} DmaEntry;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
char name[0x18];
|
||||
u32 mediaFormat;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
u16 cartId;
|
||||
u8 countryCode;
|
||||
u8 version;
|
||||
@ -1306,18 +1220,17 @@ typedef struct
|
||||
};
|
||||
} LocaleCartInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char magic[4]; //Yaz0
|
||||
typedef struct {
|
||||
char magic[4]; // Yaz0
|
||||
u32 decSize;
|
||||
u32 compInfoOffset; //only used in yaz0_old.c
|
||||
u32 uncompDataOffset; //only used in yaz0_old.c
|
||||
u32 compInfoOffset; // only used in yaz0_old.c
|
||||
u32 uncompDataOffset; // only used in yaz0_old.c
|
||||
u32 data[1];
|
||||
} Yaz0Header;
|
||||
|
||||
#define OS_SC_RETRACE_MSG 1
|
||||
#define OS_SC_DONE_MSG 2
|
||||
#define OS_SC_NMI_MSG 3 //name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
#define OS_SC_PRE_NMI_MSG 4
|
||||
|
||||
typedef struct {
|
||||
@ -1325,16 +1238,14 @@ typedef struct {
|
||||
char misc[30];
|
||||
} OSScMsg;
|
||||
|
||||
typedef struct IrqMgrClient
|
||||
{
|
||||
typedef struct IrqMgrClient {
|
||||
struct IrqMgrClient* prev;
|
||||
OSMesgQueue* queue;
|
||||
} IrqMgrClient;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* 0x000 */ OSScMsg retraceMsg; //this apparently got moved from OSSched
|
||||
/* 0x020 */ OSScMsg prenmiMsg; //this apparently got moved from OSSched
|
||||
typedef struct {
|
||||
/* 0x000 */ OSScMsg retraceMsg; // this apparently got moved from OSSched
|
||||
/* 0x020 */ OSScMsg prenmiMsg; // this apparently got moved from OSSched
|
||||
/* 0x040 */ OSScMsg nmiMsg;
|
||||
/* 0x060 */ OSMesgQueue queue;
|
||||
/* 0x078 */ OSMesg msgBuf[8];
|
||||
@ -1344,22 +1255,20 @@ typedef struct
|
||||
/* 0x250 */ OSTime resetTime;
|
||||
/* 0x258 */ OSTimer timer;
|
||||
/* 0x278 */ OSTime retraceTime;
|
||||
} IrqMgr; //size = 0x280
|
||||
} IrqMgr; // size = 0x280
|
||||
|
||||
struct ArenaNode;
|
||||
|
||||
typedef struct Arena
|
||||
{
|
||||
typedef struct Arena {
|
||||
/* 0x00 */ struct ArenaNode* head;
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ OSMesgQueue lock;
|
||||
/* 0x20 */ u8 unk_20;
|
||||
/* 0x21 */ u8 isInit;
|
||||
/* 0x22 */ u8 flag;
|
||||
} Arena; //size = 0x24
|
||||
} Arena; // size = 0x24
|
||||
|
||||
typedef struct ArenaNode
|
||||
{
|
||||
typedef struct ArenaNode {
|
||||
/* 0x00 */ s16 magic;
|
||||
/* 0x02 */ s16 isFree;
|
||||
/* 0x04 */ u32 size;
|
||||
@ -1370,8 +1279,8 @@ typedef struct ArenaNode
|
||||
/* 0x18 */ OSId threadId;
|
||||
/* 0x1C */ Arena* arena;
|
||||
/* 0x20 */ OSTime time;
|
||||
/* 0x28 */ u8 unk_28[0x30-0x28]; //probably padding
|
||||
} ArenaNode; //size = 0x30
|
||||
/* 0x28 */ u8 unk_28[0x30-0x28]; // probably padding
|
||||
} ArenaNode; // size = 0x30
|
||||
|
||||
typedef struct OverlayRelocationSection {
|
||||
/* 0x00 */ u32 textSize;
|
||||
@ -1382,33 +1291,30 @@ typedef struct OverlayRelocationSection {
|
||||
/* 0x14 */ u32 relocations[1];
|
||||
} OverlayRelocationSection; // size >= 0x18
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ void* loadedRamAddr;
|
||||
/* 0x04 */ u32 vromStart;
|
||||
/* 0x08 */ u32 vromEnd;
|
||||
/* 0x0C */ u8* vramStart;
|
||||
/* 0x10 */ u8* vramEnd;
|
||||
/* 0x14 */ u32 off; //loadedRamAddr - vram
|
||||
/* 0x14 */ u32 off; // loadedRamAddr - vram
|
||||
/* 0x18 */ const char* name;
|
||||
} KaleidoManagerOvl; //size = 0x1C
|
||||
} KaleidoManagerOvl; // size = 0x1C
|
||||
|
||||
#define KALEIDO_OVL_KALEIDO_SCOPE 0
|
||||
#define KALEIDO_OVL_PLAYER_ACTOR 1
|
||||
#define KALEIDO_OVL_COUNT 2
|
||||
|
||||
typedef struct ListAlloc
|
||||
{
|
||||
typedef struct ListAlloc {
|
||||
/* 0x00 */ struct ListAlloc* prev;
|
||||
/* 0x04 */ struct ListAlloc* next;
|
||||
} ListAlloc; //size = 0x8
|
||||
} ListAlloc; // size = 0x8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 resetting;
|
||||
/* 0x04 */ u32 resetCount;
|
||||
/* 0x08 */ OSTime duration;
|
||||
/* 0x10 */ OSTime resetTime;
|
||||
} PreNmiBuff; //size = 0x18 (actually osAppNmiBuffer is 0x40 bytes large but the rest is unused)
|
||||
} PreNmiBuff; // size = 0x18 (actually osAppNmiBuffer is 0x40 bytes large but the rest is unused)
|
||||
|
||||
#endif
|
||||
|
@ -13,34 +13,28 @@ struct GlobalContext;
|
||||
// From z64light.h
|
||||
struct LightMapper;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
f32 x, y;
|
||||
} Vec2f;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
f32 x, y, z;
|
||||
} Vec3f;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 x, y, z;
|
||||
} Vec3s;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s32 x, y, z;
|
||||
} Vec3i;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
Vec3f pos;
|
||||
Vec3s rot;
|
||||
} PosRot; // size = 0x14
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ char unk_00[0x8];
|
||||
/* 0x08 */ Vec3s norm; // Normal vector
|
||||
/* 0x0E */ s16 dist; // Plane distance from origin
|
||||
@ -48,8 +42,7 @@ typedef struct
|
||||
|
||||
typedef void (*ActorFunc)(struct Actor*, struct GlobalContext*);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ u8 type; // Classifies actor and determines when actor will execute
|
||||
/* 0x03 */ u8 room; // Room instance was spawned in. If value set to FF in rom, instance does not despawn when swapping rooms
|
||||
@ -62,15 +55,13 @@ typedef struct
|
||||
/* 0x1C */ ActorFunc draw; // Draw function
|
||||
} ActorInit; // size = 0x20
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
ALLOCTYPE_NORMAL,
|
||||
ALLOCTYPE_ABSOLUTE,
|
||||
ALLOCTYPE_PERMANENT
|
||||
} AllocType;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 vromStart;
|
||||
/* 0x04 */ u32 vromEnd;
|
||||
/* 0x08 */ void* vramStart;
|
||||
@ -82,25 +73,21 @@ typedef struct
|
||||
/* 0x1E */ s8 nbLoaded; // original name: "clients"
|
||||
} ActorOverlay; // size = 0x20
|
||||
|
||||
typedef struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
typedef struct {
|
||||
struct {
|
||||
char damage : 4;
|
||||
char effect : 4;
|
||||
} attack[32];
|
||||
} ActorDamageChart;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 unk_02;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ u8 mass;
|
||||
} SubActor98Init;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ ActorDamageChart* damageChart; // For actors which contain a damage chart (example: Stalfos)...
|
||||
/* 0x04 */ Vec3f displacement; // Amount to correct velocity (0x5C) by when colliding into a body
|
||||
/* 0x10 */ s16 unk_10;
|
||||
@ -114,8 +101,7 @@ typedef struct
|
||||
/* 0x1B */ u8 unk_1B;
|
||||
} SubActorStruct98; // size = 0x1C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Vec3s rot; // Current actor shape rotation
|
||||
/* 0x06 */ u8 unk_06;
|
||||
/* 0x08 */ f32 unk_08; // Model y axis offset. Represents model space units. collision mesh related
|
||||
@ -125,8 +111,7 @@ typedef struct
|
||||
/* 0x15 */ u8 unk_15;
|
||||
} ActorShape; // size = 0x18
|
||||
|
||||
typedef struct Actor
|
||||
{
|
||||
typedef struct Actor {
|
||||
/* 0x000 */ s16 id; // Actor Id
|
||||
/* 0x002 */ u8 type; // Actor Type. Refer to the corresponding enum for values
|
||||
/* 0x003 */ s8 room; // Room number the actor is part of. FF denotes that the actor won't despawn on a room change
|
||||
@ -159,8 +144,7 @@ typedef struct Actor
|
||||
/* 0x094 */ f32 yDistanceFromLink;
|
||||
/* 0x098 */ SubActorStruct98 sub_98;
|
||||
/* 0x0B4 */ ActorShape shape;
|
||||
/* 0x0CC */ Vec3f unk_CC; // Used in Link, not Deku Babas
|
||||
/* 0x0D8 */ Vec3f unk_D8; // Used in Link, not Deku Babas
|
||||
/* 0x0CC */ Vec3f unk_CC[2];
|
||||
/* 0x0E4 */ Vec3f unk_E4; // Stores result of some vector transformation involving actor xyz vector, and a matrix at Global Context + 11D60
|
||||
/* 0x0F0 */ f32 unk_F0; // Related to above
|
||||
/* 0x0F4 */ f32 unk_F4;
|
||||
@ -198,16 +182,14 @@ typedef struct Actor
|
||||
/* From here on, the structure and size varies for each actor */
|
||||
} Actor; // size = 0x14C
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
COLTYPE_CYLINDER = 1,
|
||||
COLTYPE_CYLINDER_GROUP = 0,
|
||||
COLTYPE_QUAD = 3,
|
||||
COLTYPE_TRIANGLE_GROUP = 2
|
||||
} ColliderType;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ Actor* at;
|
||||
/* 0x08 */ Actor* ac;
|
||||
@ -220,15 +202,13 @@ typedef struct
|
||||
/* 0x15 */ u8 type; /* Cylinder Collection, Cylinder, Triangle Collection, Quad */
|
||||
} Collider; // size = 0x18
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 flags; /* Toucher Attack Identifier Flags */
|
||||
/* 0x04 */ u8 unk_04;
|
||||
/* 0x05 */ u8 damage; /* Damage or Stun Timer */
|
||||
} ColliderTouch; // size = 0x08
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 flags; /* Collision Exclusion Mask */
|
||||
/* 0x04 */ u8 effect; /* Damage Effect (Knockback, Fire, etc.) */
|
||||
/* 0x05 */ u8 unk_05;
|
||||
@ -237,8 +217,7 @@ typedef struct
|
||||
/* 0x0A */ s16 unk_0A;
|
||||
} ColliderBump; // size = 0x0C
|
||||
|
||||
typedef struct ColliderBody
|
||||
{
|
||||
typedef struct ColliderBody {
|
||||
/* 0x00 */ ColliderTouch toucher;
|
||||
/* 0x08 */ ColliderBump bumper;
|
||||
/* 0x14 */ u8 flags;
|
||||
@ -251,14 +230,12 @@ typedef struct ColliderBody
|
||||
/* 0x24 */ struct ColliderBody* colliding;
|
||||
} ColliderBody; // size = 0x28
|
||||
|
||||
typedef struct ColliderBodyEntry
|
||||
{
|
||||
typedef struct ColliderBodyEntry {
|
||||
/* 0x00 */ ColliderBody c;
|
||||
/* 0x28 */ char unk_28[0x18];
|
||||
} ColliderBodyEntry; // size = 0x40
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 bodyFlags;
|
||||
/* 0x01 */ u8 unk_09[0x3]; /* 000000 */
|
||||
/* 0x04 */ s32 toucherMask; /* Attack Toucher Exclusion Mask */
|
||||
@ -273,8 +250,7 @@ typedef struct
|
||||
/* 0x17 */ u8 unk_1F; /* 00 */
|
||||
} ColliderBodyInfoInner; // size = 0x1A
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 colliderFlags; /* Collider Flags */
|
||||
/* 0x02 */ u8 collideFlags; /* Collide Flags */
|
||||
@ -284,30 +260,26 @@ typedef struct
|
||||
/* 0x06 */ u8 unk_06[0x2]; /* 0000 */
|
||||
} ColliderBodyInfo; // size = 0x08
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s16 radius; /* Cylinder Radius */
|
||||
/* 0x02 */ s16 height; /* Cylinder Height */
|
||||
/* 0x04 */ s16 yShift; /* Shift Cylinder on Y Axis */
|
||||
/* 0x06 */ Vec3s position; /* {X, Y, Z} position of Cylinder */
|
||||
} ColliderDimensions; // size = 0xC
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ ColliderBody body;
|
||||
/* 0x40 */ ColliderDimensions dim;
|
||||
} ColliderCylinderMain; // size = 0x4C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ ColliderBodyInfo body;
|
||||
/* 0x06 */ ColliderBodyInfoInner inner;
|
||||
/* 0x20 */ ColliderDimensions dim;
|
||||
} ColliderCylinderInit; // size = 0x2C
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ Actor* actor;
|
||||
/* 0x04 */ char unk_04[0x10];
|
||||
/* 0x14 */ Vec3f scale1;
|
||||
@ -319,8 +291,7 @@ typedef struct
|
||||
/* 0x54 */ char unk_54[0x10];
|
||||
} ActorMesh; // size = 0x64
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x14C */ u32 dynaPolyId;
|
||||
/* 0x150 */ f32 unk_150;
|
||||
@ -332,8 +303,7 @@ typedef struct
|
||||
/* 0x162 */ s16 unk_162;
|
||||
} DynaPolyActor; // size = 0x164
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ s8 currentTunic;
|
||||
/* 0x014D */ s8 currentSword;
|
||||
@ -408,10 +378,9 @@ typedef struct
|
||||
/* 0x0A60 */ char unk_A60[0x18];
|
||||
/* 0x0A78 */ s8 unk_A78;
|
||||
/* 0x0A79 */ char unk_A79[0x1B];
|
||||
} Player; //size = 0xA94
|
||||
} Player; // size = 0xA94
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ ACTORTYPE_SWITCH,
|
||||
/* 0x01 */ ACTORTYPE_BG,
|
||||
/* 0x02 */ ACTORTYPE_PLAYER,
|
||||
@ -426,8 +395,7 @@ typedef enum
|
||||
/* 0x0B */ ACTORTYPE_CHEST
|
||||
} ActorType;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x0000 */ ACTOR_PLAYER,
|
||||
/* 0x0001 */ ACTOR_UNSET_1,
|
||||
/* 0x0002 */ ACTOR_EN_TEST,
|
||||
|
@ -1,16 +1,14 @@
|
||||
#ifndef _Z64CUTSCENE_H_
|
||||
#define _Z64CUTSCENE_H_
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger
|
||||
/* 0x02 */ u8 ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
|
||||
/* 0x03 */ u8 flag; // event_chk_inf flag bound to the entrance cutscene
|
||||
/* 0x04 */ u32 segAddr; // segment offset location of the cutscene
|
||||
} EntranceCutscene; // size = 0x8
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ s8 continueFlag;
|
||||
/* 0x01 */ s8 cameraRoll;
|
||||
/* 0x02 */ s16 nextPointFrame;
|
||||
@ -18,38 +16,33 @@ typedef struct
|
||||
/* 0x08 */ Vec3s pos;
|
||||
} CutsceneCameraPoint; // size = 0x10
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 base;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
} CsCmdBase;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 setting;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
} CsCmdEnvLighting;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 sequence;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
} CsCmdMusicChange;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
} CsCmdMusicFade;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
@ -58,8 +51,7 @@ typedef struct
|
||||
/* 0x08 */ u8 unk_08;
|
||||
} CsCmdUnknown9;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
@ -67,8 +59,7 @@ typedef struct
|
||||
/* 0x07 */ u8 minute;
|
||||
} CsCmdDayTime;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 base;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
@ -77,8 +68,7 @@ typedef struct
|
||||
/* 0x0A */ u16 textId2;
|
||||
} CsCmdTextbox; // size = 0xC
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 action;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
/* 0x04 */ u16 endFrame;
|
||||
@ -88,8 +78,7 @@ typedef struct
|
||||
/* 0x24 */ Vec3i normal;
|
||||
} CsCmdActorAction; // size = 0x30
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
CS_STATE_IDLE,
|
||||
CS_STATE_SKIPPABLE_INIT,
|
||||
CS_STATE_SKIPPABLE_EXEC,
|
||||
@ -97,8 +86,7 @@ typedef enum
|
||||
CS_STATE_UNSKIPPABLE_EXEC
|
||||
} CutsceneState;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
CS_CMD_00 = 0x0000,
|
||||
CS_CMD_CAMERA_POS = 0x0001,
|
||||
CS_CMD_CAMERA_FOCUS = 0x0002,
|
||||
|
@ -2,18 +2,17 @@
|
||||
#define _Z64EFFECT_H_
|
||||
#include <color.h>
|
||||
|
||||
/* gz has trail related structs but they seem to be different in dbg*/
|
||||
typedef struct
|
||||
{
|
||||
// gz has trail related structs but they seem to be different in dbg
|
||||
typedef struct {
|
||||
/* 0x0000 */ char unk_00[0x184];
|
||||
/* 0x0184 */ Color_RGBA8 p1Start;
|
||||
/* 0x0188 */ Color_RGBA8 p2Start;
|
||||
/* 0x018C */ Color_RGBA8 p1End;
|
||||
/* 0x0190 */ Color_RGBA8 p2End;
|
||||
/* 0x0194 */ u32 unk_194; //these are proably bytes
|
||||
/* 0x0194 */ u32 unk_194; // these are proably bytes
|
||||
/* 0x0198 */ u32 unk_198;
|
||||
/* 0x019C */ u32 unk_19C;
|
||||
/* 0x01A0 */
|
||||
} TrailEffect; //size = unk
|
||||
} TrailEffect; // size = unk
|
||||
|
||||
#endif
|
||||
|
@ -1,16 +1,14 @@
|
||||
#ifndef _Z64ITEM_H_
|
||||
#define _Z64ITEM_H_
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ EQUIP_SWORD,
|
||||
/* 0x01 */ EQUIP_SHIELD,
|
||||
/* 0x02 */ EQUIP_TUNIC,
|
||||
/* 0x03 */ EQUIP_BOOTS
|
||||
} EquipmentType;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ UPG_QUIVER,
|
||||
/* 0x01 */ UPG_BOMB_BAG,
|
||||
/* 0x02 */ UPG_STRENGTH,
|
||||
@ -21,8 +19,7 @@ typedef enum
|
||||
/* 0x07 */ UPG_NUTS
|
||||
} UpgradeType;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ SLOT_STICK,
|
||||
/* 0x01 */ SLOT_NUT,
|
||||
/* 0x02 */ SLOT_BOMB,
|
||||
@ -50,8 +47,7 @@ typedef enum
|
||||
/* 0xFF */ SLOT_NONE = 0xFF
|
||||
} InventorySlot;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ ITEM_STICK,
|
||||
/* 0x01 */ ITEM_NUT,
|
||||
/* 0x02 */ ITEM_BOMB,
|
||||
@ -212,8 +208,7 @@ typedef enum
|
||||
} ItemID;
|
||||
|
||||
// Get Item result may vary depending on context (chest/shop/scrub/drop)
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ GI_INVALID, // Link picks up chest and it sends him flying upwards
|
||||
/* 0x01 */ GI_BOMBS_5,
|
||||
/* 0x02 */ GI_NUTS_5,
|
||||
|
@ -4,15 +4,13 @@
|
||||
#include <ultra64.h>
|
||||
#include <ultra64/gbi.h>
|
||||
|
||||
typedef struct z_Light_t
|
||||
{
|
||||
typedef struct z_Light_t {
|
||||
/* 0x0 */ struct LightInfo* info;
|
||||
/* 0x4 */ struct z_Light_t* prev;
|
||||
/* 0x8 */ struct z_Light_t* next;
|
||||
} z_Light;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ z_Light* lightsHead;
|
||||
/* 0x4 */ u8 ambientRed;
|
||||
/* 0x5 */ u8 ambientGreen;
|
||||
@ -24,21 +22,18 @@ typedef struct
|
||||
/* 0xC */ s16 unk_0C;
|
||||
} LightingContext;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x000 */ int numOccupied;
|
||||
/* 0x004 */ int nextFree;
|
||||
/* 0x008 */ z_Light lights[32];
|
||||
} LightsList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x2 */ u16 params[6];
|
||||
} LightInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ s8 dirX;
|
||||
/* 0x1 */ s8 dirY;
|
||||
/* 0x2 */ s8 dirZ;
|
||||
@ -48,8 +43,7 @@ typedef struct
|
||||
/* 0x6 */ u16 pad[3];
|
||||
} LightInfoDirectionalParams;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 posX;
|
||||
/* 0x2 */ s16 posY;
|
||||
/* 0x4 */ s16 posZ;
|
||||
@ -60,8 +54,7 @@ typedef struct
|
||||
/* 0xA */ s16 radius;
|
||||
} LightInfoPositionalParams;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 numLights;
|
||||
/* 0x01 */ u8 enablePosLights;
|
||||
/* 0x02 */ UNK_TYPE1 pad2[6];
|
||||
@ -69,14 +62,12 @@ typedef struct
|
||||
/* 0x10 */ Light lights[7];
|
||||
} LightMapper;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x2 */ LightInfoDirectionalParams params;
|
||||
} LightInfoDirectional;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x2 */ LightInfoPositionalParams params;
|
||||
} LightInfoPositional;
|
||||
|
@ -3,8 +3,7 @@
|
||||
|
||||
#define OBJECT_EXCHANGE_BANK_MAX 19
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x0000 */ OBJECT_UNSET_0,
|
||||
/* 0x0001 */ OBJECT_GAMEPLAY_KEEP,
|
||||
/* 0x0002 */ OBJECT_GAMEPLAY_FIELD_KEEP,
|
||||
|
@ -1,8 +1,7 @@
|
||||
#ifndef _Z64SCENE_H_
|
||||
#define _Z64SCENE_H_
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 sceneVromStart;
|
||||
/* 0x04 */ u32 sceneVromEnd;
|
||||
/* 0x08 */ u32 titleVromStart;
|
||||
@ -13,50 +12,43 @@ typedef struct
|
||||
/* 0x13 */ u8 unk_13;
|
||||
} Scene; // size = 0x14
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 data2;
|
||||
} SCmdBase;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdSpawnList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdActorList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdCsCameraList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdColHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdRoomList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
@ -66,71 +58,61 @@ typedef struct
|
||||
/* 0x07 */ u8 unk_07;
|
||||
} SCmdWindSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdEntranceList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 naviMsgNum;
|
||||
/* 0x04 */ u32 keepObjectId;
|
||||
} SCmdSpecialFiles;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 gpFlag1;
|
||||
/* 0x04 */ u32 gpFlag2;
|
||||
} SCmdRoomBehavior;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdMesh;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdObjectList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdLightList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdPathList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdTransiActorList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdLightSettingList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
@ -139,8 +121,7 @@ typedef struct
|
||||
/* 0x06 */ u8 unk_06;
|
||||
} SCmdTimeSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
@ -149,8 +130,7 @@ typedef struct
|
||||
/* 0x06 */ u8 unk_06;
|
||||
} SCmdSkyboxSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
@ -158,22 +138,19 @@ typedef struct
|
||||
/* 0x05 */ u8 unk_05;
|
||||
} SCmdSkyboxDisables;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 data2;
|
||||
} SCmdEndMarker;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdExitList;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 bgmId;
|
||||
/* 0x02 */ char pad[4];
|
||||
@ -181,42 +158,36 @@ typedef struct
|
||||
/* 0x07 */ u8 musicSeq;
|
||||
} SCmdSoundSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[5];
|
||||
/* 0x07 */ u8 echo;
|
||||
} SCmdEchoSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdCutsceneData;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
} SCmdAltHeaders;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 cameraMovement;
|
||||
/* 0x04 */ u32 area;
|
||||
} SCmdMiscSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 headerType;
|
||||
} MeshHeaderBase;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
MeshHeaderBase base;
|
||||
|
||||
u8 numEntries;
|
||||
@ -224,101 +195,77 @@ typedef struct
|
||||
u32 dListEnd;
|
||||
} MeshHeader0;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 opaqueDList;
|
||||
u32 translucentDList;
|
||||
} MeshEntry0;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
MeshHeaderBase base;
|
||||
|
||||
u8 format;
|
||||
u32 entryRecord;
|
||||
} MeshHeader1Base;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
MeshHeader1Base base;
|
||||
|
||||
u32 imagePtr; // 0x08
|
||||
|
||||
u32 unknown; // 0x0C
|
||||
u32 unknown2; // 0x10
|
||||
|
||||
u16 bgWidth; // 0x14
|
||||
u16 bgHeight; // 0x16
|
||||
|
||||
u8 imageFormat; // 0x18
|
||||
u8 imageSize; // 0x19
|
||||
u16 imagePal; // 0x1A
|
||||
u16 imageFlip; // 0x1C
|
||||
|
||||
} MeshHeader1Single;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
MeshHeader1Base base;
|
||||
|
||||
u8 bgCnt;
|
||||
u32 bgRecordPtr;
|
||||
|
||||
} MeshHeader1Multi;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u16 unknown; // 0x00
|
||||
s8 bgID; // 0x02
|
||||
|
||||
u32 imagePtr; // 0x04
|
||||
u32 unknown2; // 0x08
|
||||
u32 unknown3; // 0x0C
|
||||
|
||||
u16 bgWidth; // 0x10
|
||||
u16 bgHeight; // 0x12
|
||||
|
||||
u8 imageFmt; // 0x14
|
||||
u8 imageSize; // 0x15
|
||||
u16 imagePal; // 0x16
|
||||
u16 imageFlip; // 0x18
|
||||
} BackgroundRecord;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 playerXMax, playerZMax;
|
||||
s16 playerXMin, playerZMin;
|
||||
|
||||
u32 opaqueDList;
|
||||
u32 translucentDList;
|
||||
} MeshEntry2;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
MeshHeaderBase base;
|
||||
|
||||
u8 numEntries;
|
||||
u32 dListStart;
|
||||
u32 dListEnd;
|
||||
} MeshHeader2;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 ambientClrR, ambientClrG, ambientClrB;
|
||||
|
||||
u8 diffuseClrA_R, diffuseClrA_G, diffuseClrA_B;
|
||||
u8 diffuseDirA_X, diffuseDirA_Y, diffuseDirA_Z;
|
||||
u8 diffuseClrB_R, diffuseClrB_G, diffuseClrB_B;
|
||||
u8 diffuseDirB_X, diffuseDirB_Y, diffuseDirB_Z;
|
||||
|
||||
u8 fogClrR, fogClrG, fogClrB;
|
||||
u16 unk;
|
||||
u16 drawDistance;
|
||||
} LightSettings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 absMinX, absMinY, absMinZ;
|
||||
s16 absMaxX, absMaxY, absMaxZ;
|
||||
s16 numVerts;
|
||||
@ -327,61 +274,51 @@ typedef struct
|
||||
s32 polySegmentOffset;
|
||||
s32 polyTypeDefSegmentOffset;
|
||||
s32 camDataSegmentOffset;
|
||||
|
||||
s16 numWaterBoxes;
|
||||
s32 waterBoxSegmentOffset;
|
||||
} ColHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 cameraSType; // 0x00
|
||||
s16 numCameras; // 0x02
|
||||
s32 camPosDataSeg; // 0x04
|
||||
} CamData;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 unknown;
|
||||
u32 camPosDataSeg;
|
||||
} CamPosDataEntry;
|
||||
|
||||
|
||||
/*
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
_CamData data;
|
||||
long long int forceStructAlignment;
|
||||
} CamData;
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 posX, posY, posZ;
|
||||
s16 rotX, rotY, rotZ;
|
||||
s16 fov;
|
||||
s16 jfifId;
|
||||
s16 unk;
|
||||
//s16 unk2;
|
||||
//s32 unk;
|
||||
} CamPosData;
|
||||
|
||||
/*
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
_CamPosData data;
|
||||
long long int forceStructAlignment;
|
||||
} CamPosData;
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 type;
|
||||
s16 vtxA, vtxB, vtxC;
|
||||
s16 a, b, c, d;
|
||||
} RoomPoly;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
s16 xMin;
|
||||
s16 ySurface;
|
||||
s16 zMin;
|
||||
@ -390,14 +327,12 @@ typedef struct
|
||||
s32 properties;
|
||||
} WaterBoxHeader;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 count; // Total number of points in the path for the actor to follow
|
||||
/* 0x04 */ Vec3s* path; // Segment Address of the start of the path list
|
||||
} Path; // size = 0x8
|
||||
|
||||
typedef union
|
||||
{
|
||||
typedef union {
|
||||
SCmdBase base;
|
||||
SCmdSpawnList spawnList;
|
||||
SCmdActorList actorList;
|
||||
@ -426,8 +361,7 @@ typedef union
|
||||
SCmdAltHeaders altHeaders;
|
||||
} SceneCmd; // size = 0x8
|
||||
|
||||
typedef enum
|
||||
{
|
||||
typedef enum {
|
||||
/* 0x00 */ SCENE_YDAN,
|
||||
/* 0x01 */ SCENE_DDAN,
|
||||
/* 0x02 */ SCENE_BDAN,
|
||||
|
40
progress.py
40
progress.py
@ -1,4 +1,24 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import re
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.")
|
||||
parser.add_argument("-m", "--matching", dest='matching', action='store_true',
|
||||
help="Output matching progress instead of decompilation progress")
|
||||
args = parser.parse_args()
|
||||
|
||||
NON_MATCHING_PATTERN = "#ifdef\s+NON_MATCHING.*?#pragma\s+GLOBAL_ASM\s*\(\s*\"(.*?)\"\s*\).*?#endif"
|
||||
|
||||
def GetNonMatchingFunctions(files):
|
||||
functions = []
|
||||
|
||||
for file in files:
|
||||
with open(file) as f:
|
||||
functions += re.findall(NON_MATCHING_PATTERN, f.read(), re.DOTALL)
|
||||
|
||||
return functions
|
||||
|
||||
def ReadAllLines(fileName):
|
||||
lineList = list()
|
||||
@ -7,22 +27,25 @@ def ReadAllLines(fileName):
|
||||
|
||||
return lineList
|
||||
|
||||
def GetFiles(path):
|
||||
def GetFiles(path, ext):
|
||||
files = []
|
||||
|
||||
for r, d, f in os.walk(path):
|
||||
for file in f:
|
||||
if '.s' in file:
|
||||
if file.endswith(ext):
|
||||
files.append(os.path.join(r, file))
|
||||
|
||||
return files
|
||||
|
||||
nonMatchingFunctions = GetNonMatchingFunctions(GetFiles("src", ".c")) if not args.matching else []
|
||||
|
||||
def GetNonMatchingSize(path):
|
||||
size = 0
|
||||
|
||||
asmFiles = GetFiles(path)
|
||||
asmFiles = GetFiles(path, ".s")
|
||||
|
||||
for asmFilePath in asmFiles:
|
||||
if asmFilePath not in nonMatchingFunctions:
|
||||
asmLines = ReadAllLines(asmFilePath)
|
||||
|
||||
for asmLine in asmLines:
|
||||
@ -97,12 +120,13 @@ ovlPct = 100 * ovl / ovlSize
|
||||
compiled_bytes = total
|
||||
bytesPerHeartPiece = compiled_bytes / 80
|
||||
|
||||
adjective = "decompiled" if not args.matching else "matched"
|
||||
|
||||
print(str(total) + " total bytes of decompilable code\n")
|
||||
print(str(src) + " bytes of code in src " + str(srcPct) + "%\n")
|
||||
#print(str(asm) + " bytes of code in asm " + str(asmPct) + "%\n")
|
||||
print(str(boot) + "/" + str(bootSize) + " bytes of code in boot " + str(bootPct) + "%\n")
|
||||
print(str(code) + "/" + str(codeSize) + " bytes of code in code " + str(codePct) + "%\n")
|
||||
print(str(ovl) + "/" + str(ovlSize) + " bytes of code in overlays " + str(ovlPct) + "%\n")
|
||||
print(str(src) + " bytes " + adjective + " in src " + str(srcPct) + "%\n")
|
||||
print(str(boot) + "/" + str(bootSize) + " bytes " + adjective + " in boot " + str(bootPct) + "%\n")
|
||||
print(str(code) + "/" + str(codeSize) + " bytes " + adjective + " in code " + str(codePct) + "%\n")
|
||||
print(str(ovl) + "/" + str(ovlSize) + " bytes " + adjective + " in overlays " + str(ovlPct) + "%\n")
|
||||
print("------------------------------------\n")
|
||||
|
||||
heartPieces = int(src / bytesPerHeartPiece)
|
||||
|
8
spec
8
spec
@ -788,9 +788,7 @@ endseg
|
||||
beginseg
|
||||
name "ovl_Bg_Gate_Shutter"
|
||||
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.o"
|
||||
include "build/data/overlays/actors/z_bg_gate_shutter.data.o"
|
||||
include "build/data/overlays/actors/z_bg_gate_shutter.rodata.o"
|
||||
include "build/data/overlays/actors/z_bg_gate_shutter.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
@ -3676,9 +3674,7 @@ endseg
|
||||
beginseg
|
||||
name "ovl_En_Tk"
|
||||
include "build/src/overlays/actors/ovl_En_Tk/z_en_tk.o"
|
||||
include "build/data/overlays/actors/z_en_tk.data.o"
|
||||
include "build/data/overlays/actors/z_en_tk.rodata.o"
|
||||
include "build/data/overlays/actors/z_en_tk.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Tk/z_en_tk_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
@ -1,7 +1,6 @@
|
||||
#include <z64.h>
|
||||
|
||||
void __assert(const char* exp, const char* file, s32 line)
|
||||
{
|
||||
void __assert(const char* exp, const char* file, s32 line) {
|
||||
char msg[256];
|
||||
osSyncPrintf("Assertion failed: %s, file %s, line %d, thread %d\n", exp, file, line, osGetThreadId(NULL));
|
||||
sprintf(msg, "ASSERT: %s:%d(%d)", file, line, osGetThreadId(NULL));
|
||||
|
@ -7,14 +7,12 @@ u8 sIdleThreadStack[0x400];
|
||||
StackEntry sIdleThreadInfo;
|
||||
u8 sBootThreadStack[0x400];
|
||||
|
||||
void cleararena(void)
|
||||
{
|
||||
void cleararena(void) {
|
||||
bzero(_dmadataSegmentStart, (u8*)osMemSize - OS_K0_TO_PHYSICAL(_dmadataSegmentStart));
|
||||
}
|
||||
|
||||
void bootproc(void)
|
||||
{
|
||||
StackCheck_Init(&sBootThreadInfo, sBootThreadStack, sBootThreadStack+sizeof(sBootThreadStack), 0, -1, "boot");
|
||||
void bootproc(void) {
|
||||
StackCheck_Init(&sBootThreadInfo, sBootThreadStack, sBootThreadStack + sizeof(sBootThreadStack), 0, -1, "boot");
|
||||
|
||||
osMemSize = osGetMemSize();
|
||||
cleararena();
|
||||
@ -26,7 +24,7 @@ void bootproc(void)
|
||||
isPrintfInit();
|
||||
Locale_Init();
|
||||
|
||||
StackCheck_Init(&sIdleThreadInfo, sIdleThreadStack, sIdleThreadStack+sizeof(sIdleThreadStack), 0, 256, "idle");
|
||||
osCreateThread(&sIdleThread, 1, Idle_ThreadEntry, 0, sIdleThreadStack+sizeof(sIdleThreadStack), 10);
|
||||
StackCheck_Init(&sIdleThreadInfo, sIdleThreadStack, sIdleThreadStack + sizeof(sIdleThreadStack), 0, 256, "idle");
|
||||
osCreateThread(&sIdleThread, 1, Idle_ThreadEntry, 0, sIdleThreadStack + sizeof(sIdleThreadStack), 10);
|
||||
osStartThread(&sIdleThread);
|
||||
}
|
||||
|
@ -17,15 +17,15 @@ u32 gViConfigFeatures = OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF;
|
||||
f32 gViConfigXScale = 1.0;
|
||||
f32 gViConfigYScale = 1.0;
|
||||
|
||||
void Main_ThreadEntry(void* arg0)
|
||||
{
|
||||
void Main_ThreadEntry(void* arg0) {
|
||||
OSTime var1;
|
||||
|
||||
osSyncPrintf("mainx 実行開始\n");
|
||||
DmaMgr_Start();
|
||||
osSyncPrintf("codeセグメントロード中...");
|
||||
var1 = osGetTime();
|
||||
DmaMgr_SendRequest1((u32)_dmadataSegmentEnd, (u32)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart, "../idle.c", 238);
|
||||
DmaMgr_SendRequest1((u32)_dmadataSegmentEnd, (u32)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart,
|
||||
"../idle.c", 238);
|
||||
var1 -= osGetTime();
|
||||
osSyncPrintf("\rcodeセグメントロード中...完了\n");
|
||||
osSyncPrintf("転送時間 %6.3f\n");
|
||||
@ -35,8 +35,7 @@ void Main_ThreadEntry(void* arg0)
|
||||
osSyncPrintf("mainx 実行終了\n");
|
||||
}
|
||||
|
||||
void Idle_ThreadEntry(void* a0)
|
||||
{
|
||||
void Idle_ThreadEntry(void* a0) {
|
||||
osSyncPrintf("アイドルスレッド(idleproc)実行開始\n");
|
||||
osSyncPrintf("作製者 : %s\n", gBuildTeam);
|
||||
osSyncPrintf("作成日時 : %s\n", gBuildDate);
|
||||
@ -57,8 +56,7 @@ void Idle_ThreadEntry(void* a0)
|
||||
gViConfigXScale = 1.0f;
|
||||
gViConfigYScale = 1.0f;
|
||||
|
||||
switch (osTvType)
|
||||
{
|
||||
switch (osTvType) {
|
||||
case 1:
|
||||
D_80013960 = 2;
|
||||
gViConfigMode = osViModeNtscLan1;
|
||||
@ -82,11 +80,12 @@ void Idle_ThreadEntry(void* a0)
|
||||
osViBlack(1);
|
||||
osViSwapBuffer(0x803da80);
|
||||
osCreatePiManager(0x96, &gPiMgrCmdQ, sPiMgrCmdBuff, 0x32);
|
||||
StackCheck_Init(&sMainStackInfo, sMainStack, sMainStack+sizeof(sMainStack), 0, 0x400, "main");
|
||||
osCreateThread(&sMainThread, 3, Main_ThreadEntry, a0, sMainStack+sizeof(sMainStack), 10);
|
||||
StackCheck_Init(&sMainStackInfo, sMainStack, sMainStack + sizeof(sMainStack), 0, 0x400, "main");
|
||||
osCreateThread(&sMainThread, 3, Main_ThreadEntry, a0, sMainStack + sizeof(sMainStack), 10);
|
||||
osStartThread(&sMainThread);
|
||||
osSetThreadPri(NULL, 0);
|
||||
|
||||
while(1)
|
||||
while (1) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -1,83 +1,77 @@
|
||||
#include <z64.h>
|
||||
#include <global.h>
|
||||
|
||||
OSPiHandle* sISVHandle; //official name : is_Handle
|
||||
OSPiHandle* sISVHandle; // official name : is_Handle
|
||||
|
||||
#define gISVDbgPrnAdrs ((ISVDbg*)0xb3ff0000)
|
||||
#define ASCII_TO_U32(a, b, c, d) ((u32)((a << 24) | (b << 16) | (c << 8) | (d << 0)))
|
||||
|
||||
void isPrintfInit()
|
||||
{
|
||||
void isPrintfInit() {
|
||||
sISVHandle = osCartRomInit();
|
||||
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->put, 0);
|
||||
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->get, 0);
|
||||
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, ASCII_TO_U32('I','S','6','4'));
|
||||
osEPiWriteIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, ASCII_TO_U32('I', 'S', '6', '4'));
|
||||
}
|
||||
|
||||
void osSyncPrintfUnused(const char* fmt, ...)
|
||||
{
|
||||
void osSyncPrintfUnused(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
|
||||
}
|
||||
|
||||
void osSyncPrintf(const char* fmt, ...)
|
||||
{
|
||||
void osSyncPrintf(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
|
||||
}
|
||||
|
||||
//assumption
|
||||
void rmonPrintf(const char* fmt, ...)
|
||||
{
|
||||
// assumption
|
||||
void rmonPrintf(const char* fmt, ...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
|
||||
_Printf(&is_proutSyncPrintf, NULL, fmt, args);
|
||||
}
|
||||
|
||||
u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count)
|
||||
{
|
||||
u32 is_proutSyncPrintf(void* arg0, const char* str, s32 count) {
|
||||
u32 data;
|
||||
s32 pos;
|
||||
s32 start;
|
||||
s32 end;
|
||||
|
||||
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->magic, &data);
|
||||
if (data != ASCII_TO_U32('I','S','6','4'))
|
||||
if (data != ASCII_TO_U32('I', 'S', '6', '4')) {
|
||||
return 1;
|
||||
}
|
||||
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->get, &data);
|
||||
pos = data;
|
||||
osEPiReadIo(sISVHandle, (u32)&gISVDbgPrnAdrs->put, &data);
|
||||
start = data;
|
||||
end = start + count;
|
||||
if (end >= 0xffe0)
|
||||
{
|
||||
if (end >= 0xffe0) {
|
||||
end -= 0xffe0;
|
||||
if (pos < end || start < pos)
|
||||
if (pos < end || start < pos) {
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (start < pos && pos < end)
|
||||
} else {
|
||||
if (start < pos && pos < end) {
|
||||
return 1;
|
||||
}
|
||||
while (count)
|
||||
{
|
||||
}
|
||||
while (count) {
|
||||
u32 addr = (u32)&gISVDbgPrnAdrs->data + (start & 0xffffffc);
|
||||
s32 shift = ((3 - (start & 3)) * 8);
|
||||
if (*str)
|
||||
{
|
||||
if (*str) {
|
||||
osEPiReadIo(sISVHandle, addr, &data);
|
||||
osEPiWriteIo(sISVHandle, addr, (*str << shift) | (data & ~(0xff << shift)));
|
||||
|
||||
start++;
|
||||
if (start >= 0xffe0)
|
||||
if (start >= 0xffe0) {
|
||||
start -= 0xffe0;
|
||||
}
|
||||
}
|
||||
count--;
|
||||
str++;
|
||||
}
|
||||
@ -85,9 +79,9 @@ u32 is_proutSyncPrintf(void* arg0, const char *str, s32 count)
|
||||
return 1;
|
||||
}
|
||||
|
||||
void func_80002384(const char* exp, const char* file, u32 line)
|
||||
{
|
||||
void func_80002384(const char* exp, const char* file, u32 line) {
|
||||
osSyncPrintf("File:%s Line:%d %s \n", file, line, exp);
|
||||
while (true)
|
||||
while (true) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -2,22 +2,25 @@
|
||||
#include <global.h>
|
||||
#include <vt.h>
|
||||
|
||||
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name, float var2, const char* var3Name, float var3)
|
||||
{
|
||||
if (var1 < var2 || var3 < var1)
|
||||
osSyncPrintf("%s %d: range error %s(%f) < %s(%f) < %s(%f)\n", exp, arg1, var2Name, var2, var1Name, var1, var3Name, var3);
|
||||
float LogUtils_CheckFloatRange(const char* exp, s32 arg1, const char* var1Name, float var1, const char* var2Name,
|
||||
float var2, const char* var3Name, float var3) {
|
||||
if (var1 < var2 || var3 < var1) {
|
||||
osSyncPrintf("%s %d: range error %s(%f) < %s(%f) < %s(%f)\n", exp, arg1, var2Name, var2, var1Name, var1,
|
||||
var3Name, var3);
|
||||
}
|
||||
return var1;
|
||||
}
|
||||
|
||||
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2, const char* var3Name, s32 var3)
|
||||
{
|
||||
if (var1 < var2 || var3 < var1)
|
||||
osSyncPrintf("%s %d: range error %s(%d) < %s(%d) < %s(%d)\n", exp, arg1, var2Name, var2, var1Name, var1, var3Name, var3);
|
||||
s32 LogUtils_CheckIntRange(const char* exp, s32 arg1, const char* var1Name, s32 var1, const char* var2Name, s32 var2,
|
||||
const char* var3Name, s32 var3) {
|
||||
if (var1 < var2 || var3 < var1) {
|
||||
osSyncPrintf("%s %d: range error %s(%d) < %s(%d) < %s(%d)\n", exp, arg1, var2Name, var2, var1Name, var1,
|
||||
var3Name, var3);
|
||||
}
|
||||
return var1;
|
||||
}
|
||||
|
||||
void LogUtils_LogHexDump(void* ptr, s32 size0)
|
||||
{
|
||||
void LogUtils_LogHexDump(void* ptr, s32 size0) {
|
||||
u8* addr = (u8*)ptr;
|
||||
s32 size = (s32)size0;
|
||||
s32 rest;
|
||||
@ -28,41 +31,40 @@ void LogUtils_LogHexDump(void* ptr, s32 size0)
|
||||
osSyncPrintf("address off +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f 0123456789abcdef\n");
|
||||
|
||||
off = 0;
|
||||
while (size > 0)
|
||||
{
|
||||
while (size > 0) {
|
||||
|
||||
osSyncPrintf("%08x %04x", addr, off);
|
||||
rest = (size < 0x10) ? size : 0x10;
|
||||
|
||||
i = 0;
|
||||
while (true)
|
||||
{
|
||||
if(i < rest)
|
||||
while (true) {
|
||||
if (i < rest) {
|
||||
osSyncPrintf(" %02x", *((u8*)addr + i));
|
||||
else
|
||||
} else {
|
||||
osSyncPrintf(" ");
|
||||
}
|
||||
|
||||
i++;
|
||||
if (i > 0xf)
|
||||
if (i > 0xf) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
osSyncPrintf(" ");
|
||||
|
||||
i = 0;
|
||||
while (true)
|
||||
{
|
||||
if(i < rest)
|
||||
{
|
||||
u8 a = *(addr+i);
|
||||
while (true) {
|
||||
if (i < rest) {
|
||||
u8 a = *(addr + i);
|
||||
osSyncPrintf("%c", (a >= 0x20 && a < 0x7f) ? a : '.');
|
||||
}
|
||||
else
|
||||
} else {
|
||||
osSyncPrintf(" ");
|
||||
}
|
||||
|
||||
i++;
|
||||
if (i > 0xf)
|
||||
if (i > 0xf) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
osSyncPrintf("\n");
|
||||
size -= rest;
|
||||
addr += rest;
|
||||
@ -70,46 +72,43 @@ void LogUtils_LogHexDump(void* ptr, s32 size0)
|
||||
}
|
||||
}
|
||||
|
||||
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char *name, const char *file, s32 line)
|
||||
{
|
||||
void LogUtils_LogPointer(s32 value, u32 max, void* ptr, const char* name, const char* file, s32 line) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "%s %d %s[%d] max=%u ptr=%08x\n" VT_RST, file, line, name, value, max, ptr);
|
||||
}
|
||||
|
||||
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line)
|
||||
{
|
||||
void LogUtils_CheckBoundary(const char* name, s32 value, s32 unk, const char* file, s32 line) {
|
||||
u32 mask = (unk - 1);
|
||||
if (value & mask)
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s(%08x) は バウンダリ(%d)違反です\n" VT_RST, file, line, name, value, unk);
|
||||
if (value & mask) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s(%08x) は バウンダリ(%d)違反です\n" VT_RST, file, line, name, value,
|
||||
unk);
|
||||
}
|
||||
}
|
||||
|
||||
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line)
|
||||
{
|
||||
if (!ptr)
|
||||
void LogUtils_CheckNullPointer(const char* exp, void* ptr, const char* file, s32 line) {
|
||||
if (!ptr) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:%s は はヌルポインタです\n" VT_RST, file, line, exp);
|
||||
}
|
||||
}
|
||||
|
||||
//check valid pointer
|
||||
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line)
|
||||
{
|
||||
// check valid pointer
|
||||
void LogUtils_CheckValidPointer(const char* exp, void* ptr0, const char* file, s32 line) {
|
||||
u32 ptr = (u32)ptr0;
|
||||
if (!ptr || ptr < 0x80000000U || (0x80000000U + osMemSize) <= ptr)
|
||||
if (!ptr || ptr < 0x80000000U || (0x80000000U + osMemSize) <= ptr) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "%s %d:ポインタ %s(%08x) が異常です\n" VT_RST, file, line, exp, ptr);
|
||||
}
|
||||
}
|
||||
|
||||
//there's probalby a macro like this : MACRO(exp) LogUtils_LogThreadId(__FILE__, __LINE__); osSyncPrintf(exp)
|
||||
void LogUtils_LogThreadId(const char* name, s32 line)
|
||||
{
|
||||
// there's probalby a macro like this : MACRO(exp) LogUtils_LogThreadId(__FILE__, __LINE__); osSyncPrintf(exp)
|
||||
void LogUtils_LogThreadId(const char* name, s32 line) {
|
||||
osSyncPrintf("<%d %s %d>", osGetThreadId(NULL), name, line);
|
||||
}
|
||||
|
||||
void LogUtils_HungupThread(const char* name, s32 line)
|
||||
{
|
||||
void LogUtils_HungupThread(const char* name, s32 line) {
|
||||
osSyncPrintf("*** HungUp in thread %d, [%s:%d] ***\n", osGetThreadId(NULL), name, line);
|
||||
Fault_AddHungupAndCrash(name, line);
|
||||
}
|
||||
|
||||
void LogUtils_ResetHungup()
|
||||
{
|
||||
void LogUtils_ResetHungup() {
|
||||
osSyncPrintf("*** Reset ***\n");
|
||||
Fault_AddHungupAndCrash("Reset", 0);
|
||||
}
|
@ -5,25 +5,22 @@
|
||||
StackEntry* sStackInfoListStart = NULL;
|
||||
StackEntry* sStackInfoListEnd = NULL;
|
||||
|
||||
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace, const char* name)
|
||||
{
|
||||
void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 initValue, s32 minSpace,
|
||||
const char* name) {
|
||||
StackEntry* iter;
|
||||
u32* addr;
|
||||
|
||||
if (!entry)
|
||||
if (!entry) {
|
||||
sStackInfoListStart = NULL;
|
||||
else
|
||||
{
|
||||
} else {
|
||||
entry->head = (u32)stackTop;
|
||||
entry->tail = (u32)stackBottom;
|
||||
entry->initValue = initValue;
|
||||
entry->minSpace = minSpace;
|
||||
entry->name = name;
|
||||
iter = sStackInfoListStart;
|
||||
while (iter)
|
||||
{
|
||||
if (iter == entry)
|
||||
{
|
||||
while (iter) {
|
||||
if (iter == entry) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "stackcheck_init: %08x は既にリスト中にある\n" VT_RST, entry);
|
||||
return;
|
||||
}
|
||||
@ -33,109 +30,105 @@ void StackCheck_Init(StackEntry* entry, void* stackTop, void* stackBottom, u32 i
|
||||
entry->prev = sStackInfoListEnd;
|
||||
entry->next = NULL;
|
||||
|
||||
if (sStackInfoListEnd)
|
||||
if (sStackInfoListEnd) {
|
||||
sStackInfoListEnd->next = entry;
|
||||
}
|
||||
|
||||
sStackInfoListEnd = entry;
|
||||
if (!sStackInfoListStart)
|
||||
if (!sStackInfoListStart) {
|
||||
sStackInfoListStart = entry;
|
||||
}
|
||||
|
||||
if (entry->minSpace != -1)
|
||||
{
|
||||
if (entry->minSpace != -1) {
|
||||
addr = (u32*)entry->head;
|
||||
while ((u32)addr < entry->tail)
|
||||
while ((u32)addr < entry->tail) {
|
||||
*addr++ = entry->initValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StackCheck_Cleanup(StackEntry* entry)
|
||||
{
|
||||
void StackCheck_Cleanup(StackEntry* entry) {
|
||||
bool inconsistency = false;
|
||||
|
||||
if (!entry->prev)
|
||||
{
|
||||
if (entry == sStackInfoListStart)
|
||||
if (!entry->prev) {
|
||||
if (entry == sStackInfoListStart) {
|
||||
sStackInfoListStart = entry->next;
|
||||
else
|
||||
} else {
|
||||
inconsistency = true;
|
||||
}
|
||||
else
|
||||
} else {
|
||||
entry->prev->next = entry->next;
|
||||
}
|
||||
|
||||
if (!entry->next)
|
||||
{
|
||||
if (entry == sStackInfoListEnd)
|
||||
if (!entry->next) {
|
||||
if (entry == sStackInfoListEnd) {
|
||||
sStackInfoListEnd = entry->prev;
|
||||
else
|
||||
} else {
|
||||
inconsistency = true;
|
||||
}
|
||||
if (inconsistency)
|
||||
}
|
||||
if (inconsistency) {
|
||||
osSyncPrintf(VT_COL(RED, WHITE) "stackcheck_cleanup: %08x リスト不整合です\n" VT_RST, entry);
|
||||
}
|
||||
}
|
||||
|
||||
StackStatus StackCheck_GetState(StackEntry* entry)
|
||||
{
|
||||
StackStatus StackCheck_GetState(StackEntry* entry) {
|
||||
u32* last;
|
||||
u32 used;
|
||||
u32 free;
|
||||
s32 ret;
|
||||
|
||||
for (last = (u32*)entry->head; (u32)last < entry->tail; last++)
|
||||
{
|
||||
if (entry->initValue != *last)
|
||||
for (last = (u32*)entry->head; (u32)last < entry->tail; last++) {
|
||||
if (entry->initValue != *last) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
used = entry->tail - (u32)last;
|
||||
free = (u32)last - entry->head;
|
||||
|
||||
if (free == 0)
|
||||
{
|
||||
if (free == 0) {
|
||||
ret = STACK_STATUS_OVERFLOW;
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
}
|
||||
else if (free < entry->minSpace && entry->minSpace != -1)
|
||||
{
|
||||
} else if (free < entry->minSpace && entry->minSpace != -1) {
|
||||
ret = STACK_STATUS_WARNING;
|
||||
osSyncPrintf(VT_FGCOL(YELLOW));
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
osSyncPrintf(VT_FGCOL(GREEN));
|
||||
ret = STACK_STATUS_OK;
|
||||
}
|
||||
|
||||
osSyncPrintf("head=%08x tail=%08x last=%08x used=%08x free=%08x [%s]\n", entry->head, entry->tail, last, used, free, entry->name ? entry->name : "(null)");
|
||||
osSyncPrintf("head=%08x tail=%08x last=%08x used=%08x free=%08x [%s]\n", entry->head, entry->tail, last, used, free,
|
||||
entry->name ? entry->name : "(null)");
|
||||
osSyncPrintf(VT_RST);
|
||||
|
||||
if (ret != STACK_STATUS_OK)
|
||||
if (ret != STACK_STATUS_OK) {
|
||||
LogUtils_LogHexDump(entry->head, entry->tail - entry->head);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
u32 StackCheck_CheckAll()
|
||||
{
|
||||
u32 StackCheck_CheckAll() {
|
||||
u32 ret = 0;
|
||||
|
||||
StackEntry* iter = sStackInfoListStart;
|
||||
while(iter)
|
||||
{
|
||||
while (iter) {
|
||||
u32 state = StackCheck_GetState(iter);
|
||||
if (state != STACK_STATUS_OK)
|
||||
if (state != STACK_STATUS_OK) {
|
||||
ret = 1;
|
||||
}
|
||||
iter = iter->next;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
u32 StackCheck_Check(StackEntry* entry)
|
||||
{
|
||||
if (!entry)
|
||||
u32 StackCheck_Check(StackEntry* entry) {
|
||||
if (!entry) {
|
||||
return StackCheck_CheckAll();
|
||||
else
|
||||
} else {
|
||||
return StackCheck_GetState(entry);
|
||||
}
|
||||
}
|
||||
|
@ -2,35 +2,34 @@
|
||||
#include <global.h>
|
||||
#include <vt.h>
|
||||
|
||||
//this should probably go elsewhere but right now viconfig.o is the only object between idle and z_std_dma
|
||||
// this should probably go elsewhere but right now viconfig.o is the only object between idle and z_std_dma
|
||||
OSPiHandle* gCartHandle = 0;
|
||||
|
||||
void ViConfig_UpdateVi(u32 arg0)
|
||||
{
|
||||
if (arg0 != 0)
|
||||
{
|
||||
void ViConfig_UpdateVi(u32 arg0) {
|
||||
if (arg0 != 0) {
|
||||
osSyncPrintf(VT_COL(YELLOW, BLACK) "osViSetYScale1(%f);\n" VT_RST, 1.0f);
|
||||
|
||||
if (osTvType == 0)
|
||||
if (osTvType == 0) {
|
||||
osViSetMode(&osViModePalLan1);
|
||||
}
|
||||
|
||||
osViSetYScale(1.0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
osViSetMode(&gViConfigMode);
|
||||
|
||||
if (gViConfigAdditionalScanLines != 0)
|
||||
if (gViConfigAdditionalScanLines != 0) {
|
||||
osViExtendVStart(gViConfigAdditionalScanLines);
|
||||
}
|
||||
|
||||
if (gViConfigFeatures != 0)
|
||||
if (gViConfigFeatures != 0) {
|
||||
osViSetSpecialFeatures(gViConfigFeatures);
|
||||
}
|
||||
|
||||
if (gViConfigXScale != 1.0f)
|
||||
if (gViConfigXScale != 1.0f) {
|
||||
osViSetXScale(gViConfigXScale);
|
||||
}
|
||||
|
||||
if (gViConfigYScale != 1.0f)
|
||||
{
|
||||
if (gViConfigYScale != 1.0f) {
|
||||
osSyncPrintf(VT_COL(YELLOW, BLACK) "osViSetYScale3(%f);\n" VT_RST, gViConfigYScale);
|
||||
osViSetYScale(gViConfigYScale);
|
||||
}
|
||||
@ -39,10 +38,10 @@ void ViConfig_UpdateVi(u32 arg0)
|
||||
gViConfigUseDefault = arg0;
|
||||
}
|
||||
|
||||
void ViConfig_UpdateBlack()
|
||||
{
|
||||
if (gViConfigUseDefault != 0)
|
||||
void ViConfig_UpdateBlack() {
|
||||
if (gViConfigUseDefault != 0) {
|
||||
osViBlack(1);
|
||||
else
|
||||
} else {
|
||||
osViBlack(0);
|
||||
}
|
||||
}
|
||||
|
@ -7,8 +7,7 @@ u32 sYaz0CurRomStart;
|
||||
u32 sYaz0CurSize;
|
||||
u32 sYaz0MaxPtr;
|
||||
|
||||
void* Yaz0_FirstDMA()
|
||||
{
|
||||
void* Yaz0_FirstDMA() {
|
||||
u32 pad0;
|
||||
u32 pad1;
|
||||
u32 dmaSize;
|
||||
@ -17,9 +16,7 @@ void* Yaz0_FirstDMA()
|
||||
sYaz0MaxPtr = sYaz0CurDataEnd - 0x19;
|
||||
|
||||
curSize = sYaz0CurDataEnd - (u32)sYaz0DataBuffer;
|
||||
dmaSize = (curSize > sYaz0CurSize)
|
||||
? sYaz0CurSize
|
||||
: curSize;
|
||||
dmaSize = (curSize > sYaz0CurSize) ? sYaz0CurSize : curSize;
|
||||
|
||||
DmaMgr_DMARomToRam(sYaz0CurRomStart, sYaz0DataBuffer, dmaSize);
|
||||
sYaz0CurRomStart += dmaSize;
|
||||
@ -27,31 +24,29 @@ void* Yaz0_FirstDMA()
|
||||
return sYaz0DataBuffer;
|
||||
}
|
||||
|
||||
void* Yaz0_NextDMA(void* curSrcPos)
|
||||
{
|
||||
void* Yaz0_NextDMA(void* curSrcPos) {
|
||||
u8* dst;
|
||||
u32 restSize;
|
||||
u32 dmaSize;
|
||||
|
||||
restSize = sYaz0CurDataEnd - (u32)curSrcPos;
|
||||
|
||||
dst = (restSize & 7)
|
||||
? (sYaz0DataBuffer - (restSize & 7)) + 8
|
||||
: sYaz0DataBuffer;
|
||||
dst = (restSize & 7) ? (sYaz0DataBuffer - (restSize & 7)) + 8 : sYaz0DataBuffer;
|
||||
|
||||
bcopy(curSrcPos, dst, restSize);
|
||||
dmaSize = (sYaz0CurDataEnd - (u32)dst) - restSize;
|
||||
if (sYaz0CurSize < dmaSize)
|
||||
if (sYaz0CurSize < dmaSize) {
|
||||
dmaSize = sYaz0CurSize;
|
||||
}
|
||||
|
||||
if (dmaSize != 0)
|
||||
{
|
||||
if (dmaSize != 0) {
|
||||
DmaMgr_DMARomToRam(sYaz0CurRomStart, (u32)dst + restSize, dmaSize);
|
||||
sYaz0CurRomStart += dmaSize;
|
||||
sYaz0CurSize -= dmaSize;
|
||||
if (!sYaz0CurSize)
|
||||
if (!sYaz0CurSize) {
|
||||
sYaz0MaxPtr = (u32)dst + restSize + dmaSize;
|
||||
}
|
||||
}
|
||||
|
||||
return dst;
|
||||
}
|
||||
@ -60,8 +55,7 @@ void* Yaz0_NextDMA(void* curSrcPos)
|
||||
// has an extra check at the start of the small compressed loop
|
||||
// along with an extra move instruction
|
||||
// maybe some regalloc differences besides these issues
|
||||
void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
|
||||
{
|
||||
void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst) {
|
||||
u32 bitIdx;
|
||||
u8* src;
|
||||
u8* dstEnd;
|
||||
@ -76,10 +70,8 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
|
||||
src = hdr->data;
|
||||
dstEnd = dst + hdr->decSize;
|
||||
|
||||
do
|
||||
{
|
||||
if (bitIdx == 0)
|
||||
{
|
||||
do {
|
||||
if (bitIdx == 0) {
|
||||
if ((sYaz0MaxPtr < (u32)src) && (sYaz0CurSize != 0))
|
||||
src = Yaz0_NextDMA(src);
|
||||
|
||||
@ -90,12 +82,9 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
|
||||
curDecBit = chunkHeader & (1 << 7);
|
||||
chunkHeader <<= 1;
|
||||
|
||||
if (curDecBit) // uncompressed
|
||||
{
|
||||
if (curDecBit) { // uncompressed
|
||||
*dst++ = *src++;
|
||||
}
|
||||
else // compressed
|
||||
{
|
||||
} else { // compressed
|
||||
nibble = *src >> 4;
|
||||
backPtr = dst - (*(src + 1) | (*src & 0xF) << 8);
|
||||
src += 2;
|
||||
@ -115,8 +104,7 @@ void Yaz0_DecompressImpl(Yaz0Header* hdr, u8* dst)
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/boot/yaz0/Yaz0_DecompressImpl.s")
|
||||
#endif
|
||||
|
||||
void Yaz0_Decompress(u32 romStart, void* dst, u32 size)
|
||||
{
|
||||
void Yaz0_Decompress(u32 romStart, void* dst, u32 size) {
|
||||
sYaz0CurRomStart = romStart;
|
||||
sYaz0CurSize = size;
|
||||
sYaz0CurDataEnd = sYaz0DataBuffer + sizeof(sYaz0DataBuffer);
|
||||
|
@ -6,16 +6,14 @@
|
||||
u32 gCurrentRegion = 0;
|
||||
LocaleCartInfo sCartInfo;
|
||||
|
||||
//temporary
|
||||
// temporary
|
||||
extern PadMgr gPadMgr;
|
||||
|
||||
void Locale_Init()
|
||||
{
|
||||
void Locale_Init() {
|
||||
osEPiReadIo(gCartHandle, 0x38, &sCartInfo.mediaFormat);
|
||||
osEPiReadIo(gCartHandle, 0x3C, &sCartInfo.regionInfo);
|
||||
|
||||
switch (sCartInfo.countryCode)
|
||||
{
|
||||
switch (sCartInfo.countryCode) {
|
||||
case 'J': // "NTSC-U (North America)"
|
||||
gCurrentRegion = REGION_US;
|
||||
break;
|
||||
@ -36,39 +34,39 @@ void Locale_Init()
|
||||
osSyncPrintf("z_locale_init:日本用かアメリカ用か3コンで判断させる\n");
|
||||
}
|
||||
|
||||
void Locale_ResetRegion()
|
||||
{
|
||||
void Locale_ResetRegion() {
|
||||
gCurrentRegion = REGION_NULL;
|
||||
}
|
||||
|
||||
u32 func_80001F48()
|
||||
{
|
||||
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; //cast required to match
|
||||
u32 func_80001F48() {
|
||||
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; // cast required to match
|
||||
|
||||
if (gCurrentRegion == REGION_NATIVE)
|
||||
if (gCurrentRegion == REGION_NATIVE) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (padMgr->unk_2A8 & 4)
|
||||
if (padMgr->unk_2A8 & 4) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 func_80001F8C()
|
||||
{
|
||||
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; //cast required to match
|
||||
u32 func_80001F8C() {
|
||||
PadMgr* padMgr = (PadMgr*)(u32)&gPadMgr; // cast required to match
|
||||
|
||||
if (gCurrentRegion == REGION_NATIVE)
|
||||
if (gCurrentRegion == REGION_NATIVE) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (padMgr->unk_2A8 & 4)
|
||||
if (padMgr->unk_2A8 & 4) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// This function appears to be unused?
|
||||
u32 Locale_IsRegionNative()
|
||||
{
|
||||
u32 Locale_IsRegionNative() {
|
||||
return gCurrentRegion == REGION_NATIVE;
|
||||
}
|
||||
|
@ -13,8 +13,7 @@ s32 sDmaMgrCurFileLine;
|
||||
u32 D_80009460 = 0;
|
||||
u32 sDmaMgrDmaBuffSize = 0x2000;
|
||||
u32 sDmaMgrDataExistError = 0;
|
||||
const char* sDmaMgrFileNames[0x5FC] =
|
||||
{
|
||||
const char* sDmaMgrFileNames[0x5FC] = {
|
||||
"makerom",
|
||||
"boot",
|
||||
"dmadata",
|
||||
@ -1549,28 +1548,28 @@ const char* sDmaMgrFileNames[0x5FC] =
|
||||
"softsprite_matrix_static",
|
||||
};
|
||||
|
||||
s32 DmaMgr_CompareName(const char* name1, const char* name2)
|
||||
{
|
||||
while (*name1 != 0u)
|
||||
{
|
||||
if (*name1 > *name2)
|
||||
s32 DmaMgr_CompareName(const char* name1, const char* name2) {
|
||||
while (*name1 != 0u) {
|
||||
if (*name1 > *name2) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (*name1 < *name2)
|
||||
if (*name1 < *name2) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
name1++;
|
||||
name2++;
|
||||
}
|
||||
|
||||
if (*name2 > 0)
|
||||
if (*name2 > 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size)
|
||||
{
|
||||
s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size) {
|
||||
OSIoMesg ioMsg;
|
||||
OSMesgQueue queue;
|
||||
OSMesg msg;
|
||||
@ -1579,15 +1578,15 @@ s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size)
|
||||
u32 pad[2];
|
||||
|
||||
buffSize = sDmaMgrDmaBuffSize;
|
||||
if (buffSize == 0)
|
||||
if (buffSize == 0) {
|
||||
buffSize = 0x2000;
|
||||
}
|
||||
|
||||
osInvalICache((void*)ram, size);
|
||||
osInvalDCache((void*)ram, size);
|
||||
osCreateMesgQueue(&queue, &msg, 1);
|
||||
|
||||
while (size > buffSize)
|
||||
{
|
||||
while (size > buffSize) {
|
||||
if (1) {} // Necessary to match
|
||||
|
||||
ioMsg.hdr.pri = OS_MESG_PRI_NORMAL;
|
||||
@ -1596,22 +1595,24 @@ s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size)
|
||||
ioMsg.dramAddr = (void*)ram;
|
||||
ioMsg.size = buffSize;
|
||||
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld ノーマルDMA %08x %08x %08x (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), ioMsg.dramAddr, ioMsg.devAddr, ioMsg.size, gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld ノーマルDMA %08x %08x %08x (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), ioMsg.dramAddr,
|
||||
ioMsg.devAddr, ioMsg.size, gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
ret = osEPiStartDma(gCartHandle, &ioMsg, OS_READ);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
goto DmaMgr_DMARomToRam_end;
|
||||
}
|
||||
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld ノーマルDMA START (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld ノーマルDMA START (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
osRecvMesg(&queue, NULL, 1);
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld ノーマルDMA END (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld ノーマルDMA END (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
size -= buffSize;
|
||||
rom += buffSize;
|
||||
@ -1626,18 +1627,20 @@ s32 DmaMgr_DMARomToRam(u32 rom, u32 ram, u32 size)
|
||||
ioMsg.dramAddr = (void*)ram;
|
||||
ioMsg.size = size;
|
||||
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld ノーマルDMA %08x %08x %08x (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), ioMsg.dramAddr, ioMsg.devAddr, ioMsg.size, gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld ノーマルDMA %08x %08x %08x (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), ioMsg.dramAddr,
|
||||
ioMsg.devAddr, ioMsg.size, gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
ret = osEPiStartDma(gCartHandle, &ioMsg, OS_READ);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
goto DmaMgr_DMARomToRam_end;
|
||||
}
|
||||
|
||||
osRecvMesg(&queue, NULL, 1);
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld ノーマルDMA END (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld ノーマルDMA END (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
DmaMgr_DMARomToRam_end:
|
||||
osInvalICache((void*)ram, size);
|
||||
@ -1646,31 +1649,34 @@ DmaMgr_DMARomToRam_end:
|
||||
return ret;
|
||||
}
|
||||
|
||||
s32 DmaMgr_DmaCallback0(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction)
|
||||
{
|
||||
s32 DmaMgr_DmaCallback0(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) {
|
||||
s32 ret;
|
||||
|
||||
if (pihandle != gCartHandle)
|
||||
if (pihandle != gCartHandle) {
|
||||
__assert("pihandle == carthandle", "../z_std_dma.c", 530);
|
||||
}
|
||||
|
||||
if (direction != OS_READ)
|
||||
if (direction != OS_READ) {
|
||||
__assert("direction == OS_READ", "../z_std_dma.c", 531);
|
||||
}
|
||||
|
||||
if (mb == NULL)
|
||||
if (mb == NULL) {
|
||||
__assert("mb != NULL", "../z_std_dma.c", 532);
|
||||
}
|
||||
|
||||
if (D_80009460 == 10)
|
||||
osSyncPrintf("%10lld サウンドDMA %08x %08x %08x (%d)\n",
|
||||
OS_CYCLES_TO_USEC(osGetTime()), mb->dramAddr, mb->devAddr, mb->size, gPiMgrCmdQ.validCount);
|
||||
if (D_80009460 == 10) {
|
||||
osSyncPrintf("%10lld サウンドDMA %08x %08x %08x (%d)\n", OS_CYCLES_TO_USEC(osGetTime()), mb->dramAddr,
|
||||
mb->devAddr, mb->size, gPiMgrCmdQ.validCount);
|
||||
}
|
||||
|
||||
ret = osEPiStartDma(pihandle, mb, direction);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
osSyncPrintf("OOPS!!\n");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void DmaMgr_DmaCallback1(u32 ram, u32 rom, u32 size)
|
||||
{
|
||||
void DmaMgr_DmaCallback1(u32 ram, u32 rom, u32 size) {
|
||||
OSPiHandle* handle;
|
||||
OSMesgQueue queue;
|
||||
OSMesg msg;
|
||||
@ -1693,13 +1699,12 @@ void DmaMgr_DmaCallback1(u32 ram, u32 rom, u32 size)
|
||||
return;
|
||||
}
|
||||
|
||||
void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, const char* errorDesc)
|
||||
{
|
||||
void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, const char* errorDesc) {
|
||||
u32 vrom;
|
||||
u32 ram;
|
||||
u32 size;
|
||||
char buff1 [80];
|
||||
char buff2 [80];
|
||||
char buff1[80];
|
||||
char buff2[80];
|
||||
|
||||
vrom = req->vromAddr;
|
||||
ram = (u32)req->dramAddr;
|
||||
@ -1708,60 +1713,61 @@ void DmaMgr_Error(DmaRequest* req, const char* file, const char* errorName, cons
|
||||
osSyncPrintf("%c", 7);
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
osSyncPrintf("DMA致命的エラー(%s)\nROM:%X RAM:%X SIZE:%X %s\n",
|
||||
errorDesc ? errorDesc : (errorName ? errorName : "???"),
|
||||
vrom, ram, size, file ? file : "???");
|
||||
errorDesc ? errorDesc : (errorName ? errorName : "???"), vrom, ram, size, file ? file : "???");
|
||||
|
||||
if (req->filename)
|
||||
if (req->filename) {
|
||||
osSyncPrintf("DMA ERROR: %s %d", req->filename, req->line);
|
||||
else if (sDmaMgrCurFileName)
|
||||
} else if (sDmaMgrCurFileName) {
|
||||
osSyncPrintf("DMA ERROR: %s %d", sDmaMgrCurFileName, sDmaMgrCurFileLine);
|
||||
}
|
||||
|
||||
osSyncPrintf(VT_RST);
|
||||
|
||||
if (req->filename)
|
||||
if (req->filename) {
|
||||
sprintf(buff1, "DMA ERROR: %s %d", req->filename, req->line);
|
||||
else if (sDmaMgrCurFileName)
|
||||
} else if (sDmaMgrCurFileName) {
|
||||
sprintf(buff1, "DMA ERROR: %s %d", sDmaMgrCurFileName, sDmaMgrCurFileLine);
|
||||
else
|
||||
} else {
|
||||
sprintf(buff1, "DMA ERROR: %s", errorName ? errorName : "???");
|
||||
}
|
||||
|
||||
sprintf(buff2, "%07X %08X %X %s", vrom, ram, size, file ? file : "???");
|
||||
Fault_AddHungupAndCrashImpl(buff1, buff2);
|
||||
}
|
||||
|
||||
const char* DmaMgr_GetFileNameImpl(u32 vrom)
|
||||
{
|
||||
const char* DmaMgr_GetFileNameImpl(u32 vrom) {
|
||||
DmaEntry* iter;
|
||||
const char** name;
|
||||
|
||||
iter = gDmaDataTable;
|
||||
name = sDmaMgrFileNames;
|
||||
|
||||
while (iter->vromEnd)
|
||||
{
|
||||
if (vrom >= iter->vromStart && vrom < iter->vromEnd)
|
||||
while (iter->vromEnd) {
|
||||
if (vrom >= iter->vromStart && vrom < iter->vromEnd) {
|
||||
return *name;
|
||||
}
|
||||
|
||||
iter++;
|
||||
name++;
|
||||
}
|
||||
// BUG: since the devs forgot to return in case the file isn't found, the return value will be a pointer to the end of gDmaDataTable
|
||||
// BUG: since the devs forgot to return in case the file isn't found, the return value will be a pointer to the end
|
||||
// of gDmaDataTable
|
||||
}
|
||||
|
||||
const char* DmaMgr_GetFileName(u32 vrom)
|
||||
{
|
||||
const char* DmaMgr_GetFileName(u32 vrom) {
|
||||
const char* ret = DmaMgr_GetFileNameImpl(vrom);
|
||||
if (!ret)
|
||||
if (!ret) {
|
||||
return "(unknown)";
|
||||
}
|
||||
|
||||
if (DmaMgr_CompareName(ret, "kanji") == 0 || DmaMgr_CompareName(ret, "link_animetion") == 0)
|
||||
if (DmaMgr_CompareName(ret, "kanji") == 0 || DmaMgr_CompareName(ret, "link_animetion") == 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void DmaMgr_ProcessMsg(DmaRequest* req)
|
||||
{
|
||||
void DmaMgr_ProcessMsg(DmaRequest* req) {
|
||||
u32 vrom;
|
||||
void* ram;
|
||||
u32 size;
|
||||
@ -1781,35 +1787,33 @@ void DmaMgr_ProcessMsg(DmaRequest* req)
|
||||
// defined in .rodata but not used
|
||||
"DMA ROM:%08X RAM:%08X SIZE:%08X %s\n";
|
||||
|
||||
while (iter->vromEnd)
|
||||
{
|
||||
if (vrom >= iter->vromStart && vrom < iter->vromEnd)
|
||||
{
|
||||
while (iter->vromEnd) {
|
||||
if (vrom >= iter->vromStart && vrom < iter->vromEnd) {
|
||||
if (1) {} // Necessary to match
|
||||
|
||||
if (iter->romEnd == 0)
|
||||
{
|
||||
if (iter->vromEnd < vrom + size)
|
||||
if (iter->romEnd == 0) {
|
||||
if (iter->vromEnd < vrom + size) {
|
||||
DmaMgr_Error(req, filename, "Segment Alignment Error",
|
||||
"セグメント境界をまたがってDMA転送することはできません");
|
||||
}
|
||||
|
||||
DmaMgr_DMARomToRam(iter->romStart + (vrom - iter->vromStart), (u32)ram, size);
|
||||
found = true;
|
||||
|
||||
"No Press ROM:%08X RAM:%08X SIZE:%08X\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
romStart = iter->romStart;
|
||||
romSize = iter->romEnd - iter->romStart;
|
||||
|
||||
if (vrom != iter->vromStart)
|
||||
if (vrom != iter->vromStart) {
|
||||
DmaMgr_Error(req, filename, "Can't Transfer Segment",
|
||||
"圧縮されたセグメントの途中からはDMA転送することはできません");
|
||||
}
|
||||
|
||||
if (size != iter->vromEnd - iter->vromStart)
|
||||
if (size != iter->vromEnd - iter->vromStart) {
|
||||
DmaMgr_Error(req, filename, "Can't Transfer Segment",
|
||||
"圧縮されたセグメントの一部だけをDMA転送することはできません");
|
||||
}
|
||||
|
||||
osSetThreadPri(NULL, 0x0A);
|
||||
Yaz0_Decompress(romStart, ram, romSize);
|
||||
@ -1823,10 +1827,8 @@ void DmaMgr_ProcessMsg(DmaRequest* req)
|
||||
iter++;
|
||||
}
|
||||
|
||||
if (!found)
|
||||
{
|
||||
if (sDmaMgrDataExistError)
|
||||
{
|
||||
if (!found) {
|
||||
if (sDmaMgrDataExistError) {
|
||||
DmaMgr_Error(req, NULL, "DATA DON'T EXIST", "該当するデータが存在しません");
|
||||
return;
|
||||
}
|
||||
@ -1837,25 +1839,23 @@ void DmaMgr_ProcessMsg(DmaRequest* req)
|
||||
}
|
||||
}
|
||||
|
||||
void DmaMgr_ThreadEntry(void* arg0)
|
||||
{
|
||||
void DmaMgr_ThreadEntry(void* arg0) {
|
||||
OSMesg msg;
|
||||
DmaRequest* req;
|
||||
|
||||
osSyncPrintf("DMAマネージャスレッド実行開始\n");
|
||||
while (true)
|
||||
{
|
||||
while (true) {
|
||||
osRecvMesg(&sDmaMgrMsgQueue, &msg, 1);
|
||||
req = (DmaRequest*)msg;
|
||||
if (!req)
|
||||
if (!req) {
|
||||
break;
|
||||
}
|
||||
|
||||
// strings present in .rodata but not actually used in the function, probably a removed function
|
||||
"DMA登録受付 dmap=%08x\n";
|
||||
|
||||
DmaMgr_ProcessMsg(req);
|
||||
if (req->notifyQueue)
|
||||
{
|
||||
if (req->notifyQueue) {
|
||||
osSendMesg(req->notifyQueue, req->notifyMsg, 0);
|
||||
"osSendMesg: dmap=%08x, mq=%08x, m=%08x \n";
|
||||
}
|
||||
@ -1863,13 +1863,13 @@ void DmaMgr_ThreadEntry(void* arg0)
|
||||
osSyncPrintf("DMAマネージャスレッド実行終了\n");
|
||||
}
|
||||
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg)
|
||||
{
|
||||
s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk, OSMesgQueue* queue, OSMesg msg) {
|
||||
static s32 sDmaMgrQueueFullLogged = 0;
|
||||
|
||||
if ((1 && (ram == 0)) || (osMemSize < ram + size + 0x80000000) ||
|
||||
(vrom & 1) || (vrom > 0x4000000U) || (size == 0) || (size & 1))
|
||||
if ((1 && (ram == 0)) || (osMemSize < ram + size + 0x80000000) || (vrom & 1) || (vrom > 0x4000000U) ||
|
||||
(size == 0) || (size & 1)) {
|
||||
DmaMgr_Error(req, NULL, "ILLIGAL DMA-FUNCTION CALL", "パラメータ異常です");
|
||||
}
|
||||
|
||||
req->vromAddr = vrom;
|
||||
req->dramAddr = (void*)ram;
|
||||
@ -1878,10 +1878,8 @@ s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk
|
||||
req->notifyQueue = queue;
|
||||
req->notifyMsg = msg;
|
||||
|
||||
if (1)
|
||||
{
|
||||
if ((sDmaMgrQueueFullLogged == 0) && (sDmaMgrMsgQueue.validCount >= sDmaMgrMsgQueue.msgCount))
|
||||
{
|
||||
if (1) {
|
||||
if ((sDmaMgrQueueFullLogged == 0) && (sDmaMgrMsgQueue.validCount >= sDmaMgrMsgQueue.msgCount)) {
|
||||
sDmaMgrQueueFullLogged++;
|
||||
osSyncPrintf("%c", 7);
|
||||
osSyncPrintf(VT_FGCOL(RED));
|
||||
@ -1897,8 +1895,7 @@ s32 DmaMgr_SendRequestImpl(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size)
|
||||
{
|
||||
s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size) {
|
||||
DmaRequest req;
|
||||
OSMesgQueue queue;
|
||||
OSMesg msg;
|
||||
@ -1906,22 +1903,23 @@ s32 DmaMgr_SendRequest0(u32 ram, u32 vrom, u32 size)
|
||||
|
||||
osCreateMesgQueue(&queue, &msg, 1);
|
||||
ret = DmaMgr_SendRequestImpl(&req, ram, vrom, size, 0, &queue, NULL);
|
||||
if (ret == -1)
|
||||
if (ret == -1) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
osRecvMesg(&queue, NULL, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void DmaMgr_Start()
|
||||
{
|
||||
void DmaMgr_Start() {
|
||||
const char** name;
|
||||
s32 idx;
|
||||
DmaEntry* iter;
|
||||
|
||||
if (_dmadataSegmentRomStart) {} // Necessary to match
|
||||
|
||||
DmaMgr_DMARomToRam((u32)_dmadataSegmentRomStart, (u32)_dmadataSegmentStart, (u32)_dmadataSegmentRomEnd - (u32)_dmadataSegmentRomStart);
|
||||
DmaMgr_DMARomToRam((u32)_dmadataSegmentRomStart, (u32)_dmadataSegmentStart,
|
||||
(u32)_dmadataSegmentRomEnd - (u32)_dmadataSegmentRomStart);
|
||||
osSyncPrintf("dma_rom_ad[]\n");
|
||||
|
||||
sDmaMgrDataExistError = 0;
|
||||
@ -1929,45 +1927,44 @@ void DmaMgr_Start()
|
||||
iter = gDmaDataTable;
|
||||
idx = 0;
|
||||
|
||||
while (iter->vromEnd != 0)
|
||||
{
|
||||
if (iter->romEnd != 0)
|
||||
while (iter->vromEnd != 0) {
|
||||
if (iter->romEnd != 0) {
|
||||
sDmaMgrDataExistError = 1;
|
||||
}
|
||||
|
||||
osSyncPrintf("%3d %08x %08x %08x %08x %08x %c %s\n",
|
||||
idx, iter->vromStart, iter->vromEnd, iter->romStart, iter->romEnd,
|
||||
osSyncPrintf(
|
||||
"%3d %08x %08x %08x %08x %08x %c %s\n", idx, iter->vromStart, iter->vromEnd, iter->romStart, iter->romEnd,
|
||||
(iter->romEnd != 0) ? iter->romEnd - iter->romStart : iter->vromEnd - iter->vromStart,
|
||||
(((iter->romEnd != 0) ? iter->romEnd - iter->romStart : 0) > 0x10000) ? '*' : ' ',
|
||||
name ? *name : "");
|
||||
(((iter->romEnd != 0) ? iter->romEnd - iter->romStart : 0) > 0x10000) ? '*' : ' ', name ? *name : "");
|
||||
|
||||
idx++;
|
||||
iter++;
|
||||
|
||||
if (name)
|
||||
if (name) {
|
||||
name++;
|
||||
}
|
||||
}
|
||||
|
||||
if ((u32)_bootSegmentRomStart != gDmaDataTable[0].vromEnd)
|
||||
{
|
||||
osSyncPrintf("_bootSegmentRomStart(%08x) != dma_rom_ad[0].rom_b(%08x)\n", _bootSegmentRomStart, gDmaDataTable[0].vromEnd);
|
||||
if ((u32)_bootSegmentRomStart != gDmaDataTable[0].vromEnd) {
|
||||
osSyncPrintf("_bootSegmentRomStart(%08x) != dma_rom_ad[0].rom_b(%08x)\n", _bootSegmentRomStart,
|
||||
gDmaDataTable[0].vromEnd);
|
||||
Fault_AddHungupAndCrash("../z_std_dma.c", 1055);
|
||||
}
|
||||
|
||||
osCreateMesgQueue(&sDmaMgrMsgQueue, sDmaMgrMsgs, sizeof(sDmaMgrMsgs)/sizeof(sDmaMgrMsgs[0]));
|
||||
StackCheck_Init(&sDmaMgrStackInfo, sDmaMgrStack, sDmaMgrStack+sizeof(sDmaMgrStack), 0, 0x100, "dmamgr");
|
||||
osCreateThread(&sDmaMgrThread, 0x12, &DmaMgr_ThreadEntry, 0, sDmaMgrStack+sizeof(sDmaMgrStack) ,0x10);
|
||||
osCreateMesgQueue(&sDmaMgrMsgQueue, sDmaMgrMsgs, sizeof(sDmaMgrMsgs) / sizeof(sDmaMgrMsgs[0]));
|
||||
StackCheck_Init(&sDmaMgrStackInfo, sDmaMgrStack, sDmaMgrStack + sizeof(sDmaMgrStack), 0, 0x100, "dmamgr");
|
||||
osCreateThread(&sDmaMgrThread, 0x12, &DmaMgr_ThreadEntry, 0, sDmaMgrStack + sizeof(sDmaMgrStack), 0x10);
|
||||
osStartThread(&sDmaMgrThread);
|
||||
}
|
||||
|
||||
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg, const char* file, s32 line)
|
||||
{
|
||||
s32 DmaMgr_SendRequest2(DmaRequest* req, u32 ram, u32 vrom, u32 size, u32 unk5, OSMesgQueue* queue, OSMesg msg,
|
||||
const char* file, s32 line) {
|
||||
req->filename = file;
|
||||
req->line = line;
|
||||
DmaMgr_SendRequestImpl(req, ram, vrom, size, unk5, queue, msg);
|
||||
}
|
||||
|
||||
s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line)
|
||||
{
|
||||
s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 line) {
|
||||
DmaRequest req;
|
||||
s32 ret;
|
||||
OSMesgQueue queue;
|
||||
@ -1979,8 +1976,9 @@ s32 DmaMgr_SendRequest1(void* ram0, u32 vrom, u32 size, const char* file, s32 li
|
||||
req.line = line;
|
||||
osCreateMesgQueue(&queue, &msg, 1);
|
||||
ret = DmaMgr_SendRequestImpl(&req, ram, vrom, size, 0, &queue, 0);
|
||||
if (ret == -1)
|
||||
if (ret == -1) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
osRecvMesg(&queue, NULL, 1);
|
||||
return 0;
|
||||
|
@ -1,172 +1,141 @@
|
||||
#include <global.h>
|
||||
|
||||
void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size)
|
||||
{
|
||||
void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size) {
|
||||
THA_Ct((TwoHeadArena*)thga, start, size);
|
||||
}
|
||||
|
||||
void THGA_Dt(TwoHeadGfxArena* thga)
|
||||
{
|
||||
void THGA_Dt(TwoHeadGfxArena* thga) {
|
||||
THA_Dt((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
u32 THGA_IsCrash(TwoHeadGfxArena* thga)
|
||||
{
|
||||
u32 THGA_IsCrash(TwoHeadGfxArena* thga) {
|
||||
return THA_IsCrash((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
void THGA_Init(TwoHeadGfxArena* thga)
|
||||
{
|
||||
void THGA_Init(TwoHeadGfxArena* thga) {
|
||||
THA_Init((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
s32 THGA_GetSize(TwoHeadGfxArena* thga)
|
||||
{
|
||||
s32 THGA_GetSize(TwoHeadGfxArena* thga) {
|
||||
return THA_GetSize((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
Gfx* THGA_GetHead(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_GetHead(TwoHeadGfxArena* thga) {
|
||||
return THA_GetHead((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
void THGA_SetHead(TwoHeadGfxArena* thga, Gfx* start)
|
||||
{
|
||||
void THGA_SetHead(TwoHeadGfxArena* thga, Gfx* start) {
|
||||
THA_SetHead((TwoHeadArena*)thga, start);
|
||||
}
|
||||
|
||||
Gfx* THGA_GetTail(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_GetTail(TwoHeadGfxArena* thga) {
|
||||
return THA_GetTail((TwoHeadArena*)thga);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocStartArray8(TwoHeadGfxArena* thga, u32 count)
|
||||
{
|
||||
Gfx* THGA_AllocStartArray8(TwoHeadGfxArena* thga, u32 count) {
|
||||
return THA_AllocStart((TwoHeadArena*)thga, count * 8);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocStart8(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_AllocStart8(TwoHeadGfxArena* thga) {
|
||||
return THGA_AllocStartArray8(thga, 1);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocStart8Wrapper(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_AllocStart8Wrapper(TwoHeadGfxArena* thga) {
|
||||
return THGA_AllocStart8(thga);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocEnd(TwoHeadGfxArena* thga, u32 size)
|
||||
{
|
||||
Gfx* THGA_AllocEnd(TwoHeadGfxArena* thga, u32 size) {
|
||||
return THA_AllocEnd((TwoHeadArena*)thga, size);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocEndArray64(TwoHeadGfxArena* thga, u32 count)
|
||||
{
|
||||
Gfx* THGA_AllocEndArray64(TwoHeadGfxArena* thga, u32 count) {
|
||||
return THGA_AllocEnd(thga, count * 0x40);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocEnd64(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_AllocEnd64(TwoHeadGfxArena* thga) {
|
||||
return THGA_AllocEnd(thga, 0x40);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocEndArray16(TwoHeadGfxArena* thga, u32 count)
|
||||
{
|
||||
Gfx* THGA_AllocEndArray16(TwoHeadGfxArena* thga, u32 count) {
|
||||
return THGA_AllocEnd(thga, count * 0x10);
|
||||
}
|
||||
|
||||
Gfx* THGA_AllocEnd16(TwoHeadGfxArena* thga)
|
||||
{
|
||||
Gfx* THGA_AllocEnd16(TwoHeadGfxArena* thga) {
|
||||
return THGA_AllocEnd(thga, 0x10);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void* THA_GetHead(TwoHeadArena* tha)
|
||||
{
|
||||
void* THA_GetHead(TwoHeadArena* tha) {
|
||||
return tha->head;
|
||||
}
|
||||
|
||||
void THA_SetHead(TwoHeadArena* tha, void* start)
|
||||
{
|
||||
void THA_SetHead(TwoHeadArena* tha, void* start) {
|
||||
tha->head = start;
|
||||
}
|
||||
|
||||
void* THA_GetTail(TwoHeadArena* tha)
|
||||
{
|
||||
void* THA_GetTail(TwoHeadArena* tha) {
|
||||
return tha->tail;
|
||||
}
|
||||
|
||||
void* THA_AllocStart(TwoHeadArena* tha, u32 size)
|
||||
{
|
||||
void* THA_AllocStart(TwoHeadArena* tha, u32 size) {
|
||||
void* start = tha->head;
|
||||
tha->head += size;
|
||||
return start;
|
||||
}
|
||||
|
||||
void* THA_AllocStart1(TwoHeadArena* tha)
|
||||
{
|
||||
void* THA_AllocStart1(TwoHeadArena* tha) {
|
||||
return THA_AllocStart(tha, 1);
|
||||
}
|
||||
|
||||
void* THA_AllocEnd(TwoHeadArena* tha, u32 size)
|
||||
{
|
||||
void* THA_AllocEnd(TwoHeadArena* tha, u32 size) {
|
||||
u32 mask;
|
||||
u32* temp;
|
||||
|
||||
if (size == 8)
|
||||
if (size == 8) {
|
||||
mask = ~7;
|
||||
else if (size == 4 || size == 12)
|
||||
} else if (size == 4 || size == 12) {
|
||||
mask = ~3;
|
||||
else if (size == 2 || size == 6 || size == 10 || size == 12 || size == 14)
|
||||
} else if (size == 2 || size == 6 || size == 10 || size == 12 || size == 14) {
|
||||
mask = ~1;
|
||||
else
|
||||
} else {
|
||||
mask = (size >= 0x10) ? ~0xF : 0;
|
||||
}
|
||||
|
||||
temp = (u32*)&tha->tail; // required to match
|
||||
return tha->tail = (void*)(((*temp & mask) - size) & mask);
|
||||
}
|
||||
|
||||
void* THA_AllocEndAlign16(TwoHeadArena *tha, u32 size)
|
||||
{
|
||||
void* ret = (void*)(u32)((((u32)tha->tail & ~0xF) - size) & ((~(0xF & 0xFFFFFFFFFFFFFFFF)) & 0xFFFFFFFFu)); // required to match
|
||||
void* THA_AllocEndAlign16(TwoHeadArena* tha, u32 size) {
|
||||
void* ret = (void*)(u32)((((u32)tha->tail & ~0xF) - size) &
|
||||
((~(0xF & 0xFFFFFFFFFFFFFFFF)) & 0xFFFFFFFFu)); // required to match
|
||||
tha->tail = ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
void* THA_AllocEndAlign(TwoHeadArena* tha, u32 size, u32 mask)
|
||||
{
|
||||
void* THA_AllocEndAlign(TwoHeadArena* tha, u32 size, u32 mask) {
|
||||
void* ret = (void*)((((u32)tha->tail & mask) - size) & mask);
|
||||
tha->tail = ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
s32 THA_GetSize(TwoHeadArena* tha)
|
||||
{
|
||||
s32 THA_GetSize(TwoHeadArena* tha) {
|
||||
return tha->tail - tha->head;
|
||||
}
|
||||
|
||||
u32 THA_IsCrash(TwoHeadArena* tha)
|
||||
{
|
||||
u32 THA_IsCrash(TwoHeadArena* tha) {
|
||||
return THA_GetSize(tha) < 0;
|
||||
}
|
||||
|
||||
void THA_Init(TwoHeadArena* tha)
|
||||
{
|
||||
void THA_Init(TwoHeadArena* tha) {
|
||||
tha->head = tha->bufp;
|
||||
tha->tail = tha->bufp + tha->size;
|
||||
}
|
||||
|
||||
void THA_Ct(TwoHeadArena* tha, void* ptr, u32 size)
|
||||
{
|
||||
void THA_Ct(TwoHeadArena* tha, void* ptr, u32 size) {
|
||||
tha->bufp = ptr;
|
||||
tha->size = size;
|
||||
THA_Init(tha);
|
||||
}
|
||||
|
||||
void THA_Dt(TwoHeadArena* tha)
|
||||
{
|
||||
void THA_Dt(TwoHeadArena* tha) {
|
||||
bzero(tha, sizeof(TwoHeadArena));
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -14,4 +14,3 @@
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/audioMgr/func_800C3FC4.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/audioMgr/func_800C3FEC.s")
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
GlobalContext* func_80026B00(void)
|
||||
{
|
||||
GlobalContext* func_80026B00(void) {
|
||||
return D_80157DA0;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80026B00/func_80026B0C.s")
|
||||
|
||||
void func_80026C1C(u8* arg0)
|
||||
{
|
||||
void func_80026C1C(u8* arg0) {
|
||||
arg0[0] = 0;
|
||||
arg0[1] = 0;
|
||||
arg0[2] = 0;
|
||||
|
@ -3,59 +3,56 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_800430A0/func_800430A0.s")
|
||||
|
||||
void func_800432A0(CollisionContext* colCtx, u32 floorPolySource, Actor* actor)
|
||||
{
|
||||
if (func_8003E934(floorPolySource) != 0)
|
||||
{
|
||||
void func_800432A0(CollisionContext* colCtx, u32 floorPolySource, Actor* actor) {
|
||||
if (func_8003E934(floorPolySource) != 0) {
|
||||
s16 v1 = colCtx->dyna.actorMeshArr[floorPolySource].rot2.y - colCtx->dyna.actorMeshArr[floorPolySource].rot1.y;
|
||||
|
||||
if (actor->id == 0)
|
||||
if (actor->id == 0) {
|
||||
((Player*)actor)->unk_83C += v1;
|
||||
}
|
||||
|
||||
actor->shape.rot.y += v1;
|
||||
actor->posRot.rot.y += v1;
|
||||
}
|
||||
}
|
||||
|
||||
void func_80043334(CollisionContext* colCtx, Actor* actor, u32 floorPolySource)
|
||||
{
|
||||
if (func_8003E934(floorPolySource) != 0)
|
||||
{
|
||||
void func_80043334(CollisionContext* colCtx, Actor* actor, u32 floorPolySource) {
|
||||
if (func_8003E934(floorPolySource) != 0) {
|
||||
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
if (dynaActor != NULL)
|
||||
{
|
||||
if (dynaActor != NULL) {
|
||||
func_800434A8(dynaActor);
|
||||
|
||||
if ((actor->flags & 0x4000000) == 0x4000000)
|
||||
if ((actor->flags & 0x4000000) == 0x4000000) {
|
||||
func_80043538(dynaActor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800433A4(CollisionContext* colCtx, u32 floorPolySource, Actor* actor)
|
||||
{
|
||||
s32 func_800433A4(CollisionContext* colCtx, u32 floorPolySource, Actor* actor) {
|
||||
s32 sp24 = 0;
|
||||
DynaPolyActor* dynaActor;
|
||||
|
||||
if (func_8003E934(floorPolySource) == 0)
|
||||
if (func_8003E934(floorPolySource) == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((colCtx->dyna.flags[floorPolySource] & 2) || !(colCtx->dyna.flags[floorPolySource] & 1))
|
||||
if ((colCtx->dyna.flags[floorPolySource] & 2) || !(colCtx->dyna.flags[floorPolySource] & 1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
|
||||
if (dynaActor == NULL)
|
||||
if (dynaActor == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (dynaActor->unk_15C & 1)
|
||||
{
|
||||
if (dynaActor->unk_15C & 1) {
|
||||
func_800430A0(colCtx, floorPolySource, actor);
|
||||
sp24 = 1;
|
||||
}
|
||||
|
||||
if (dynaActor->unk_15C & 2)
|
||||
{
|
||||
if (dynaActor->unk_15C & 2) {
|
||||
func_800432A0(colCtx, floorPolySource, actor);
|
||||
sp24 = 1;
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags)
|
||||
{
|
||||
void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags) {
|
||||
dynaActor->dynaPolyId = -1;
|
||||
dynaActor->unk_15C = flags;
|
||||
dynaActor->unk_160 = 0;
|
||||
@ -10,77 +9,72 @@ void DynaPolyInfo_SetActorMove(DynaPolyActor* dynaActor, DynaPolyMoveFlag flags)
|
||||
dynaActor->unk_154 = 0.0f;
|
||||
}
|
||||
|
||||
void func_800434A0(DynaPolyActor *dynaActor)
|
||||
{
|
||||
void func_800434A0(DynaPolyActor* dynaActor) {
|
||||
dynaActor->unk_160 = 0;
|
||||
}
|
||||
|
||||
void func_800434A8(DynaPolyActor *dynaActor)
|
||||
{
|
||||
void func_800434A8(DynaPolyActor* dynaActor) {
|
||||
dynaActor->unk_160 |= 1;
|
||||
}
|
||||
|
||||
void func_800434B8(DynaPolyActor *dynaActor)
|
||||
{
|
||||
void func_800434B8(DynaPolyActor* dynaActor) {
|
||||
dynaActor->unk_160 |= 2;
|
||||
}
|
||||
|
||||
void func_800434C8(CollisionContext* colCtx, u32 floorPolySource)
|
||||
{
|
||||
DynaPolyActor *dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
void func_800434C8(CollisionContext* colCtx, u32 floorPolySource) {
|
||||
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
|
||||
if (dynaActor != NULL)
|
||||
if (dynaActor != NULL) {
|
||||
func_800434B8(dynaActor);
|
||||
}
|
||||
}
|
||||
|
||||
void func_800434F8(DynaPolyActor* dynaActor)
|
||||
{
|
||||
void func_800434F8(DynaPolyActor* dynaActor) {
|
||||
dynaActor->unk_160 |= 4;
|
||||
}
|
||||
|
||||
void func_80043508(CollisionContext* colCtx, u32 floorPolySource)
|
||||
{
|
||||
DynaPolyActor *dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
void func_80043508(CollisionContext* colCtx, u32 floorPolySource) {
|
||||
DynaPolyActor* dynaActor = DynaPolyInfo_GetActor(colCtx, floorPolySource);
|
||||
|
||||
if (dynaActor != NULL)
|
||||
if (dynaActor != NULL) {
|
||||
func_800434F8(dynaActor);
|
||||
}
|
||||
}
|
||||
|
||||
void func_80043538(DynaPolyActor* dynaActor)
|
||||
{
|
||||
void func_80043538(DynaPolyActor* dynaActor) {
|
||||
dynaActor->unk_160 |= 8;
|
||||
}
|
||||
|
||||
s32 func_80043548(DynaPolyActor* dynaActor)
|
||||
{
|
||||
if (dynaActor->unk_160 & 1)
|
||||
s32 func_80043548(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->unk_160 & 1) {
|
||||
return 1;
|
||||
else
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_8004356C(DynaPolyActor* dynaActor)
|
||||
{
|
||||
if (dynaActor->unk_160 & 2)
|
||||
s32 func_8004356C(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->unk_160 & 2) {
|
||||
return 1;
|
||||
else
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_80043590(DynaPolyActor* dynaActor)
|
||||
{
|
||||
if (dynaActor->unk_160 & 4)
|
||||
s32 func_80043590(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->unk_160 & 4) {
|
||||
return 1;
|
||||
else
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_800435B4(DynaPolyActor* dynaActor)
|
||||
{
|
||||
if (dynaActor->unk_160 & 8)
|
||||
s32 func_800435B4(DynaPolyActor* dynaActor) {
|
||||
if (dynaActor->unk_160 & 8) {
|
||||
return 1;
|
||||
else
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_80043480/func_800435D8.s")
|
||||
|
@ -1,13 +1,11 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void* MemCopy(void* dest, void* src, s32 size)
|
||||
{
|
||||
void* MemCopy(void* dest, void* src, s32 size) {
|
||||
u8* destu = (u8*)dest;
|
||||
u8* srcu = (u8*)src;
|
||||
|
||||
while (size > 0)
|
||||
{
|
||||
while (size > 0) {
|
||||
*destu++ = *srcu++;
|
||||
size--;
|
||||
}
|
||||
@ -15,13 +13,11 @@ void* MemCopy(void* dest, void* src, s32 size)
|
||||
return dest;
|
||||
}
|
||||
|
||||
void* MemSet(void* dest, s32 val, s32 size)
|
||||
{
|
||||
void* MemSet(void* dest, s32 val, s32 size) {
|
||||
u8* destu = (u8*)dest;
|
||||
s32 s = size;
|
||||
|
||||
while (s > 0)
|
||||
{
|
||||
while (s > 0) {
|
||||
*destu++ = val;
|
||||
s--;
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
u16 D_8011F3F0[60][9] =
|
||||
{
|
||||
u16 D_8011F3F0[60][9] = {
|
||||
{ 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 },
|
||||
{ 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B },
|
||||
{ 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 },
|
||||
@ -65,8 +64,7 @@ u16 D_8011F3F0[60][9] =
|
||||
{ 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 },
|
||||
};
|
||||
|
||||
u16 func_8006C360(GlobalContext* globalCtx, u32 idx)
|
||||
{
|
||||
u16 func_8006C360(GlobalContext* globalCtx, u32 idx) {
|
||||
u8 mask = func_8008F080(globalCtx);
|
||||
return D_8011F3F0[idx][mask];
|
||||
}
|
||||
|
@ -8,4 +8,3 @@
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C3A0/func_8006C438.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C3A0/func_8006C4A4.s")
|
||||
|
||||
|
@ -4,4 +4,3 @@
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C510.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006C510/func_8006C5A8.s")
|
||||
|
||||
|
@ -5,10 +5,7 @@
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006EA30/func_8006ECF4.s")
|
||||
|
||||
void func_8006EE48(UNK_TYPE arg0)
|
||||
{
|
||||
|
||||
void func_8006EE48(UNK_TYPE arg0) {
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8006EA30/func_8006EE50.s")
|
||||
|
||||
|
@ -3,8 +3,7 @@
|
||||
|
||||
Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1);
|
||||
|
||||
f32 func_8007BF90(Vec3f* a, Vec3f* b)
|
||||
{
|
||||
f32 func_8007BF90(Vec3f* a, Vec3f* b) {
|
||||
f32 dx = a->x - b->x;
|
||||
f32 dy = a->y - b->y;
|
||||
f32 dz = a->z - b->z;
|
||||
@ -12,8 +11,7 @@ f32 func_8007BF90(Vec3f* a, Vec3f* b)
|
||||
return sqrtf(SQ(dx) + SQ(dy) + SQ(dz));
|
||||
}
|
||||
|
||||
f32 func_8007BFD0(Vec3f* a, Vec3f* b, Vec3f* dest)
|
||||
{
|
||||
f32 func_8007BFD0(Vec3f* a, Vec3f* b, Vec3f* dest) {
|
||||
dest->x = a->x - b->x;
|
||||
dest->y = a->y - b->y;
|
||||
dest->z = a->z - b->z;
|
||||
@ -21,20 +19,17 @@ f32 func_8007BFD0(Vec3f* a, Vec3f* b, Vec3f* dest)
|
||||
return sqrtf(SQ(dest->x) + SQ(dest->y) + SQ(dest->z));
|
||||
}
|
||||
|
||||
f32 func_8007C028(Vec3f* a, Vec3f* b)
|
||||
{
|
||||
f32 func_8007C028(Vec3f* a, Vec3f* b) {
|
||||
return sqrtf(SQ(a->x - b->x) + SQ(a->z - b->z));
|
||||
}
|
||||
|
||||
f32 func_8007C058(f32 arg0, f32 arg1)
|
||||
{
|
||||
f32 func_8007C058(f32 arg0, f32 arg1) {
|
||||
return (arg1 <= fabsf(arg0)) ? arg0 : ((arg0 >= 0) ? arg1 : -arg1);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C0A8.s")
|
||||
|
||||
Vec3f* func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
{
|
||||
Vec3f* func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b) {
|
||||
Vec3f v1;
|
||||
Vec3f v2;
|
||||
f32 temp;
|
||||
@ -54,8 +49,7 @@ Vec3f* func_8007C0F8(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
return dest;
|
||||
}
|
||||
|
||||
Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1)
|
||||
{
|
||||
Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1) {
|
||||
Vec3f v;
|
||||
f32 sin4;
|
||||
f32 cos4;
|
||||
@ -78,8 +72,7 @@ Vec3f* func_8007C1AC(Vec3f* dest, struct_80045714* arg1)
|
||||
|
||||
void func_8007C3F4(struct_80045714* arg0, Vec3f* arg1);
|
||||
|
||||
void func_8007C25C(Vec3f* dest, struct_80045714* arg1)
|
||||
{
|
||||
void func_8007C25C(Vec3f* dest, struct_80045714* arg1) {
|
||||
struct_80045714 var;
|
||||
|
||||
var.unk_00 = arg1->unk_00;
|
||||
@ -95,8 +88,7 @@ void func_8007C25C(Vec3f* dest, struct_80045714* arg1)
|
||||
|
||||
void func_8007C29C(struct_80045714* arg0, Vec3f* arg1);
|
||||
|
||||
void func_8007C440(struct_80045714* arg0, Vec3f* a, Vec3f* b)
|
||||
{
|
||||
void func_8007C440(struct_80045714* arg0, Vec3f* a, Vec3f* b) {
|
||||
Vec3f var;
|
||||
|
||||
var.x = b->x - a->x;
|
||||
@ -106,8 +98,7 @@ void func_8007C440(struct_80045714* arg0, Vec3f* a, Vec3f* b)
|
||||
func_8007C29C(arg0, &var);
|
||||
}
|
||||
|
||||
void func_8007C490(struct_80045714* arg0, Vec3f* a, Vec3f* b)
|
||||
{
|
||||
void func_8007C490(struct_80045714* arg0, Vec3f* a, Vec3f* b) {
|
||||
Vec3f var;
|
||||
|
||||
var.x = b->x - a->x;
|
||||
@ -117,8 +108,7 @@ void func_8007C490(struct_80045714* arg0, Vec3f* a, Vec3f* b)
|
||||
func_8007C3F4(arg0, &var);
|
||||
}
|
||||
|
||||
Vec3f* func_8007C4E0(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
{
|
||||
Vec3f* func_8007C4E0(Vec3f* dest, Vec3f* a, Vec3f* b) {
|
||||
Vec3f var;
|
||||
|
||||
var.x = Math_atan2f(b->z - a->z, b->y - a->y);
|
||||
@ -133,4 +123,3 @@ Vec3f* func_8007C4E0(Vec3f* dest, Vec3f* a, Vec3f* b)
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C574.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/code_8007BF90/func_8007C5E0.s")
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user