Skip to content

Commit

Permalink
Merge pull request #679 from octorock/enemies
Browse files Browse the repository at this point in the history
Use new entity structs for enemies and player
  • Loading branch information
hytopoulos authored Dec 30, 2023
2 parents 3c0c1ba + 8b69ead commit 9c87bcc
Show file tree
Hide file tree
Showing 507 changed files with 14,494 additions and 14,141 deletions.
164 changes: 82 additions & 82 deletions include/enemy.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,108 +156,108 @@ typedef enum {
/*0x66*/ ENEMY_66
} Enemy;

void Octorok(Entity*);
void Chuchu(Entity*);
void Leever(Entity*);
void Peahat(Entity*);
void Rollobite(Entity*);
void DarkNut(Entity*);
void HangingSeed(Entity*);
void Beetle(Entity*);
void Keese(Entity*);
void DoorMimic(Entity*);
void RockChuchu(Entity*);
void SpinyChuchu(Entity*);
void CuccoChickAggr(Entity*);
void Moldorm(Entity*);
void EnemyE(Entity*);
void Moldworm(Entity*);
void Sluggula(Entity*);
void Pesto(Entity*);
void Puffstool(Entity*);
void ChuchuBoss(Entity*);
void LikeLike(Entity*);
void SpearMoblin(Entity*);
void BusinessScrub(Entity*);
void RupeeLike(Entity*);
void Madderpillar(Entity*);
void WaterDrop(Entity*);
void WallMaster(Entity*);
void BombPeahat(Entity*);
void Spark(Entity*);
void Chaser(Entity*);
void SpikedBeetle(Entity*);
void SensorBladeTrap(Entity*);
void Helmasaur(Entity*);
void FallingBoulder(Entity*);
void Bobomb(Entity*);
void WallMaster2(Entity*);
void Octorok();
void Chuchu();
void Leever();
void Peahat();
void Rollobite();
void DarkNut();
void HangingSeed();
void Beetle();
void Keese();
void DoorMimic();
void RockChuchu();
void SpinyChuchu();
void CuccoChickAggr();
void Moldorm();
void EnemyE();
void Moldworm();
void Sluggula();
void Pesto();
void Puffstool();
void ChuchuBoss();
void LikeLike();
void SpearMoblin();
void BusinessScrub();
void RupeeLike();
void Madderpillar();
void WaterDrop();
void WallMaster();
void BombPeahat();
void Spark();
void Chaser();
void SpikedBeetle();
void SensorBladeTrap();
void Helmasaur();
void FallingBoulder();
void Bobomb();
void WallMaster2();
void Gleerok();
void VaatiEyesMacro(Entity*);
void Tektite(Entity*);
void VaatiEyesMacro();
void Tektite();
void WizzrobeWind();
void WizzrobeFire();
void WizzrobeIce();
void Armos();
void Eyegore();
void Rope(Entity*);
void SmallPesto(Entity*);
void AcroBandit(Entity*);
void BladeTrap(Entity*);
void Keaton(Entity*);
void Crow(Entity*);
void Rope();
void SmallPesto();
void AcroBandit();
void BladeTrap();
void Keaton();
void Crow();
void Mulldozer();
void Bombarossa(Entity*);
void Wisp(Entity*);
void SpinyBeetle(Entity*);
void MazaalHead(Entity*);
void MazaalMacro(Entity*);
void MazaalHand(Entity*);
void Bombarossa();
void Wisp();
void SpinyBeetle();
void MazaalHead();
void MazaalMacro();
void MazaalHand();
void OctorokBoss();
void FlyingPot(Entity*);
void Gibdo(Entity*);
void OctorokGolden(Entity*);
void TektiteGolden(Entity*);
void RopeGolden(Entity*);
void FlyingPot();
void Gibdo();
void OctorokGolden();
void TektiteGolden();
void RopeGolden();
void CloudPiranha();
void ScissorsBeetle(Entity*);
void CuccoAggr(Entity*);
void ScissorsBeetle();
void CuccoAggr();
void Stalfos();
void FlyingSkull(Entity*);
void MazaalBracelet(Entity*);
void Takkuri(Entity*);
void BowMoblin(Entity*);
void Lakitu(Entity*);
void LakituCloud(Entity*);
void TorchTrap(Entity*);
void VaatiRebornEnemy(Entity*);
void VaatiProjectile(Entity*);
void BallChainSoldier(Entity*);
void FlyingSkull();
void MazaalBracelet();
void Takkuri();
void BowMoblin();
void Lakitu();
void LakituCloud();
void TorchTrap();
void VaatiRebornEnemy();
void VaatiProjectile();
void BallChainSoldier();
void Enemy4D();
void Ghini();
void VaatiTransfigured(Entity*);
void VaatiTransfigured();
void Enemy50();
void VaatiWrath(Entity*);
void VaatiArm(Entity*);
void Dust(Entity*);
void VaatiBall(Entity*);
void Slime(Entity*);
void MiniSlime(Entity*);
void FireballGuy(Entity*);
void MiniFireballGuy(Entity*);
void VaatiTransfiguredEye(Entity*);
void BusinessScrubPrologue(Entity*);
void VaatiWrath();
void VaatiArm();
void Dust();
void VaatiBall();
void Slime();
void MiniSlime();
void FireballGuy();
void MiniFireballGuy();
void VaatiTransfiguredEye();
void BusinessScrubPrologue();
void GyorgFemale();
void GyorgMale();
void Curtain(Entity*);
void VaatiWrathEye(Entity*);
void Curtain();
void VaatiWrathEye();
void GyorgChild();
void GyorgFemaleEye();
void GyorgMaleEye();
void GyorgFemaleMouth();
void Enemy64();
void TreeItem(Entity*);
void Enemy66(Entity*);
void TreeItem();
void Enemy66();

extern void (*const gUnk_080012C8[])(Entity*);

Expand Down
20 changes: 20 additions & 0 deletions include/enemy/vaatiWrath.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#ifndef VAATIWRATH_H
#define VAATIWRATH_H
#include "enemy.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ u8 unused1[5];
/*0x6d*/ u8 unk_6d;
/*0x6e*/ u8 unused2[10];
/*0x78*/ u8 unk_78;
/*0x79*/ u8 unk_79;
/*0x7a*/ u8 unused3[1];
/*0x7b*/ u8 unk_7b;
/*0x7c*/ u16 unk_7c;
/*0x7e*/ u16 unk_7e;
/*0x80*/ u8 unused4[4];
/*0x84*/ u8 unk_84;
} VaatiWrathEntity;

#endif // VAATIWRATH_H
7 changes: 2 additions & 5 deletions include/entity.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,6 @@ typedef struct Entity_ {
/*0x62*/ u8 spriteOffsetX;
/*0x63*/ s8 spriteOffsetY;
/*0x64*/ void* myHeap; /**< Heap data allocated with #zMalloc. */
#ifndef NENT_DEPRECATED
GENERIC_ENTITY_FIELDS
#endif
} Entity;

typedef struct {
Expand All @@ -248,8 +245,8 @@ typedef struct LinkedList {
* to allow the iteration of all Entity's.
*/
extern LinkedList gEntityLists[9];
extern Entity gAuxPlayerEntities[MAX_AUX_PLAYER_ENTITIES];
extern Entity gEntities[MAX_ENTITIES];
extern GenericEntity gAuxPlayerEntities[MAX_AUX_PLAYER_ENTITIES];
extern GenericEntity gEntities[MAX_ENTITIES];

typedef void(EntityAction)(Entity*);
typedef void (*EntityActionPtr)(Entity*);
Expand Down
26 changes: 0 additions & 26 deletions include/new_player.h

This file was deleted.

3 changes: 0 additions & 3 deletions include/object/deathFx.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
#ifndef DEATHFX_H
#define DEATHFX_H

#ifndef NENT_DEPRECATED
#error "deathFx.h requires new entities"
#endif
#include "entity.h"

typedef struct {
Expand Down
13 changes: 13 additions & 0 deletions include/object/houseSign.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef HOUSESIGN_H
#define HOUSESIGN_H

#include "entity.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ u8 unused1[24];
/*0x80*/ s16 unk_80;
/*0x82*/ s16 unk_82;
} HouseSignEntity;

#endif // HOUSESIGN_H
13 changes: 13 additions & 0 deletions include/object/itemForSale.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef ITEMFORSALE_H
#define ITEMFORSALE_H

#include "object.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ u8 unk_68[0x18];
/*0x80*/ u16 unk_80;
/*0x82*/ u16 unk_82;
} ItemForSaleEntity;

#endif // ITEMFORSALE_H
3 changes: 0 additions & 3 deletions include/object/linkAnimation.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
#ifndef LINKANIMATION_H
#define LINKANIMATION_H

#ifndef NENT_DEPRECATED
#error "linkAnimtion.h requires new entities"
#endif
#include "entity.h"

typedef struct {
Expand Down
25 changes: 25 additions & 0 deletions include/object/pushableFurniture.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#ifndef PUSHABLEFURNITURE_H
#define PUSHABLEFURNITURE_H

#include "object.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ u8 unk_68[0x8];
/*0x70*/ u16 unk_70;
/*0x72*/ u16 unk_72;
/*0x74*/ u16 unk_74;
/*0x76*/ u16 unk_76;
/*0x78*/ u8 unk_78[0x2];
/*0x7a*/ u16 unk_7a;
/*0x7c*/ u16 unk_7c;
/*0x7e*/ u16 unk_7e;
/*0x80*/ u8 unk_80;
/*0x81*/ u8 unk_81;
/*0x82*/ u8 unk_82;
/*0x83*/ u8 unk_83;
/*0x84*/ u8 unk_84[0x2];
/*0x86*/ u16 unk_86;
} PushableFurnitureEntity;

#endif // PUSHABLEFURNITURE_H
21 changes: 19 additions & 2 deletions include/player.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@
#include "global.h"
#include "entity.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ union SplitWord unk_68;
/*0x6c*/ u8 unk_6c;
/*0x6d*/ u8 unk_6d;
/*0x6e*/ u8 unk_6e;
/*0x6f*/ u8 unk_6f;
/*0x70*/ Entity* unk_70;
/*0x74*/ Entity* unk_74;
/*0x78*/ u8 unk_78;
/*0x79*/ u8 unk_79;
/*0x7a*/ u16 unk_7a;
/*0x7c*/ union SplitWord unk_7c;
/*0x80*/ union SplitWord unk_80;
/*0x84*/ union SplitWord unk_84;
} PlayerEntity;

enum PlayerActions {
PLAYER_INIT,
PLAYER_NORMAL,
Expand Down Expand Up @@ -585,9 +602,9 @@ extern const u8 gQuiverSizes[];
extern Entity* gPlayerClones[];

extern PlayerState gPlayerState;
extern Entity gPlayerEntity;
extern PlayerEntity gPlayerEntity;

void DoPlayerAction(Entity*);
void DoPlayerAction(PlayerEntity*);
bool32 CheckInitPauseMenu(void);
void SetPlayerControl(PlayerControlMode mode);
void ResetActiveItems(void);
Expand Down
13 changes: 13 additions & 0 deletions include/playerItem/playerItemBottle.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef PLAYERITEMBOTTLE_H
#define PLAYERITEMBOTTLE_H

#include "entity.h"

typedef struct {
/*0x00*/ Entity base;
/*0x68*/ u8 bottleIndex; /**< @see Item */
/*0x69*/ u8 unused[6];
/*0x6f*/ u8 bottleContent; /**< @see Item */
} PlayerItemBottleEntity;

#endif // PLAYERITEMBOTTLE_H
Loading

0 comments on commit 9c87bcc

Please sign in to comment.