Merge pull request #442 from HookedBehemoth/Object2B

decompile Object2B
This commit is contained in:
notyourav 2022-03-09 12:09:29 -08:00 committed by GitHub
commit db306db638
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 48 deletions

View File

@ -1,47 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start Object2B
Object2B: @ 0x08089CBC
push {r4, lr}
adds r4, r0, #0
ldrb r1, [r4, #0xc]
cmp r1, #0
bne _08089CDC
movs r0, #1
strb r0, [r4, #0xc]
str r1, [r4, #0x34]
ldrb r0, [r4, #0x19]
movs r1, #0xc0
orrs r0, r1
strb r0, [r4, #0x19]
adds r0, r4, #0
movs r1, #9
bl InitializeAnimation
_08089CDC:
ldr r1, [r4, #0x50]
ldr r0, [r1, #0x34]
cmp r0, #0
bne _08089CEA
bl DeleteThisEntity
b _08089D02
_08089CEA:
movs r2, #0x36
ldrsh r0, [r1, r2]
movs r2, #0x90
lsls r2, r2, #1
subs r2, r2, r0
adds r0, r1, #0
adds r0, #0x7e
ldrh r3, [r0]
adds r0, r4, #0
adds r1, r2, #0
bl sub_0805EC9C
_08089D02:
pop {r4, pc}

View File

@ -663,7 +663,7 @@ SECTIONS {
asm/object/object28.o(.text);
src/object/ambientClouds.o(.text);
src/object/object2A.o(.text);
asm/object/object2B.o(.text);
src/object/object2B.o(.text);
src/object/beanstalk.o(.text);
src/object/smoke.o(.text);
src/object/pushableRock.o(.text);

22
src/object/object2B.c Normal file
View File

@ -0,0 +1,22 @@
#include "global.h"
#include "entity.h"
#include "functions.h"
void Object2B(Entity* object) {
Entity* parent;
if (object->action == 0) {
object->action = 1;
object->z.WORD = 0;
object->spriteRendering.b3 = 3;
InitializeAnimation(object, 9);
}
parent = object->parent;
if (parent->z.WORD == 0) {
DeleteThisEntity();
} else {
int position = 0x120 - parent->z.HALF.HI;
sub_0805EC9C(object, position, position, parent->field_0x7c.HALF_U.HI);
}
}