Skip to content

Commit

Permalink
more cheese
Browse files Browse the repository at this point in the history
  • Loading branch information
freshollie committed Dec 11, 2023
1 parent 41e2a7e commit f2629eb
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 367 deletions.
363 changes: 0 additions & 363 deletions asm/cheese.s
Original file line number Diff line number Diff line change
Expand Up @@ -38,369 +38,6 @@ gUnknown_080D5628:

@; Player end

thumb_func_start sub_8014C60
sub_8014C60: @ 0x08014C60
push {r4, lr}
ldr r3, _08014C88 @ =gCurTask
ldr r0, [r3]
ldrh r1, [r0, #6]
movs r0, #0xc0
lsls r0, r0, #0x12
adds r4, r1, r0
adds r0, #0x3c
adds r1, r1, r0
ldrb r0, [r1]
adds r2, r0, #1
strb r2, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0x20
bls _08014C8C
ldr r0, [r3]
bl TaskDestroy
b _08014CBC
.align 2, 0
_08014C88: .4byte gCurTask
_08014C8C:
ldr r0, [r4, #0x34]
ldr r1, [r4, #0x30]
adds r0, r0, r1
str r0, [r4, #0x34]
ldr r1, [r4, #0x38]
movs r2, #0x80
lsls r2, r2, #1
adds r1, r1, r2
str r1, [r4, #0x38]
asrs r0, r0, #8
ldr r3, _08014CC4 @ =gCamera
ldr r2, [r3]
subs r0, r0, r2
strh r0, [r4, #0x16]
asrs r1, r1, #8
ldr r0, [r3, #4]
subs r1, r1, r0
strh r1, [r4, #0x18]
adds r0, r4, #0
bl UpdateSpriteAnimation
adds r0, r4, #0
bl DisplaySprite
_08014CBC:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08014CC4: .4byte gCamera

thumb_func_start sub_8014CC8
sub_8014CC8: @ 0x08014CC8
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
adds r4, r0, #0
adds r7, r4, #0
adds r7, #0x54
movs r0, #0
mov r8, r0
mov sb, r0
ldr r0, _08014D2C @ =gCurrentLevel
ldrb r1, [r0]
movs r0, #3
ands r0, r1
cmp r0, #2
beq _08014CFC
lsls r0, r1, #0x18
asrs r1, r0, #0x18
cmp r1, #0x1c
bne _08014CF8
ldr r0, _08014D30 @ =gUnknown_030054B0
ldrb r0, [r0]
cmp r0, #0
beq _08014CFC
_08014CF8:
cmp r1, #0x1d
bne _08014D02
_08014CFC:
adds r0, r4, #0
bl sub_80155D0
_08014D02:
ldrb r1, [r7, #0x10]
adds r0, r1, #0
adds r0, #0xa0
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
ldrh r2, [r4, #0xc]
movs r0, #8
ands r0, r2
adds r5, r2, #0
cmp r0, #0
beq _08014D68
cmp r1, #0
bne _08014D34
movs r0, #0x9f
subs r0, r0, r1
lsls r0, r0, #0x18
movs r1, #0x80
lsls r1, r1, #0x18
adds r0, r0, r1
b _08014D40
.align 2, 0
_08014D2C: .4byte gCurrentLevel
_08014D30: .4byte gUnknown_030054B0
_08014D34:
movs r0, #0x9f
subs r0, r0, r1
lsls r0, r0, #0x18
movs r2, #0x80
lsls r2, r2, #0x18
adds r0, r0, r2
_08014D40:
lsrs r3, r0, #0x18
ldr r0, [r7, #0xc]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _08014D52
movs r0, #1
orrs r0, r5
b _08014D9A
_08014D52:
ldr r0, _08014D64 @ =0x0000FFFE
ands r0, r5
strh r0, [r4, #0xc]
adds r0, r3, #0
adds r0, #0x40
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
b _08014D9C
.align 2, 0
_08014D64: .4byte 0x0000FFFE
_08014D68:
ldr r0, [r7, #0xc]
movs r1, #1
ands r0, r1
cmp r0, #0
beq _08014D88
adds r0, r3, #0
adds r0, #0x40
lsls r0, r0, #0x18
lsrs r3, r0, #0x18
ldrb r0, [r7, #0x10]
adds r0, #0x40
cmp r0, #0x80
bgt _08014D96
movs r0, #1
orrs r0, r2
b _08014D9A
_08014D88:
ldrb r0, [r7, #0x10]
adds r0, #0x40
cmp r0, #0x80
ble _08014D96
movs r0, #1
orrs r0, r2
b _08014D9A
_08014D96:
ldr r0, _08014DE4 @ =0x0000FFFE
ands r0, r2
_08014D9A:
strh r0, [r4, #0xc]
_08014D9C:
ldr r1, _08014DE8 @ =gSineTable
lsls r0, r3, #3
movs r2, #0x80
lsls r2, r2, #2
adds r0, r0, r2
adds r0, r0, r1
ldrh r0, [r0]
lsls r0, r0, #0x10
asrs r0, r0, #0x16
lsls r0, r0, #5
ldr r2, [r7]
adds r5, r0, r2
lsls r0, r3, #3
adds r0, r0, r1
ldrh r0, [r0]
lsls r0, r0, #0x10
asrs r0, r0, #0x16
lsls r0, r0, #5
ldr r1, [r7, #4]
adds r0, r0, r1
mov ip, r0
ldrb r0, [r4, #8]
ldr r6, [r4]
cmp r0, #2
beq _08014DFC
subs r0, r2, r6
subs r1, r6, r2
cmp r0, #0
blt _08014DD8
adds r1, r0, #0
_08014DD8:
movs r0, #0xa0
lsls r0, r0, #7
cmp r1, r0
bls _08014DEC
movs r0, #2
b _08014DFA
.align 2, 0
_08014DE4: .4byte 0x0000FFFE
_08014DE8: .4byte gSineTable
_08014DEC:
movs r0, #0xc0
lsls r0, r0, #6
cmp r1, r0
bls _08014DF8
movs r0, #3
b _08014DFA
_08014DF8:
movs r0, #4
_08014DFA:
strb r0, [r4, #8]
_08014DFC:
subs r0, r5, r6
subs r1, r6, r5
cmp r0, #0
blt _08014E06
adds r1, r0, #0
_08014E06:
ldr r0, _08014E2C @ =0x000003FF
cmp r1, r0
bhi _08014E10
movs r0, #4
strb r0, [r4, #8]
_08014E10:
cmp r5, r6
ble _08014E34
ldrb r0, [r4, #8]
lsrs r1, r0
mov r8, r1
movs r0, #0x80
lsls r0, r0, #1
cmp r8, r0
ble _08014E4E
ldrh r1, [r4, #0xc]
ldr r0, _08014E30 @ =0x0000FFFE
ands r0, r1
b _08014E4C
.align 2, 0
_08014E2C: .4byte 0x000003FF
_08014E30: .4byte 0x0000FFFE
_08014E34:
cmp r5, r6
bge _08014E4E
ldrb r2, [r4, #8]
lsrs r1, r2
rsbs r1, r1, #0
mov r8, r1
ldr r0, _08014E70 @ =0xFFFFFF00
cmp r8, r0
bge _08014E4E
ldrh r1, [r4, #0xc]
movs r0, #1
orrs r0, r1
_08014E4C:
strh r0, [r4, #0xc]
_08014E4E:
ldrb r0, [r4, #9]
ldr r3, [r4, #4]
cmp r0, #2
beq _08014E84
ldr r0, [r7, #4]
subs r2, r0, r3
subs r1, r3, r0
cmp r2, #0
blt _08014E62
adds r1, r2, #0
_08014E62:
movs r0, #0xa0
lsls r0, r0, #7
cmp r1, r0
bls _08014E74
movs r0, #2
b _08014E82
.align 2, 0
_08014E70: .4byte 0xFFFFFF00
_08014E74:
movs r0, #0xc0
lsls r0, r0, #6
cmp r1, r0
bls _08014E80
movs r0, #3
b _08014E82
_08014E80:
movs r0, #4
_08014E82:
strb r0, [r4, #9]
_08014E84:
mov r1, ip
subs r0, r1, r3
subs r1, r3, r1
cmp r0, #0
blt _08014E90
adds r1, r0, #0
_08014E90:
ldr r0, _08014EA0 @ =0x000003FF
cmp r1, r0
bhi _08014EA4
movs r0, #4
strb r0, [r4, #9]
movs r2, #1
b _08014EA6
.align 2, 0
_08014EA0: .4byte 0x000003FF
_08014EA4:
movs r2, #0
_08014EA6:
cmp ip, r3
ble _08014EB0
ldrb r0, [r4, #9]
lsrs r1, r0
b _08014EBA
_08014EB0:
cmp ip, r3
bge _08014EBC
ldrb r0, [r4, #9]
lsrs r1, r0
rsbs r1, r1, #0
_08014EBA:
mov sb, r1
_08014EBC:
ldr r0, _08014EF4 @ =0xFFFFF001
cmp r8, r0
blt _08014EC8
ldr r0, _08014EF8 @ =0x00000FFF
cmp r8, r0
ble _08014ECA
_08014EC8:
mov r8, r0
_08014ECA:
ldr r0, _08014EF4 @ =0xFFFFF001
cmp sb, r0
blt _08014ED6
ldr r0, _08014EF8 @ =0x00000FFF
cmp sb, r0
ble _08014ED8
_08014ED6:
mov sb, r0
_08014ED8:
mov r1, r8
adds r0, r6, r1
str r0, [r4]
mov r1, sb
adds r0, r3, r1
str r0, [r4, #4]
adds r0, r2, #0
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7}
pop {r1}
bx r1
.align 2, 0
_08014EF4: .4byte 0xFFFFF001
_08014EF8: .4byte 0x00000FFF

thumb_func_start sub_8014EFC
sub_8014EFC: @ 0x08014EFC
push {r4, r5, r6, r7, lr}
Expand Down
8 changes: 5 additions & 3 deletions include/game/cheese.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
#include "game/stage/player.h"

typedef struct {
/* 0x54 */ u8 filler54[12];
/* 0x54 */ s32 unk54;
/* 0x54 */ s32 unk58;
/* 0x58 */ u8 filler5C[4];
/* 0x60 */ s32 unk60;
/* 0x64 */ u8 unk64;
/* 0x68 */ Sprite *unk68;
Expand All @@ -19,8 +21,8 @@ typedef struct {
/* 0x00 */ s32 posX;
/* 0x04 */ s32 posY;

/* 0x08 */ s8 unk8;
/* 0x09 */ s8 unk9;
/* 0x08 */ u8 unk8;
/* 0x09 */ u8 unk9;
/* 0x0C */ u8 unkA;
/* 0x0C */ u16 unkC;
/* 0x0E */ s16 unkE;
Expand Down
Loading

0 comments on commit f2629eb

Please sign in to comment.