mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 14:41:38 -04:00
50 lines
972 B
C
50 lines
972 B
C
#ifndef M_SCENE_H
|
|
#define M_SCENE_H
|
|
|
|
#include "types.h"
|
|
#include "m_scene_table.h"
|
|
#include "m_lib.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct door_data_s {
|
|
int next_scene_id;
|
|
u8 exit_orientation;
|
|
u8 exit_type; // 0 = normal, 1 = restart game?
|
|
u16 extra_data;
|
|
s_xyz exit_position;
|
|
mActor_name_t door_actor_name;
|
|
u8 wipe_type;
|
|
u8 pad[3]; // possibly necessary due to struct copy
|
|
} Door_data_c;
|
|
|
|
#define mSc_OBJECT_BANK_NUM 70
|
|
|
|
typedef struct object_bank_s {
|
|
s16 bank_id;
|
|
char* ram_start;
|
|
// TODO: others
|
|
u8 _08[0x58 - 0x08];
|
|
s16 num_exist;
|
|
u8 _0x5A[0x5C - 0x5A];
|
|
} Object_Bank_c;
|
|
|
|
typedef struct object_exchange_s {
|
|
Object_Bank_c banks[mSc_OBJECT_BANK_NUM];
|
|
int _1928;
|
|
int _192C;
|
|
int exchange_id;
|
|
u8 _1934[0x1958-0x1934];
|
|
} Object_Exchange_c;
|
|
|
|
extern int mSc_bank_regist_check(Object_Exchange_c* exchange, s16 bank_id);
|
|
extern void mSc_regist_initial_exchange_bank(GAME_PLAY* play);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|