diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2024-09-26 16:39:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-26 07:39:38 -0700 |
| commit | bd553a1ca83a6135604920e8f073ebe29122bc5a (patch) | |
| tree | a84c34487578cfae9ddab32c4e43ea83fc932e60 /src/overlays/actors/player_actor/m_player.h | |
| parent | 5fb92a5079f8e2ccf67d5593236a62dff6cd3638 (diff) | |
m_player controller functions (#217)
* player work1
* m_player_controller
* format
Diffstat (limited to 'src/overlays/actors/player_actor/m_player.h')
| -rw-r--r-- | src/overlays/actors/player_actor/m_player.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/overlays/actors/player_actor/m_player.h b/src/overlays/actors/player_actor/m_player.h index 444b92d..43fe690 100644 --- a/src/overlays/actors/player_actor/m_player.h +++ b/src/overlays/actors/player_actor/m_player.h @@ -4,12 +4,71 @@ #include "ultra64.h" #include "m_actor.h" #include "m_collision_obj.h" +#include "m_controller.h" #include "unk.h" struct Game; struct Game_Play; struct Player; +typedef enum Player_ItemKind { + Player_ITEM_KIND_START, + Player_ITEM_KIND_AXE = Player_ITEM_KIND_START, + Player_ITEM_KIND_NET, + Player_ITEM_KIND_UMBRELLA00, + Player_ITEM_KIND_UMBRELLA01, + Player_ITEM_KIND_UMBRELLA02, + Player_ITEM_KIND_UMBRELLA03, + Player_ITEM_KIND_UMBRELLA04, + Player_ITEM_KIND_UMBRELLA05, + Player_ITEM_KIND_UMBRELLA06, + Player_ITEM_KIND_UMBRELLA07, + Player_ITEM_KIND_UMBRELLA08, + Player_ITEM_KIND_UMBRELLA09, + Player_ITEM_KIND_UMBRELLA10, + Player_ITEM_KIND_UMBRELLA11, + Player_ITEM_KIND_UMBRELLA12, + Player_ITEM_KIND_UMBRELLA13, + Player_ITEM_KIND_UMBRELLA14, + Player_ITEM_KIND_UMBRELLA15, + Player_ITEM_KIND_UMBRELLA16, + Player_ITEM_KIND_UMBRELLA17, + Player_ITEM_KIND_UMBRELLA18, + Player_ITEM_KIND_UMBRELLA19, + Player_ITEM_KIND_UMBRELLA20, + Player_ITEM_KIND_UMBRELLA21, + Player_ITEM_KIND_UMBRELLA22, + Player_ITEM_KIND_UMBRELLA23, + Player_ITEM_KIND_UMBRELLA24, + Player_ITEM_KIND_UMBRELLA25, + Player_ITEM_KIND_UMBRELLA26, + Player_ITEM_KIND_UMBRELLA27, + Player_ITEM_KIND_UMBRELLA28, + Player_ITEM_KIND_UMBRELLA29, + Player_ITEM_KIND_UMBRELLA30, + Player_ITEM_KIND_UMBRELLA31, + Player_ITEM_KIND_ROD, + Player_ITEM_KIND_SCOOP +} Player_ItemKind; + +#define Player_ITEM_KIND_CHECK(kind, min, max) (kind >= min && kind < max + 1) +#define Player_ITEM_IS_AXE(kind) (kind == Player_ITEM_KIND_AXE) +#define Player_ITEM_IS_NET(kind) (kind == Player_ITEM_KIND_NET) +#define Player_ITEM_IS_ROD(kind) (kind == Player_ITEM_KIND_ROD) +#define Player_ITEM_IS_SCOOP(kind) (kind == Player_ITEM_KIND_SCOOP) +#define Player_ITEM_IS_UMBRELLA(kind) \ + (Player_ITEM_KIND_CHECK(kind, Player_ITEM_KIND_UMBRELLA00, Player_ITEM_KIND_UMBRELLA31)) +#define Player_ITEM_IS_VALID(kind) (Player_ITEM_KIND_CHECK(kind, Player_ITEM_KIND_START, Player_ITEM_KIND_SCOOP)) + +typedef struct PlayerControllerData { + /* 0x00 */ Controller controller; + /* 0x38 */ s8 triggerButtonA; + /* 0x39 */ s8 buttonA; + /* 0x3A */ s8 triggerButtonB; + /* 0x3B */ s8 buttonB; + /* 0x3C */ u16 equippedItem; +} PlayerControllerData; // size = 0x40; + typedef void (*PlayerUnk1230Func)(struct Player*, struct Game_Play*, Actor*, s32, xyz_t*, f32); typedef f32 (*PlayerUnk1234Func)(struct Player*, struct Game_Play*); typedef void (*PlayerUnk1238Func)(struct Player*, struct Game_Play*, Actor*, s32); |
