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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#include "ultra64.h"
#include "m_actor.h"
#include "m_actor_dlftbls.h"
#include "m_object.h"
#include "overlays/gamestates/ovl_play/m_play.h"
#include "overlays/actors/player_actor/m_player.h"
ActorFunc Player_actor_ct_func;
ActorFunc Player_actor_dt_func;
ActorFunc Player_actor_move_func;
ActorFunc Player_actor_draw_func;
void Player_actor_ct_call(Actor* thisx, Game_Play* game_play);
void Player_actor_dt_call(Actor* thisx, Game_Play* game_play);
void Player_actor_move_call(Actor* thisx, Game_Play* game_play);
void Player_actor_draw_call(Actor* thisx, Game_Play* game_play);
ActorProfile Player_Profile = {
/* */ ACTOR_PLAYER,
/* */ ACTOR_PART_PLAYER,
/* */ ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000 | ACTOR_FLAG_4000000 |
ACTOR_FLAG_20000000,
/* */ 0,
/* */ GAMEPLAY_KEEP,
/* */ sizeof(Player),
/* */ Player_actor_ct_call,
/* */ Player_actor_dt_call,
/* */ Player_actor_move_call,
/* */ Player_actor_draw_call,
/* */ NULL,
};
void initfunc(Game_Play* game_play) {
Player_actor_ct_func = mSM_ovlptr_dllcnv(Player_actor_ct, &game_play->submenu);
Player_actor_dt_func = mSM_ovlptr_dllcnv(Player_actor_dt, &game_play->submenu);
Player_actor_move_func = mSM_ovlptr_dllcnv(Player_actor_move, &game_play->submenu);
Player_actor_draw_func = mSM_ovlptr_dllcnv(Player_actor_draw, &game_play->submenu);
}
void Player_actor_ct_call(Actor* thisx, Game_Play* game_play) {
load_player(&game_play->submenu);
initfunc(game_play);
Player_actor_ct_func(thisx, game_play);
}
void Player_actor_dt_call(Actor* thisx, Game_Play* game_play) {
load_player(&game_play->submenu);
Player_actor_dt_func(thisx, game_play);
}
void Player_actor_move_call(Actor* thisx, Game_Play* game_play) {
load_player(&game_play->submenu);
Player_actor_move_func(thisx, game_play);
}
void Player_actor_draw_call(Actor* thisx, Game_Play* game_play) {
load_player(&game_play->submenu);
Player_actor_draw_func(thisx, game_play);
}
|