mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 19:13:42 +00:00
ViMode progress (#802)
* ViMode OK * Fix variable name in regconvert tool * ViMode: fix formatting * Add nonmatching impl for ViMode_Configure, respond to PR - Fixed struct field naming (unkXX -> unk_XX) - ViMode_Configure args are not flags for top/left etc; seem to be for video mode - Used @Random06457's implementation of `ViMode_LogPrint` * Use plain LOG_ADDRESS in ViMode_LogPrint * Incorporate PR feedback from Roman971
This commit is contained in:
parent
278e471074
commit
7c77253eca
14 changed files with 359 additions and 794 deletions
|
@ -1,4 +1,4 @@
|
||||||
glabel func_800AC2F4
|
glabel ViMode_Configure
|
||||||
/* B23494 800AC2F4 2CE80001 */ sltiu $t0, $a3, 1
|
/* B23494 800AC2F4 2CE80001 */ sltiu $t0, $a3, 1
|
||||||
/* B23498 800AC2F8 27BDFFA0 */ addiu $sp, $sp, -0x60
|
/* B23498 800AC2F8 27BDFFA0 */ addiu $sp, $sp, -0x60
|
||||||
/* B2349C 800AC2FC 0008102B */ sltu $v0, $zero, $t0
|
/* B2349C 800AC2FC 0008102B */ sltu $v0, $zero, $t0
|
|
@ -1,333 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_801413A0
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801413B0
|
|
||||||
.asciz "osvimodep = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801413C4
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801413D4
|
|
||||||
.asciz "osvimodep->comRegs.ctrl = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801413F4
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141404
|
|
||||||
.asciz "osvimodep->comRegs.width = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141428
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141438
|
|
||||||
.asciz "osvimodep->comRegs.burst = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014145C
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014146C
|
|
||||||
.asciz "osvimodep->comRegs.vSync = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141490
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801414A0
|
|
||||||
.asciz "osvimodep->comRegs.hSync = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801414C4
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801414D4
|
|
||||||
.asciz "osvimodep->comRegs.leap = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801414F4
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141504
|
|
||||||
.asciz "osvimodep->comRegs.hStart = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141528
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141538
|
|
||||||
.asciz "osvimodep->comRegs.xScale = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014155C
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014156C
|
|
||||||
.asciz "osvimodep->fldRegs[0].vStart = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141594
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801415A4
|
|
||||||
.asciz "osvimodep->fldRegs[0].vBurst = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801415CC
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801415DC
|
|
||||||
.asciz "osvimodep->fldRegs[0].origin = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141604
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141614
|
|
||||||
.asciz "osvimodep->fldRegs[0].yScale = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014163C
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_8014164C
|
|
||||||
.asciz "osvimodep->fldRegs[0].vIntr = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141670
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141680
|
|
||||||
.asciz "osvimodep->fldRegs[1].vStart = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801416A8
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801416B8
|
|
||||||
.asciz "osvimodep->fldRegs[1].vBurst = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801416E0
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801416F0
|
|
||||||
.asciz "osvimodep->fldRegs[1].origin = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141718
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141728
|
|
||||||
.asciz "osvimodep->fldRegs[1].yScale = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141750
|
|
||||||
.asciz "../z_vimode.c"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141760
|
|
||||||
.asciz "osvimodep->fldRegs[1].vIntr = %08x\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_800AC030
|
|
||||||
/* B231D0 800AC030 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
||||||
/* B231D4 800AC034 AFA40018 */ sw $a0, 0x18($sp)
|
|
||||||
/* B231D8 800AC038 AFBF0014 */ sw $ra, 0x14($sp)
|
|
||||||
/* B231DC 800AC03C 3C048014 */ lui $a0, %hi(D_801413A0) # $a0, 0x8014
|
|
||||||
/* B231E0 800AC040 248413A0 */ addiu $a0, %lo(D_801413A0) # addiu $a0, $a0, 0x13a0
|
|
||||||
/* B231E4 800AC044 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B231E8 800AC048 24050057 */ li $a1, 87
|
|
||||||
/* B231EC 800AC04C 3C048014 */ lui $a0, %hi(D_801413B0) # $a0, 0x8014
|
|
||||||
/* B231F0 800AC050 248413B0 */ addiu $a0, %lo(D_801413B0) # addiu $a0, $a0, 0x13b0
|
|
||||||
/* B231F4 800AC054 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B231F8 800AC058 8FA50018 */ lw $a1, 0x18($sp)
|
|
||||||
/* B231FC 800AC05C 3C048014 */ lui $a0, %hi(D_801413C4) # $a0, 0x8014
|
|
||||||
/* B23200 800AC060 248413C4 */ addiu $a0, %lo(D_801413C4) # addiu $a0, $a0, 0x13c4
|
|
||||||
/* B23204 800AC064 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23208 800AC068 24050058 */ li $a1, 88
|
|
||||||
/* B2320C 800AC06C 8FAE0018 */ lw $t6, 0x18($sp)
|
|
||||||
/* B23210 800AC070 3C048014 */ lui $a0, %hi(D_801413D4) # $a0, 0x8014
|
|
||||||
/* B23214 800AC074 248413D4 */ addiu $a0, %lo(D_801413D4) # addiu $a0, $a0, 0x13d4
|
|
||||||
/* B23218 800AC078 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B2321C 800AC07C 8DC50004 */ lw $a1, 4($t6)
|
|
||||||
/* B23220 800AC080 3C048014 */ lui $a0, %hi(D_801413F4) # $a0, 0x8014
|
|
||||||
/* B23224 800AC084 248413F4 */ addiu $a0, %lo(D_801413F4) # addiu $a0, $a0, 0x13f4
|
|
||||||
/* B23228 800AC088 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B2322C 800AC08C 24050059 */ li $a1, 89
|
|
||||||
/* B23230 800AC090 8FAF0018 */ lw $t7, 0x18($sp)
|
|
||||||
/* B23234 800AC094 3C048014 */ lui $a0, %hi(D_80141404) # $a0, 0x8014
|
|
||||||
/* B23238 800AC098 24841404 */ addiu $a0, %lo(D_80141404) # addiu $a0, $a0, 0x1404
|
|
||||||
/* B2323C 800AC09C 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23240 800AC0A0 8DE50008 */ lw $a1, 8($t7)
|
|
||||||
/* B23244 800AC0A4 3C048014 */ lui $a0, %hi(D_80141428) # $a0, 0x8014
|
|
||||||
/* B23248 800AC0A8 24841428 */ addiu $a0, %lo(D_80141428) # addiu $a0, $a0, 0x1428
|
|
||||||
/* B2324C 800AC0AC 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23250 800AC0B0 2405005A */ li $a1, 90
|
|
||||||
/* B23254 800AC0B4 8FB80018 */ lw $t8, 0x18($sp)
|
|
||||||
/* B23258 800AC0B8 3C048014 */ lui $a0, %hi(D_80141438) # $a0, 0x8014
|
|
||||||
/* B2325C 800AC0BC 24841438 */ addiu $a0, %lo(D_80141438) # addiu $a0, $a0, 0x1438
|
|
||||||
/* B23260 800AC0C0 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23264 800AC0C4 8F05000C */ lw $a1, 0xc($t8)
|
|
||||||
/* B23268 800AC0C8 3C048014 */ lui $a0, %hi(D_8014145C) # $a0, 0x8014
|
|
||||||
/* B2326C 800AC0CC 2484145C */ addiu $a0, %lo(D_8014145C) # addiu $a0, $a0, 0x145c
|
|
||||||
/* B23270 800AC0D0 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23274 800AC0D4 2405005B */ li $a1, 91
|
|
||||||
/* B23278 800AC0D8 8FB90018 */ lw $t9, 0x18($sp)
|
|
||||||
/* B2327C 800AC0DC 3C048014 */ lui $a0, %hi(D_8014146C) # $a0, 0x8014
|
|
||||||
/* B23280 800AC0E0 2484146C */ addiu $a0, %lo(D_8014146C) # addiu $a0, $a0, 0x146c
|
|
||||||
/* B23284 800AC0E4 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23288 800AC0E8 8F250010 */ lw $a1, 0x10($t9)
|
|
||||||
/* B2328C 800AC0EC 3C048014 */ lui $a0, %hi(D_80141490) # $a0, 0x8014
|
|
||||||
/* B23290 800AC0F0 24841490 */ addiu $a0, %lo(D_80141490) # addiu $a0, $a0, 0x1490
|
|
||||||
/* B23294 800AC0F4 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23298 800AC0F8 2405005C */ li $a1, 92
|
|
||||||
/* B2329C 800AC0FC 8FA80018 */ lw $t0, 0x18($sp)
|
|
||||||
/* B232A0 800AC100 3C048014 */ lui $a0, %hi(D_801414A0) # $a0, 0x8014
|
|
||||||
/* B232A4 800AC104 248414A0 */ addiu $a0, %lo(D_801414A0) # addiu $a0, $a0, 0x14a0
|
|
||||||
/* B232A8 800AC108 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B232AC 800AC10C 8D050014 */ lw $a1, 0x14($t0)
|
|
||||||
/* B232B0 800AC110 3C048014 */ lui $a0, %hi(D_801414C4) # $a0, 0x8014
|
|
||||||
/* B232B4 800AC114 248414C4 */ addiu $a0, %lo(D_801414C4) # addiu $a0, $a0, 0x14c4
|
|
||||||
/* B232B8 800AC118 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B232BC 800AC11C 2405005D */ li $a1, 93
|
|
||||||
/* B232C0 800AC120 8FA90018 */ lw $t1, 0x18($sp)
|
|
||||||
/* B232C4 800AC124 3C048014 */ lui $a0, %hi(D_801414D4) # $a0, 0x8014
|
|
||||||
/* B232C8 800AC128 248414D4 */ addiu $a0, %lo(D_801414D4) # addiu $a0, $a0, 0x14d4
|
|
||||||
/* B232CC 800AC12C 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B232D0 800AC130 8D250018 */ lw $a1, 0x18($t1)
|
|
||||||
/* B232D4 800AC134 3C048014 */ lui $a0, %hi(D_801414F4) # $a0, 0x8014
|
|
||||||
/* B232D8 800AC138 248414F4 */ addiu $a0, %lo(D_801414F4) # addiu $a0, $a0, 0x14f4
|
|
||||||
/* B232DC 800AC13C 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B232E0 800AC140 2405005E */ li $a1, 94
|
|
||||||
/* B232E4 800AC144 8FAA0018 */ lw $t2, 0x18($sp)
|
|
||||||
/* B232E8 800AC148 3C048014 */ lui $a0, %hi(D_80141504) # $a0, 0x8014
|
|
||||||
/* B232EC 800AC14C 24841504 */ addiu $a0, %lo(D_80141504) # addiu $a0, $a0, 0x1504
|
|
||||||
/* B232F0 800AC150 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B232F4 800AC154 8D45001C */ lw $a1, 0x1c($t2)
|
|
||||||
/* B232F8 800AC158 3C048014 */ lui $a0, %hi(D_80141528) # $a0, 0x8014
|
|
||||||
/* B232FC 800AC15C 24841528 */ addiu $a0, %lo(D_80141528) # addiu $a0, $a0, 0x1528
|
|
||||||
/* B23300 800AC160 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23304 800AC164 2405005F */ li $a1, 95
|
|
||||||
/* B23308 800AC168 8FAB0018 */ lw $t3, 0x18($sp)
|
|
||||||
/* B2330C 800AC16C 3C048014 */ lui $a0, %hi(D_80141538) # $a0, 0x8014
|
|
||||||
/* B23310 800AC170 24841538 */ addiu $a0, %lo(D_80141538) # addiu $a0, $a0, 0x1538
|
|
||||||
/* B23314 800AC174 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23318 800AC178 8D650020 */ lw $a1, 0x20($t3)
|
|
||||||
/* B2331C 800AC17C 3C048014 */ lui $a0, %hi(D_8014155C) # $a0, 0x8014
|
|
||||||
/* B23320 800AC180 2484155C */ addiu $a0, %lo(D_8014155C) # addiu $a0, $a0, 0x155c
|
|
||||||
/* B23324 800AC184 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23328 800AC188 24050060 */ li $a1, 96
|
|
||||||
/* B2332C 800AC18C 8FAC0018 */ lw $t4, 0x18($sp)
|
|
||||||
/* B23330 800AC190 3C048014 */ lui $a0, %hi(D_8014156C) # $a0, 0x8014
|
|
||||||
/* B23334 800AC194 2484156C */ addiu $a0, %lo(D_8014156C) # addiu $a0, $a0, 0x156c
|
|
||||||
/* B23338 800AC198 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B2333C 800AC19C 8D850030 */ lw $a1, 0x30($t4)
|
|
||||||
/* B23340 800AC1A0 3C048014 */ lui $a0, %hi(D_80141594) # $a0, 0x8014
|
|
||||||
/* B23344 800AC1A4 24841594 */ addiu $a0, %lo(D_80141594) # addiu $a0, $a0, 0x1594
|
|
||||||
/* B23348 800AC1A8 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B2334C 800AC1AC 24050061 */ li $a1, 97
|
|
||||||
/* B23350 800AC1B0 8FAD0018 */ lw $t5, 0x18($sp)
|
|
||||||
/* B23354 800AC1B4 3C048014 */ lui $a0, %hi(D_801415A4) # $a0, 0x8014
|
|
||||||
/* B23358 800AC1B8 248415A4 */ addiu $a0, %lo(D_801415A4) # addiu $a0, $a0, 0x15a4
|
|
||||||
/* B2335C 800AC1BC 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23360 800AC1C0 8DA50034 */ lw $a1, 0x34($t5)
|
|
||||||
/* B23364 800AC1C4 3C048014 */ lui $a0, %hi(D_801415CC) # $a0, 0x8014
|
|
||||||
/* B23368 800AC1C8 248415CC */ addiu $a0, %lo(D_801415CC) # addiu $a0, $a0, 0x15cc
|
|
||||||
/* B2336C 800AC1CC 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23370 800AC1D0 24050062 */ li $a1, 98
|
|
||||||
/* B23374 800AC1D4 8FAE0018 */ lw $t6, 0x18($sp)
|
|
||||||
/* B23378 800AC1D8 3C048014 */ lui $a0, %hi(D_801415DC) # $a0, 0x8014
|
|
||||||
/* B2337C 800AC1DC 248415DC */ addiu $a0, %lo(D_801415DC) # addiu $a0, $a0, 0x15dc
|
|
||||||
/* B23380 800AC1E0 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23384 800AC1E4 8DC50028 */ lw $a1, 0x28($t6)
|
|
||||||
/* B23388 800AC1E8 3C048014 */ lui $a0, %hi(D_80141604) # $a0, 0x8014
|
|
||||||
/* B2338C 800AC1EC 24841604 */ addiu $a0, %lo(D_80141604) # addiu $a0, $a0, 0x1604
|
|
||||||
/* B23390 800AC1F0 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23394 800AC1F4 24050063 */ li $a1, 99
|
|
||||||
/* B23398 800AC1F8 8FAF0018 */ lw $t7, 0x18($sp)
|
|
||||||
/* B2339C 800AC1FC 3C048014 */ lui $a0, %hi(D_80141614) # $a0, 0x8014
|
|
||||||
/* B233A0 800AC200 24841614 */ addiu $a0, %lo(D_80141614) # addiu $a0, $a0, 0x1614
|
|
||||||
/* B233A4 800AC204 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B233A8 800AC208 8DE5002C */ lw $a1, 0x2c($t7)
|
|
||||||
/* B233AC 800AC20C 3C048014 */ lui $a0, %hi(D_8014163C) # $a0, 0x8014
|
|
||||||
/* B233B0 800AC210 2484163C */ addiu $a0, %lo(D_8014163C) # addiu $a0, $a0, 0x163c
|
|
||||||
/* B233B4 800AC214 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B233B8 800AC218 24050064 */ li $a1, 100
|
|
||||||
/* B233BC 800AC21C 8FB80018 */ lw $t8, 0x18($sp)
|
|
||||||
/* B233C0 800AC220 3C048014 */ lui $a0, %hi(D_8014164C) # $a0, 0x8014
|
|
||||||
/* B233C4 800AC224 2484164C */ addiu $a0, %lo(D_8014164C) # addiu $a0, $a0, 0x164c
|
|
||||||
/* B233C8 800AC228 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B233CC 800AC22C 8F050038 */ lw $a1, 0x38($t8)
|
|
||||||
/* B233D0 800AC230 3C048014 */ lui $a0, %hi(D_80141670) # $a0, 0x8014
|
|
||||||
/* B233D4 800AC234 24841670 */ addiu $a0, %lo(D_80141670) # addiu $a0, $a0, 0x1670
|
|
||||||
/* B233D8 800AC238 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B233DC 800AC23C 24050065 */ li $a1, 101
|
|
||||||
/* B233E0 800AC240 8FB90018 */ lw $t9, 0x18($sp)
|
|
||||||
/* B233E4 800AC244 3C048014 */ lui $a0, %hi(D_80141680) # $a0, 0x8014
|
|
||||||
/* B233E8 800AC248 24841680 */ addiu $a0, %lo(D_80141680) # addiu $a0, $a0, 0x1680
|
|
||||||
/* B233EC 800AC24C 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B233F0 800AC250 8F250044 */ lw $a1, 0x44($t9)
|
|
||||||
/* B233F4 800AC254 3C048014 */ lui $a0, %hi(D_801416A8) # $a0, 0x8014
|
|
||||||
/* B233F8 800AC258 248416A8 */ addiu $a0, %lo(D_801416A8) # addiu $a0, $a0, 0x16a8
|
|
||||||
/* B233FC 800AC25C 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23400 800AC260 24050066 */ li $a1, 102
|
|
||||||
/* B23404 800AC264 8FA80018 */ lw $t0, 0x18($sp)
|
|
||||||
/* B23408 800AC268 3C048014 */ lui $a0, %hi(D_801416B8) # $a0, 0x8014
|
|
||||||
/* B2340C 800AC26C 248416B8 */ addiu $a0, %lo(D_801416B8) # addiu $a0, $a0, 0x16b8
|
|
||||||
/* B23410 800AC270 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23414 800AC274 8D050048 */ lw $a1, 0x48($t0)
|
|
||||||
/* B23418 800AC278 3C048014 */ lui $a0, %hi(D_801416E0) # $a0, 0x8014
|
|
||||||
/* B2341C 800AC27C 248416E0 */ addiu $a0, %lo(D_801416E0) # addiu $a0, $a0, 0x16e0
|
|
||||||
/* B23420 800AC280 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23424 800AC284 24050067 */ li $a1, 103
|
|
||||||
/* B23428 800AC288 8FA90018 */ lw $t1, 0x18($sp)
|
|
||||||
/* B2342C 800AC28C 3C048014 */ lui $a0, %hi(D_801416F0) # $a0, 0x8014
|
|
||||||
/* B23430 800AC290 248416F0 */ addiu $a0, %lo(D_801416F0) # addiu $a0, $a0, 0x16f0
|
|
||||||
/* B23434 800AC294 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23438 800AC298 8D25003C */ lw $a1, 0x3c($t1)
|
|
||||||
/* B2343C 800AC29C 3C048014 */ lui $a0, %hi(D_80141718) # $a0, 0x8014
|
|
||||||
/* B23440 800AC2A0 24841718 */ addiu $a0, %lo(D_80141718) # addiu $a0, $a0, 0x1718
|
|
||||||
/* B23444 800AC2A4 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B23448 800AC2A8 24050068 */ li $a1, 104
|
|
||||||
/* B2344C 800AC2AC 8FAA0018 */ lw $t2, 0x18($sp)
|
|
||||||
/* B23450 800AC2B0 3C048014 */ lui $a0, %hi(D_80141728) # $a0, 0x8014
|
|
||||||
/* B23454 800AC2B4 24841728 */ addiu $a0, %lo(D_80141728) # addiu $a0, $a0, 0x1728
|
|
||||||
/* B23458 800AC2B8 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B2345C 800AC2BC 8D450040 */ lw $a1, 0x40($t2)
|
|
||||||
/* B23460 800AC2C0 3C048014 */ lui $a0, %hi(D_80141750) # $a0, 0x8014
|
|
||||||
/* B23464 800AC2C4 24841750 */ addiu $a0, %lo(D_80141750) # addiu $a0, $a0, 0x1750
|
|
||||||
/* B23468 800AC2C8 0C000B84 */ jal LogUtils_LogThreadId
|
|
||||||
/* B2346C 800AC2CC 24050069 */ li $a1, 105
|
|
||||||
/* B23470 800AC2D0 8FAB0018 */ lw $t3, 0x18($sp)
|
|
||||||
/* B23474 800AC2D4 3C048014 */ lui $a0, %hi(D_80141760) # $a0, 0x8014
|
|
||||||
/* B23478 800AC2D8 24841760 */ addiu $a0, %lo(D_80141760) # addiu $a0, $a0, 0x1760
|
|
||||||
/* B2347C 800AC2DC 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23480 800AC2E0 8D65004C */ lw $a1, 0x4c($t3)
|
|
||||||
/* B23484 800AC2E4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
/* B23488 800AC2E8 27BD0018 */ addiu $sp, $sp, 0x18
|
|
||||||
/* B2348C 800AC2EC 03E00008 */ jr $ra
|
|
||||||
/* B23490 800AC2F0 00000000 */ nop
|
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
.rdata
|
|
||||||
glabel D_80141784
|
|
||||||
.asciz "osViModePalLan1\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_80141798
|
|
||||||
.asciz "osViModeFpalLan1\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
glabel D_801417AC
|
|
||||||
.asciz "Custom\n"
|
|
||||||
.balign 4
|
|
||||||
|
|
||||||
.text
|
|
||||||
glabel func_800AC89C
|
|
||||||
/* B23A3C 800AC89C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
||||||
/* B23A40 800AC8A0 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
|
|
||||||
/* B23A44 800AC8A4 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
|
|
||||||
/* B23A48 800AC8A8 AFBF0014 */ sw $ra, 0x14($sp)
|
|
||||||
/* B23A4C 800AC8AC 8C8E0068 */ lw $t6, 0x68($a0)
|
|
||||||
/* B23A50 800AC8B0 8C4F0000 */ lw $t7, ($v0)
|
|
||||||
/* B23A54 800AC8B4 24060001 */ li $a2, 1
|
|
||||||
/* B23A58 800AC8B8 00802825 */ move $a1, $a0
|
|
||||||
/* B23A5C 800AC8BC A5EE0134 */ sh $t6, 0x134($t7)
|
|
||||||
/* B23A60 800AC8C0 8C590000 */ lw $t9, ($v0)
|
|
||||||
/* B23A64 800AC8C4 8C980054 */ lw $t8, 0x54($a0)
|
|
||||||
/* B23A68 800AC8C8 A7380136 */ sh $t8, 0x136($t9)
|
|
||||||
/* B23A6C 800AC8CC 8C490000 */ lw $t1, ($v0)
|
|
||||||
/* B23A70 800AC8D0 8C880050 */ lw $t0, 0x50($a0)
|
|
||||||
/* B23A74 800AC8D4 A5280138 */ sh $t0, 0x138($t1)
|
|
||||||
/* B23A78 800AC8D8 8C4B0000 */ lw $t3, ($v0)
|
|
||||||
/* B23A7C 800AC8DC 8C8A0064 */ lw $t2, 0x64($a0)
|
|
||||||
/* B23A80 800AC8E0 A56A013A */ sh $t2, 0x13a($t3)
|
|
||||||
/* B23A84 800AC8E4 8C4D0000 */ lw $t5, ($v0)
|
|
||||||
/* B23A88 800AC8E8 8C8C0060 */ lw $t4, 0x60($a0)
|
|
||||||
/* B23A8C 800AC8EC A5AC013C */ sh $t4, 0x13c($t5)
|
|
||||||
/* B23A90 800AC8F0 8C4F0000 */ lw $t7, ($v0)
|
|
||||||
/* B23A94 800AC8F4 8C8E005C */ lw $t6, 0x5c($a0)
|
|
||||||
/* B23A98 800AC8F8 A5EE013E */ sh $t6, 0x13e($t7)
|
|
||||||
/* B23A9C 800AC8FC 8C590000 */ lw $t9, ($v0)
|
|
||||||
/* B23AA0 800AC900 8C980058 */ lw $t8, 0x58($a0)
|
|
||||||
/* B23AA4 800AC904 A7380140 */ sh $t8, 0x140($t9)
|
|
||||||
/* B23AA8 800AC908 8C430000 */ lw $v1, ($v0)
|
|
||||||
/* B23AAC 800AC90C 84680148 */ lh $t0, 0x148($v1)
|
|
||||||
/* B23AB0 800AC910 54C80021 */ bnel $a2, $t0, .L800AC998
|
|
||||||
/* B23AB4 800AC914 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
/* B23AB8 800AC918 A4600148 */ sh $zero, 0x148($v1)
|
|
||||||
/* B23ABC 800AC91C 8C490000 */ lw $t1, ($v0)
|
|
||||||
/* B23AC0 800AC920 24010002 */ li $at, 2
|
|
||||||
/* B23AC4 800AC924 8524014A */ lh $a0, 0x14a($t1)
|
|
||||||
/* B23AC8 800AC928 10860005 */ beq $a0, $a2, .L800AC940
|
|
||||||
/* B23ACC 800AC92C 00000000 */ nop
|
|
||||||
/* B23AD0 800AC930 1081000B */ beq $a0, $at, .L800AC960
|
|
||||||
/* B23AD4 800AC934 00000000 */ nop
|
|
||||||
/* B23AD8 800AC938 10000011 */ b .L800AC980
|
|
||||||
/* B23ADC 800AC93C 3C048014 */ lui $a0, %hi(D_801417AC)
|
|
||||||
.L800AC940:
|
|
||||||
/* B23AE0 800AC940 3C048014 */ lui $a0, %hi(D_80141784) # $a0, 0x8014
|
|
||||||
/* B23AE4 800AC944 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23AE8 800AC948 24841784 */ addiu $a0, %lo(D_80141784) # addiu $a0, $a0, 0x1784
|
|
||||||
/* B23AEC 800AC94C 3C048001 */ lui $a0, %hi(osViModePalLan1) # $a0, 0x8001
|
|
||||||
/* B23AF0 800AC950 0C02B00C */ jal func_800AC030
|
|
||||||
/* B23AF4 800AC954 2484ACA0 */ addiu $a0, %lo(osViModePalLan1) # addiu $a0, $a0, -0x5360
|
|
||||||
/* B23AF8 800AC958 1000000F */ b .L800AC998
|
|
||||||
/* B23AFC 800AC95C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
.L800AC960:
|
|
||||||
/* B23B00 800AC960 3C048014 */ lui $a0, %hi(D_80141798) # $a0, 0x8014
|
|
||||||
/* B23B04 800AC964 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23B08 800AC968 24841798 */ addiu $a0, %lo(D_80141798) # addiu $a0, $a0, 0x1798
|
|
||||||
/* B23B0C 800AC96C 3C048001 */ lui $a0, %hi(osViModeFpalLan1) # $a0, 0x8001
|
|
||||||
/* B23B10 800AC970 0C02B00C */ jal func_800AC030
|
|
||||||
/* B23B14 800AC974 2484AF20 */ addiu $a0, %lo(osViModeFpalLan1) # addiu $a0, $a0, -0x50e0
|
|
||||||
/* B23B18 800AC978 10000007 */ b .L800AC998
|
|
||||||
/* B23B1C 800AC97C 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
.L800AC980:
|
|
||||||
/* B23B20 800AC980 248417AC */ addiu $a0, %lo(D_801417AC)
|
|
||||||
/* B23B24 800AC984 0C00084C */ jal osSyncPrintf
|
|
||||||
/* B23B28 800AC988 AFA50018 */ sw $a1, 0x18($sp)
|
|
||||||
/* B23B2C 800AC98C 0C02B00C */ jal func_800AC030
|
|
||||||
/* B23B30 800AC990 8FA40018 */ lw $a0, 0x18($sp)
|
|
||||||
/* B23B34 800AC994 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
.L800AC998:
|
|
||||||
/* B23B38 800AC998 27BD0018 */ addiu $sp, $sp, 0x18
|
|
||||||
/* B23B3C 800AC99C 03E00008 */ jr $ra
|
|
||||||
/* B23B40 800AC9A0 00000000 */ nop
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
glabel func_800AC9A4
|
|
||||||
/* B23B44 800AC9A4 3C058016 */ lui $a1, %hi(gGameInfo) # $a1, 0x8016
|
|
||||||
/* B23B48 800AC9A8 24A5FA90 */ addiu $a1, %lo(gGameInfo) # addiu $a1, $a1, -0x570
|
|
||||||
/* B23B4C 800AC9AC 8CA20000 */ lw $v0, ($a1)
|
|
||||||
/* B23B50 800AC9B0 2406FFFC */ li $a2, -4
|
|
||||||
/* B23B54 800AC9B4 24010001 */ li $at, 1
|
|
||||||
/* B23B58 800AC9B8 84430136 */ lh $v1, 0x136($v0)
|
|
||||||
/* B23B5C 800AC9BC 00667024 */ and $t6, $v1, $a2
|
|
||||||
/* B23B60 800AC9C0 15C10003 */ bne $t6, $at, .L800AC9D0
|
|
||||||
/* B23B64 800AC9C4 246F0004 */ addiu $t7, $v1, 4
|
|
||||||
/* B23B68 800AC9C8 A44F0136 */ sh $t7, 0x136($v0)
|
|
||||||
/* B23B6C 800AC9CC 8CA20000 */ lw $v0, ($a1)
|
|
||||||
.L800AC9D0:
|
|
||||||
/* B23B70 800AC9D0 84580134 */ lh $t8, 0x134($v0)
|
|
||||||
/* B23B74 800AC9D4 AC980068 */ sw $t8, 0x68($a0)
|
|
||||||
/* B23B78 800AC9D8 8CB90000 */ lw $t9, ($a1)
|
|
||||||
/* B23B7C 800AC9DC 87280136 */ lh $t0, 0x136($t9)
|
|
||||||
/* B23B80 800AC9E0 01064824 */ and $t1, $t0, $a2
|
|
||||||
/* B23B84 800AC9E4 AC890054 */ sw $t1, 0x54($a0)
|
|
||||||
/* B23B88 800AC9E8 8CAA0000 */ lw $t2, ($a1)
|
|
||||||
/* B23B8C 800AC9EC 854B0138 */ lh $t3, 0x138($t2)
|
|
||||||
/* B23B90 800AC9F0 AC8B0050 */ sw $t3, 0x50($a0)
|
|
||||||
/* B23B94 800AC9F4 8CAC0000 */ lw $t4, ($a1)
|
|
||||||
/* B23B98 800AC9F8 858D013A */ lh $t5, 0x13a($t4)
|
|
||||||
/* B23B9C 800AC9FC AC8D0064 */ sw $t5, 0x64($a0)
|
|
||||||
/* B23BA0 800ACA00 8CAE0000 */ lw $t6, ($a1)
|
|
||||||
/* B23BA4 800ACA04 85CF013C */ lh $t7, 0x13c($t6)
|
|
||||||
/* B23BA8 800ACA08 AC8F0060 */ sw $t7, 0x60($a0)
|
|
||||||
/* B23BAC 800ACA0C 8CB80000 */ lw $t8, ($a1)
|
|
||||||
/* B23BB0 800ACA10 8719013E */ lh $t9, 0x13e($t8)
|
|
||||||
/* B23BB4 800ACA14 AC99005C */ sw $t9, 0x5c($a0)
|
|
||||||
/* B23BB8 800ACA18 8CA80000 */ lw $t0, ($a1)
|
|
||||||
/* B23BBC 800ACA1C 85090140 */ lh $t1, 0x140($t0)
|
|
||||||
/* B23BC0 800ACA20 03E00008 */ jr $ra
|
|
||||||
/* B23BC4 800ACA24 AC890058 */ sw $t1, 0x58($a0)
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
glabel func_800ACA28
|
|
||||||
/* B23BC8 800ACA28 27BDFFE8 */ addiu $sp, $sp, -0x18
|
|
||||||
/* B23BCC 800ACA2C AFBF0014 */ sw $ra, 0x14($sp)
|
|
||||||
/* B23BD0 800ACA30 240E0140 */ li $t6, 320
|
|
||||||
/* B23BD4 800ACA34 240F00F0 */ li $t7, 240
|
|
||||||
/* B23BD8 800ACA38 24180042 */ li $t8, 66
|
|
||||||
/* B23BDC 800ACA3C AC800068 */ sw $zero, 0x68($a0)
|
|
||||||
/* B23BE0 800ACA40 AC8E0054 */ sw $t6, 0x54($a0)
|
|
||||||
/* B23BE4 800ACA44 AC8F0050 */ sw $t7, 0x50($a0)
|
|
||||||
/* B23BE8 800ACA48 AC80005C */ sw $zero, 0x5c($a0)
|
|
||||||
/* B23BEC 800ACA4C AC800058 */ sw $zero, 0x58($a0)
|
|
||||||
/* B23BF0 800ACA50 AC800064 */ sw $zero, 0x64($a0)
|
|
||||||
/* B23BF4 800ACA54 AC800060 */ sw $zero, 0x60($a0)
|
|
||||||
/* B23BF8 800ACA58 AC980080 */ sw $t8, 0x80($a0)
|
|
||||||
/* B23BFC 800ACA5C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000
|
|
||||||
/* B23C00 800ACA60 8F390300 */ lw $t9, %lo(osTvType)($t9)
|
|
||||||
/* B23C04 800ACA64 24020001 */ li $v0, 1
|
|
||||||
/* B23C08 800ACA68 AC82007C */ sw $v0, 0x7c($a0)
|
|
||||||
/* B23C0C 800ACA6C AC820078 */ sw $v0, 0x78($a0)
|
|
||||||
/* B23C10 800ACA70 AC800074 */ sw $zero, 0x74($a0)
|
|
||||||
/* B23C14 800ACA74 AC820070 */ sw $v0, 0x70($a0)
|
|
||||||
/* B23C18 800ACA78 0C02B227 */ jal func_800AC89C
|
|
||||||
/* B23C1C 800ACA7C AC99006C */ sw $t9, 0x6c($a0)
|
|
||||||
/* B23C20 800ACA80 8FBF0014 */ lw $ra, 0x14($sp)
|
|
||||||
/* B23C24 800ACA84 27BD0018 */ addiu $sp, $sp, 0x18
|
|
||||||
/* B23C28 800ACA88 03E00008 */ jr $ra
|
|
||||||
/* B23C2C 800ACA8C 00000000 */ nop
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
glabel func_800ACA90
|
|
||||||
/* B23C30 800ACA90 03E00008 */ jr $ra
|
|
||||||
/* B23C34 800ACA94 AFA40000 */ sw $a0, ($sp)
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
glabel func_800ACA98
|
|
||||||
/* B23C38 800ACA98 30AE0001 */ andi $t6, $a1, 1
|
|
||||||
/* B23C3C 800ACA9C 11C00002 */ beqz $t6, .L800ACAA8
|
|
||||||
/* B23C40 800ACAA0 8C820004 */ lw $v0, 4($a0)
|
|
||||||
/* B23C44 800ACAA4 34420008 */ ori $v0, $v0, 8
|
|
||||||
.L800ACAA8:
|
|
||||||
/* B23C48 800ACAA8 30AF0002 */ andi $t7, $a1, 2
|
|
||||||
/* B23C4C 800ACAAC 11E00003 */ beqz $t7, .L800ACABC
|
|
||||||
/* B23C50 800ACAB0 30B80004 */ andi $t8, $a1, 4
|
|
||||||
/* B23C54 800ACAB4 2401FFF7 */ li $at, -9
|
|
||||||
/* B23C58 800ACAB8 00411024 */ and $v0, $v0, $at
|
|
||||||
.L800ACABC:
|
|
||||||
/* B23C5C 800ACABC 13000002 */ beqz $t8, .L800ACAC8
|
|
||||||
/* B23C60 800ACAC0 30B90008 */ andi $t9, $a1, 8
|
|
||||||
/* B23C64 800ACAC4 34420004 */ ori $v0, $v0, 4
|
|
||||||
.L800ACAC8:
|
|
||||||
/* B23C68 800ACAC8 13200003 */ beqz $t9, .L800ACAD8
|
|
||||||
/* B23C6C 800ACACC 30A80010 */ andi $t0, $a1, 0x10
|
|
||||||
/* B23C70 800ACAD0 2401FFFB */ li $at, -5
|
|
||||||
/* B23C74 800ACAD4 00411024 */ and $v0, $v0, $at
|
|
||||||
.L800ACAD8:
|
|
||||||
/* B23C78 800ACAD8 11000002 */ beqz $t0, .L800ACAE4
|
|
||||||
/* B23C7C 800ACADC 30A90020 */ andi $t1, $a1, 0x20
|
|
||||||
/* B23C80 800ACAE0 34420010 */ ori $v0, $v0, 0x10
|
|
||||||
.L800ACAE4:
|
|
||||||
/* B23C84 800ACAE4 11200002 */ beqz $t1, .L800ACAF0
|
|
||||||
/* B23C88 800ACAE8 2401FFEF */ li $at, -17
|
|
||||||
/* B23C8C 800ACAEC 00411024 */ and $v0, $v0, $at
|
|
||||||
.L800ACAF0:
|
|
||||||
/* B23C90 800ACAF0 03E00008 */ jr $ra
|
|
||||||
/* B23C94 800ACAF4 AC820004 */ sw $v0, 4($a0)
|
|
||||||
|
|
|
@ -1,246 +0,0 @@
|
||||||
glabel func_800ACAF8
|
|
||||||
/* B23C98 800ACAF8 27BDFFB8 */ addiu $sp, $sp, -0x48
|
|
||||||
/* B23C9C 800ACAFC AFBF0044 */ sw $ra, 0x44($sp)
|
|
||||||
/* B23CA0 800ACB00 AFB00040 */ sw $s0, 0x40($sp)
|
|
||||||
/* B23CA4 800ACB04 00808025 */ move $s0, $a0
|
|
||||||
/* B23CA8 800ACB08 0C02B269 */ jal func_800AC9A4
|
|
||||||
/* B23CAC 800ACB0C AFA5004C */ sw $a1, 0x4c($sp)
|
|
||||||
/* B23CB0 800ACB10 8E020068 */ lw $v0, 0x68($s0)
|
|
||||||
/* B23CB4 800ACB14 24010001 */ li $at, 1
|
|
||||||
/* B23CB8 800ACB18 8FA5004C */ lw $a1, 0x4c($sp)
|
|
||||||
/* B23CBC 800ACB1C 10410005 */ beq $v0, $at, .L800ACB34
|
|
||||||
/* B23CC0 800ACB20 24010002 */ li $at, 2
|
|
||||||
/* B23CC4 800ACB24 10410003 */ beq $v0, $at, .L800ACB34
|
|
||||||
/* B23CC8 800ACB28 24010003 */ li $at, 3
|
|
||||||
/* B23CCC 800ACB2C 144100C6 */ bne $v0, $at, .L800ACE48
|
|
||||||
/* B23CD0 800ACB30 00000000 */ nop
|
|
||||||
.L800ACB34:
|
|
||||||
/* B23CD4 800ACB34 8E0E0054 */ lw $t6, 0x54($s0)
|
|
||||||
/* B23CD8 800ACB38 3C018013 */ lui $at, %hi(gScreenWidth) # $at, 0x8013
|
|
||||||
/* B23CDC 800ACB3C 02002025 */ move $a0, $s0
|
|
||||||
/* B23CE0 800ACB40 AC2ED270 */ sw $t6, %lo(gScreenWidth)($at)
|
|
||||||
/* B23CE4 800ACB44 8E0F0050 */ lw $t7, 0x50($s0)
|
|
||||||
/* B23CE8 800ACB48 3C018013 */ lui $at, %hi(gScreenHeight) # $at, 0x8013
|
|
||||||
/* B23CEC 800ACB4C AC2FD274 */ sw $t7, %lo(gScreenHeight)($at)
|
|
||||||
/* B23CF0 800ACB50 94A20000 */ lhu $v0, ($a1)
|
|
||||||
/* B23CF4 800ACB54 2401EFF6 */ li $at, -4106
|
|
||||||
/* B23CF8 800ACB58 0041C027 */ nor $t8, $v0, $at
|
|
||||||
/* B23CFC 800ACB5C 57000006 */ bnezl $t8, .L800ACB78
|
|
||||||
/* B23D00 800ACB60 2401FFF7 */ li $at, -9
|
|
||||||
/* B23D04 800ACB64 0C02B28A */ jal func_800ACA28
|
|
||||||
/* B23D08 800ACB68 AFA5004C */ sw $a1, 0x4c($sp)
|
|
||||||
/* B23D0C 800ACB6C 8FA5004C */ lw $a1, 0x4c($sp)
|
|
||||||
/* B23D10 800ACB70 94A20000 */ lhu $v0, ($a1)
|
|
||||||
/* B23D14 800ACB74 2401FFF7 */ li $at, -9
|
|
||||||
.L800ACB78:
|
|
||||||
/* B23D18 800ACB78 0041C827 */ nor $t9, $v0, $at
|
|
||||||
/* B23D1C 800ACB7C 1720001E */ bnez $t9, .L800ACBF8
|
|
||||||
/* B23D20 800ACB80 2401FFFE */ li $at, -2
|
|
||||||
/* B23D24 800ACB84 2404F7FF */ li $a0, -2049
|
|
||||||
/* B23D28 800ACB88 00444827 */ nor $t1, $v0, $a0
|
|
||||||
/* B23D2C 800ACB8C 15200005 */ bnez $t1, .L800ACBA4
|
|
||||||
/* B23D30 800ACB90 2406FBFF */ li $a2, -1025
|
|
||||||
/* B23D34 800ACB94 8E0A0064 */ lw $t2, 0x64($s0)
|
|
||||||
/* B23D38 800ACB98 254BFFFF */ addiu $t3, $t2, -1
|
|
||||||
/* B23D3C 800ACB9C AE0B0064 */ sw $t3, 0x64($s0)
|
|
||||||
/* B23D40 800ACBA0 94A20000 */ lhu $v0, ($a1)
|
|
||||||
.L800ACBA4:
|
|
||||||
/* B23D44 800ACBA4 00466027 */ nor $t4, $v0, $a2
|
|
||||||
/* B23D48 800ACBA8 15800005 */ bnez $t4, .L800ACBC0
|
|
||||||
/* B23D4C 800ACBAC 2407FDFF */ li $a3, -513
|
|
||||||
/* B23D50 800ACBB0 8E0D0064 */ lw $t5, 0x64($s0)
|
|
||||||
/* B23D54 800ACBB4 25AE0001 */ addiu $t6, $t5, 1
|
|
||||||
/* B23D58 800ACBB8 AE0E0064 */ sw $t6, 0x64($s0)
|
|
||||||
/* B23D5C 800ACBBC 94A20000 */ lhu $v0, ($a1)
|
|
||||||
.L800ACBC0:
|
|
||||||
/* B23D60 800ACBC0 00477827 */ nor $t7, $v0, $a3
|
|
||||||
/* B23D64 800ACBC4 15E00005 */ bnez $t7, .L800ACBDC
|
|
||||||
/* B23D68 800ACBC8 2408FEFF */ li $t0, -257
|
|
||||||
/* B23D6C 800ACBCC 8E18005C */ lw $t8, 0x5c($s0)
|
|
||||||
/* B23D70 800ACBD0 2719FFFF */ addiu $t9, $t8, -1
|
|
||||||
/* B23D74 800ACBD4 AE19005C */ sw $t9, 0x5c($s0)
|
|
||||||
/* B23D78 800ACBD8 94A20000 */ lhu $v0, ($a1)
|
|
||||||
.L800ACBDC:
|
|
||||||
/* B23D7C 800ACBDC 00484827 */ nor $t1, $v0, $t0
|
|
||||||
/* B23D80 800ACBE0 55200006 */ bnezl $t1, .L800ACBFC
|
|
||||||
/* B23D84 800ACBE4 00416027 */ nor $t4, $v0, $at
|
|
||||||
/* B23D88 800ACBE8 8E0A005C */ lw $t2, 0x5c($s0)
|
|
||||||
/* B23D8C 800ACBEC 254B0001 */ addiu $t3, $t2, 1
|
|
||||||
/* B23D90 800ACBF0 AE0B005C */ sw $t3, 0x5c($s0)
|
|
||||||
/* B23D94 800ACBF4 94A20000 */ lhu $v0, ($a1)
|
|
||||||
.L800ACBF8:
|
|
||||||
/* B23D98 800ACBF8 00416027 */ nor $t4, $v0, $at
|
|
||||||
.L800ACBFC:
|
|
||||||
/* B23D9C 800ACBFC 2404F7FF */ li $a0, -2049
|
|
||||||
/* B23DA0 800ACC00 2406FBFF */ li $a2, -1025
|
|
||||||
/* B23DA4 800ACC04 2407FDFF */ li $a3, -513
|
|
||||||
/* B23DA8 800ACC08 1580001D */ bnez $t4, .L800ACC80
|
|
||||||
/* B23DAC 800ACC0C 2408FEFF */ li $t0, -257
|
|
||||||
/* B23DB0 800ACC10 00446827 */ nor $t5, $v0, $a0
|
|
||||||
/* B23DB4 800ACC14 55A00006 */ bnezl $t5, .L800ACC30
|
|
||||||
/* B23DB8 800ACC18 0046C027 */ nor $t8, $v0, $a2
|
|
||||||
/* B23DBC 800ACC1C 8E0E0060 */ lw $t6, 0x60($s0)
|
|
||||||
/* B23DC0 800ACC20 25CFFFFF */ addiu $t7, $t6, -1
|
|
||||||
/* B23DC4 800ACC24 AE0F0060 */ sw $t7, 0x60($s0)
|
|
||||||
/* B23DC8 800ACC28 94A20000 */ lhu $v0, ($a1)
|
|
||||||
/* B23DCC 800ACC2C 0046C027 */ nor $t8, $v0, $a2
|
|
||||||
.L800ACC30:
|
|
||||||
/* B23DD0 800ACC30 57000006 */ bnezl $t8, .L800ACC4C
|
|
||||||
/* B23DD4 800ACC34 00475027 */ nor $t2, $v0, $a3
|
|
||||||
/* B23DD8 800ACC38 8E190060 */ lw $t9, 0x60($s0)
|
|
||||||
/* B23DDC 800ACC3C 27290001 */ addiu $t1, $t9, 1
|
|
||||||
/* B23DE0 800ACC40 AE090060 */ sw $t1, 0x60($s0)
|
|
||||||
/* B23DE4 800ACC44 94A20000 */ lhu $v0, ($a1)
|
|
||||||
/* B23DE8 800ACC48 00475027 */ nor $t2, $v0, $a3
|
|
||||||
.L800ACC4C:
|
|
||||||
/* B23DEC 800ACC4C 55400006 */ bnezl $t2, .L800ACC68
|
|
||||||
/* B23DF0 800ACC50 00486827 */ nor $t5, $v0, $t0
|
|
||||||
/* B23DF4 800ACC54 8E0B0058 */ lw $t3, 0x58($s0)
|
|
||||||
/* B23DF8 800ACC58 256CFFFF */ addiu $t4, $t3, -1
|
|
||||||
/* B23DFC 800ACC5C AE0C0058 */ sw $t4, 0x58($s0)
|
|
||||||
/* B23E00 800ACC60 94A20000 */ lhu $v0, ($a1)
|
|
||||||
/* B23E04 800ACC64 00486827 */ nor $t5, $v0, $t0
|
|
||||||
.L800ACC68:
|
|
||||||
/* B23E08 800ACC68 55A00006 */ bnezl $t5, .L800ACC84
|
|
||||||
/* B23E0C 800ACC6C 2401FFFB */ li $at, -5
|
|
||||||
/* B23E10 800ACC70 8E0E0058 */ lw $t6, 0x58($s0)
|
|
||||||
/* B23E14 800ACC74 25CF0001 */ addiu $t7, $t6, 1
|
|
||||||
/* B23E18 800ACC78 AE0F0058 */ sw $t7, 0x58($s0)
|
|
||||||
/* B23E1C 800ACC7C 94A20000 */ lhu $v0, ($a1)
|
|
||||||
.L800ACC80:
|
|
||||||
/* B23E20 800ACC80 2401FFFB */ li $at, -5
|
|
||||||
.L800ACC84:
|
|
||||||
/* B23E24 800ACC84 0041C027 */ nor $t8, $v0, $at
|
|
||||||
/* B23E28 800ACC88 5700001E */ bnezl $t8, .L800ACD04
|
|
||||||
/* B23E2C 800ACC8C 8E0C0068 */ lw $t4, 0x68($s0)
|
|
||||||
/* B23E30 800ACC90 94A3000C */ lhu $v1, 0xc($a1)
|
|
||||||
/* B23E34 800ACC94 0064C827 */ nor $t9, $v1, $a0
|
|
||||||
/* B23E38 800ACC98 57200006 */ bnezl $t9, .L800ACCB4
|
|
||||||
/* B23E3C 800ACC9C 00664827 */ nor $t1, $v1, $a2
|
|
||||||
/* B23E40 800ACCA0 8E020070 */ lw $v0, 0x70($s0)
|
|
||||||
/* B23E44 800ACCA4 2C420001 */ sltiu $v0, $v0, 1
|
|
||||||
/* B23E48 800ACCA8 AE020070 */ sw $v0, 0x70($s0)
|
|
||||||
/* B23E4C 800ACCAC 94A3000C */ lhu $v1, 0xc($a1)
|
|
||||||
/* B23E50 800ACCB0 00664827 */ nor $t1, $v1, $a2
|
|
||||||
.L800ACCB4:
|
|
||||||
/* B23E54 800ACCB4 55200006 */ bnezl $t1, .L800ACCD0
|
|
||||||
/* B23E58 800ACCB8 00675027 */ nor $t2, $v1, $a3
|
|
||||||
/* B23E5C 800ACCBC 8E020074 */ lw $v0, 0x74($s0)
|
|
||||||
/* B23E60 800ACCC0 2C420001 */ sltiu $v0, $v0, 1
|
|
||||||
/* B23E64 800ACCC4 AE020074 */ sw $v0, 0x74($s0)
|
|
||||||
/* B23E68 800ACCC8 94A3000C */ lhu $v1, 0xc($a1)
|
|
||||||
/* B23E6C 800ACCCC 00675027 */ nor $t2, $v1, $a3
|
|
||||||
.L800ACCD0:
|
|
||||||
/* B23E70 800ACCD0 55400006 */ bnezl $t2, .L800ACCEC
|
|
||||||
/* B23E74 800ACCD4 00685827 */ nor $t3, $v1, $t0
|
|
||||||
/* B23E78 800ACCD8 8E020078 */ lw $v0, 0x78($s0)
|
|
||||||
/* B23E7C 800ACCDC 2C420001 */ sltiu $v0, $v0, 1
|
|
||||||
/* B23E80 800ACCE0 AE020078 */ sw $v0, 0x78($s0)
|
|
||||||
/* B23E84 800ACCE4 94A3000C */ lhu $v1, 0xc($a1)
|
|
||||||
/* B23E88 800ACCE8 00685827 */ nor $t3, $v1, $t0
|
|
||||||
.L800ACCEC:
|
|
||||||
/* B23E8C 800ACCEC 55600005 */ bnezl $t3, .L800ACD04
|
|
||||||
/* B23E90 800ACCF0 8E0C0068 */ lw $t4, 0x68($s0)
|
|
||||||
/* B23E94 800ACCF4 8E02007C */ lw $v0, 0x7c($s0)
|
|
||||||
/* B23E98 800ACCF8 2C420001 */ sltiu $v0, $v0, 1
|
|
||||||
/* B23E9C 800ACCFC AE02007C */ sw $v0, 0x7c($s0)
|
|
||||||
/* B23EA0 800ACD00 8E0C0068 */ lw $t4, 0x68($s0)
|
|
||||||
.L800ACD04:
|
|
||||||
/* B23EA4 800ACD04 29810002 */ slti $at, $t4, 2
|
|
||||||
/* B23EA8 800ACD08 5420001A */ bnezl $at, .L800ACD74
|
|
||||||
/* B23EAC 800ACD0C 8E0B005C */ lw $t3, 0x5c($s0)
|
|
||||||
/* B23EB0 800ACD10 8E0D005C */ lw $t5, 0x5c($s0)
|
|
||||||
/* B23EB4 800ACD14 240EFFF0 */ li $t6, -16
|
|
||||||
/* B23EB8 800ACD18 2418FFCE */ li $t8, -50
|
|
||||||
/* B23EBC 800ACD1C 29A1FFF0 */ slti $at, $t5, -0x10
|
|
||||||
/* B23EC0 800ACD20 10200002 */ beqz $at, .L800ACD2C
|
|
||||||
/* B23EC4 800ACD24 24090010 */ li $t1, 16
|
|
||||||
/* B23EC8 800ACD28 AE0E005C */ sw $t6, 0x5c($s0)
|
|
||||||
.L800ACD2C:
|
|
||||||
/* B23ECC 800ACD2C 8E0F0064 */ lw $t7, 0x64($s0)
|
|
||||||
/* B23ED0 800ACD30 29E1FFCE */ slti $at, $t7, -0x32
|
|
||||||
/* B23ED4 800ACD34 50200003 */ beql $at, $zero, .L800ACD44
|
|
||||||
/* B23ED8 800ACD38 8E190058 */ lw $t9, 0x58($s0)
|
|
||||||
/* B23EDC 800ACD3C AE180064 */ sw $t8, 0x64($s0)
|
|
||||||
/* B23EE0 800ACD40 8E190058 */ lw $t9, 0x58($s0)
|
|
||||||
.L800ACD44:
|
|
||||||
/* B23EE4 800ACD44 2B210011 */ slti $at, $t9, 0x11
|
|
||||||
/* B23EE8 800ACD48 54200003 */ bnezl $at, .L800ACD58
|
|
||||||
/* B23EEC 800ACD4C 8E020060 */ lw $v0, 0x60($s0)
|
|
||||||
/* B23EF0 800ACD50 AE090058 */ sw $t1, 0x58($s0)
|
|
||||||
/* B23EF4 800ACD54 8E020060 */ lw $v0, 0x60($s0)
|
|
||||||
.L800ACD58:
|
|
||||||
/* B23EF8 800ACD58 28410033 */ slti $at, $v0, 0x33
|
|
||||||
/* B23EFC 800ACD5C 54200016 */ bnezl $at, .L800ACDB8
|
|
||||||
/* B23F00 800ACD60 8E0E0074 */ lw $t6, 0x74($s0)
|
|
||||||
/* B23F04 800ACD64 24020032 */ li $v0, 50
|
|
||||||
/* B23F08 800ACD68 10000012 */ b .L800ACDB4
|
|
||||||
/* B23F0C 800ACD6C AE020060 */ sw $v0, 0x60($s0)
|
|
||||||
/* B23F10 800ACD70 8E0B005C */ lw $t3, 0x5c($s0)
|
|
||||||
.L800ACD74:
|
|
||||||
/* B23F14 800ACD74 05630003 */ bgezl $t3, .L800ACD84
|
|
||||||
/* B23F18 800ACD78 8E0C0064 */ lw $t4, 0x64($s0)
|
|
||||||
/* B23F1C 800ACD7C AE00005C */ sw $zero, 0x5c($s0)
|
|
||||||
/* B23F20 800ACD80 8E0C0064 */ lw $t4, 0x64($s0)
|
|
||||||
.L800ACD84:
|
|
||||||
/* B23F24 800ACD84 05830003 */ bgezl $t4, .L800ACD94
|
|
||||||
/* B23F28 800ACD88 8E0D0058 */ lw $t5, 0x58($s0)
|
|
||||||
/* B23F2C 800ACD8C AE000064 */ sw $zero, 0x64($s0)
|
|
||||||
/* B23F30 800ACD90 8E0D0058 */ lw $t5, 0x58($s0)
|
|
||||||
.L800ACD94:
|
|
||||||
/* B23F34 800ACD94 59A00003 */ blezl $t5, .L800ACDA4
|
|
||||||
/* B23F38 800ACD98 8E020060 */ lw $v0, 0x60($s0)
|
|
||||||
/* B23F3C 800ACD9C AE000058 */ sw $zero, 0x58($s0)
|
|
||||||
/* B23F40 800ACDA0 8E020060 */ lw $v0, 0x60($s0)
|
|
||||||
.L800ACDA4:
|
|
||||||
/* B23F44 800ACDA4 58400004 */ blezl $v0, .L800ACDB8
|
|
||||||
/* B23F48 800ACDA8 8E0E0074 */ lw $t6, 0x74($s0)
|
|
||||||
/* B23F4C 800ACDAC AE000060 */ sw $zero, 0x60($s0)
|
|
||||||
/* B23F50 800ACDB0 00001025 */ move $v0, $zero
|
|
||||||
.L800ACDB4:
|
|
||||||
/* B23F54 800ACDB4 8E0E0074 */ lw $t6, 0x74($s0)
|
|
||||||
.L800ACDB8:
|
|
||||||
/* B23F58 800ACDB8 8E070070 */ lw $a3, 0x70($s0)
|
|
||||||
/* B23F5C 800ACDBC 3C068000 */ lui $a2, %hi(osTvType) # $a2, 0x8000
|
|
||||||
/* B23F60 800ACDC0 AFAE0010 */ sw $t6, 0x10($sp)
|
|
||||||
/* B23F64 800ACDC4 8E0F0078 */ lw $t7, 0x78($s0)
|
|
||||||
/* B23F68 800ACDC8 8CC60300 */ lw $a2, %lo(osTvType)($a2)
|
|
||||||
/* B23F6C 800ACDCC 02002025 */ move $a0, $s0
|
|
||||||
/* B23F70 800ACDD0 AFAF0014 */ sw $t7, 0x14($sp)
|
|
||||||
/* B23F74 800ACDD4 8E18007C */ lw $t8, 0x7c($s0)
|
|
||||||
/* B23F78 800ACDD8 2405001C */ li $a1, 28
|
|
||||||
/* B23F7C 800ACDDC AFB80018 */ sw $t8, 0x18($sp)
|
|
||||||
/* B23F80 800ACDE0 8E190054 */ lw $t9, 0x54($s0)
|
|
||||||
/* B23F84 800ACDE4 AFB9001C */ sw $t9, 0x1c($sp)
|
|
||||||
/* B23F88 800ACDE8 8E090050 */ lw $t1, 0x50($s0)
|
|
||||||
/* B23F8C 800ACDEC AFA90020 */ sw $t1, 0x20($sp)
|
|
||||||
/* B23F90 800ACDF0 8E0A005C */ lw $t2, 0x5c($s0)
|
|
||||||
/* B23F94 800ACDF4 AFAA0024 */ sw $t2, 0x24($sp)
|
|
||||||
/* B23F98 800ACDF8 8E0B0058 */ lw $t3, 0x58($s0)
|
|
||||||
/* B23F9C 800ACDFC AFAB0028 */ sw $t3, 0x28($sp)
|
|
||||||
/* B23FA0 800ACE00 8E0C0064 */ lw $t4, 0x64($s0)
|
|
||||||
/* B23FA4 800ACE04 AFA20030 */ sw $v0, 0x30($sp)
|
|
||||||
/* B23FA8 800ACE08 0C02B0BD */ jal func_800AC2F4
|
|
||||||
/* B23FAC 800ACE0C AFAC002C */ sw $t4, 0x2c($sp)
|
|
||||||
/* B23FB0 800ACE10 02002025 */ move $a0, $s0
|
|
||||||
/* B23FB4 800ACE14 0C02B2A6 */ jal func_800ACA98
|
|
||||||
/* B23FB8 800ACE18 8E050080 */ lw $a1, 0x80($s0)
|
|
||||||
/* B23FBC 800ACE1C 8E0D0068 */ lw $t5, 0x68($s0)
|
|
||||||
/* B23FC0 800ACE20 24010003 */ li $at, 3
|
|
||||||
/* B23FC4 800ACE24 3C048001 */ lui $a0, %hi(osViModeNtscLan1) # $a0, 0x8001
|
|
||||||
/* B23FC8 800ACE28 15A10007 */ bne $t5, $at, .L800ACE48
|
|
||||||
/* B23FCC 800ACE2C 00000000 */ nop
|
|
||||||
/* B23FD0 800ACE30 0C02B00C */ jal func_800AC030
|
|
||||||
/* B23FD4 800ACE34 2484AE00 */ addiu $a0, %lo(osViModeNtscLan1) # addiu $a0, $a0, -0x5200
|
|
||||||
/* B23FD8 800ACE38 0C02B00C */ jal func_800AC030
|
|
||||||
/* B23FDC 800ACE3C 02002025 */ move $a0, $s0
|
|
||||||
/* B23FE0 800ACE40 240E0002 */ li $t6, 2
|
|
||||||
/* B23FE4 800ACE44 AE0E0068 */ sw $t6, 0x68($s0)
|
|
||||||
.L800ACE48:
|
|
||||||
/* B23FE8 800ACE48 0C02B227 */ jal func_800AC89C
|
|
||||||
/* B23FEC 800ACE4C 02002025 */ move $a0, $s0
|
|
||||||
/* B23FF0 800ACE50 8FBF0044 */ lw $ra, 0x44($sp)
|
|
||||||
/* B23FF4 800ACE54 8FB00040 */ lw $s0, 0x40($sp)
|
|
||||||
/* B23FF8 800ACE58 27BD0048 */ addiu $sp, $sp, 0x48
|
|
||||||
/* B23FFC 800ACE5C 03E00008 */ jr $ra
|
|
||||||
/* B24000 800ACE60 00000000 */ nop
|
|
|
@ -1438,14 +1438,17 @@ s32 func_800AB560(View* view);
|
||||||
s32 func_800AB944(View* view);
|
s32 func_800AB944(View* view);
|
||||||
s32 func_800AB9EC(View* view, s32 arg1, Gfx** p);
|
s32 func_800AB9EC(View* view, s32 arg1, Gfx** p);
|
||||||
s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
|
s32 func_800ABE74(f32 eyeX, f32 eyeY, f32 eyeZ);
|
||||||
// ? func_800AC030(?);
|
void ViMode_LogPrint(OSViMode *viMode);
|
||||||
// ? func_800AC2F4(?);
|
void ViMode_Configure(ViMode *viMode, u32 mode, u32 type,
|
||||||
// ? func_800AC89C(?);
|
u32 unk_70, u32 unk_74, u32 unk_78, u32 unk_7C,
|
||||||
// ? func_800AC9A4(?);
|
s32 width, s32 height,
|
||||||
void func_800ACA28(unk_80166528*);
|
s32 unk_left, s32 unk_right, s32 unk_top, s32 unk_bottom);
|
||||||
void func_800ACA90(unk_80166528*);
|
void ViMode_Save(ViMode *viMode);
|
||||||
// ? func_800ACA98(?);
|
void ViMode_Load(ViMode *viMode);
|
||||||
void func_800ACAF8(unk_80166528*, Input*, GraphicsContext*);
|
void ViMode_Init(ViMode *viMode);
|
||||||
|
void ViMode_Destroy(ViMode *viMode);
|
||||||
|
void ViMode_ConfigureFeatures(ViMode *viMode, s32 viFeatures);
|
||||||
|
void ViMode_Update(ViMode *viMode, Input *input);
|
||||||
void func_800ACE70(struct_801664F0* this);
|
void func_800ACE70(struct_801664F0* this);
|
||||||
void func_800ACE90(struct_801664F0* this);
|
void func_800ACE90(struct_801664F0* this);
|
||||||
void func_800ACE98(struct_801664F0* this, Gfx** gfxp);
|
void func_800ACE98(struct_801664F0* this, Gfx** gfxp);
|
||||||
|
|
|
@ -15,8 +15,13 @@
|
||||||
#define OS_VI_GAMMA_DITHER 0x04
|
#define OS_VI_GAMMA_DITHER 0x04
|
||||||
#define OS_VI_DIVOT 0x10
|
#define OS_VI_DIVOT 0x10
|
||||||
#define OS_VI_DITHER_FILTER 0x10000
|
#define OS_VI_DITHER_FILTER 0x10000
|
||||||
#define OS_VI_UNK200 0x200
|
#define OS_VI_UNK1 0x1
|
||||||
|
#define OS_VI_UNK2 0x2
|
||||||
|
#define OS_VI_UNK40 0x40
|
||||||
#define OS_VI_UNK100 0x100
|
#define OS_VI_UNK100 0x100
|
||||||
|
#define OS_VI_UNK200 0x200
|
||||||
|
#define OS_VI_UNK1000 0x1000
|
||||||
|
#define OS_VI_UNK2000 0x2000
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ u32 ctrl;
|
/* 0x00 */ u32 ctrl;
|
||||||
|
@ -92,4 +97,6 @@ typedef struct {
|
||||||
#define OS_VI_PAL_HPN2 26
|
#define OS_VI_PAL_HPN2 26
|
||||||
#define OS_VI_PAL_HPF2 27
|
#define OS_VI_PAL_HPF2 27
|
||||||
|
|
||||||
|
#define OS_VI_UNK28 28
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1691,11 +1691,22 @@ typedef struct {
|
||||||
} JpegDecoderState; // size = 0x14
|
} JpegDecoderState; // size = 0x14
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x0000 */ OSViMode viMode;
|
/* 0x0000 */ OSViMode customViMode;
|
||||||
/* 0x0050 */ char unk_50[0x30];
|
/* 0x0050 */ s32 viHeight;
|
||||||
|
/* 0x0054 */ s32 viWidth;
|
||||||
|
/* 0x0058 */ s32 unk_58; // Right adjustment?
|
||||||
|
/* 0x005c */ s32 unk_5C; // Left adjustment?
|
||||||
|
/* 0x0060 */ s32 unk_60; // Bottom adjustment?
|
||||||
|
/* 0x0064 */ s32 unk_64; // Top adjustment?
|
||||||
|
/* 0x0068 */ s32 viModeBase; // enum: {0, 1, 2, 3}
|
||||||
|
/* 0x006c */ s32 viTvType;
|
||||||
|
/* 0x0070 */ u32 unk_70; // bool
|
||||||
|
/* 0x0074 */ u32 unk_74; // bool
|
||||||
|
/* 0x0078 */ u32 unk_78; // bool
|
||||||
|
/* 0x007c */ u32 unk_7C; // bool
|
||||||
/* 0x0080 */ u32 viFeatures;
|
/* 0x0080 */ u32 viFeatures;
|
||||||
/* 0x0084 */ char unk_84[4];
|
/* 0x0084 */ u32 unk_84;
|
||||||
} unk_80166528;
|
} ViMode;
|
||||||
|
|
||||||
// Vis...
|
// Vis...
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -5,7 +5,7 @@ SpeedMeter D_801664D0;
|
||||||
struct_801664F0 D_801664F0;
|
struct_801664F0 D_801664F0;
|
||||||
struct_80166500 D_80166500;
|
struct_80166500 D_80166500;
|
||||||
VisMono sMonoColors;
|
VisMono sMonoColors;
|
||||||
unk_80166528 D_80166528;
|
ViMode sViMode;
|
||||||
FaultClient sGameFaultClient;
|
FaultClient sGameFaultClient;
|
||||||
u16 sLastButtonPressed;
|
u16 sLastButtonPressed;
|
||||||
|
|
||||||
|
@ -251,9 +251,9 @@ void GameState_Update(GameState* gameState) {
|
||||||
gfxCtx->xScale = gViConfigXScale;
|
gfxCtx->xScale = gViConfigXScale;
|
||||||
gfxCtx->yScale = gViConfigYScale;
|
gfxCtx->yScale = gViConfigYScale;
|
||||||
} else if (SREG(48) > 0) {
|
} else if (SREG(48) > 0) {
|
||||||
func_800ACAF8(&D_80166528, gameState->input, gfxCtx);
|
ViMode_Update(&sViMode, gameState->input);
|
||||||
gfxCtx->viMode = &D_80166528.viMode;
|
gfxCtx->viMode = &sViMode.customViMode;
|
||||||
gfxCtx->viFeatures = D_80166528.viFeatures;
|
gfxCtx->viFeatures = sViMode.viFeatures;
|
||||||
gfxCtx->xScale = 1.0f;
|
gfxCtx->xScale = 1.0f;
|
||||||
gfxCtx->yScale = 1.0f;
|
gfxCtx->yScale = 1.0f;
|
||||||
}
|
}
|
||||||
|
@ -416,7 +416,7 @@ void GameState_Init(GameState* gameState, GameStateFunc init, GraphicsContext* g
|
||||||
func_800AD920(&D_80166500);
|
func_800AD920(&D_80166500);
|
||||||
VisMono_Init(&sMonoColors);
|
VisMono_Init(&sMonoColors);
|
||||||
if (SREG(48) == 0) {
|
if (SREG(48) == 0) {
|
||||||
func_800ACA28(&D_80166528);
|
ViMode_Init(&sViMode);
|
||||||
}
|
}
|
||||||
SpeedMeter_Init(&D_801664D0);
|
SpeedMeter_Init(&D_801664D0);
|
||||||
func_800AA0B4();
|
func_800AA0B4();
|
||||||
|
@ -448,7 +448,7 @@ void GameState_Destroy(GameState* gameState) {
|
||||||
func_800AD950(&D_80166500);
|
func_800AD950(&D_80166500);
|
||||||
VisMono_Destroy(&sMonoColors);
|
VisMono_Destroy(&sMonoColors);
|
||||||
if (SREG(48) == 0) {
|
if (SREG(48) == 0) {
|
||||||
func_800ACA90(&D_80166528);
|
ViMode_Destroy(&sViMode);
|
||||||
}
|
}
|
||||||
THA_Dt(&gameState->tha);
|
THA_Dt(&gameState->tha);
|
||||||
GameAlloc_Cleanup(&gameState->alloc);
|
GameAlloc_Cleanup(&gameState->alloc);
|
||||||
|
|
|
@ -1,17 +1,326 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800AC030.s")
|
void ViMode_LogPrint(OSViMode* osViMode) {
|
||||||
|
LOG_ADDRESS("osvimodep", osViMode, "../z_vimode.c", 87);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.ctrl", osViMode->comRegs.ctrl, "../z_vimode.c", 88);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.width", osViMode->comRegs.width, "../z_vimode.c", 89);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.burst", osViMode->comRegs.burst, "../z_vimode.c", 90);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.vSync", osViMode->comRegs.vSync, "../z_vimode.c", 91);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.hSync", osViMode->comRegs.hSync, "../z_vimode.c", 92);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.leap", osViMode->comRegs.leap, "../z_vimode.c", 93);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.hStart", osViMode->comRegs.hStart, "../z_vimode.c", 94);
|
||||||
|
LOG_ADDRESS("osvimodep->comRegs.xScale", osViMode->comRegs.xScale, "../z_vimode.c", 95);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[0].vStart", osViMode->fldRegs[0].vStart, "../z_vimode.c", 96);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[0].vBurst", osViMode->fldRegs[0].vBurst, "../z_vimode.c", 97);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[0].origin", osViMode->fldRegs[0].origin, "../z_vimode.c", 98);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[0].yScale", osViMode->fldRegs[0].yScale, "../z_vimode.c", 99);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[0].vIntr", osViMode->fldRegs[0].vIntr, "../z_vimode.c", 100);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[1].vStart", osViMode->fldRegs[1].vStart, "../z_vimode.c", 101);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[1].vBurst", osViMode->fldRegs[1].vBurst, "../z_vimode.c", 102);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[1].origin", osViMode->fldRegs[1].origin, "../z_vimode.c", 103);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[1].yScale", osViMode->fldRegs[1].yScale, "../z_vimode.c", 104);
|
||||||
|
LOG_ADDRESS("osvimodep->fldRegs[1].vIntr", osViMode->fldRegs[1].vIntr, "../z_vimode.c", 105);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800AC2F4.s")
|
#ifdef NON_MATCHING
|
||||||
|
// This function configures the custom VI mode (`viMode.customViMode`) based
|
||||||
|
// on the other flags in `viMode`.
|
||||||
|
void ViMode_Configure(ViMode* viMode, u32 mode, u32 type, u32 unk_70, u32 unk_74, u32 unk_78, u32 unk_7C, s32 width,
|
||||||
|
s32 height, s32 unk_left, s32 unk_right, s32 unk_top, s32 unk_bottom) {
|
||||||
|
s32 not_70;
|
||||||
|
s32 not_74;
|
||||||
|
s32 not_78;
|
||||||
|
s32 not_7C;
|
||||||
|
s32 cond_4C;
|
||||||
|
s32 cond_48;
|
||||||
|
s32 cond_44;
|
||||||
|
s32 cond_40;
|
||||||
|
s32 cond_3C;
|
||||||
|
s32 cond_38;
|
||||||
|
s32 cond_34;
|
||||||
|
s32 yScaleLo;
|
||||||
|
s32 yScaleHi0;
|
||||||
|
s32 yScaleHi1;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800AC89C.s")
|
not_70 = !unk_70;
|
||||||
|
not_74 = !unk_74;
|
||||||
|
not_78 = !unk_78;
|
||||||
|
not_7C = !unk_7C;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800AC9A4.s")
|
cond_4C = not_70 && not_78;
|
||||||
|
cond_48 = not_70 && unk_78;
|
||||||
|
cond_44 = unk_70 && unk_78;
|
||||||
|
cond_40 = unk_70 && not_78;
|
||||||
|
cond_3C = unk_70 && not_74 && unk_78 && unk_7C;
|
||||||
|
cond_38 = unk_70 && unk_74 && unk_78 && not_7C;
|
||||||
|
cond_34 = not_70 && unk_74 && unk_78 && not_7C;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800ACA28.s")
|
unk_top &= ~1;
|
||||||
|
unk_bottom &= ~1;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800ACA90.s")
|
yScaleLo = (cond_4C ? 2 : 1) * (((height << 11)) / (SCREEN_HEIGHT * 2 + unk_bottom - unk_top) / (unk_70 ? 1 : 2));
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800ACA98.s")
|
yScaleHi0 = not_78 ? (cond_40 ? 0x1000000 : 0x2000000) : 0;
|
||||||
|
yScaleHi1 = not_78 ? (cond_40 ? 0x3000000 : 0x2000000) : 0;
|
||||||
|
|
||||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_800ACAF8.s")
|
viMode->customViMode.type = mode;
|
||||||
|
viMode->customViMode.comRegs.ctrl = OS_VI_UNK2000 | OS_VI_UNK1000 | OS_VI_GAMMA | OS_VI_GAMMA_DITHER |
|
||||||
|
(!cond_44 ? OS_VI_UNK40 : 0) | (not_74 ? OS_VI_DIVOT : 0) |
|
||||||
|
(not_7C ? OS_VI_UNK2 | OS_VI_UNK1 : OS_VI_UNK2);
|
||||||
|
|
||||||
|
if (cond_3C) {
|
||||||
|
viMode->customViMode.comRegs.ctrl |= 0x100;
|
||||||
|
} else if (cond_38 | cond_34) {
|
||||||
|
viMode->customViMode.comRegs.ctrl |= 0x300;
|
||||||
|
} else if (unk_74) {
|
||||||
|
viMode->customViMode.comRegs.ctrl |= 0x200;
|
||||||
|
} else {
|
||||||
|
viMode->customViMode.comRegs.ctrl |= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
viMode->customViMode.comRegs.width = width * (cond_48 ? 2 : 1);
|
||||||
|
|
||||||
|
if (type == 1) {
|
||||||
|
viMode->customViMode.comRegs.burst = 0x3E52239;
|
||||||
|
viMode->customViMode.comRegs.vSync = 0x20C;
|
||||||
|
viMode->customViMode.comRegs.hSync = 0xC15;
|
||||||
|
viMode->customViMode.comRegs.leap = 0xC150C15;
|
||||||
|
viMode->customViMode.comRegs.hStart = 0x6C02EC;
|
||||||
|
viMode->customViMode.fldRegs[0].vStart = 0x2501FF;
|
||||||
|
viMode->customViMode.fldRegs[0].vBurst = 0xE0204;
|
||||||
|
} else if (type == 0) {
|
||||||
|
viMode->customViMode.comRegs.burst = 0x404233A;
|
||||||
|
viMode->customViMode.comRegs.vSync = 0x270;
|
||||||
|
viMode->customViMode.comRegs.hSync = 0x150C69;
|
||||||
|
viMode->customViMode.comRegs.leap = 0xC6F0C6E;
|
||||||
|
viMode->customViMode.comRegs.hStart = 0x800300;
|
||||||
|
viMode->customViMode.fldRegs[0].vStart = 0x5F0239;
|
||||||
|
viMode->customViMode.fldRegs[0].vBurst = 0x9026B;
|
||||||
|
} else if (type == 2) {
|
||||||
|
viMode->customViMode.comRegs.burst = 0x4651E39;
|
||||||
|
viMode->customViMode.comRegs.vSync = 0x20C;
|
||||||
|
viMode->customViMode.comRegs.hSync = 0xC10;
|
||||||
|
viMode->customViMode.comRegs.leap = 0xC1C0C1C;
|
||||||
|
viMode->customViMode.comRegs.hStart = 0x6C02EC;
|
||||||
|
viMode->customViMode.fldRegs[0].vStart = 0x2501FF;
|
||||||
|
viMode->customViMode.fldRegs[0].vBurst = 0xE0204;
|
||||||
|
}
|
||||||
|
|
||||||
|
viMode->customViMode.comRegs.hStart += (unk_left << 16) + (s16)unk_right;
|
||||||
|
|
||||||
|
viMode->customViMode.fldRegs[1].vStart = viMode->customViMode.fldRegs[0].vStart;
|
||||||
|
viMode->customViMode.fldRegs[0].vStart += (unk_top << 16) + (s16)unk_bottom;
|
||||||
|
viMode->customViMode.fldRegs[1].vStart += (unk_top << 16) + (s16)unk_bottom;
|
||||||
|
|
||||||
|
viMode->customViMode.fldRegs[1].vBurst = viMode->customViMode.fldRegs[0].vBurst;
|
||||||
|
|
||||||
|
if (cond_44) {
|
||||||
|
viMode->customViMode.comRegs.vSync++;
|
||||||
|
if (type == 2) {
|
||||||
|
viMode->customViMode.comRegs.hSync += 0x40001;
|
||||||
|
}
|
||||||
|
if (type == 2) {
|
||||||
|
viMode->customViMode.comRegs.leap += 0xFFFCFFFE;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
viMode->customViMode.fldRegs[0].vStart += 0xFFFDFFFE;
|
||||||
|
if (type == 2) {
|
||||||
|
viMode->customViMode.fldRegs[0].vBurst += 0xFFFCFFFE;
|
||||||
|
}
|
||||||
|
if (type == 0) {
|
||||||
|
viMode->customViMode.fldRegs[1].vBurst = 0x2FFFE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
viMode->customViMode.comRegs.xScale = (width << 10) / (SCREEN_WIDTH * 2 + unk_right - unk_left);
|
||||||
|
viMode->customViMode.comRegs.vCurrent = 0;
|
||||||
|
|
||||||
|
viMode->customViMode.fldRegs[0].origin = (unk_7C ? 1 : 2) * width * 2;
|
||||||
|
viMode->customViMode.fldRegs[1].origin = (unk_70 ? 1 : 2) * ((unk_7C ? 1 : 2) * width * 2);
|
||||||
|
|
||||||
|
viMode->customViMode.fldRegs[0].yScale = yScaleLo | yScaleHi0;
|
||||||
|
viMode->customViMode.fldRegs[1].yScale = yScaleLo | yScaleHi1;
|
||||||
|
|
||||||
|
viMode->customViMode.fldRegs[0].vIntr = 2;
|
||||||
|
viMode->customViMode.fldRegs[1].vIntr = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/ViMode_Configure.s")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void ViMode_Save(ViMode* viMode) {
|
||||||
|
SREG(48) = viMode->viModeBase;
|
||||||
|
SREG(49) = viMode->viWidth;
|
||||||
|
SREG(50) = viMode->viHeight;
|
||||||
|
SREG(51) = viMode->unk_64;
|
||||||
|
SREG(52) = viMode->unk_60;
|
||||||
|
SREG(53) = viMode->unk_5C;
|
||||||
|
SREG(54) = viMode->unk_58;
|
||||||
|
if (SREG(58) == 1) {
|
||||||
|
SREG(58) = 0;
|
||||||
|
switch (SREG(59)) {
|
||||||
|
case 1:
|
||||||
|
osSyncPrintf("osViModePalLan1\n");
|
||||||
|
ViMode_LogPrint(&osViModePalLan1);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
osSyncPrintf("osViModeFpalLan1\n");
|
||||||
|
ViMode_LogPrint(&osViModeFpalLan1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
osSyncPrintf("Custom\n");
|
||||||
|
ViMode_LogPrint(&viMode->customViMode);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ViMode_Load(ViMode* viMode) {
|
||||||
|
if ((SREG(49) & ~3) == 1) {
|
||||||
|
SREG(49) += 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
viMode->viModeBase = SREG(48);
|
||||||
|
viMode->viWidth = SREG(49) & ~3;
|
||||||
|
viMode->viHeight = SREG(50);
|
||||||
|
viMode->unk_64 = SREG(51);
|
||||||
|
viMode->unk_60 = SREG(52);
|
||||||
|
viMode->unk_5C = SREG(53);
|
||||||
|
viMode->unk_58 = SREG(54);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ViMode_Init(ViMode* viMode) {
|
||||||
|
viMode->viModeBase = 0;
|
||||||
|
viMode->viWidth = SCREEN_WIDTH;
|
||||||
|
viMode->viHeight = SCREEN_HEIGHT;
|
||||||
|
viMode->unk_5C = 0;
|
||||||
|
viMode->unk_58 = 0;
|
||||||
|
viMode->unk_64 = 0;
|
||||||
|
viMode->unk_60 = 0;
|
||||||
|
viMode->viFeatures = OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF;
|
||||||
|
viMode->viTvType = osTvType;
|
||||||
|
viMode->unk_7C = true;
|
||||||
|
viMode->unk_78 = true;
|
||||||
|
viMode->unk_74 = false;
|
||||||
|
viMode->unk_70 = true;
|
||||||
|
|
||||||
|
ViMode_Save(viMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ViMode_Destroy(ViMode* viMode) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void ViMode_ConfigureFeatures(ViMode* viMode, s32 viFeatures) {
|
||||||
|
u32 ctrl = viMode->customViMode.comRegs.ctrl;
|
||||||
|
if (viFeatures & OS_VI_GAMMA_ON) {
|
||||||
|
ctrl |= OS_VI_GAMMA;
|
||||||
|
}
|
||||||
|
if (viFeatures & OS_VI_GAMMA_OFF) {
|
||||||
|
ctrl &= ~OS_VI_GAMMA;
|
||||||
|
}
|
||||||
|
if (viFeatures & OS_VI_GAMMA_DITHER_ON) {
|
||||||
|
ctrl |= OS_VI_GAMMA_DITHER;
|
||||||
|
}
|
||||||
|
if (viFeatures & OS_VI_GAMMA_DITHER_OFF) {
|
||||||
|
ctrl &= ~OS_VI_GAMMA_DITHER;
|
||||||
|
}
|
||||||
|
if (viFeatures & OS_VI_DIVOT_ON) {
|
||||||
|
ctrl |= OS_VI_DIVOT;
|
||||||
|
}
|
||||||
|
if (viFeatures & OS_VI_DIVOT_OFF) {
|
||||||
|
ctrl &= ~OS_VI_DIVOT;
|
||||||
|
}
|
||||||
|
viMode->customViMode.comRegs.ctrl = ctrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This function uses controller input (C buttons + D pad) to reconfigure the custom VI mode
|
||||||
|
void ViMode_Update(ViMode* viMode, Input* input) {
|
||||||
|
ViMode_Load(viMode);
|
||||||
|
if ((viMode->viModeBase == 1) || (viMode->viModeBase == 2) || (viMode->viModeBase == 3)) {
|
||||||
|
gScreenWidth = viMode->viWidth;
|
||||||
|
gScreenHeight = viMode->viHeight;
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_START | BTN_CUP | BTN_CRIGHT)) {
|
||||||
|
ViMode_Init(viMode);
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_CUP)) {
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DUP)) {
|
||||||
|
viMode->unk_64--;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DDOWN)) {
|
||||||
|
viMode->unk_64++;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DLEFT)) {
|
||||||
|
viMode->unk_5C--;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DRIGHT)) {
|
||||||
|
viMode->unk_5C++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_CRIGHT)) {
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DUP)) {
|
||||||
|
viMode->unk_60--;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DDOWN)) {
|
||||||
|
viMode->unk_60++;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DLEFT)) {
|
||||||
|
viMode->unk_58--;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_DRIGHT)) {
|
||||||
|
viMode->unk_58++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->cur.button, BTN_CDOWN)) {
|
||||||
|
if (CHECK_BTN_ALL(input->press.button, BTN_DUP)) {
|
||||||
|
viMode->unk_70 = !viMode->unk_70;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->press.button, BTN_DDOWN)) {
|
||||||
|
viMode->unk_74 = !viMode->unk_74;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->press.button, BTN_DLEFT)) {
|
||||||
|
viMode->unk_78 = !viMode->unk_78;
|
||||||
|
}
|
||||||
|
if (CHECK_BTN_ALL(input->press.button, BTN_DRIGHT)) {
|
||||||
|
viMode->unk_7C = !viMode->unk_7C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (viMode->viModeBase >= 2) {
|
||||||
|
if (viMode->unk_5C < -16) {
|
||||||
|
viMode->unk_5C = -16;
|
||||||
|
}
|
||||||
|
if (viMode->unk_64 < -50) {
|
||||||
|
viMode->unk_64 = -50;
|
||||||
|
}
|
||||||
|
if (viMode->unk_58 > 16) {
|
||||||
|
viMode->unk_58 = 16;
|
||||||
|
}
|
||||||
|
if (viMode->unk_60 > 50) {
|
||||||
|
viMode->unk_60 = 50;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (viMode->unk_5C < 0) {
|
||||||
|
viMode->unk_5C = 0;
|
||||||
|
}
|
||||||
|
if (viMode->unk_64 < 0) {
|
||||||
|
viMode->unk_64 = 0;
|
||||||
|
}
|
||||||
|
if (viMode->unk_58 > 0) {
|
||||||
|
viMode->unk_58 = 0;
|
||||||
|
}
|
||||||
|
if (viMode->unk_60 > 0) {
|
||||||
|
viMode->unk_60 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ViMode_Configure(viMode, OS_VI_UNK28, osTvType, viMode->unk_70, viMode->unk_74, viMode->unk_78, viMode->unk_7C,
|
||||||
|
viMode->viWidth, viMode->viHeight, viMode->unk_5C, viMode->unk_58, viMode->unk_64,
|
||||||
|
viMode->unk_60);
|
||||||
|
ViMode_ConfigureFeatures(viMode, viMode->viFeatures);
|
||||||
|
if (viMode->viModeBase == 3) {
|
||||||
|
ViMode_LogPrint(&osViModeNtscLan1);
|
||||||
|
ViMode_LogPrint(&viMode->customViMode);
|
||||||
|
viMode->viModeBase = 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ViMode_Save(viMode);
|
||||||
|
}
|
||||||
|
|
|
@ -54,7 +54,7 @@ def check_valid_index(index):
|
||||||
return 0x0 <= index <= 0xADF
|
return 0x0 <= index <= 0xADF
|
||||||
|
|
||||||
def check_valid_offset(offset):
|
def check_valid_offset(offset):
|
||||||
return 0x14 <= index <= 0x15D2
|
return 0x14 <= offset <= 0x15D2
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description="Converts a gGameInfo->data index to a REG macro.")
|
parser = argparse.ArgumentParser(description="Converts a gGameInfo->data index to a REG macro.")
|
||||||
|
|
Loading…
Add table
Reference in a new issue