Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions config/YFEE01/arm9/overlays/ov000/delinks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ src/ov000/playerphase.cpp:
src/ov000/mind.cpp:
.text start:0x021af79c end:0x021b06fc

src/ov000/map_unit_menu.cpp:
.text start:0x021bfa60 end:0x021c1e18
.data start:0x021de3a8 end:0x021dfc20

src/ov000/map.cpp:
.text start:0x021d708c end:0x021d7c90
.data start:0x021e2c30 end:0x021e2c88
Expand Down
224 changes: 112 additions & 112 deletions config/YFEE01/arm9/overlays/ov000/symbols.txt

Large diffs are not rendered by default.

60 changes: 60 additions & 0 deletions include/action.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#ifndef ACTION_HPP
#define ACTION_HPP

#include "global.h"

enum
{
ACTION_NONE = 0x00,
ACTION_FIGHT = 0x01,
ACTION_STAFF = 0x02,
// 0x03
ACTION_WAIT = 0x04,
ACTION_DOOR = 0x05,
ACTION_CHEST = 0x06,
ACTION_BRIDGE = 0x07,
// 0x08
// 0x09
ACTION_ARMORY = 0x0A,
ACTION_VENDOR = 0x0B,
ACTION_SECRET_SHOP = 0x0C,
// 0x0D
ACTION_SEIZE = 0x0E,
ACTION_ESCAPE = 0x0F,
// 0x10
ACTION_IMITATION = 0x11,
// 0x12
ACTION_DECOY = 0x13,
ACTION_TALK = 0x14,
// 0x15
// 0x16
// 0x17
};

class ActionState
{
public:
STRUCT_PAD(0x00, 0x14);
u32 unk_14;
STRUCT_PAD(0x18, 0x2C);
s8 unk_2c;
s8 unk_2d;
u8 unk_2e;
u8 unk_2f;
/* 30 */ s8 xDecision;
/* 31 */ s8 yDecision;
/* 32 */ u8 unitId; // "MindGetUnit" returns this
/* 33 */ u8 actionId; // "MindGetMind" returns this
u8 unk_34; // target unit ID?
u8 unk_35;
u8 unk_36;
u8 unk_37; // item slot?

void func_ov000_021b0eb4(struct Unit *);
void func_ov000_021b0ee8(struct Unit *);
void func_ov000_021b0f1c(struct Unit *);
};

extern struct ActionState * gActionSt;

#endif // ACTION_HPP
15 changes: 15 additions & 0 deletions include/menu.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,21 @@ enum
MENU_ACTIVE = 8,
};

enum
{
MENU_ACTION_x1 = (1 << 0),
MENU_ACTION_x2 = (1 << 1),
MENU_ACTION_x4 = (1 << 2),
MENU_ACTION_x8 = (1 << 3), // end this menu?
MENU_ACTION_x10 = (1 << 4), // end parent menu?
MENU_ACTION_x20 = (1 << 5), // end all menus?
MENU_ACTION_x40 = (1 << 6), // process success?
MENU_ACTION_x80 = (1 << 7), // process cancel?
MENU_ACTION_x100 = (1 << 8), // process failure?

MENU_ACTION_x1000 = (1 << 12), // block?
};

class ProcMenu;
class MenuItem;
class MenuItemState;
Expand Down
222 changes: 111 additions & 111 deletions include/unknown_funcs.h
Original file line number Diff line number Diff line change
Expand Up @@ -6276,118 +6276,118 @@ EC void func_ov000_021bec24(ProcPtr);
// EC ??? func_ov000_021bfa3c
// EC ??? func_ov000_021bfa60
// EC ??? func_ov000_021bfaf0
EC void func_ov000_021bfb80(ProcPtr);
// EC ??? func_ov000_021bfea0
// EC ??? func_ov000_021bfeec
// EC ??? func_ov000_021bff08
// EC ??? func_ov000_021bff34
// EC ??? func_ov000_021bff48
// EC ??? func_ov000_021bff5c
// EC ??? func_ov000_021bff78
// EC ??? func_ov000_021bffa4
// EC ??? func_ov000_021bffec
// EC ??? func_ov000_021c0004
// EC ??? func_ov000_021c0018
// EC ??? func_ov000_021c0068
// EC ??? func_ov000_021c0084
// EC ??? func_ov000_021c00a0
// EC ??? func_ov000_021c00cc
// EC ??? func_ov000_021c0290
// EC ??? func_ov000_021c02a4
// EC ??? func_ov000_021c02dc
// EC ??? func_ov000_021c02f8
// EC ??? func_ov000_021c0324
// EC ??? func_ov000_021c0380
// EC ??? func_ov000_021c0398
// EC ??? func_ov000_021c03ac
// EC ??? func_ov000_021c03c0
// EC ??? func_ov000_021c03dc
// EC ??? func_ov000_021c0408
// EC ??? func_ov000_021c0464
// EC ??? func_ov000_021c046c
// EC ??? func_ov000_021c0480
// EC ??? func_ov000_021c04d0
// EC ??? func_ov000_021c0508
// EC ??? func_ov000_021c0524
// EC ??? func_ov000_021c0550
// EC ??? func_ov000_021c0754
// EC ??? func_ov000_021c0768
// EC ??? func_ov000_021c07a0
// EC ??? func_ov000_021c07bc
// EC ??? func_ov000_021c07e8
// EC ??? func_ov000_021c0870
// EC ??? func_ov000_021c0884
// EC ??? func_ov000_021c08bc
// EC ??? func_ov000_021c08d8
// EC ??? func_ov000_021c0904
// EC ??? func_ov000_021c0978
// EC ??? func_ov000_021c098c
// EC ??? func_ov000_021c09c4
// EC ??? func_ov000_021c09e0
// EC ??? func_ov000_021c0a0c
// EC ??? func_ov000_021c0a54
// EC ??? func_ov000_021c0a68
// EC ??? func_ov000_021c0aa0
// EC ??? func_ov000_021c0abc
// EC ??? func_ov000_021c0ae8
// EC ??? func_ov000_021c0b30
// EC ??? func_ov000_021c0b44
// EC ??? func_ov000_021c0b90
// EC ??? func_ov000_021c0bac
// EC ??? func_ov000_021c0bd8
// EC ??? func_ov000_021c0c30
// EC ??? func_ov000_021c0c38
// EC ??? func_ov000_021c0c4c
// EC ??? func_ov000_021c0c98
// EC ??? func_ov000_021c0cb4
EC void StartUnitMenu(ProcPtr);
// EC ??? _ZN3map9MIU_Fixed8vfunc_1cEv
// EC ??? _ZN3map9MIU_Fixed8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Fixed8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Fixed8vfunc_00Ev
// EC ??? _ZN3map8MIU_Lure8vfunc_24EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Lure8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Lure8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Lure8vfunc_14Ev
// EC ??? _ZN3map8MIU_Lure8vfunc_10EP13MenuItemState
// EC ??? _ZN3map8MIU_Lure8vfunc_00Ev
// EC ??? _ZN3map10DI_LureYes8vfunc_1cEv
// EC ??? _ZN3map13MIU_Imitation8vfunc_1cEv
// EC ??? _ZN3map13MIU_Imitation8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map13MIU_Imitation8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map13MIU_Imitation8vfunc_14Ev
// EC ??? _ZN3map13MIU_Imitation8vfunc_00Ev
// EC ??? _ZN3map8MIU_Save8vfunc_20EP13MenuItemState
// EC ??? _ZN3map8MIU_Save8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Save8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Save8vfunc_14Ev
// EC ??? _ZN3map8MIU_Save8vfunc_10EP13MenuItemState
// EC ??? _ZN3map8MIU_Save8vfunc_00Ev
// EC ??? _ZN3map12MIU_Complete8vfunc_24EP4MenuP13MenuItemState
// EC ??? _ZN3map12MIU_Complete8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map12MIU_Complete8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map12MIU_Complete8vfunc_14Ev
// EC ??? _ZN3map12MIU_Complete8vfunc_10EP13MenuItemState
// EC ??? _ZN3map12MIU_Complete8vfunc_00Ev
// EC ??? _ZN3map14DI_CompleteYes8vfunc_1cEv
// EC ??? _ZN3map15MIU_Transporter8vfunc_20EP13MenuItemState
// EC ??? _ZN3map15MIU_Transporter8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map15MIU_Transporter8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map15MIU_Transporter8vfunc_14Ev
// EC ??? _ZN3map15MIU_Transporter8vfunc_00Ev
// EC ??? _ZN3map9MIU_Arena8vfunc_20EP13MenuItemState
// EC ??? _ZN3map9MIU_Arena8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Arena8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Arena8vfunc_14Ev
// EC ??? _ZN3map9MIU_Arena8vfunc_00Ev
// EC ??? _ZN3map14MIU_SecretShop8vfunc_1cEv
// EC ??? _ZN3map14MIU_SecretShop8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map14MIU_SecretShop8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map14MIU_SecretShop8vfunc_14Ev
// EC ??? _ZN3map14MIU_SecretShop8vfunc_00Ev
// EC ??? _ZN3map12MIU_ItemShop8vfunc_1cEv
// EC ??? _ZN3map12MIU_ItemShop8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map12MIU_ItemShop8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map12MIU_ItemShop8vfunc_14Ev
// EC ??? _ZN3map12MIU_ItemShop8vfunc_00Ev
// EC ??? _ZN3map14MIU_WeaponShop8vfunc_1cEv
// EC ??? _ZN3map14MIU_WeaponShop8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map14MIU_WeaponShop8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map14MIU_WeaponShop8vfunc_14Ev
// EC ??? _ZN3map14MIU_WeaponShop8vfunc_00Ev
// EC ??? _ZN3map8MIU_TBox8vfunc_1cEv
// EC ??? _ZN3map8MIU_TBox8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_TBox8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_TBox8vfunc_14Ev
// EC ??? _ZN3map8MIU_TBox8vfunc_10EP13MenuItemState
// EC ??? _ZN3map8MIU_TBox8vfunc_00Ev
// EC ??? _ZN3map10MIU_Bridge8vfunc_1cEv
// EC ??? _ZN3map10MIU_Bridge8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map10MIU_Bridge8vfunc_90EP4MenuP13MenuItemState
// EC ??? func_ov000_021c0ce0
// EC ??? func_ov000_021c0e1c
// EC ??? func_ov000_021c0e24
// EC ??? func_ov000_021c0e38
// EC ??? func_ov000_021c0e84
// EC ??? func_ov000_021c0ea0
// EC ??? func_ov000_021c0ecc
// EC ??? func_ov000_021c1008
// EC ??? func_ov000_021c1010
// EC ??? func_ov000_021c1024
// EC ??? func_ov000_021c10e4
// EC ??? func_ov000_021c1100
// EC ??? func_ov000_021c112c
// EC ??? func_ov000_021c11b0
// EC ??? func_ov000_021c11b8
// EC ??? func_ov000_021c11cc
// EC ??? func_ov000_021c11e8
// EC ??? func_ov000_021c1204
// EC ??? func_ov000_021c1230
// EC ??? func_ov000_021c13f8
// EC ??? func_ov000_021c140c
// EC ??? func_ov000_021c1430
// EC ??? func_ov000_021c144c
// EC ??? func_ov000_021c1478
// EC ??? func_ov000_021c14ec
// EC ??? func_ov000_021c1500
// EC ??? func_ov000_021c1524
// EC ??? func_ov000_021c1540
// EC ??? func_ov000_021c156c
// EC ??? func_ov000_021c16b4
// EC ??? func_ov000_021c16c8
// EC ??? func_ov000_021c16ec
// EC ??? func_ov000_021c1708
// EC ??? func_ov000_021c1734
// EC ??? func_ov000_021c1868
// EC ??? func_ov000_021c187c
// EC ??? func_ov000_021c1898
// EC ??? func_ov000_021c18b4
// EC ??? func_ov000_021c18e0
// EC ??? func_ov000_021c1c14
// EC ??? func_ov000_021c1c1c
// EC ??? func_ov000_021c1c30
// EC ??? func_ov000_021c1ca4
// EC ??? func_ov000_021c1cf0
// EC ??? func_ov000_021c1d1c
// EC ??? func_ov000_021c1d30
// EC ??? func_ov000_021c1d48
// EC ??? func_ov000_021c1dac
// EC ??? _ZN3map10MIU_Bridge8vfunc_10EP13MenuItemState
// EC ??? _ZN3map10MIU_Bridge8vfunc_00Ev
// EC ??? _ZN3map8MIU_Door8vfunc_1cEv
// EC ??? _ZN3map8MIU_Door8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Door8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Door8vfunc_14Ev
// EC ??? _ZN3map8MIU_Door8vfunc_10EP13MenuItemState
// EC ??? _ZN3map8MIU_Door8vfunc_00Ev
// EC ??? _ZN3map9MIU_Visit8vfunc_1cEv
// EC ??? _ZN3map9MIU_Visit8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Visit8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Visit8vfunc_14Ev
// EC ??? _ZN3map9MIU_Visit8vfunc_10EP13MenuItemState
// EC ??? _ZN3map9MIU_Visit8vfunc_00Ev
// EC ??? _ZN3map9MIU_Trade8vfunc_1cEv
// EC ??? _ZN3map9MIU_Trade8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Trade8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map9MIU_Trade8vfunc_14Ev
// EC ??? _ZN3map9MIU_Trade8vfunc_00Ev
// EC ??? _ZN3map8MIU_Item8vfunc_1cEv
// EC ??? _ZN3map8MIU_Item8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Item8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Item8vfunc_18Ev
// EC ??? _ZN3map8MIU_Item8vfunc_00Ev
// EC ??? _ZN3map7MIU_Rod8vfunc_1cEv
// EC ??? _ZN3map7MIU_Rod8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map7MIU_Rod8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map7MIU_Rod8vfunc_18Ev
// EC ??? _ZN3map7MIU_Rod8vfunc_00Ev
// EC ??? _ZN3map10MIU_Attack8vfunc_1cEv
// EC ??? _ZN3map10MIU_Attack8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map10MIU_Attack8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map10MIU_Attack8vfunc_14Ev
// EC ??? _ZN3map10MIU_Attack8vfunc_00Ev
// EC ??? _ZN3map8MIU_Talk8vfunc_1cEv
// EC ??? _ZN3map8MIU_Talk8vfunc_78EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Talk8vfunc_90EP4MenuP13MenuItemState
// EC ??? _ZN3map8MIU_Talk8vfunc_14Ev
// EC ??? _ZN3map8MIU_Talk8vfunc_10Ev
// EC ??? _ZN3map8MIU_Talk8vfunc_00Ev
// EC ??? _ZN3map8UnitMenu8vfunc_60Ev
// EC ??? _ZN3map8UnitMenu8vfunc_28El
// EC ??? _ZN3map8UnitMenu8vfunc_24EP13MenuItemStatel
// EC ??? _ZN3map8UnitMenu9vfunc_11cEv
// EC ??? _ZN3map8UnitMenu8vfunc_00Ev
// EC ??? _ZN3map8UnitMenuD1Ev
// EC ??? _ZN3map8UnitMenuD0Ev
// EC ??? func_ov000_021c1e18
// EC ??? func_ov000_021c1ea8
// EC ??? func_ov000_021c213c
Expand Down
2 changes: 1 addition & 1 deletion include/unknown_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ struct UnkStruct_021e3340
u8 unk_01;
u8 unk_02;
u8 unk_03;
STRUCT_PAD(0x03, 0x06);
STRUCT_PAD(0x04, 0x06);
u8 unk_06;
u8 unk_07;
};
Expand Down
Loading