mirror of https://github.com/zeldaret/tmc.git
Work on manager1 asm_func
This commit is contained in:
parent
85aaada18f
commit
22211f4840
|
|
@ -1,4 +0,0 @@
|
||||||
.syntax unified
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
.syntax divided
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
.syntax unified
|
|
||||||
push {r4, lr}
|
|
||||||
adds r4, r0, #0
|
|
||||||
ldrb r0, [r4, #0xf]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080572CA
|
|
||||||
movs r0, #8
|
|
||||||
strb r0, [r4, #0xf]
|
|
||||||
ldr r2, _080572CC @ =gScreen
|
|
||||||
ldr r3, _080572D0 @ =gUnk_08107C1C
|
|
||||||
ldrb r0, [r4, #0xe]
|
|
||||||
adds r1, r0, #1
|
|
||||||
strb r1, [r4, #0xe]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r0, r0, #0x17
|
|
||||||
adds r0, r0, r3
|
|
||||||
ldrh r0, [r0]
|
|
||||||
adds r2, #0x68
|
|
||||||
strh r0, [r2]
|
|
||||||
lsls r1, r1, #0x18
|
|
||||||
lsrs r1, r1, #0x18
|
|
||||||
cmp r1, #0xa
|
|
||||||
bne _080572CA
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r4, #0xc]
|
|
||||||
adds r1, r4, #0
|
|
||||||
adds r1, #0x22
|
|
||||||
movs r0, #0
|
|
||||||
strb r0, [r1]
|
|
||||||
_080572CA:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080572CC: .4byte gScreen
|
|
||||||
_080572D0: .4byte gUnk_08107C1C
|
|
||||||
.syntax divided
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
.syntax unified
|
|
||||||
push {r4, r5, lr}
|
|
||||||
adds r3, r0, #0
|
|
||||||
ldrb r0, [r3, #0xf]
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r3, #0xf]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08057320
|
|
||||||
movs r0, #8
|
|
||||||
strb r0, [r3, #0xf]
|
|
||||||
ldr r5, _08057324 @ =gScreen
|
|
||||||
ldr r2, _08057328 @ =gUnk_08107C1C
|
|
||||||
ldrb r0, [r3, #0xe]
|
|
||||||
adds r1, r0, #0
|
|
||||||
adds r1, #0xff
|
|
||||||
strb r1, [r3, #0xe]
|
|
||||||
lsls r0, r0, #0x18
|
|
||||||
lsrs r0, r0, #0x17
|
|
||||||
adds r0, r0, r2
|
|
||||||
ldrh r2, [r0]
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r0, #0x68
|
|
||||||
movs r4, #0
|
|
||||||
strh r2, [r0]
|
|
||||||
lsls r1, r1, #0x18
|
|
||||||
lsrs r1, r1, #0x18
|
|
||||||
cmp r1, #0xff
|
|
||||||
bne _08057320
|
|
||||||
movs r0, #1
|
|
||||||
strb r0, [r3, #0xc]
|
|
||||||
adds r0, r3, #0
|
|
||||||
adds r0, #0x22
|
|
||||||
strb r4, [r0]
|
|
||||||
subs r0, #1
|
|
||||||
strb r4, [r0]
|
|
||||||
adds r0, r5, #0
|
|
||||||
adds r0, #0x6c
|
|
||||||
strb r4, [r0]
|
|
||||||
_08057320:
|
|
||||||
pop {r4, r5, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08057324: .4byte gScreen
|
|
||||||
_08057328: .4byte gUnk_08107C1C
|
|
||||||
.syntax divided
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
.syntax unified
|
|
||||||
push {r4, r5, r6, r7, lr}
|
|
||||||
mov r7, sb
|
|
||||||
mov r6, r8
|
|
||||||
push {r6, r7}
|
|
||||||
adds r6, r0, #0
|
|
||||||
adds r5, r1, #0
|
|
||||||
ldr r2, _08057390 @ =gUnk_03003DE4
|
|
||||||
ldrb r1, [r2]
|
|
||||||
lsls r0, r1, #2
|
|
||||||
adds r0, r0, r1
|
|
||||||
lsls r0, r0, #9
|
|
||||||
ldr r1, _08057394 @ =gUnk_02017AA0
|
|
||||||
adds r4, r0, r1
|
|
||||||
movs r3, #0
|
|
||||||
mov ip, r2
|
|
||||||
mov r8, r1
|
|
||||||
ldr r0, _08057398 @ =gSineTable
|
|
||||||
mov sb, r0
|
|
||||||
movs r2, #0xff
|
|
||||||
ldr r1, _0805739C @ =gScreen
|
|
||||||
_08057354:
|
|
||||||
adds r0, r5, r3
|
|
||||||
ands r0, r2
|
|
||||||
lsls r0, r0, #1
|
|
||||||
add r0, sb
|
|
||||||
movs r7, #0
|
|
||||||
ldrsh r0, [r0, r7]
|
|
||||||
muls r0, r6, r0
|
|
||||||
lsrs r0, r0, #8
|
|
||||||
ldrh r7, [r1, #0x2e]
|
|
||||||
adds r0, r0, r7
|
|
||||||
strh r0, [r4]
|
|
||||||
adds r4, #2
|
|
||||||
adds r3, #1
|
|
||||||
cmp r3, #0x9f
|
|
||||||
bls _08057354
|
|
||||||
mov r0, ip
|
|
||||||
ldrb r1, [r0]
|
|
||||||
lsls r0, r1, #2
|
|
||||||
adds r0, r0, r1
|
|
||||||
lsls r0, r0, #9
|
|
||||||
add r0, r8
|
|
||||||
ldr r1, _080573A0 @ =0x0400001C
|
|
||||||
ldr r2, _080573A4 @ =0xA2600001
|
|
||||||
bl sub_0805622C
|
|
||||||
pop {r3, r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov sb, r4
|
|
||||||
pop {r4, r5, r6, r7, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08057390: .4byte gUnk_03003DE4
|
|
||||||
_08057394: .4byte gUnk_02017AA0
|
|
||||||
_08057398: .4byte gSineTable
|
|
||||||
_0805739C: .4byte gScreen
|
|
||||||
_080573A0: .4byte 0x0400001C
|
|
||||||
_080573A4: .4byte 0xA2600001
|
|
||||||
.syntax divided
|
|
||||||
|
|
@ -33014,21 +33014,6 @@
|
||||||
"DEMO_JP": -2052
|
"DEMO_JP": -2052
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "manager1/gUnk_08107C1C.bin",
|
|
||||||
"start": 1080348,
|
|
||||||
"size": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "manager1/gUnk_08107C30.bin",
|
|
||||||
"start": 1080368,
|
|
||||||
"size": 16
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "manager1/gUnk_08107C40.bin",
|
|
||||||
"start": 1080384,
|
|
||||||
"size": 8
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "manager3/gUnk_08107C6C.bin",
|
"path": "manager3/gUnk_08107C6C.bin",
|
||||||
"start": 1080428,
|
"start": 1080428,
|
||||||
|
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.section .rodata
|
|
||||||
.align 2
|
|
||||||
|
|
||||||
gUnk_08107C1C:: @ 08107C1C
|
|
||||||
.incbin "manager1/gUnk_08107C1C.bin"
|
|
||||||
|
|
||||||
gUnk_08107C30:: @ 08107C30
|
|
||||||
.incbin "manager1/gUnk_08107C30.bin"
|
|
||||||
|
|
||||||
gUnk_08107C40:: @ 08107C40
|
|
||||||
.incbin "manager1/gUnk_08107C40.bin"
|
|
||||||
|
|
||||||
gUnk_08107C48:: @ 08107C48
|
|
||||||
.4byte nullsub_494
|
|
||||||
.4byte nullsub_494
|
|
||||||
.4byte sub_080573AC
|
|
||||||
.4byte nullsub_494
|
|
||||||
.4byte sub_08057450
|
|
||||||
|
|
||||||
gUnk_08107C5C:: @ 08107C5C
|
|
||||||
.4byte sub_08057118
|
|
||||||
.4byte sub_08057174
|
|
||||||
.4byte sub_0805728C
|
|
||||||
.4byte sub_080572D4
|
|
||||||
|
|
@ -1135,7 +1135,8 @@ SECTIONS {
|
||||||
data/map/metatile_headers.o(.rodata);
|
data/map/metatile_headers.o(.rodata);
|
||||||
data/map/map_headers.o(.rodata);
|
data/map/map_headers.o(.rodata);
|
||||||
src/message.o(.rodata);
|
src/message.o(.rodata);
|
||||||
data/const/manager/manager1.o(.rodata);
|
. = ALIGN(4);
|
||||||
|
src/manager/manager1.o(.rodata);
|
||||||
data/const/manager/manager3.o(.rodata);
|
data/const/manager/manager3.o(.rodata);
|
||||||
data/const/manager/manager4.o(.rodata);
|
data/const/manager/manager4.o(.rodata);
|
||||||
src/manager/manager5.o(.rodata);
|
src/manager/manager5.o(.rodata);
|
||||||
|
|
|
||||||
|
|
@ -3,23 +3,39 @@
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
extern void sub_08056250(void);
|
extern void sub_08056250(void);
|
||||||
|
|
||||||
extern void (*const gUnk_08107C5C[])(Entity*);
|
void (*const gUnk_08107C5C[])(Entity*);
|
||||||
extern void (*const gUnk_08107C48[])(Entity*);
|
void (*const gUnk_08107C48[])(Entity*);
|
||||||
|
const u16 gUnk_08107C1C[];
|
||||||
|
const u16 gUnk_08107C30[];
|
||||||
|
const u8 gManager1GfxGroups[];
|
||||||
|
|
||||||
extern u8 gUnk_08107C40[];
|
extern u16 gUnk_02017AA0[];
|
||||||
|
extern u16 gUnk_085B4180[];
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u8 unk0;
|
||||||
|
u8 unk1;
|
||||||
|
u8 unk2;
|
||||||
|
u8 unk3;
|
||||||
|
u8 unk4;
|
||||||
|
} PACKED Manager1Prop;
|
||||||
|
|
||||||
|
#define ZV(this) ((u8*)&this->zVelocity)
|
||||||
|
#define ZS(this) ((u8*)&this->speed)
|
||||||
|
|
||||||
void Manager1_Main(Entity* this) {
|
void Manager1_Main(Entity* this) {
|
||||||
u8 bVar1;
|
u8 bVar1;
|
||||||
u8* pbVar2;
|
u8* pbVar2;
|
||||||
|
|
||||||
gUnk_08107C5C[this->action](this);
|
gUnk_08107C5C[this->action](this);
|
||||||
gUnk_08107C48[((u8*)&this->zVelocity)[1]](this);
|
gUnk_08107C48[ZV(this)[1]](this);
|
||||||
bVar1 = gUnk_08107C40[((u8*)&this->zVelocity)[1]];
|
bVar1 = gManager1GfxGroups[ZV(this)[1]];
|
||||||
if ((bVar1 != 0) && (*(u8*)&this->zVelocity != bVar1)) {
|
if ((bVar1 != 0) && (ZV(this)[0] != bVar1)) {
|
||||||
((u8*)&this->zVelocity)[0] = bVar1;
|
ZV(this)[0] = bVar1;
|
||||||
LoadGfxGroup(bVar1);
|
LoadGfxGroup(bVar1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -27,9 +43,9 @@ void Manager1_Main(Entity* this) {
|
||||||
static void sub_080570B8(Entity* this) {
|
static void sub_080570B8(Entity* this) {
|
||||||
u8* pbVar1;
|
u8* pbVar1;
|
||||||
|
|
||||||
LoadGfxGroup(((u8*)&this->zVelocity)[0]);
|
LoadGfxGroup(ZV(this)[0]);
|
||||||
this->z.WORD = 0;
|
this->z.WORD = 0;
|
||||||
pbVar1 = ((u8*)&this->zVelocity + 1);
|
pbVar1 = &ZV(this)[1];
|
||||||
if (*pbVar1 == 3) {
|
if (*pbVar1 == 3) {
|
||||||
gScreen.bg3.updated = 1;
|
gScreen.bg3.updated = 1;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -45,9 +61,9 @@ static void sub_080570F8(void) {
|
||||||
|
|
||||||
void sub_08057118(Entity* this) {
|
void sub_08057118(Entity* this) {
|
||||||
this->actionDelay = 0;
|
this->actionDelay = 0;
|
||||||
*(u8*)&this->zVelocity = 0;
|
ZV(this)[0] = 0;
|
||||||
((u8*)&this->zVelocity)[1] = 0;
|
ZV(this)[1] = 0;
|
||||||
((u8*)&this->zVelocity)[2] = 0;
|
ZV(this)[2] = 0;
|
||||||
this->action = 1;
|
this->action = 1;
|
||||||
gScreen.bg3.control = 0x1e04;
|
gScreen.bg3.control = 0x1e04;
|
||||||
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
|
gScreen.lcd.displayControl |= DISPCNT_BG3_ON;
|
||||||
|
|
@ -56,16 +72,205 @@ void sub_08057118(Entity* this) {
|
||||||
RegisterTransitionManager(this, sub_080570B8, sub_080570F8);
|
RegisterTransitionManager(this, sub_080570B8, sub_080570F8);
|
||||||
}
|
}
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_08057174.inc", void sub_08057174())
|
// regalloc
|
||||||
|
NONMATCH("asm/non_matching/manager1/sub_08057174.inc", void sub_08057174(Entity* this)) {
|
||||||
|
Manager1Prop* prop = GetCurrentRoomProperty(this->type);
|
||||||
|
s32 temp;
|
||||||
|
s32 x;
|
||||||
|
s32 y;
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_0805728C.inc", void sub_0805728C())
|
if (prop->unk0 == 0xff)
|
||||||
|
return;
|
||||||
|
temp = gPlayerEntity.x.HALF.HI;
|
||||||
|
if (temp < 0) {
|
||||||
|
temp += 0xf;
|
||||||
|
}
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_080572D4.inc", void sub_080572D4())
|
x = temp >> 4;
|
||||||
|
temp = gPlayerEntity.y.HALF.HI;
|
||||||
|
if (temp < 0) {
|
||||||
|
temp += 0xf;
|
||||||
|
}
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_0805732C.inc", void sub_0805732C())
|
y = temp >> 4;
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/nullsub_494.inc", void nullsub_494())
|
for (; prop->unk0 != 0xff; prop++) {
|
||||||
|
if (prop->unk0 != ZV(this)[1]) {
|
||||||
|
u32 x2 = (gRoomControls.origin_x >> 4) + prop->unk1;
|
||||||
|
u32 y2 = (gRoomControls.origin_y >> 4) + prop->unk2;
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_080573AC.inc", void sub_080573AC())
|
if (y - y2 < prop->unk4 && x - x2 < prop->unk3) {
|
||||||
|
switch (prop->unk0) {
|
||||||
|
case 1:
|
||||||
|
if (ZV(this)[1] == 2) {
|
||||||
|
this->action = 3;
|
||||||
|
this->actionDelay = 9;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
if (ZV(this)[1] == 6) {
|
||||||
|
this->action = 3;
|
||||||
|
this->actionDelay = 9;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (ZV(this)[1] == 0) {
|
||||||
|
this->action = 2;
|
||||||
|
this->actionDelay = 0;
|
||||||
|
ZV(this)[0] = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (ZV(this)[1] == 0) {
|
||||||
|
this->action = 2;
|
||||||
|
this->actionDelay = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
if (ZV(this)[1] == 0) {
|
||||||
|
this->action = 2;
|
||||||
|
this->actionDelay = 0;
|
||||||
|
this->z.WORD = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (ZV(this)[1] == 4) {
|
||||||
|
this->action = 3;
|
||||||
|
this->actionDelay = 9;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ASM_FUNC("asm/non_matching/manager1/sub_08057450.inc", void sub_08057450())
|
if (this->action != 1) {
|
||||||
|
this->field_0xf = 8;
|
||||||
|
ZV(this)[1] = prop->unk0;
|
||||||
|
ZV(this)[2] = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END_NONMATCH
|
||||||
|
|
||||||
|
void sub_0805728C(Entity* this) {
|
||||||
|
if (--this->field_0xf == 0) {
|
||||||
|
this->field_0xf = 8;
|
||||||
|
gScreen.controls.alphaBlend = gUnk_08107C1C[this->actionDelay++];
|
||||||
|
|
||||||
|
if (this->actionDelay == 10) {
|
||||||
|
this->action = 1;
|
||||||
|
ZV(this)[2] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080572D4(Entity* this) {
|
||||||
|
if (--this->field_0xf == 0) {
|
||||||
|
this->field_0xf = 8;
|
||||||
|
gScreen.controls.alphaBlend = gUnk_08107C1C[this->actionDelay--];
|
||||||
|
|
||||||
|
if (this->actionDelay == 0xff) {
|
||||||
|
this->action = 1;
|
||||||
|
ZV(this)[2] = 0;
|
||||||
|
ZV(this)[1] = 0;
|
||||||
|
gScreen._6c = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_0805732C(u32 param_1, u32 param_2) {
|
||||||
|
u32 index;
|
||||||
|
u16* ptr = &gUnk_02017AA0[gUnk_03003DE4 * 0x500];
|
||||||
|
|
||||||
|
for (index = 0; index < 0xa0; ptr++, index++) {
|
||||||
|
*ptr = gSineTable[(param_2 + index) & 0xff] * param_1 / 0x100 + gScreen.bg3.xOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub_0805622C(&gUnk_02017AA0[gUnk_03003DE4 * 0x500], REG_ADDR_BG3HOFS, 0xa2600001UL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void nullsub_494() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080573AC(Entity* this) {
|
||||||
|
s32 sin, frameCount;
|
||||||
|
gRoomControls.bg3OffsetX.WORD -= 0x2000;
|
||||||
|
gRoomControls.bg3OffsetY.WORD -= 0x1000;
|
||||||
|
gScreen.bg3.xOffset = ((gRoomControls.scroll_x - gRoomControls.origin_x) >> 1) + gRoomControls.bg3OffsetX.HALF.HI;
|
||||||
|
gScreen.bg3.yOffset = ((gRoomControls.scroll_y - gRoomControls.origin_y) >> 1) + gRoomControls.bg3OffsetY.HALF.HI;
|
||||||
|
sin = gSineTable[(gRoomTransition.frameCount & 0xff) + 0x40];
|
||||||
|
sub_0805732C((sin >> 5) + 0x10, gRoomTransition.frameCount);
|
||||||
|
if (ZV(this)[2] == 0) {
|
||||||
|
if ((gRoomTransition.frameCount & 0x1f) == 0) {
|
||||||
|
ZS(this)[0] = (ZS(this)[0] + 1) & 7;
|
||||||
|
gScreen.controls.alphaBlend = gUnk_08107C30[ZS(this)[0]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
NONMATCH("asm/non_matching/manager1/sub_08057450.inc", void sub_08057450(Entity* this)) {
|
||||||
|
s32 y;
|
||||||
|
// register s32 temp asm("r2");
|
||||||
|
s32 temp;
|
||||||
|
s32 y2;
|
||||||
|
gScreen.bg3.xOffset = 0x10;
|
||||||
|
y = gRoomControls.scroll_y;
|
||||||
|
y -= gRoomControls.origin_y;
|
||||||
|
y >>= 2;
|
||||||
|
|
||||||
|
// Removing temp messes with r1/r2 with regards to y
|
||||||
|
temp = 0x3f;
|
||||||
|
gScreen.bg3.yOffset = y & temp;
|
||||||
|
|
||||||
|
if (y < 0) {
|
||||||
|
y += 0x3f;
|
||||||
|
}
|
||||||
|
|
||||||
|
gScreen.bg3.tilemap = &gBG3Buffer[(y >> 6) << 8];
|
||||||
|
if ((void*)this->z.WORD != gScreen.bg3.tilemap) {
|
||||||
|
this->z.WORD = (u32)gScreen.bg3.tilemap;
|
||||||
|
gScreen.bg3.updated = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ZV(this)[2] == 0 && (gRoomTransition.frameCount & 0x1f) == 0) {
|
||||||
|
ZS(this)[0] = (ZS(this)[0] + 1) & 7;
|
||||||
|
gScreen.controls.alphaBlend = gUnk_08107C30[ZS(this)[0]];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((gRoomTransition.frameCount & 0x7) == 0) {
|
||||||
|
u32 index;
|
||||||
|
u16* ptr = &gUnk_085B4180[(ZV(this)[3] << 4)];
|
||||||
|
|
||||||
|
for (index = 0, ptr = ptr + 7; index <= 3; index++) {
|
||||||
|
SetColor(index + 0x87, *(ptr + index));
|
||||||
|
SetColor(index + 0x8c, *(ptr + index + 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
ZV(this)[3] = (ZV(this)[3] + 1) & 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END_NONMATCH
|
||||||
|
|
||||||
|
const u16 gUnk_08107C1C[] = {
|
||||||
|
0x1000, 0xF01, 0xE02, 0xD03, 0xC04, 0xB05, 0xA06, 0x907, 0x908, 0x909,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u16 gUnk_08107C30[] = {
|
||||||
|
0x909, 0xA08, 0xB07, 0xC06, 0xD05, 0xC06, 0xB07, 0xA08,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gManager1GfxGroups[] = {
|
||||||
|
0x25, 0x00, 0x24, 0x00, 0x25, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
void (*const gUnk_08107C48[])(Entity*) = {
|
||||||
|
nullsub_494, nullsub_494, sub_080573AC, nullsub_494, sub_08057450,
|
||||||
|
};
|
||||||
|
|
||||||
|
void (*const gUnk_08107C5C[])(Entity*) = {
|
||||||
|
sub_08057118,
|
||||||
|
sub_08057174,
|
||||||
|
sub_0805728C,
|
||||||
|
sub_080572D4,
|
||||||
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue