mirror of https://github.com/zeldaret/tmc.git
including ommitted files
This commit is contained in:
parent
1e34d9fcc6
commit
cfc757cd58
|
@ -0,0 +1,11 @@
|
|||
.include "asm/macros.inc"
|
||||
.text
|
||||
.syntax unified
|
||||
|
||||
thumb_func_start GetProgressFlag
|
||||
GetProgressFlag: @ 0x0807CC30
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
movs r0, #0
|
||||
bl GetProgressFlagWithOffset
|
||||
pop {pc}
|
|
@ -0,0 +1,174 @@
|
|||
.include "asm/macros.inc"
|
||||
.text
|
||||
.syntax unified
|
||||
|
||||
thumb_func_start InitializeLink
|
||||
InitializeLink: @ 0x080524A8
|
||||
push {r4, r5, r6, lr}
|
||||
bl sub_080784C8
|
||||
ldr r0, _08052510 @ =gUnk_03000B80
|
||||
movs r1, #0x70
|
||||
bl sub_0801D630
|
||||
ldr r6, _08052514 @ =gUnk_03003F80
|
||||
adds r0, r6, #0
|
||||
movs r1, #0xb0
|
||||
bl sub_0801D630
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x40
|
||||
movs r2, #0x40
|
||||
bl sub_0801D610
|
||||
ldr r4, _08052518 @ =gLinkEntity
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x88
|
||||
bl sub_0801D630
|
||||
ldr r0, _0805251C @ =gUnk_03000BF0
|
||||
str r4, [r0, #0x30]
|
||||
ldr r1, _08052520 @ =gUnk_080FCAC8
|
||||
ldr r5, _08052524 @ =gUnk_030010A0
|
||||
ldrb r0, [r5, #0xf]
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r6, #0xc]
|
||||
movs r0, #0x14
|
||||
bl GetProgressFlag
|
||||
cmp r0, #0
|
||||
bne _080524FA
|
||||
ldr r0, [r6, #0x30]
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
str r0, [r6, #0x30]
|
||||
_080524FA:
|
||||
ldrb r0, [r5, #0xf]
|
||||
subs r0, #2
|
||||
adds r2, r5, #0
|
||||
cmp r0, #0xa
|
||||
bhi _080525C2
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08052528 @ =_0805252C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08052510: .4byte gUnk_03000B80
|
||||
_08052514: .4byte gUnk_03003F80
|
||||
_08052518: .4byte gLinkEntity
|
||||
_0805251C: .4byte gUnk_03000BF0
|
||||
_08052520: .4byte gUnk_080FCAC8
|
||||
_08052524: .4byte gUnk_030010A0
|
||||
_08052528: .4byte _0805252C
|
||||
_0805252C: @ jump table
|
||||
.4byte _08052558 @ case 0
|
||||
.4byte _08052576 @ case 1
|
||||
.4byte _08052564 @ case 2
|
||||
.4byte _080525C2 @ case 3
|
||||
.4byte _08052558 @ case 4
|
||||
.4byte _08052584 @ case 5
|
||||
.4byte _08052584 @ case 6
|
||||
.4byte _080525C2 @ case 7
|
||||
.4byte _080525A0 @ case 8
|
||||
.4byte _080525AC @ case 9
|
||||
.4byte _080525B8 @ case 10
|
||||
_08052558:
|
||||
ldr r0, _08052560 @ =0x0000FF40
|
||||
strh r0, [r4, #0x36]
|
||||
b _080525C0
|
||||
.align 2, 0
|
||||
_08052560: .4byte 0x0000FF40
|
||||
_08052564:
|
||||
ldr r0, _0805257C @ =gUnk_03003F80
|
||||
adds r0, #0x38
|
||||
movs r1, #0x10
|
||||
strb r1, [r0]
|
||||
ldr r1, _08052580 @ =gUnk_030010A0
|
||||
ldrb r0, [r1, #0xe]
|
||||
lsls r0, r0, #2
|
||||
strb r0, [r4, #0x15]
|
||||
adds r2, r1, #0
|
||||
_08052576:
|
||||
movs r0, #0xe0
|
||||
strh r0, [r4, #0x24]
|
||||
b _080525C2
|
||||
.align 2, 0
|
||||
_0805257C: .4byte gUnk_03003F80
|
||||
_08052580: .4byte gUnk_030010A0
|
||||
_08052584:
|
||||
ldr r1, _08052598 @ =gUnk_03003F80
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x38
|
||||
movs r0, #1
|
||||
strb r0, [r2]
|
||||
ldr r2, _0805259C @ =gUnk_030010A0
|
||||
ldrb r0, [r2, #0xf]
|
||||
adds r1, #0x39
|
||||
strb r0, [r1]
|
||||
b _080525C2
|
||||
.align 2, 0
|
||||
_08052598: .4byte gUnk_03003F80
|
||||
_0805259C: .4byte gUnk_030010A0
|
||||
_080525A0:
|
||||
ldr r0, _080525A8 @ =gUnk_03003F80
|
||||
adds r0, #0x38
|
||||
movs r1, #1
|
||||
b _080525BE
|
||||
.align 2, 0
|
||||
_080525A8: .4byte gUnk_03003F80
|
||||
_080525AC:
|
||||
ldr r0, _080525B4 @ =gUnk_03003F80
|
||||
adds r0, #0x38
|
||||
movs r1, #3
|
||||
b _080525BE
|
||||
.align 2, 0
|
||||
_080525B4: .4byte gUnk_03003F80
|
||||
_080525B8:
|
||||
ldr r0, _08052614 @ =gUnk_03003F80
|
||||
adds r0, #0x38
|
||||
movs r1, #4
|
||||
_080525BE:
|
||||
strb r1, [r0]
|
||||
_080525C0:
|
||||
ldr r2, _08052618 @ =gUnk_030010A0
|
||||
_080525C2:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #8]
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0xa0
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x29
|
||||
ldrb r1, [r3]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r3]
|
||||
ldr r0, _0805261C @ =gUnk_02002A40
|
||||
adds r0, #0xaa
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x45
|
||||
strb r0, [r1]
|
||||
ldrh r0, [r2, #0x10]
|
||||
strh r0, [r4, #0x2e]
|
||||
ldrh r0, [r2, #0x12]
|
||||
strh r0, [r4, #0x32]
|
||||
ldrb r0, [r2, #0xe]
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r1, [r2, #0x14]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_08016A04
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_0805EA2C
|
||||
bl sub_08017640
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08052614: .4byte gUnk_03003F80
|
||||
_08052618: .4byte gUnk_030010A0
|
||||
_0805261C: .4byte gUnk_02002A40
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
.include "asm/macros.inc"
|
||||
.text
|
||||
.syntax unified
|
||||
|
||||
thumb_func_start CreateFX
|
||||
CreateFX: @ 0x080A29AC
|
||||
push {r4, lr}
|
||||
adds r4, r1, #0
|
||||
adds r3, r2, #0
|
||||
movs r1, #0xf
|
||||
adds r2, r4, #0
|
||||
bl sub_080A2988
|
||||
pop {r4, pc}
|
|
@ -0,0 +1,170 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start MainLoop
|
||||
MainLoop: @ 0x08055E6C
|
||||
push {r4, r5, r6, lr}
|
||||
bl sub_08055F70
|
||||
bl sub_080A3204
|
||||
bl sub_0805616C
|
||||
bl sub_0807CE90
|
||||
bl sub_080560B8
|
||||
bl sub_08056208
|
||||
ldr r1, _08055EEC @ =gUnk_02000010
|
||||
movs r0, #0xc1
|
||||
strb r0, [r1, #4]
|
||||
bl sub_0804FFE4
|
||||
ldr r1, _08055EF0 @ =0x040000D4
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #0x13
|
||||
str r0, [r1]
|
||||
ldr r0, _08055EF4 @ =gUnk_020176A0
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _08055EF8 @ =0x84000080
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
movs r0, #1
|
||||
bl sub_0804FF84
|
||||
bl sub_08056418
|
||||
bl sub_080ADD30
|
||||
ldr r1, _08055EFC @ =gUnk_03001150
|
||||
ldr r0, _08055F00 @ =0x01234567
|
||||
str r0, [r1]
|
||||
ldr r4, _08055F04 @ =gUnk_03001000
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl sub_0801D630
|
||||
movs r0, #0
|
||||
bl sub_08056010
|
||||
adds r6, r4, #0
|
||||
_08055EC8:
|
||||
bl ReadKeyInput
|
||||
bl sub_08055FF4
|
||||
cmp r0, #0
|
||||
beq _08055ED8
|
||||
bl sub_080560A8
|
||||
_08055ED8:
|
||||
ldrb r0, [r6, #1]
|
||||
ldr r1, _08055F04 @ =gUnk_03001000
|
||||
cmp r0, #0
|
||||
beq _08055F08
|
||||
cmp r0, #1
|
||||
bne _08055F08
|
||||
bl sub_08056260
|
||||
b _08055F64
|
||||
.align 2, 0
|
||||
_08055EEC: .4byte gUnk_02000010
|
||||
_08055EF0: .4byte 0x040000D4
|
||||
_08055EF4: .4byte gUnk_020176A0
|
||||
_08055EF8: .4byte 0x84000080
|
||||
_08055EFC: .4byte gUnk_03001150
|
||||
_08055F00: .4byte 0x01234567
|
||||
_08055F04: .4byte gUnk_03001000
|
||||
_08055F08:
|
||||
ldrb r0, [r1, #8]
|
||||
cmp r0, #0
|
||||
beq _08055F22
|
||||
ldr r4, _08055F34 @ =gUnk_03001000
|
||||
movs r5, #0xff
|
||||
_08055F12:
|
||||
bl VBlankIntrWait
|
||||
ldrb r0, [r4, #8]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #8]
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
bne _08055F12
|
||||
_08055F22:
|
||||
ldr r1, _08055F34 @ =gUnk_03001000
|
||||
ldrb r0, [r1, #9]
|
||||
cmp r0, #0
|
||||
beq _08055F44
|
||||
subs r0, #1
|
||||
strb r0, [r1, #9]
|
||||
ldrb r4, [r1, #0xa]
|
||||
b _08055F3C
|
||||
.align 2, 0
|
||||
_08055F34: .4byte gUnk_03001000
|
||||
_08055F38:
|
||||
bl VBlankIntrWait
|
||||
_08055F3C:
|
||||
adds r0, r4, #0
|
||||
subs r4, #1
|
||||
cmp r0, #0
|
||||
bgt _08055F38
|
||||
_08055F44:
|
||||
ldrh r0, [r6, #0xc]
|
||||
adds r0, #1
|
||||
strh r0, [r6, #0xc]
|
||||
ldr r1, _08055F6C @ =gUnk_08100CBC
|
||||
ldrb r0, [r6, #2]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
bl sub_08056458
|
||||
bl sub_08050154
|
||||
bl sub_080A3480
|
||||
_08055F64:
|
||||
bl sub_08016E78
|
||||
b _08055EC8
|
||||
.align 2, 0
|
||||
_08055F6C: .4byte gUnk_08100CBC
|
||||
|
||||
thumb_func_start sub_08055F70
|
||||
sub_08055F70: @ 0x08055F70
|
||||
push {lr}
|
||||
bl sub_08056020
|
||||
movs r0, #0xfe
|
||||
bl RegisterRamReset
|
||||
movs r1, #0xa0
|
||||
lsls r1, r1, #0x13
|
||||
ldr r2, _08055FC8 @ =0x00007FFF
|
||||
adds r0, r2, #0
|
||||
strh r0, [r1]
|
||||
ldr r1, _08055FCC @ =0x04000204
|
||||
ldr r2, _08055FD0 @ =0x00004014
|
||||
adds r0, r2, #0
|
||||
strh r0, [r1]
|
||||
ldr r2, _08055FD4 @ =0x0003FFD0
|
||||
ldr r0, _08055FD8 @ =gUnk_02000030
|
||||
adds r1, r2, #0
|
||||
bl sub_0801D630
|
||||
ldr r0, _08055FDC @ =gUnk_080B2CD8
|
||||
ldr r3, _08055FE0 @ =sub_080B197C
|
||||
subs r2, r0, r3
|
||||
cmp r2, #0
|
||||
beq _08055FAA
|
||||
ldr r1, _08055FE4 @ =gUnk_030056F0
|
||||
adds r0, r3, #0
|
||||
bl sub_0801D66C
|
||||
_08055FAA:
|
||||
ldr r0, _08055FE8 @ =gUnk_080B2CD8
|
||||
ldr r3, _08055FEC @ =gUnk_080B2CD8
|
||||
subs r2, r0, r3
|
||||
cmp r2, #0
|
||||
beq _08055FBC
|
||||
ldr r1, _08055FF0 @ =gUnk_02038560
|
||||
adds r0, r3, #0
|
||||
bl sub_0801D66C
|
||||
_08055FBC:
|
||||
movs r0, #0
|
||||
bl sub_0801DA90
|
||||
bl sub_08016B34
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08055FC8: .4byte 0x00007FFF
|
||||
_08055FCC: .4byte 0x04000204
|
||||
_08055FD0: .4byte 0x00004014
|
||||
_08055FD4: .4byte 0x0003FFD0
|
||||
_08055FD8: .4byte gUnk_02000030
|
||||
_08055FDC: .4byte gUnk_080B2CD8
|
||||
_08055FE0: .4byte sub_080B197C
|
||||
_08055FE4: .4byte gUnk_030056F0
|
||||
_08055FE8: .4byte gUnk_080B2CD8
|
||||
_08055FEC: .4byte gUnk_080B2CD8
|
||||
_08055FF0: .4byte gUnk_02038560
|
|
@ -0,0 +1,21 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ReadKeyInput
|
||||
ReadKeyInput: @ 0x0801D6C0
|
||||
push {lr}
|
||||
ldr r0, _0801D6D4 @ =0x04000130
|
||||
ldrh r0, [r0]
|
||||
ldr r1, _0801D6D8 @ =0x000003FF
|
||||
bics r1, r0
|
||||
ldr r0, _0801D6DC @ =gUnk_03000FF0
|
||||
bl sub_0801D6E0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0801D6D4: .4byte 0x04000130
|
||||
_0801D6D8: .4byte 0x000003FF
|
||||
_0801D6DC: .4byte gUnk_03000FF0
|
|
@ -0,0 +1 @@
|
|||
void LoadRoom(void);
|
|
@ -0,0 +1,93 @@
|
|||
struct Entity {
|
||||
void *field_0x0;
|
||||
struct Entity * field_0x4;
|
||||
u8 type;
|
||||
u8 subtype;
|
||||
u8 parameter1;
|
||||
u8 parameter2;
|
||||
u8 action;
|
||||
u8 previousActionFlag;
|
||||
u8 parameter3;
|
||||
u8 field_0xf;
|
||||
u8 flags;
|
||||
u8 scriptedScene;
|
||||
s16 spriteTileSize;
|
||||
u8 animationState;
|
||||
u8 direction;
|
||||
u8 possibleBool;
|
||||
u8 field_0x17;
|
||||
u8 shadowSize;
|
||||
u8 spriteOrder;
|
||||
u8 palette;
|
||||
u8 spriteOrientation[3];
|
||||
u16 spritePointer;
|
||||
uint field_0x20;
|
||||
s16 nonPlanarMovement;
|
||||
u8 spriteAnimation[3];
|
||||
u8 ticks;
|
||||
u16 collisions;
|
||||
s16 xPosSubPixel;
|
||||
s16 xPos;
|
||||
s16 yPosSubPixel;
|
||||
s16 yPos;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
s16 height;
|
||||
u8 collisionLayer;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 flags2;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 damageType;
|
||||
u8 field_0x40;
|
||||
u8 bitfield;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
u8 field_0x44;
|
||||
u8 currentHealth;
|
||||
s16 field_0x46;
|
||||
void * boundingBox;
|
||||
u8 field_0x4c;
|
||||
u8 field_0x4d;
|
||||
u8 field_0x4e;
|
||||
u8 field_0x4f;
|
||||
void * spritePtr;
|
||||
struct Entity * attachedEntity;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 frames;
|
||||
u8 spriteOrientation2;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u16 spriteVramOffset;
|
||||
u8 spriteRenderPositionOffset;
|
||||
u8 field_0x63;
|
||||
u8 * field_0x64;
|
||||
struct Entity * otherEntity;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
struct Entity * heldObjectPtr;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
int * field_0x84;
|
||||
};
|
|
@ -0,0 +1,32 @@
|
|||
#include "global.h"
|
||||
/* called when loading any room */
|
||||
|
||||
extern void sub_0804ADDC();
|
||||
extern s32 GetProgressFlag(u32 flag);
|
||||
extern s32* sub_0804B128(u8 unk);
|
||||
extern void sub_0804B058(s32 *unk);
|
||||
extern void sub_0804B1AC();
|
||||
extern void sub_0801AC98();
|
||||
|
||||
void LoadRoom(void)
|
||||
|
||||
{
|
||||
|
||||
s32 iVar1;
|
||||
s32 *dat;
|
||||
|
||||
sub_0804B128(1);
|
||||
sub_0804ADDC();
|
||||
sub_0804B128(0);
|
||||
sub_0804ADDC();
|
||||
|
||||
iVar1 = GetProgressFlag(21);
|
||||
if (iVar1 != 0) {
|
||||
dat = sub_0804B128(2);
|
||||
sub_0804B058(dat);
|
||||
}
|
||||
sub_0804B128(3);
|
||||
sub_0804B1AC();
|
||||
sub_0801AC98();
|
||||
return;
|
||||
}
|
Loading…
Reference in New Issue