mirror of
https://github.com/zeldaret/st
synced 2026-05-29 08:42:59 -04:00
Decompile ActorManager_001.cpp (#31)
* started ActorManager_001.cpp * create, ctor, dtor * prog * fix build * fix build issues * progress * struct comments * match ClearInstance
This commit is contained in:
+42
-33
@@ -5,6 +5,7 @@
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "flags.h"
|
||||
#include "global.h"
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
@@ -32,42 +33,46 @@ public:
|
||||
/* 00 */ Actor_5c_Base mUnk_00[3];
|
||||
/* 30 */ ActorType *mUnk_30;
|
||||
/* 34 */
|
||||
|
||||
ActorType **func_ov000_02073dc();
|
||||
ActorType **func_ov000_02073e8();
|
||||
ActorType *func_ov000_020974dc(u32 id);
|
||||
};
|
||||
|
||||
typedef u32 ActorFlags;
|
||||
enum ActorFlag_ {
|
||||
ActorFlag_Alive,
|
||||
ActorFlag_Visible,
|
||||
ActorFlag_2,
|
||||
ActorFlag_Active, // stops updating if false
|
||||
ActorFlag_4,
|
||||
ActorFlag_5,
|
||||
ActorFlag_6,
|
||||
ActorFlag_7,
|
||||
ActorFlag_Grabbed,
|
||||
ActorFlag_9,
|
||||
ActorFlag_Interacting, // set when player interacts with actor
|
||||
ActorFlag_11,
|
||||
ActorFlag_12,
|
||||
ActorFlag_13,
|
||||
ActorFlag_14,
|
||||
ActorFlag_15,
|
||||
ActorFlag_16,
|
||||
ActorFlag_17,
|
||||
ActorFlag_18,
|
||||
ActorFlag_19,
|
||||
ActorFlag_20,
|
||||
ActorFlag_21,
|
||||
ActorFlag_22,
|
||||
ActorFlag_23,
|
||||
ActorFlag_24,
|
||||
ActorFlag_25,
|
||||
ActorFlag_26,
|
||||
ActorFlag_27,
|
||||
ActorFlag_28,
|
||||
ActorFlag_29,
|
||||
ActorFlag_30,
|
||||
ActorFlag_31,
|
||||
ActorFlag_Alive = FLAG(0, 0),
|
||||
ActorFlag_Visible = FLAG(0, 1),
|
||||
ActorFlag_2 = FLAG(0, 2),
|
||||
ActorFlag_Active = FLAG(0, 3), // stops updating if false
|
||||
ActorFlag_4 = FLAG(0, 4),
|
||||
ActorFlag_5 = FLAG(0, 5),
|
||||
ActorFlag_6 = FLAG(0, 6),
|
||||
ActorFlag_7 = FLAG(0, 7),
|
||||
ActorFlag_Grabbed = FLAG(0, 8),
|
||||
ActorFlag_9 = FLAG(0, 9),
|
||||
ActorFlag_Interacting = FLAG(0, 10), // set when player interacts with actor
|
||||
ActorFlag_11 = FLAG(0, 11),
|
||||
ActorFlag_12 = FLAG(0, 12),
|
||||
ActorFlag_13 = FLAG(0, 13),
|
||||
ActorFlag_14 = FLAG(0, 14),
|
||||
ActorFlag_15 = FLAG(0, 15),
|
||||
ActorFlag_16 = FLAG(0, 16),
|
||||
ActorFlag_17 = FLAG(0, 17),
|
||||
ActorFlag_18 = FLAG(0, 18),
|
||||
ActorFlag_19 = FLAG(0, 19),
|
||||
ActorFlag_20 = FLAG(0, 20),
|
||||
ActorFlag_21 = FLAG(0, 21),
|
||||
ActorFlag_22 = FLAG(0, 22),
|
||||
ActorFlag_23 = FLAG(0, 23),
|
||||
ActorFlag_24 = FLAG(0, 24),
|
||||
ActorFlag_25 = FLAG(0, 25),
|
||||
ActorFlag_26 = FLAG(0, 26),
|
||||
ActorFlag_27 = FLAG(0, 27),
|
||||
ActorFlag_28 = FLAG(0, 28),
|
||||
ActorFlag_29 = FLAG(0, 29),
|
||||
ActorFlag_30 = FLAG(0, 30),
|
||||
ActorFlag_31 = FLAG(0, 31),
|
||||
};
|
||||
|
||||
class Actor : public SysObject {
|
||||
@@ -94,7 +99,7 @@ public:
|
||||
/* 50 */ volatile u16 mUnk_50;
|
||||
/* 52 */ u16 mUnk_52;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ ActorFlags mFlags;
|
||||
/* 58 */ ActorFlags mFlags[1];
|
||||
/* 5c */ Actor_5c mUnk_5c;
|
||||
/* 6c */ u16 mUnk_6c; // actor user id?
|
||||
/* 6e */ u16 mUnk_6e;
|
||||
@@ -138,6 +143,10 @@ public:
|
||||
|
||||
unk32 func_01fff5d0(unk32 param1, unk32 param2);
|
||||
|
||||
void ResetFlags() {
|
||||
*(u32 *) this->mFlags = 0;
|
||||
}
|
||||
|
||||
Actor();
|
||||
void func_ov000_0209848c(ActorType *param1);
|
||||
void func_ov000_020984b0();
|
||||
|
||||
@@ -1,47 +1,67 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnk_ov000_020a8bb0.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "files.h"
|
||||
#include "types.h"
|
||||
|
||||
class ActorManager {
|
||||
struct UnkStruct_func_ov001_020bb018_param2 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x08);
|
||||
/* 08 */ u16 mUnk_08;
|
||||
/* 08 */ u16 mUnk_0A;
|
||||
};
|
||||
|
||||
class ActorManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ Actor **mActorTable;
|
||||
/* 04 */ Actor **mActorTableEnd;
|
||||
/* 08 */ Actor **mUnk_08;
|
||||
/* 0c */ unk16 mActorCount;
|
||||
/* 0e */ unk16 mNextActorId;
|
||||
/* 10 */ unk8 mUnk_10[0x14 - 0x10];
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk8 mUnk_1c[0x24 - 0x1c];
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 10 */ unk8 mUnk_11;
|
||||
/* 10 */ unk8 mUnk_12;
|
||||
/* 10 */ unk8 mUnk_13;
|
||||
/* 14 */ UnkStruct_ov019_020d24c8_28_258_00 mUnk_14;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk8 mUnk_20;
|
||||
/* 21 */ unk8 mUnk_21;
|
||||
/* 22 */ unk8 mUnk_22;
|
||||
/* 23 */ unk8 mUnk_23;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk16 mUnk_30;
|
||||
/* 32 */ unk8 mUnk_32[0x34 - 0x32];
|
||||
/* 32 */ unk8 mUnk_32;
|
||||
/* 33 */ unk8 mUnk_33;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */
|
||||
|
||||
ActorManager();
|
||||
~ActorManager();
|
||||
static void SetInstance(ActorManager *instance);
|
||||
static void ClearInstance();
|
||||
static void Create();
|
||||
static void Destroy();
|
||||
|
||||
ActorUnk_ov000_020a8bb0 *func_01fff3b4(unk32 param1);
|
||||
|
||||
void func_ov000_02096e44(int index);
|
||||
|
||||
int ClearInstance();
|
||||
void func_ov001_020bafdc();
|
||||
void func_ov001_020bb018(s32 param1);
|
||||
void func_ov001_020bb414();
|
||||
void func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1);
|
||||
void func_ov001_020bb488();
|
||||
void func_ov001_020bb548();
|
||||
void func_ov001_020bb630();
|
||||
void func_ov001_020bb6b0(s32 *param1);
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
void func_ov001_020bb7b0(s32 param1);
|
||||
void func_ov001_020bb7b0(ZeldaObjectList *pObjList);
|
||||
void func_ov001_020bb7f0();
|
||||
|
||||
static void SetInstance(ActorManager *instance);
|
||||
static ActorManager *Create();
|
||||
static void Destroy();
|
||||
static void func_ov001_020bb414(ActorManager *instance);
|
||||
static bool func_ov001_020bb728(s32 param1);
|
||||
static void func_ov001_020bb824();
|
||||
static void func_ov001_020bb844();
|
||||
|
||||
ActorUnk_ov000_020a8bb0 *func_01fff3b4(unk32 param1);
|
||||
};
|
||||
|
||||
extern ActorManager *gActorManager;
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk8 mUnk_38;
|
||||
/* 38 */ u8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39;
|
||||
/* 3a */
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
enum MapObjectId {
|
||||
#define DEFINE_MAP_OBJECT_TYPE(id, name) MapObjectId_##name = id,
|
||||
#include "Map/MapObjectTypeTable.inl"
|
||||
#undef DEFINE_MAP_OBJECT_TYPE
|
||||
};
|
||||
@@ -0,0 +1,265 @@
|
||||
// IMPORTANT: Map Object types must be sorted by ID!
|
||||
|
||||
// DEFINE_MAP_OBJECT_TYPE(id, name)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACDS', ACDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACFR', ACFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACSN', ACSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACVC', ACVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('ACWT', ACWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('ARWL', ARWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BBFL', BBFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BFFL', BFFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BFSP', BFSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('BKCT', BKCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCC', BLCC)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCE', BLCE)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCK', BLCK)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLCM', BLCM)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLHL', BLHL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLKF', BLKF)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLRB', BLRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLSR', BLSR)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLT3', BLT3)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLT4', BLT4)
|
||||
DEFINE_MAP_OBJECT_TYPE('BLVC', BLVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('BMFL', BMFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BREX', BREX)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGL', BRGL)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGS', BRGS)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRGW', BRGW)
|
||||
DEFINE_MAP_OBJECT_TYPE('BRLI', BRLI)
|
||||
DEFINE_MAP_OBJECT_TYPE('CHAI', CHAI)
|
||||
DEFINE_MAP_OBJECT_TYPE('CLMN', CLMN)
|
||||
DEFINE_MAP_OBJECT_TYPE('CRLL', CRLL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CRWL', CRWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CSTL', CSTL)
|
||||
DEFINE_MAP_OBJECT_TYPE('CTPT', CTPT)
|
||||
DEFINE_MAP_OBJECT_TYPE('DFNC', DFNC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DNGN', DNGN)
|
||||
DEFINE_MAP_OBJECT_TYPE('DOPA', DOPA)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRBK', DRBK)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRBR', DRBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRCG', DRCG)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRCK', DRCK)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRDS', DRDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRHS', DRHS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRKY', DRKY)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRMC', DRMC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRRS', DRRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRSN', DRSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRST', DRST)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRSW', DRSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTC', DRTC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTW', DRTW)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRTY', DRTY)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRVC', DRVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('DRVT', DRVT)
|
||||
DEFINE_MAP_OBJECT_TYPE('EBRD', EBRD)
|
||||
DEFINE_MAP_OBJECT_TYPE('EFRF', EFRF)
|
||||
DEFINE_MAP_OBJECT_TYPE('EFRS', EFRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETDK', ETDK)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETET', ETET)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETMW', ETMW)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNL', ETNL)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNM', ETNM)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETNS', ETNS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETSD', ETSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETSW', ETSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETTV', ETTV)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETUS', ETUS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETWP', ETWP)
|
||||
DEFINE_MAP_OBJECT_TYPE('ETYG', ETYG)
|
||||
DEFINE_MAP_OBJECT_TYPE('EXIT', EXIT)
|
||||
DEFINE_MAP_OBJECT_TYPE('FLSP', FLSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('FNCE', FNCE)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRA1', FRA1)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRAI', FRAI)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRAM', FRAM)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRSH', FRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('FRWL', FRWL)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSCT', FSCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSFR', FSFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSFS', FSFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSSN', FSSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSSV', FSSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST0', FST0)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST1', FST1)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST2', FST2)
|
||||
DEFINE_MAP_OBJECT_TYPE('FST3', FST3)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSVC', FSVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('FSWT', FSWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GATE', GATE)
|
||||
DEFINE_MAP_OBJECT_TYPE('GBDR', GBDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('GELG', GELG)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSG', GRSG)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSS', GRSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('GRSV', GRSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('GSST', GSST)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTCT', GTCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTMT', GTMT)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTRB', GTRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTRK', GTRK)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTSN', GTSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('GTTN', GTTN)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOF0', HOF0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOF1', HOF1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL0', HOL0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL1', HOL1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOL2', HOL2)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOLB', HOLB)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOS0', HOS0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOS1', HOS1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOSB', HOSB)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOSO', HOSO)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOST', HOST)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT0', HOT0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT1', HOT1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOT2', HOT2)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOUS', HOUS)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOV0', HOV0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOV1', HOV1)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOW0', HOW0)
|
||||
DEFINE_MAP_OBJECT_TYPE('HOW1', HOW1)
|
||||
DEFINE_MAP_OBJECT_TYPE('ICEB', ICEB)
|
||||
DEFINE_MAP_OBJECT_TYPE('ICGR', ICGR)
|
||||
DEFINE_MAP_OBJECT_TYPE('ITFL', ITFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('KNBN', KNBN)
|
||||
DEFINE_MAP_OBJECT_TYPE('LEVS', LEVS)
|
||||
DEFINE_MAP_OBJECT_TYPE('LTRW', LTRW)
|
||||
DEFINE_MAP_OBJECT_TYPE('LTST', LTST)
|
||||
DEFINE_MAP_OBJECT_TYPE('LVCM', LVCM)
|
||||
DEFINE_MAP_OBJECT_TYPE('LVVT', LVVT)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBBS', MBBS)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBRB', MBRB)
|
||||
DEFINE_MAP_OBJECT_TYPE('MBRG', MBRG)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTFS', MTFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTGT', MTGT)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTIC', MTIC)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTIR', MTIR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTJR', MTJR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTOR', MTOR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTWD', MTWD)
|
||||
DEFINE_MAP_OBJECT_TYPE('MTWR', MTWR)
|
||||
DEFINE_MAP_OBJECT_TYPE('MZFE', MZFE)
|
||||
DEFINE_MAP_OBJECT_TYPE('MZTR', MZTR)
|
||||
DEFINE_MAP_OBJECT_TYPE('NPST', NPST)
|
||||
DEFINE_MAP_OBJECT_TYPE('OJTH', OJTH)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLCT', PLCT)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLFM', PLFM)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLFR', PLFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('PLV2', PLV2)
|
||||
DEFINE_MAP_OBJECT_TYPE('PRSH', PRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('RCFL', RCFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('RDSD', RDSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('RKAG', RKAG)
|
||||
DEFINE_MAP_OBJECT_TYPE('RLFL', RLFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('RLSG', RLSG)
|
||||
DEFINE_MAP_OBJECT_TYPE('RNBO', RNBO)
|
||||
DEFINE_MAP_OBJECT_TYPE('RPFL', RPFL)
|
||||
DEFINE_MAP_OBJECT_TYPE('SAND', SAND)
|
||||
DEFINE_MAP_OBJECT_TYPE('SBDE', SBDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('SHWB', SHWB)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKBN', SKBN)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKDI', SKDI)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKFR', SKFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKSN', SKSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKVC', SKVC)
|
||||
DEFINE_MAP_OBJECT_TYPE('SKWT', SKWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('SPTB', SPTB)
|
||||
DEFINE_MAP_OBJECT_TYPE('STAL', STAL)
|
||||
DEFINE_MAP_OBJECT_TYPE('STAT', STAT)
|
||||
DEFINE_MAP_OBJECT_TYPE('STDE', STDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('STDS', STDS)
|
||||
DEFINE_MAP_OBJECT_TYPE('STIR', STIR)
|
||||
DEFINE_MAP_OBJECT_TYPE('STNE', STNE)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSD', STSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSF', STSF)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSH', STSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSP', STSP)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSS', STSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('STSV', STSV)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWBR', SWBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWCB', SWCB)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWCR', SWCR)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWEY', SWEY)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWHT', SWHT)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWRA', SWRA)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWST', SWST)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWSW', SWSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('SWWN', SWWN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TATZ', TATZ)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSD', TBSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSF', TBSF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TBSS', TBSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TCBT', TCBT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDBP', TDBP)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDBR', TDBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TDDR', TDDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('THAW', THAW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMDE', TMDE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMFR', TMFR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMSB', TMSB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMSN', TMSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TMWT', TMWT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TOWN', TOWN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBB', TRBB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBF', TRBF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBL', TRBL)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBM', TRBM)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRBR', TRBR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRCC', TRCC)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDA', TRDA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDR', TRDR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRDT', TRDT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREE', TREE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TREP', TREP)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRES', TRES)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRET', TRET)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFI', TRFI)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFO', TRFO)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFS', TRFS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRFV', TRFV)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGE', TRGE)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGM', TRGM)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRGW', TRGW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH0', TRH0)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH1', TRH1)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH2', TRH2)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRH3', TRH3)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRLS', TRLS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRMA', TRMA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRMR', TRMR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRPI', TRPI)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRPT', TRPT)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRA', TRRA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRC', TRRC)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRD', TRRD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRS', TRRS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRRW', TRRW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSA', TRSA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSD', TRSD)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSH', TRSH)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSN', TRSN)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSR', TRSR)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSS', TRSS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRST', TRST)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRSW', TRSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRTF', TRTF)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRTS', TRTS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRWA', TRWA)
|
||||
DEFINE_MAP_OBJECT_TYPE('TRWS', TRWS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TSUB', TSUB)
|
||||
DEFINE_MAP_OBJECT_TYPE('TWGS', TWGS)
|
||||
DEFINE_MAP_OBJECT_TYPE('TWPG', TWPG)
|
||||
DEFINE_MAP_OBJECT_TYPE('WDST', WDST)
|
||||
DEFINE_MAP_OBJECT_TYPE('WHSW', WHSW)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM0', WLM0)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM1', WLM1)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM2', WLM2)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM3', WLM3)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM4', WLM4)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM5', WLM5)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM6', WLM6)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLM7', WLM7)
|
||||
DEFINE_MAP_OBJECT_TYPE('WLMS', WLMS)
|
||||
DEFINE_MAP_OBJECT_TYPE('ZDPF', ZDPF)
|
||||
@@ -27,7 +27,6 @@ enum HeapIndex_ {
|
||||
|
||||
class SysObject {
|
||||
public:
|
||||
static void operator delete(void *ptr);
|
||||
static void operator delete[](void *ptr);
|
||||
};
|
||||
|
||||
@@ -75,6 +74,8 @@ public:
|
||||
void func_02013014();
|
||||
void func_02013070();
|
||||
|
||||
void func_ov001_020ba588(unk32 param1, unk32 param2);
|
||||
|
||||
void func_ov018_020c4980();
|
||||
void func_ov018_020c4a5c();
|
||||
};
|
||||
|
||||
@@ -233,10 +233,19 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 {
|
||||
public:
|
||||
struct UnkStruct_ov019_020d24c8_28_258_00 {
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258_00() {}
|
||||
UnkStruct_ov019_020d24c8_28_258_00(void *param1, unk32 param2) :
|
||||
mUnk_00(param1),
|
||||
mUnk_04(param2) {}
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c8_28_258 : public UnkStruct_ov019_020d24c8_28_258_00 {
|
||||
public:
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ union { //! TODO: figure out
|
||||
Vec2s mPos;
|
||||
@@ -257,8 +266,7 @@ public:
|
||||
};
|
||||
|
||||
UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0) {
|
||||
UnkStruct_ov019_020d24c8_28_258_00(NULL, 0) {
|
||||
this->UnknownAction(param1, param2);
|
||||
}
|
||||
|
||||
@@ -267,8 +275,6 @@ public:
|
||||
this->mUnk_12 = param1;
|
||||
this->mUnk_14 = param2;
|
||||
}
|
||||
|
||||
void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4);
|
||||
};
|
||||
|
||||
#define BTN_ID_NONE -1
|
||||
@@ -844,3 +850,14 @@ public:
|
||||
unk32 func_ov000_02060c28(void);
|
||||
void func_ov000_02060bd8(unk32 param1);
|
||||
};
|
||||
|
||||
struct UnkStruct_StackTitleScreen {
|
||||
/* 00 */ unk32 pad[5];
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_StackTitleScreen(const char *path, unk32 param1);
|
||||
~UnkStruct_StackTitleScreen();
|
||||
|
||||
void func_ov000_02059270(unk32 param1, char *param2, unk32 param3);
|
||||
void func_ov000_02059288(unk32 param1, char *param2, unk32 param3);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_ov000_0207029c {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x1D);
|
||||
/* 20 */ u8 mUnk_1D;
|
||||
};
|
||||
|
||||
struct UnkStruct_func_ov000_020702a8 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x20);
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a0 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e09a0();
|
||||
~UnkStruct_027e09a0();
|
||||
|
||||
UnkStruct_func_ov000_0207029c *func_ov000_0207029c(unk32 param1);
|
||||
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09a0 *data_027e09a0;
|
||||
@@ -1,15 +1,65 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_027e09a4_58_78 {
|
||||
unk32 mUnk_00;
|
||||
unk32 mUnk_04;
|
||||
unk8 mUnk_08;
|
||||
unk8 mUnk_09;
|
||||
u8 mUnk_0A;
|
||||
};
|
||||
|
||||
struct UnkStruct_func_01ffd400 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x10);
|
||||
/* 1B */ unk32 mUnk_10;
|
||||
/* 1B */ unk32 mUnk_14;
|
||||
/* 1B */ unk8 mUnk_18;
|
||||
/* 1B */ unk8 mUnk_19;
|
||||
/* 1B */ unk8 mUnk_1A;
|
||||
/* 1B */ u8 mUnk_1B;
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ u8 mUnk_0C;
|
||||
/* 0D */ STRUCT_PAD(0x0D, 0x60);
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
|
||||
bool UnkCheck(unk32 value) {
|
||||
switch (value) {
|
||||
case 0x03:
|
||||
case 0x13:
|
||||
case 0x42:
|
||||
case 0x5A:
|
||||
case 0x5B:
|
||||
case 0x5D:
|
||||
case 0x63:
|
||||
return true;
|
||||
case 0x5C:
|
||||
case 0x5E:
|
||||
case 0x5F:
|
||||
case 0x60:
|
||||
case 0x61:
|
||||
case 0x62:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
~UnkStruct_027e09a4();
|
||||
|
||||
UnkStruct_func_01ffd400 *func_01ffd400();
|
||||
|
||||
unk8 func_ov000_02070bd0(unk32, unk32);
|
||||
UnkStruct_027e09a4_58_78 *func_ov000_02070560();
|
||||
void func_ov000_020707a8(void *param1);
|
||||
void func_ov000_02070834(void *param1);
|
||||
void func_ov000_0207087c(unk32 param1);
|
||||
|
||||
@@ -1,10 +1,70 @@
|
||||
#pragma once
|
||||
|
||||
#include "files.h"
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cd8_0c {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ unk32 *mUnk_04;
|
||||
/* 008 */ unk32 *mUnk_08;
|
||||
/* 00c */ unk32 mUnk_0c;
|
||||
/* 010 */ unk32 *mUnk_10;
|
||||
/* 014 */ unk32 *mUnk_14;
|
||||
/* 018 */ unk32 mUnk_18;
|
||||
/* 01c */ unk32 *mUnk_1c;
|
||||
/* 020 */ unk32 mUnk_20;
|
||||
/* 024 */ unk32 *mUnk_24;
|
||||
/* 028 */ unk32 mUnk_28;
|
||||
/* 02c */ unk32 *mUnk_2c;
|
||||
/* 030 */ unk32 mUnk_30;
|
||||
/* 034 */ unk32 *mUnk_34;
|
||||
/* 038 */ unk32 mUnk_38;
|
||||
/* 03c */ unk32 mUnk_3c;
|
||||
/* 040 */ unk32 mUnk_40;
|
||||
/* 044 */ unk32 mUnk_44;
|
||||
/* 048 */ unk32 mUnk_48;
|
||||
/* 04c */ unk32 mUnk_4c;
|
||||
/* 050 */ unk32 mUnk_50;
|
||||
/* 054 */ unk32 mUnk_54;
|
||||
/* 058 */ unk32 mUnk_58;
|
||||
/* 05c */ unk32 mUnk_5c;
|
||||
/* 060 */ unk32 mUnk_60;
|
||||
/* 064 */ unk32 mUnk_64;
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06c */ unk32 mUnk_6c;
|
||||
/* 070 */ unk32 *mUnk_70;
|
||||
/* 074 */ unk32 *mUnk_74;
|
||||
/* 078 */ unk32 *mUnk_78;
|
||||
/* 07c */ unk32 mUnk_7c;
|
||||
/* 080 */ unk32 mUnk_80;
|
||||
/* 084 */ unk32 mUnk_84;
|
||||
/* 088 */ unk32 *mUnk_88;
|
||||
/* 08c */ unk32 *mUnk_8c;
|
||||
/* 090 */ unk32 mUnk_90;
|
||||
/* 094 */ unk32 mUnk_94;
|
||||
/* 098 */ unk32 mUnk_98;
|
||||
/* 09c */ unk32 mUnk_9c;
|
||||
/* 0a0 */ unk32 mUnk_a0;
|
||||
/* 0a4 */ unk32 mUnk_a4;
|
||||
/* 0a8 */ unk32 mUnk_a8;
|
||||
/* 0ac */ unk32 mUnk_ac;
|
||||
/* 0b0 */ unk32 mUnk_b0;
|
||||
/* 0b4 */ ZeldaObjectList *mUnk_b4;
|
||||
/* 0b8 */ ZeldaObjectList *mUnk_b8;
|
||||
/* 0bc */ ZeldaObjectList *mUnk_bc;
|
||||
/* 0c0 */ ZeldaObjectList *mUnk_c0;
|
||||
/* 0c4 */ ZeldaObjectList *mUnk_c4;
|
||||
/* 0c8 */ ZeldaObjectList *mUnk_c8;
|
||||
/* 0cc */ ZeldaObjectList *mUnk_cc;
|
||||
/* 0d0 */ ZeldaObjectList *mUnk_d0;
|
||||
/* 0d4 */ ZeldaObjectList *mUnk_d4;
|
||||
/* 0d8 */ ZeldaObjectList *mUnk_d8;
|
||||
/* 0dc */ ZeldaObjectList *mUnk_dc[8];
|
||||
/* 0fc */ STRUCT_PAD(0xFC, 0x128);
|
||||
/* 128 */ u16 mUnk_128;
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
@@ -24,7 +84,7 @@ public:
|
||||
class UnkStruct_027e0cd8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ UnkStruct_027e0cd8_0c *mUnk_0c;
|
||||
/* 10 */
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0cf4 : public SysObject {
|
||||
public:
|
||||
~UnkStruct_027e0cf4();
|
||||
void func_ov021_020f8cdc();
|
||||
void func_ov021_020f8d20();
|
||||
};
|
||||
|
||||
// gBattleGame?
|
||||
extern UnkStruct_027e0cf4 *data_027e0cf4;
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d70 : public SysObject {
|
||||
public:
|
||||
~UnkStruct_027e0d70();
|
||||
void func_ov068_0215e8f8();
|
||||
void func_ov071_0215e9ac();
|
||||
void func_ov071_0215eac8();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d70 *data_027e0d70;
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "Map/MapObjectId.hpp"
|
||||
#include "types.h"
|
||||
|
||||
enum FileType {
|
||||
FileType_ZOB = 'BLOZ',
|
||||
};
|
||||
|
||||
// .zob
|
||||
typedef struct ZeldaObjectList {
|
||||
/* 00 */ FileType type; // always "ZOLB"
|
||||
/* 04 */ unk32 nSize; // file size?
|
||||
/* 08 */ unk16 unk_08;
|
||||
/* 0a */ unk16 unk_0a;
|
||||
/* 0c */ u16 nEntries; // number of entries
|
||||
/* 0e */ unk16 unk_0e;
|
||||
/* 10 */ u32 aIdList[]; // actor id or map object id
|
||||
} ZeldaObjectList;
|
||||
@@ -14,3 +14,15 @@
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1F))
|
||||
#define UNSET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1F)))
|
||||
#define FLAG(index, pos) (((index) << 5) | ((pos) & 0x1F))
|
||||
|
||||
//! TODO: improve or remove? idk
|
||||
#define VA_NARGS_IMPL(_1, _2, _3, _4, N, ...) N
|
||||
#define VA_NARGS(...) VA_NARGS_IMPL(__VA_ARGS__, 4, 3, 2, 1)
|
||||
#define GET_FLAGS_1(f1) (1 << (f1))
|
||||
#define GET_FLAGS_2(f1, f2) GET_FLAGS_1(f1) | (1 << (f2))
|
||||
#define GET_FLAGS_3(f1, f2, f3) GET_FLAGS_2(f1, f2) | (1 << (f3))
|
||||
#define GET_FLAGS_4(f1, f2, f3, f4) GET_FLAGS_3(f1, f2, f3) | (1 << (f4))
|
||||
#define GET_FLAGS_IMPL2(N, ...) GET_FLAGS_##N(__VA_ARGS__)
|
||||
#define GET_FLAGS_IMPL(N, ...) GET_FLAGS_IMPL2(N, __VA_ARGS__)
|
||||
#define GET_FLAGS(...) GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__)
|
||||
#define SET_FLAGS(arr, ...) (*(u32 *) arr = GET_FLAGS_IMPL(VA_NARGS(__VA_ARGS__), __VA_ARGS__))
|
||||
|
||||
@@ -47,4 +47,8 @@
|
||||
#define SUBSCREEN_WIDTH 256
|
||||
#define SUBSCREEN_HEIGHT 192
|
||||
|
||||
#define ALIGN_PREV(X, N) ((X) & ~((N) - 1))
|
||||
#define ALIGN_NEXT(X, N) ALIGN_PREV(((X) + (N) - 1), N)
|
||||
#define ALIGN(X, N) ((X + N) & ~N)
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user