mirror of https://github.com/zeldaret/tmc.git
commit
e000274d46
53
asm/carlov.s
53
asm/carlov.s
|
|
@ -1,53 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Carlov
|
||||
Carlov: @ 0x0806BD54
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BD6A
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _0806BD72
|
||||
_0806BD6A:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
_0806BD72:
|
||||
adds r4, #0x5a
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806BD94
|
||||
movs r0, #0xef
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
movs r0, #0x82
|
||||
lsls r0, r0, #1
|
||||
bl sub_08004488
|
||||
movs r0, #0x10
|
||||
movs r1, #0
|
||||
bl sub_08080964
|
||||
_0806BD94:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806BDAA
|
||||
movs r0, #0xdf
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
movs r0, #0x7c
|
||||
bl sub_08004488
|
||||
_0806BDAA:
|
||||
pop {r4, pc}
|
||||
|
|
@ -607,7 +607,7 @@ SECTIONS {
|
|||
src/npc/moblinLady.o(.text);
|
||||
asm/librarians.o(.text);
|
||||
asm/farmers.o(.text);
|
||||
asm/carlov.o(.text);
|
||||
src/npc/carlov.o(.text);
|
||||
src/npc/dampe.o(.text);
|
||||
asm/drLeft.o(.text);
|
||||
asm/kingGustaf.o(.text);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "player.h"
|
||||
#include "room.h"
|
||||
#include "flags.h"
|
||||
#include "sprite.h"
|
||||
#include "textbox.h"
|
||||
#include "npc.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern void sub_0807DD50(Entity *);
|
||||
extern void sub_0807DD94(Entity *,u32);
|
||||
extern void sub_08004488(u32);
|
||||
extern void sub_08080964(u32,u32);
|
||||
|
||||
|
||||
void Carlov(Entity *this)
|
||||
{
|
||||
if (this->action == 0) {
|
||||
this->action++;
|
||||
sub_0807DD50(this);
|
||||
}
|
||||
else {
|
||||
sub_0807DD94(this,0);
|
||||
}
|
||||
if ((this->frames.all & 0x10) != 0) {
|
||||
this->frames.all = this->frames.all & 0xef;
|
||||
sub_08004488(0x104);
|
||||
sub_08080964(0x10,0);
|
||||
}
|
||||
if ((this->frames.all & 0x20) != 0) {
|
||||
this->frames.all = this->frames.all & 0xdf;
|
||||
sub_08004488(0x7c);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue