summaryrefslogtreecommitdiff
path: root/include/f_op/f_op_scene_mng.h
blob: bb14472ca32fcc98d2a39b99f0d464353ec1633f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef F_F_OP_SCENE_MNG_H_
#define F_F_OP_SCENE_MNG_H_

#include "f_pc/f_pc_manager.h"
#include "f_op/f_op_scene.h"

typedef struct base_process_class base_process_class;

scene_class* fopScnM_SearchByID(fpc_ProcID id);
BOOL fopScnM_ChangeReq(scene_class*, s16, s16, u16);
BOOL fopScnM_DeleteReq(scene_class*);
BOOL fopScnM_CreateReq(s16, s16, u16, u32);
u32 fopScnM_ReRequest(s16, u32);
void fopScnM_Management(void);
void fopScnM_Init(void);

inline u32 fpcM_LayerID(const void* pProc) {
    if (fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)pProc)->mSubType)) {
        return ((scene_class*)pProc)->base.mLayer.mLayerID;
    } else {
        return fpcLy_NONE_e;
    }
}

inline layer_class * fpcM_Layer(const void* pProc) {
    return &((process_node_class*)pProc)->mLayer;
}

inline fpc_ProcID fopScnM_GetID(void* proc) {
    return fpcM_GetID(proc);
}

inline int fopScnM_LayerID(void* proc) {
    return fpcM_LayerID(proc);
}

inline u32 fopScnM_GetParam(void* proc) {
    return fpcM_GetParam(proc);
}

#endif