mirror of https://github.com/zeldaret/tmc.git
gyorgMale.c: new entity system
This commit is contained in:
parent
3f790d80b4
commit
ba7bb2e2ca
|
|
@ -214,14 +214,14 @@ extern void FireballGuy(Entity*);
|
|||
extern void MiniFireballGuy(Entity*);
|
||||
extern void VaatiTransfiguredEye(Entity*);
|
||||
extern void BusinessScrubPrologue(Entity*);
|
||||
extern void GyorgFemale(Entity*);
|
||||
extern void GyorgMale(Entity*);
|
||||
extern void GyorgFemale();
|
||||
extern void GyorgMale();
|
||||
extern void Curtain(Entity*);
|
||||
extern void VaatiWrathEye(Entity*);
|
||||
extern void GyorgChild(Entity*);
|
||||
extern void GyorgFemaleEye(Entity*);
|
||||
extern void GyorgChild();
|
||||
extern void GyorgFemaleEye();
|
||||
extern void Enemy62(Entity*);
|
||||
extern void GyorgFemaleMouth(Entity*);
|
||||
extern void GyorgFemaleMouth();
|
||||
extern void Enemy64(Entity*);
|
||||
extern void TreeItem(Entity*);
|
||||
extern void Enemy66(Entity*);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,24 @@ typedef struct {
|
|||
u8 filler[0x20];
|
||||
} GyorgFemaleMouthEntity;
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 unk_68[0x8];
|
||||
u16 unk_70;
|
||||
u16 unk_72;
|
||||
u16 unk_74;
|
||||
u16 unk_76;
|
||||
u16 unk_78;
|
||||
u16 unk_7a;
|
||||
u8 unk_7c;
|
||||
u8 unk_7d;
|
||||
u16 unk_7e;
|
||||
u16 unk_80;
|
||||
u16 unk_82;
|
||||
u16 unk_84;
|
||||
u16 unk_86;
|
||||
} GyorgMaleEntity;
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 unk_68[0xC];
|
||||
|
|
@ -62,8 +80,8 @@ typedef struct {
|
|||
typedef struct {
|
||||
GyorgBossObjectEntity* boss;
|
||||
GyorgFemaleEntity* female;
|
||||
GenericEntity* male1;
|
||||
GenericEntity* male2;
|
||||
GyorgMaleEntity* male1;
|
||||
GyorgMaleEntity* male2;
|
||||
GyorgFemaleMouthEntity* unk_10;
|
||||
GenericEntity* unk_14;
|
||||
void* unk_18[0x8];
|
||||
|
|
|
|||
|
|
@ -195,7 +195,7 @@ void sub_08048D20(GyorgFemaleEyeEntity* this) {
|
|||
}
|
||||
|
||||
u32 sub_08048D70(GyorgFemaleEntity* parent) {
|
||||
GenericEntity* tmp;
|
||||
GyorgMaleEntity* tmp;
|
||||
if (parent->base.health != 0) {
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -20,7 +20,7 @@ void sub_080A1E54(GyorgBossObjectEntity*);
|
|||
void sub_080A1D8C(GyorgBossObjectEntity*, s32);
|
||||
|
||||
void sub_080A1FF0(GyorgBossObjectEntity*);
|
||||
u32 sub_080A20B8(GyorgBossObjectEntity*, GenericEntity*);
|
||||
u32 sub_080A20B8(GyorgBossObjectEntity*, GyorgMaleEntity*);
|
||||
void sub_080A1D70(GyorgBossObjectEntity*, u32);
|
||||
|
||||
void sub_080A1704(GyorgBossObjectEntity*);
|
||||
|
|
@ -71,7 +71,7 @@ void sub_080A1704(GyorgBossObjectEntity* this) {
|
|||
tmp->y.HALF.HI = gRoomControls.roomOriginY + 0x330;
|
||||
#endif
|
||||
tmp->myHeap = heap;
|
||||
heap->male1 = (GenericEntity*)tmp;
|
||||
heap->male1 = (GyorgMaleEntity*)tmp;
|
||||
tmp = CreateEnemy(GYORG_MALE, 1);
|
||||
tmp->x.HALF.HI = gRoomControls.roomOriginX + 0x260;
|
||||
#ifdef EU
|
||||
|
|
@ -80,7 +80,7 @@ void sub_080A1704(GyorgBossObjectEntity* this) {
|
|||
tmp->y.HALF.HI = gRoomControls.roomOriginY + 0x310;
|
||||
#endif
|
||||
tmp->myHeap = heap;
|
||||
heap->male2 = (GenericEntity*)tmp;
|
||||
heap->male2 = (GyorgMaleEntity*)tmp;
|
||||
gScreen.bg3.control = 0x1E07;
|
||||
gScreen.lcd.displayControl |= 0x800;
|
||||
this->unk_70 = 0;
|
||||
|
|
@ -309,8 +309,8 @@ void sub_080A1D8C(GyorgBossObjectEntity* this, s32 unk1) {
|
|||
|
||||
void sub_080A1DCC(GyorgBossObjectEntity* this) {
|
||||
GenericEntity* tmp;
|
||||
if ((tmp = ((GyorgFemaleHeap*)super->myHeap)->male1) != NULL ||
|
||||
(tmp = ((GyorgFemaleHeap*)super->myHeap)->male2) != NULL) {
|
||||
if ((tmp = (GenericEntity*)((GyorgFemaleHeap*)super->myHeap)->male1) != NULL ||
|
||||
(tmp = (GenericEntity*)((GyorgFemaleHeap*)super->myHeap)->male2) != NULL) {
|
||||
if (tmp->field_0x7c.BYTES.byte0 && tmp->base.spriteRendering.b3 == 2) {
|
||||
((GyorgFemaleHeap*)super->myHeap)->unk_10->base.flags &= ~0x80;
|
||||
tmp = ((GyorgFemaleHeap*)super->myHeap)->unk_14;
|
||||
|
|
@ -432,12 +432,12 @@ void sub_080A1FF0(GyorgBossObjectEntity* this) {
|
|||
}
|
||||
}
|
||||
|
||||
u32 sub_080A20B8(GyorgBossObjectEntity* this, GenericEntity* other) {
|
||||
u32 sub_080A20B8(GyorgBossObjectEntity* this, GyorgMaleEntity* other) {
|
||||
if (other == NULL) {
|
||||
return 1;
|
||||
}
|
||||
if (sub_08079F8C() && gPlayerEntity.z.HALF.HI == 0) {
|
||||
return other->field_0x7c.BYTES.byte0 == 0 && gPlayerState.field_0x14 != 0;
|
||||
return other->unk_7c == 0 && gPlayerState.field_0x14 != 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue