mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 12:02:30 +01:00
parent
c700116f41
commit
46decfa258
@ -11,4 +11,7 @@ void update_camera_mode_5(Camera*);
|
|||||||
void update_camera_mode_6(Camera*);
|
void update_camera_mode_6(Camera*);
|
||||||
void create_camera_leadplayer_matrix(Camera*);
|
void create_camera_leadplayer_matrix(Camera*);
|
||||||
|
|
||||||
|
void update_camera_zone_interp(Camera* camera);
|
||||||
|
Camera* initialize_next_camera(CameraInitData* data);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -127,9 +127,9 @@ typedef struct CamPosSettings {
|
|||||||
} CamPosSettings; // size = 0x1C
|
} CamPosSettings; // size = 0x1C
|
||||||
|
|
||||||
typedef struct DmaTable {
|
typedef struct DmaTable {
|
||||||
/* 0x00 */ s32 start;
|
/* 0x00 */ u8* start;
|
||||||
/* 0x04 */ s32 end;
|
/* 0x04 */ u8* end;
|
||||||
/* 0x08 */ s32 dest;
|
/* 0x08 */ u8* dest;
|
||||||
} DmaTable;
|
} DmaTable;
|
||||||
|
|
||||||
typedef struct UseItemStruct {
|
typedef struct UseItemStruct {
|
||||||
@ -245,7 +245,7 @@ typedef struct Npc {
|
|||||||
/* 0x0AC */ u8 alpha;
|
/* 0x0AC */ u8 alpha;
|
||||||
/* 0x0AD */ u8 alpha2; ///< Multiplied with Npc::alpha
|
/* 0x0AD */ u8 alpha2; ///< Multiplied with Npc::alpha
|
||||||
/* 0x0AE */ char unk_AE[2];
|
/* 0x0AE */ char unk_AE[2];
|
||||||
/* 0x0B0 */ AnimID** extraAnimList;
|
/* 0x0B0 */ AnimID* extraAnimList;
|
||||||
/* 0x0B4 */ s8 palSwapType; // 0..4 inclusive
|
/* 0x0B4 */ s8 palSwapType; // 0..4 inclusive
|
||||||
/* 0x0B5 */ s8 palSwapPrevType;
|
/* 0x0B5 */ s8 palSwapPrevType;
|
||||||
/* 0x0B6 */ s8 dirtyPalettes;
|
/* 0x0B6 */ s8 dirtyPalettes;
|
||||||
@ -394,7 +394,7 @@ typedef struct TriggerBlueprint {
|
|||||||
/* 0x10 */ char unk_10[4];
|
/* 0x10 */ char unk_10[4];
|
||||||
/* 0x14 */ s32 unk_tr_2C;
|
/* 0x14 */ s32 unk_tr_2C;
|
||||||
/* 0x18 */ s32 hasPlayerInteractPrompt;
|
/* 0x18 */ s32 hasPlayerInteractPrompt;
|
||||||
/* 0x1C */ s32 itemList;
|
/* 0x1C */ s32* itemList;
|
||||||
} TriggerBlueprint; // size = 0x20
|
} TriggerBlueprint; // size = 0x20
|
||||||
|
|
||||||
typedef union X32 {
|
typedef union X32 {
|
||||||
@ -776,7 +776,7 @@ typedef struct Camera {
|
|||||||
/* 0x1D4 */ char unk_1D4[0x28];
|
/* 0x1D4 */ char unk_1D4[0x28];
|
||||||
/* 0x1FC */ void (*fpDoPreRender)(struct Camera*);
|
/* 0x1FC */ void (*fpDoPreRender)(struct Camera*);
|
||||||
/* 0x200 */ void (*fpDoPostRender)(struct Camera*);
|
/* 0x200 */ void (*fpDoPostRender)(struct Camera*);
|
||||||
/* 0x204 */ Matrix4s* unkMatrix;
|
/* 0x204 */ Mtx* unkMatrix;
|
||||||
/* 0x208 */ s32 unk_208;
|
/* 0x208 */ s32 unk_208;
|
||||||
/* 0x20C */ Matrix4s* unkEffectMatrix;
|
/* 0x20C */ Matrix4s* unkEffectMatrix;
|
||||||
/* 0x210 */ char unk_210[0x2];
|
/* 0x210 */ char unk_210[0x2];
|
||||||
@ -2511,4 +2511,13 @@ typedef struct CreditsUnkBeta {
|
|||||||
/* 0x02 */ s16 size;
|
/* 0x02 */ s16 size;
|
||||||
} CreditsUnkBeta; // size = 0x4
|
} CreditsUnkBeta; // size = 0x4
|
||||||
|
|
||||||
|
typedef struct GameMode {
|
||||||
|
/* 0x00 */ u16 flags;
|
||||||
|
/* 0x04 */ void (*init)(void);
|
||||||
|
/* 0x08 */ void (*step)(void);
|
||||||
|
/* 0x0C */ UNK_FUN_PTR(unk_0C);
|
||||||
|
/* 0x10 */ void (*render)(void);
|
||||||
|
/* 0x14 */ void (*renderAux)(void); ///< @see state_render_frontUI
|
||||||
|
} GameMode; // size = 0x18
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -15,13 +15,14 @@ f32 cosine(s16 arg0);
|
|||||||
s32 strcmp(const char* str1, const char* str2);
|
s32 strcmp(const char* str1, const char* str2);
|
||||||
|
|
||||||
void nuBoot(void);
|
void nuBoot(void);
|
||||||
void boot_idle(void);
|
void boot_idle(void* data);
|
||||||
void boot_main(void);
|
void boot_main(void);
|
||||||
|
|
||||||
void is_debug_init(void);
|
void is_debug_init(void);
|
||||||
|
|
||||||
f32 signF(f32 val);
|
f32 signF(f32 val);
|
||||||
|
|
||||||
|
s32 func_8002ACDC(void);
|
||||||
void func_8002D160(void);
|
void func_8002D160(void);
|
||||||
|
|
||||||
void* heap_malloc(s32 size);
|
void* heap_malloc(s32 size);
|
||||||
@ -108,6 +109,10 @@ void pause_handle_input(s32 buttonsPressed, s32 buttonsHeld);
|
|||||||
void pause_cleanup(void);
|
void pause_cleanup(void);
|
||||||
|
|
||||||
// file menu stuff
|
// file menu stuff
|
||||||
|
void filemenu_init(s32);
|
||||||
|
void filemenu_cleanup(void);
|
||||||
|
void filemenu_update(void);
|
||||||
|
s32 func_80244BC4(void);
|
||||||
void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row);
|
void filemenu_set_selected(MenuPanel* menu, s32 col, s32 row);
|
||||||
void filemenu_set_cursor_alpha(s32 arg0);
|
void filemenu_set_cursor_alpha(s32 arg0);
|
||||||
void filemenu_set_cursor_goal_pos(s32 windowIndex, s32 posX, s32 posY);
|
void filemenu_set_cursor_goal_pos(s32 windowIndex, s32 posX, s32 posY);
|
||||||
@ -132,6 +137,7 @@ void func_80258E14(void*);
|
|||||||
|
|
||||||
void func_80254610(Actor*);
|
void func_80254610(Actor*);
|
||||||
|
|
||||||
|
void func_800E315C(s32 colliderID);
|
||||||
f32 func_800E34D8(void);
|
f32 func_800E34D8(void);
|
||||||
void func_800E4AD8(s32 arg0);
|
void func_800E4AD8(s32 arg0);
|
||||||
f32 player_check_collision_below(f32, s32* colliderID);
|
f32 player_check_collision_below(f32, s32* colliderID);
|
||||||
@ -268,7 +274,6 @@ s32 sign(s32 value);
|
|||||||
s32 func_800E0208(void);
|
s32 func_800E0208(void);
|
||||||
|
|
||||||
s32 battle_heap_create(void);
|
s32 battle_heap_create(void);
|
||||||
void filemenu_init(s32);
|
|
||||||
|
|
||||||
s32 test_ray_zones(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
|
s32 test_ray_zones(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ, f32* hitX, f32* hitY, f32* hitZ,
|
||||||
f32* hitDepth, f32* nx, f32* ny, f32* nz);
|
f32* hitDepth, f32* nx, f32* ny, f32* nz);
|
||||||
@ -448,7 +453,9 @@ s32 is_block_on_ground(Entity* block);
|
|||||||
void set_animation(s32 actorID, s32, s32 animationIndex);
|
void set_animation(s32 actorID, s32, s32 animationIndex);
|
||||||
void set_animation_rate(s32 actorID, s32 partIndex, f32 rate);
|
void set_animation_rate(s32 actorID, s32 partIndex, f32 rate);
|
||||||
void func_8011B7C0(u16, s32, s32);
|
void func_8011B7C0(u16, s32, s32);
|
||||||
ModelAnimator* get_animator_by_index(s32 arg0);
|
void init_enter_world_shared(void);
|
||||||
|
s16 update_enter_map_screen_overlay(s16* progress);
|
||||||
|
s32 update_exit_map_screen_overlay(s16* progress);
|
||||||
void set_screen_overlay_params_front(u8, f32);
|
void set_screen_overlay_params_front(u8, f32);
|
||||||
void set_screen_overlay_params_back(u8, f32);
|
void set_screen_overlay_params_back(u8, f32);
|
||||||
void set_screen_overlay_alpha(s32, f32);
|
void set_screen_overlay_alpha(s32, f32);
|
||||||
@ -512,12 +519,20 @@ void disable_npc_blur(Npc* npc);
|
|||||||
void enable_partner_blur(void);
|
void enable_partner_blur(void);
|
||||||
void disable_partner_blur(void);
|
void disable_partner_blur(void);
|
||||||
|
|
||||||
|
void partner_initialize_data(void);
|
||||||
|
|
||||||
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by);
|
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by);
|
||||||
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz);
|
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz);
|
||||||
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta);
|
void add_vec2D_polar(f32* x, f32* y, f32 r, f32 theta);
|
||||||
|
|
||||||
//TODO -- remove these and use audio/public.h instead
|
//TODO -- remove these and use audio/public.h instead
|
||||||
|
|
||||||
|
enum AuResult bgm_set_track_volumes(s32 playerIndex, s16 trackVolSet);
|
||||||
|
enum AuResult bgm_set_variation(s32 playerIndex, s16 arg1);
|
||||||
|
void bgm_quiet_max_volume(void);
|
||||||
|
void bgm_reset_max_volume(void);
|
||||||
|
void bgm_reset_volume(void);
|
||||||
|
s32 bgm_init_music_players(void);
|
||||||
s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
|
s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
|
||||||
void bgm_set_battle_song(s32, s32);
|
void bgm_set_battle_song(s32, s32);
|
||||||
void bgm_push_battle_song(void);
|
void bgm_push_battle_song(void);
|
||||||
@ -549,6 +564,8 @@ void create_part_shadow(s32 actorID, s32 partIndex);
|
|||||||
void remove_part_shadow(s32 actorID, s32 partIndex);
|
void remove_part_shadow(s32 actorID, s32 partIndex);
|
||||||
void create_part_shadow_by_ref(s32 arg0, ActorPart* part);
|
void create_part_shadow_by_ref(s32 arg0, ActorPart* part);
|
||||||
|
|
||||||
|
void spawn_drops(Enemy* enemy);
|
||||||
|
|
||||||
void func_80266D6C(ActorPart*, s32);
|
void func_80266D6C(ActorPart*, s32);
|
||||||
char* int_to_string(s32, char*, s32);
|
char* int_to_string(s32, char*, s32);
|
||||||
|
|
||||||
@ -629,6 +646,9 @@ void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angl
|
|||||||
void func_80138D88(s32, s32, s32, s32, f32);
|
void func_80138D88(s32, s32, s32, s32, f32);
|
||||||
void func_8013A4D0(void);
|
void func_8013A4D0(void);
|
||||||
|
|
||||||
|
void btl_draw_ui(void);
|
||||||
|
void btl_restore_world_cameras(void);
|
||||||
|
|
||||||
void btl_popup_messages_draw_ui(void);
|
void btl_popup_messages_draw_ui(void);
|
||||||
void btl_cam_set_target_pos(f32, f32, f32);
|
void btl_cam_set_target_pos(f32, f32, f32);
|
||||||
void btl_cam_unfreeze(void);
|
void btl_cam_unfreeze(void);
|
||||||
@ -643,6 +663,7 @@ s32 btl_check_player_defeated(void);
|
|||||||
void btl_show_battle_message(s32 messageIndex, s32 duration);
|
void btl_show_battle_message(s32 messageIndex, s32 duration);
|
||||||
void btl_update_ko_status(void);
|
void btl_update_ko_status(void);
|
||||||
void reset_actor_turn_info(void);
|
void reset_actor_turn_info(void);
|
||||||
|
void startup_draw_prim_rect(s16 left, s16 top, s16 right, s16 bottom, u16 r, u16 g, u16 b, u16 a);
|
||||||
void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7);
|
void btl_draw_prim_quad(u8 r, u8 g, u8 b, u8 a, u16 left, u16 top, u16 arg6, u16 arg7);
|
||||||
void reset_all_actor_sounds(Actor*);
|
void reset_all_actor_sounds(Actor*);
|
||||||
void decrement_status_menu_disabled(void);
|
void decrement_status_menu_disabled(void);
|
||||||
@ -772,10 +793,12 @@ typedef union {
|
|||||||
|
|
||||||
s32 create_generic_entity_world(WorldArgs, WorldArgs);
|
s32 create_generic_entity_world(WorldArgs, WorldArgs);
|
||||||
|
|
||||||
|
void init_entity_models(void);
|
||||||
EntityModel* get_entity_model(s32 idx);
|
EntityModel* get_entity_model(s32 idx);
|
||||||
f32 phys_get_spin_history(s32 lag, s32* x, s32* y, s32* z);
|
f32 phys_get_spin_history(s32 lag, s32* x, s32* y, s32* z);
|
||||||
void fold_update(u32, FoldType, s32, s32, s32, s32, s32);
|
void fold_update(u32, FoldType, s32, s32, s32, s32, s32);
|
||||||
s32 fold_appendGfx_component(s32, FoldImageRecPart*, u32, Matrix4f);
|
s32 fold_appendGfx_component(s32, FoldImageRecPart*, u32, Matrix4f);
|
||||||
|
void func_8013A6E8(void);
|
||||||
s32 func_8013A704(s32);
|
s32 func_8013A704(s32);
|
||||||
void free_generic_entity(s32);
|
void free_generic_entity(s32);
|
||||||
|
|
||||||
@ -802,24 +825,34 @@ void mdl_draw_hidden_panel_surface(Gfx** arg0, u16 treeIndex);
|
|||||||
s32 func_8011CFBC(void);
|
s32 func_8011CFBC(void);
|
||||||
void set_screen_overlay_center_worldpos(s32 idx, s32 posIdx, s32 x, s32 y, s32 z);
|
void set_screen_overlay_center_worldpos(s32 idx, s32 posIdx, s32 x, s32 y, s32 z);
|
||||||
void* mdl_get_next_texture_address(s32);
|
void* mdl_get_next_texture_address(s32);
|
||||||
|
s32 cancel_current_message(void);
|
||||||
void draw_msg(s32 msgID, s32 posX, s32 posY, s32 opacity, s32 palette, u8 style);
|
void draw_msg(s32 msgID, s32 posX, s32 posY, s32 opacity, s32 palette, u8 style);
|
||||||
void get_background_color_blend(u8* r, u8* g, u8* b, u8* a);
|
void get_background_color_blend(u8* r, u8* g, u8* b, u8* a);
|
||||||
|
|
||||||
s32 entity_base_block_idle(Entity* entity);
|
s32 entity_base_block_idle(Entity* entity);
|
||||||
|
void add_SP(s32 amt);
|
||||||
s32 recover_hp(s32 amt);
|
s32 recover_hp(s32 amt);
|
||||||
s32 recover_fp(s32 amt);
|
s32 recover_fp(s32 amt);
|
||||||
void entity_set_render_script(Entity* entity, u32* commandList);
|
void entity_set_render_script(Entity* entity, u32* commandList);
|
||||||
s32 entity_can_collide_with_jumping_player(Entity* entity);
|
s32 entity_can_collide_with_jumping_player(Entity* entity);
|
||||||
void entity_base_block_init(Entity* entity);
|
void entity_base_block_init(Entity* entity);
|
||||||
s32 entity_start_script(Entity* entity);
|
s32 entity_start_script(Entity* entity);
|
||||||
|
void init_item_entity_list(void);
|
||||||
|
void init_script_list(void);
|
||||||
|
void init_entity_data(void);
|
||||||
|
void init_trigger_list(void);
|
||||||
|
void partner_init_after_battle(s32 arg0);
|
||||||
|
void load_map_script_lib(void);
|
||||||
void remove_item_entity_by_index(s32 index);
|
void remove_item_entity_by_index(s32 index);
|
||||||
void set_entity_commandlist(Entity* entity, s32* entityScript);
|
void set_entity_commandlist(Entity* entity, s32* entityScript);
|
||||||
s32 func_800DFCF4(void);
|
s32 func_800DFCF4(void);
|
||||||
|
void func_800EF300(void);
|
||||||
|
void func_800EF314(void);
|
||||||
|
void func_800EF43C(void);
|
||||||
void func_800EF3E4(void);
|
void func_800EF3E4(void);
|
||||||
void func_80268858(void);
|
void func_80268858(void);
|
||||||
void func_80269118(void);
|
void func_80269118(void);
|
||||||
s32 func_80268224(s32);
|
s32 func_80268224(s32);
|
||||||
void func_800EF300(void);
|
|
||||||
void enable_player_shadow(void);
|
void enable_player_shadow(void);
|
||||||
s32 get_msg_lines(s32 messageID);
|
s32 get_msg_lines(s32 messageID);
|
||||||
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void* drawContents, void* drawContentsArg, s8 parent);
|
void set_window_properties(s32 panelID, s32 posX, s32 posY, s32 width, s32 height, u8, void* drawContents, void* drawContentsArg, s8 parent);
|
||||||
@ -851,6 +884,8 @@ void btl_cam_set_zoom(s16);
|
|||||||
void btl_cam_move(s16);
|
void btl_cam_move(s16);
|
||||||
void func_8024E60C(void);
|
void func_8024E60C(void);
|
||||||
|
|
||||||
|
void initialize_battle(void);
|
||||||
|
|
||||||
void dispatch_event_actor(Actor*, s32);
|
void dispatch_event_actor(Actor*, s32);
|
||||||
s32 dispatch_damage_event_actor_1(Actor* actor, s32 damageAmount, s32 event);
|
s32 dispatch_damage_event_actor_1(Actor* actor, s32 damageAmount, s32 event);
|
||||||
|
|
||||||
@ -905,10 +940,13 @@ void player_reset_data(void);
|
|||||||
void partner_reset_data(void);
|
void partner_reset_data(void);
|
||||||
s32 has_valid_conversation_npc(void);
|
s32 has_valid_conversation_npc(void);
|
||||||
s32 func_800E06D8(void);
|
s32 func_800E06D8(void);
|
||||||
|
void func_800E01DC(void);
|
||||||
void func_800E4F10(void);
|
void func_800E4F10(void);
|
||||||
void func_800E5520(void);
|
void func_800E5520(void);
|
||||||
void func_800E6B68(void);
|
void func_800E6B68(void);
|
||||||
void func_800E9810(void);
|
void func_800E9810(void);
|
||||||
|
void func_800E983C(void);
|
||||||
|
void func_800E984C(void);
|
||||||
s32 func_800E9860(void);
|
s32 func_800E9860(void);
|
||||||
void func_800E98C4(void);
|
void func_800E98C4(void);
|
||||||
void func_800E98EC(void);
|
void func_800E98EC(void);
|
||||||
@ -995,6 +1033,7 @@ void set_max_SP(s8);
|
|||||||
void sync_status_menu(void);
|
void sync_status_menu(void);
|
||||||
void create_cameras_a(void);
|
void create_cameras_a(void);
|
||||||
void func_80045AC0(void);
|
void func_80045AC0(void);
|
||||||
|
void func_8005AF84(void);
|
||||||
void func_8005DECC(Npc*, s32, s32*, f32, f32, s32, s32);
|
void func_8005DECC(Npc*, s32, s32*, f32, f32, s32, s32);
|
||||||
void func_8005DFD4(Npc*);
|
void func_8005DFD4(Npc*);
|
||||||
void func_8005E12C(Npc*);
|
void func_8005E12C(Npc*);
|
||||||
@ -1044,6 +1083,7 @@ void clear_entity_models(void);
|
|||||||
void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*));
|
void bind_entity_model_setupGfx(s32 idx, void* setupGfxCallbackArg0, void (*fpSetupGfxCallback)(void*));
|
||||||
void clear_animator_list(void);
|
void clear_animator_list(void);
|
||||||
void clear_model_data(void);
|
void clear_model_data(void);
|
||||||
|
void init_sprite_shading_data(void);
|
||||||
void clear_sprite_shading_data(void);
|
void clear_sprite_shading_data(void);
|
||||||
void clear_character_set(void);
|
void clear_character_set(void);
|
||||||
void clear_game_modes(void);
|
void clear_game_modes(void);
|
||||||
@ -1059,6 +1099,18 @@ f32 get_player_normal_pitch(void);
|
|||||||
void partner_kill_ability_script(void);
|
void partner_kill_ability_script(void);
|
||||||
void func_800EF3D4(s32);
|
void func_800EF3D4(s32);
|
||||||
|
|
||||||
|
void func_80116698(void);
|
||||||
void func_8011B950(u16, s32, s32, s32);
|
void func_8011B950(u16, s32, s32, s32);
|
||||||
|
|
||||||
|
void backup_map_collision_data(void);
|
||||||
|
void reset_status_menu(void);
|
||||||
|
void btl_save_world_cameras(void);
|
||||||
|
void load_battle_section(void);
|
||||||
|
void btl_update(void);
|
||||||
|
void update_item_entities(void);
|
||||||
|
void func_80116674(void);
|
||||||
|
void restore_map_collision_data(void);
|
||||||
|
void load_model_textures(struct ModelNode* model, s32 romOffset, s32 size);
|
||||||
|
void calculate_model_sizes(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -146,6 +146,7 @@ typedef ModelTreeInfo ModelTreeInfoList[0x200];
|
|||||||
extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo;
|
extern ModelTreeInfoList* mdl_currentModelTreeNodeInfo;
|
||||||
extern ModelList* gCurrentModels;
|
extern ModelList* gCurrentModels;
|
||||||
|
|
||||||
|
void init_model_data(void);
|
||||||
void update_model_animator(s32);
|
void update_model_animator(s32);
|
||||||
void update_model_animator_with_transform(s32 animatorID, Mtx* mtx);
|
void update_model_animator_with_transform(s32 animatorID, Mtx* mtx);
|
||||||
void set_mdl_custom_gfx_set(Model*, s32, u32);
|
void set_mdl_custom_gfx_set(Model*, s32, u32);
|
||||||
@ -156,6 +157,9 @@ void animator_update_model_transforms(ModelAnimator* animator, Mtx* rootTransfor
|
|||||||
void render_animated_model(s32 animatorID, Mtx* rootTransform);
|
void render_animated_model(s32 animatorID, Mtx* rootTransform);
|
||||||
void animator_node_update_model_transform(ModelAnimator* animator, f32 (*flipMtx)[4], AnimatorNode* node,
|
void animator_node_update_model_transform(ModelAnimator* animator, f32 (*flipMtx)[4], AnimatorNode* node,
|
||||||
Mtx* rootTransform);
|
Mtx* rootTransform);
|
||||||
|
void init_generic_entity_list(void);
|
||||||
|
ModelAnimator* get_animator_by_index(s32 animModelID);
|
||||||
|
void reset_animator_list(void);
|
||||||
void delete_model_animator_node(AnimatorNode* node);
|
void delete_model_animator_node(AnimatorNode* node);
|
||||||
void delete_model_animator_nodes(ModelAnimator* animator);
|
void delete_model_animator_nodes(ModelAnimator* animator);
|
||||||
void delete_model_animator(ModelAnimator* animator);
|
void delete_model_animator(ModelAnimator* animator);
|
||||||
@ -164,4 +168,9 @@ void appendGfx_animator(ModelAnimator* animator);
|
|||||||
ModelAnimator* set_animator_render_callback(s32 animModelID, s32 callbackArg, void (*callbackFunc)(void*));
|
ModelAnimator* set_animator_render_callback(s32 animModelID, s32 callbackArg, void (*callbackFunc)(void*));
|
||||||
void reload_mesh_animator_tree(ModelAnimator* animator);
|
void reload_mesh_animator_tree(ModelAnimator* animator);
|
||||||
s32 step_mesh_animator(ModelAnimator* animator);
|
s32 step_mesh_animator(ModelAnimator* animator);
|
||||||
|
|
||||||
|
void set_custom_gfx_builders(s32 customGfxIndex, ModelCustomGfxBuilderFunc pre, ModelCustomGfxBuilderFunc post);
|
||||||
|
void mdl_make_local_vertex_copy(s32 arg0, u16 treeIdx, s32);
|
||||||
|
void play_model_animation_starting_from(s32 index, s32 animPos, s32 framesToSkip);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -434,7 +434,7 @@ void update_npcs(void);
|
|||||||
|
|
||||||
f32 npc_get_render_yaw(Npc* npc);
|
f32 npc_get_render_yaw(Npc* npc);
|
||||||
|
|
||||||
void appendGfx_npc(Npc* npc);
|
void appendGfx_npc(void* data);
|
||||||
|
|
||||||
/// Renders all NPCs.
|
/// Renders all NPCs.
|
||||||
void render_npcs(void);
|
void render_npcs(void);
|
||||||
@ -452,7 +452,7 @@ void disable_npc_shadow(Npc* npc);
|
|||||||
|
|
||||||
void update_npc_blur(Npc* npc);
|
void update_npc_blur(Npc* npc);
|
||||||
|
|
||||||
void appendGfx_npc_blur(Npc* npc);
|
void appendGfx_npc_blur(void* data);
|
||||||
|
|
||||||
void npc_enable_collisions(void);
|
void npc_enable_collisions(void);
|
||||||
|
|
||||||
@ -649,4 +649,6 @@ Enemy* get_enemy(s32 npcID);
|
|||||||
/// @returns pointer to Enemy struct, if one is found. Otherwise, NULL.
|
/// @returns pointer to Enemy struct, if one is found. Otherwise, NULL.
|
||||||
Enemy* get_enemy_safe(s32 npcID);
|
Enemy* get_enemy_safe(s32 npcID);
|
||||||
|
|
||||||
|
void set_npc_sprite(Npc* npc, s32 anim, AnimID* extraAnimList);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -31,7 +31,7 @@ extern s32 D_800DC4EC;
|
|||||||
extern s32 D_800DC4F0;
|
extern s32 D_800DC4F0;
|
||||||
extern struct Battle* D_800DC4F4;
|
extern struct Battle* D_800DC4F4;
|
||||||
extern s32 D_800DC4F8;
|
extern s32 D_800DC4F8;
|
||||||
extern s32 gBattleDmaDest;
|
extern u8* gBattleDmaDest;
|
||||||
|
|
||||||
extern ActionCommandStatus gActionCommandStatus;
|
extern ActionCommandStatus gActionCommandStatus;
|
||||||
|
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
|
|
||||||
void init_enter_world_shared(void);
|
|
||||||
s16 update_enter_map_screen_overlay(s16* progress);
|
|
||||||
s32 update_exit_map_screen_overlay(s16* progress);
|
|
||||||
|
|
||||||
void set_map_change_fade_rate(s16 fadeRate) {
|
void set_map_change_fade_rate(s16 fadeRate) {
|
||||||
gMapTransitionFadeRate = fadeRate;
|
gMapTransitionFadeRate = fadeRate;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "battle/battle.h"
|
#include "battle/battle.h"
|
||||||
#include "model.h"
|
#include "model.h"
|
||||||
|
|
||||||
extern s32* D_800DC064;
|
extern StageListRow* D_800DC064;
|
||||||
|
|
||||||
extern s16 D_802809F6;
|
extern s16 D_802809F6;
|
||||||
extern s16 D_802809F8;
|
extern s16 D_802809F8;
|
||||||
@ -205,7 +205,7 @@ void btl_state_update_normal_start(void) {
|
|||||||
if (D_800DC064 == NULL) {
|
if (D_800DC064 == NULL) {
|
||||||
stage = battle->stage;
|
stage = battle->stage;
|
||||||
} else {
|
} else {
|
||||||
stage = D_800DC064[1];
|
stage = D_800DC064->stage;
|
||||||
}
|
}
|
||||||
|
|
||||||
battleStatus->currentStage = stage;
|
battleStatus->currentStage = stage;
|
||||||
@ -2048,7 +2048,7 @@ void btl_state_update_end_battle(void) {
|
|||||||
if (D_800DC064 == NULL) {
|
if (D_800DC064 == NULL) {
|
||||||
stage = blah->stage;
|
stage = blah->stage;
|
||||||
} else {
|
} else {
|
||||||
stage = D_800DC064[1];
|
stage = D_800DC064->stage;;
|
||||||
}
|
}
|
||||||
if (stage->postBattle == NULL) {
|
if (stage->postBattle == NULL) {
|
||||||
gBattleState2 = BATTLE_STATE2_UNK_4;
|
gBattleState2 = BATTLE_STATE2_UNK_4;
|
||||||
@ -4284,7 +4284,7 @@ void btl_state_update_end_demo_battle(void) {
|
|||||||
if (D_800DC064 == NULL) {
|
if (D_800DC064 == NULL) {
|
||||||
stage = blah->stage;
|
stage = blah->stage;
|
||||||
} else {
|
} else {
|
||||||
stage = D_800DC064[1]; // TODO cleanup
|
stage = D_800DC064->stage;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stage->postBattle == NULL) {
|
if (stage->postBattle == NULL) {
|
||||||
|
@ -694,7 +694,7 @@ void func_8023ED5C(void) {
|
|||||||
|
|
||||||
if (actor->flags & ACTOR_FLAG_BLUR_ENABLED) {
|
if (actor->flags & ACTOR_FLAG_BLUR_ENABLED) {
|
||||||
renderTaskPtr->appendGfxArg = actor;
|
renderTaskPtr->appendGfxArg = actor;
|
||||||
renderTaskPtr->appendGfx = appendGfx_player_actor_blur;
|
renderTaskPtr->appendGfx = (void (*) (void*)) appendGfx_player_actor_blur;
|
||||||
renderTaskPtr->distance = actor->currentPos.z;
|
renderTaskPtr->distance = actor->currentPos.z;
|
||||||
renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
||||||
queue_render_task(renderTaskPtr);
|
queue_render_task(renderTaskPtr);
|
||||||
|
@ -203,7 +203,7 @@ ApiStatus func_802535B4(Evt* script, s32 isInitialCall) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ApiStatus OverrideBattleDmaDest(Evt* script, s32 isInitialCall) {
|
ApiStatus OverrideBattleDmaDest(Evt* script, s32 isInitialCall) {
|
||||||
gBattleDmaDest = evt_get_variable(script, *script->ptrReadPos);
|
gBattleDmaDest = (u8*) evt_get_variable(script, *script->ptrReadPos);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ ApiStatus LoadBattleDmaData(Evt* script, s32 isInitialCall) {
|
|||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gBattleDmaDest == 0) {
|
if (gBattleDmaDest == NULL) {
|
||||||
dma_copy(moveScript->start, moveScript->end, moveScript->dest);
|
dma_copy(moveScript->start, moveScript->end, moveScript->dest);
|
||||||
} else {
|
} else {
|
||||||
dma_copy(moveScript->start, moveScript->end, gBattleDmaDest);
|
dma_copy(moveScript->start, moveScript->end, gBattleDmaDest);
|
||||||
|
@ -491,7 +491,7 @@ void func_80268C9C(void) {
|
|||||||
|
|
||||||
void func_80268E88(void) {
|
void func_80268E88(void) {
|
||||||
ActionCommandStatus* actionCmdStatus = &gActionCommandStatus;
|
ActionCommandStatus* actionCmdStatus = &gActionCommandStatus;
|
||||||
actionCmdStatus->unk_00 = create_generic_entity_frontUI(func_80268938, func_80268AF8);
|
actionCmdStatus->unk_00 = create_generic_entity_frontUI((s32 (*)(void)) func_80268938, func_80268AF8);
|
||||||
actionCmdStatus->actionCommandID = 0;
|
actionCmdStatus->actionCommandID = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,8 +17,6 @@ ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall);
|
|||||||
ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall);
|
ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall);
|
||||||
ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall);
|
ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall);
|
||||||
|
|
||||||
void spawn_drops(Enemy* enemy);
|
|
||||||
|
|
||||||
s32 D_80077C40 = 0;
|
s32 D_80077C40 = 0;
|
||||||
|
|
||||||
EvtScript D_80077C44 = {
|
EvtScript D_80077C44 = {
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
extern s32 D_8014B7F0;
|
extern s32 D_8014B7F0;
|
||||||
|
|
||||||
void spawn_drops(Enemy* enemy);
|
|
||||||
INCLUDE_ASM(s32, "23680", spawn_drops);
|
INCLUDE_ASM(s32, "23680", spawn_drops);
|
||||||
|
|
||||||
s32 get_coin_drop_amount(Enemy* enemy) {
|
s32 get_coin_drop_amount(Enemy* enemy) {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
extern void(*obfuscated_create_audio_system)(void);
|
extern u8 obfuscated_create_audio_system[];
|
||||||
|
|
||||||
void func_80200000(void) {
|
void func_80200000(void) {
|
||||||
u32 t0 = 0xAC29007B;
|
u32 t0 = 0xAC29007B;
|
||||||
u32 t1 = 0xB00006A8;
|
u32 t1 = 0xB00006A8;
|
||||||
void(*create_audio_system)(void) = &obfuscated_create_audio_system;
|
void (*create_audio_system)(void) = (void (*)(void)) obfuscated_create_audio_system;
|
||||||
|
|
||||||
while (IO_READ(PI_STATUS_REG) & 3);
|
while (IO_READ(PI_STATUS_REG) & 3);
|
||||||
|
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
#include "ld_addrs.h"
|
#include "ld_addrs.h"
|
||||||
#include "mips.h"
|
#include "mips.h"
|
||||||
|
|
||||||
extern s32 obfuscated_general_heap_create[];
|
extern u8 obfuscated_general_heap_create[];
|
||||||
|
|
||||||
void func_802AE000_316C00(void) {
|
void func_802AE000_316C00(void) {
|
||||||
s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo;
|
s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo;
|
||||||
s32 seed = 0x3C016C07 + 0xFEFEFEF;
|
s32 seed = 0x3C016C07 + 0xFEFEFEF;
|
||||||
HeapNode*(*generalHeapCreate)(void) = obfuscated_general_heap_create; // general_heap_create - 0xFEFEFEF
|
HeapNode*(*generalHeapCreate)(void) = (HeapNode* (*)(void)) obfuscated_general_heap_create; // general_heap_create - 0xFEFEFEF
|
||||||
u32 hash = 0;
|
u32 hash = 0;
|
||||||
u32 thisInsn;
|
u32 thisInsn;
|
||||||
u32* it;
|
u32* it;
|
||||||
@ -19,8 +19,8 @@ void func_802AE000_316C00(void) {
|
|||||||
|
|
||||||
prevInsn = 0;
|
prevInsn = 0;
|
||||||
|
|
||||||
for (it = _316A70_ROM_START; it < _316A70_ROM_END; it++) {
|
for (it = (u32*) _316A70_ROM_START; it < (u32*) _316A70_ROM_END; it++) {
|
||||||
readFunc(nuPiCartHandle, it, &thisInsn);
|
readFunc(nuPiCartHandle, (u32) it, &thisInsn);
|
||||||
hash += LOWER(thisInsn) + UPPER(thisInsn);
|
hash += LOWER(thisInsn) + UPPER(thisInsn);
|
||||||
|
|
||||||
if (OPCODE(prevInsn) == LUI && (OPCODE(thisInsn) == ADDIU || OPCODE(thisInsn) == LW)) {
|
if (OPCODE(prevInsn) == LUI && (OPCODE(thisInsn) == ADDIU || OPCODE(thisInsn) == LW)) {
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
#include "ld_addrs.h"
|
#include "ld_addrs.h"
|
||||||
#include "mips.h"
|
#include "mips.h"
|
||||||
|
|
||||||
extern s32 obfuscated_load_engine_data[];
|
extern u8 obfuscated_load_engine_data[];
|
||||||
|
|
||||||
void func_80200080(void) {
|
void func_80200080(void) {
|
||||||
s32 seed = 0x3C01A775;
|
s32 seed = 0x3C01A775;
|
||||||
u32 thisInsn = 0xB0018FFC;
|
u32 thisInsn = 0xB0018FFC;
|
||||||
HeapNode*(*load_engine_data)(s32) = obfuscated_load_engine_data; // load_engine_data - ????????
|
HeapNode*(*load_engine_data)(s32) = (HeapNode* (*)(s32)) obfuscated_load_engine_data; // load_engine_data - ????????
|
||||||
s32 hash = 0;
|
s32 hash = 0;
|
||||||
u32 prevInsn;
|
u32 prevInsn;
|
||||||
u32* it;
|
u32* it;
|
||||||
@ -17,7 +17,7 @@ void func_80200080(void) {
|
|||||||
|
|
||||||
prevInsn = 0;
|
prevInsn = 0;
|
||||||
|
|
||||||
for (it = _3169F0_ROM_START; it < _3169F0_ROM_END; it++) {
|
for (it = (u32*) _3169F0_ROM_START; it < (u32*) _3169F0_ROM_END; it++) {
|
||||||
while (IO_READ(PI_STATUS_REG) & (PI_STATUS_DMA_BUSY | PI_STATUS_IO_BUSY));
|
while (IO_READ(PI_STATUS_REG) & (PI_STATUS_DMA_BUSY | PI_STATUS_IO_BUSY));
|
||||||
thisInsn = IO_READ(it + 0x4000000); // ???
|
thisInsn = IO_READ(it + 0x4000000); // ???
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ extern s32 obfuscated_battle_heap_create[];
|
|||||||
void func_802AE000(void) {
|
void func_802AE000(void) {
|
||||||
s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo;
|
s32(*readFunc)(OSPiHandle*, u32, u32*) = osEPiReadIo;
|
||||||
s32 seed = 0x33F50000;
|
s32 seed = 0x33F50000;
|
||||||
UNK_FUN_PTR(battle_heap_create) = obfuscated_battle_heap_create;
|
s32 (*battle_heap_create)(void) = (s32 (*) (void)) obfuscated_battle_heap_create;
|
||||||
u32 hash = 0;
|
u32 hash = 0;
|
||||||
u32 thisInsn;
|
u32 thisInsn;
|
||||||
u32* it;
|
u32* it;
|
||||||
@ -19,8 +19,8 @@ void func_802AE000(void) {
|
|||||||
|
|
||||||
prevInsn = 0;
|
prevInsn = 0;
|
||||||
|
|
||||||
for (it = _316C00_ROM_START; it < _316C00_ROM_END; it++) {
|
for (it = (u32*) _316C00_ROM_START; it < (u32*) _316C00_ROM_END; it++) {
|
||||||
readFunc(nuPiCartHandle, it, &thisInsn);
|
readFunc(nuPiCartHandle, (u32) it, &thisInsn);
|
||||||
hash += LOWER(thisInsn) + UPPER(thisInsn);
|
hash += LOWER(thisInsn) + UPPER(thisInsn);
|
||||||
|
|
||||||
if (OPCODE(prevInsn) == LUI && (OPCODE(thisInsn) == ADDIU || OPCODE(thisInsn) == LW)) {
|
if (OPCODE(prevInsn) == LUI && (OPCODE(thisInsn) == ADDIU || OPCODE(thisInsn) == LW)) {
|
||||||
|
@ -159,11 +159,9 @@ s32 D_8008EEC0[] = { 0, 1, 2, 3, 4, 9, 6, 7, 8, 5, 10, 11 };
|
|||||||
|
|
||||||
s32 D_8008EEF0[] = { 0, 1, 2, 3, 4, 0, 6, 7, 8, 5, 0, 0 };
|
s32 D_8008EEF0[] = { 0, 1, 2, 3, 4, 0, 6, 7, 8, 5, 0, 0 };
|
||||||
|
|
||||||
const char D_800989A0[] = "なし";
|
PartnerPopupProperties gPartnerPopupProperties[] = {
|
||||||
|
|
||||||
s32 gPartnerPopupProperties[][4] = {
|
|
||||||
[PARTNER_NONE] {
|
[PARTNER_NONE] {
|
||||||
&D_800989A0,
|
(s32) "なし",
|
||||||
0x00000000,
|
0x00000000,
|
||||||
0x00000000,
|
0x00000000,
|
||||||
0x00000000,
|
0x00000000,
|
||||||
|
@ -7,7 +7,6 @@ extern f32 JumpedOnSwitchX;
|
|||||||
extern f32 JumpedOnSwitchZ;
|
extern f32 JumpedOnSwitchZ;
|
||||||
extern f32 D_8010C984;
|
extern f32 D_8010C984;
|
||||||
|
|
||||||
void func_800E315C(s32 colliderID);
|
|
||||||
s32 collision_check_player_intersecting_world(s32 mode, s32 arg1, f32 arg2);
|
s32 collision_check_player_intersecting_world(s32 mode, s32 arg1, f32 arg2);
|
||||||
s32 phys_check_interactable_collision(void);
|
s32 phys_check_interactable_collision(void);
|
||||||
void phys_save_ground_pos(void);
|
void phys_save_ground_pos(void);
|
||||||
|
@ -132,14 +132,15 @@ s32 setup_partner_popup(PopupMenu* menu) {
|
|||||||
|
|
||||||
for (i = 1; i < ARRAY_COUNT(D_8008EEC0); i++) {
|
for (i = 1; i < ARRAY_COUNT(D_8008EEC0); i++) {
|
||||||
s32 partnerID = D_8008EEC0[i];
|
s32 partnerID = D_8008EEC0[i];
|
||||||
|
|
||||||
if (playerData->partners[partnerID].enabled && partnerID != PARTNER_GOOMPA) {
|
if (playerData->partners[partnerID].enabled && partnerID != PARTNER_GOOMPA) {
|
||||||
s32* properties = gPartnerPopupProperties[partnerID];
|
PartnerPopupProperties* properties = &gPartnerPopupProperties[partnerID];
|
||||||
|
|
||||||
menu->ptrIcon[optionCount] = wPartnerHudScripts[partnerID];
|
menu->ptrIcon[optionCount] = wPartnerHudScripts[partnerID];
|
||||||
menu->userIndex[optionCount] = partnerID;
|
menu->userIndex[optionCount] = partnerID;
|
||||||
menu->enabled[optionCount] = TRUE;
|
menu->enabled[optionCount] = TRUE;
|
||||||
menu->nameMsg[optionCount] = properties[0];
|
menu->nameMsg[optionCount] = properties->nameMsg;
|
||||||
menu->descMsg[optionCount] = properties[2];
|
menu->descMsg[optionCount] = properties->worldDescMsg;
|
||||||
menu->value[optionCount] = playerData->partners[partnerID].level;
|
menu->value[optionCount] = playerData->partners[partnerID].level;
|
||||||
if (playerData->currentPartner == partnerID) {
|
if (playerData->currentPartner == partnerID) {
|
||||||
menu->enabled[optionCount] = FALSE;
|
menu->enabled[optionCount] = FALSE;
|
||||||
|
@ -15,7 +15,7 @@ extern s32 D_800F8000[];
|
|||||||
extern s16 D_8010CD10;
|
extern s16 D_8010CD10;
|
||||||
extern s16 D_8010CD12;
|
extern s16 D_8010CD12;
|
||||||
|
|
||||||
extern s32 DigitHudScripts[10];
|
extern HudScript* DigitHudScripts[10];
|
||||||
|
|
||||||
extern HudScript HES_StatusHP;
|
extern HudScript HES_StatusHP;
|
||||||
extern HudScript HES_StatusHeart;
|
extern HudScript HES_StatusHeart;
|
||||||
|
@ -2,10 +2,13 @@
|
|||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
|
#include "camera.h"
|
||||||
|
|
||||||
// D_8009A5EC bss here
|
f32 D_8009A5EC;
|
||||||
|
|
||||||
Camera* initialize_next_camera(CameraInitData* data);
|
void render_models(void);
|
||||||
|
void execute_render_tasks(void);
|
||||||
|
void render_item_entities(void);
|
||||||
|
|
||||||
void update_cameras(void) {
|
void update_cameras(void) {
|
||||||
s32 i;
|
s32 i;
|
||||||
|
11
src/B4580.c
11
src/B4580.c
@ -1,5 +1,6 @@
|
|||||||
#include "model.h"
|
#include "model.h"
|
||||||
#include "animation_script.h"
|
#include "animation_script.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
AnimScript gAnimScriptDefault = {
|
AnimScript gAnimScriptDefault = {
|
||||||
AS_WAIT, 60,
|
AS_WAIT, 60,
|
||||||
@ -1014,8 +1015,8 @@ void play_model_animation(s32 index, s16* animPos) {
|
|||||||
if (animator->animationBuffer != NULL) {
|
if (animator->animationBuffer != NULL) {
|
||||||
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
||||||
}
|
}
|
||||||
animator->animReadPos = (s16*)animPos;
|
animator->animReadPos = animPos;
|
||||||
animator->savedReadPos = (s16*)animPos;
|
animator->savedReadPos = animPos;
|
||||||
animator->treeIndexPos = 0;
|
animator->treeIndexPos = 0;
|
||||||
animator->nextUpdateTime = 1.0f;
|
animator->nextUpdateTime = 1.0f;
|
||||||
}
|
}
|
||||||
@ -1026,11 +1027,11 @@ void play_model_animation_starting_from(s32 index, s32 animPos, s32 framesToSkip
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (animator->animationBuffer != NULL) {
|
if (animator->animationBuffer != NULL) {
|
||||||
animPos = (animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
||||||
}
|
}
|
||||||
|
|
||||||
animator->animReadPos = (s16*)animPos;
|
animator->animReadPos = (s16*) animPos;
|
||||||
animator->savedReadPos = (s16*)animPos;
|
animator->savedReadPos =(s16*) animPos;
|
||||||
animator->treeIndexPos = 0;
|
animator->treeIndexPos = 0;
|
||||||
animator->nextUpdateTime = 1.0f;
|
animator->nextUpdateTime = 1.0f;
|
||||||
|
|
||||||
|
@ -6,15 +6,6 @@
|
|||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
|
|
||||||
typedef struct GameMode {
|
|
||||||
/* 0x00 */ u16 flags;
|
|
||||||
/* 0x04 */ void (*init)(void);
|
|
||||||
/* 0x08 */ void (*step)(void);
|
|
||||||
/* 0x0C */ UNK_FUN_PTR(unk_0C);
|
|
||||||
/* 0x10 */ void (*render)(void);
|
|
||||||
/* 0x14 */ void (*renderAux)(void); ///< @see state_render_frontUI
|
|
||||||
} GameMode; // size = 0x18
|
|
||||||
|
|
||||||
typedef struct Fog {
|
typedef struct Fog {
|
||||||
/* 0x00 */ s32 enabled;
|
/* 0x00 */ s32 enabled;
|
||||||
/* 0x04 */ s32 r;
|
/* 0x04 */ s32 r;
|
||||||
@ -2840,15 +2831,15 @@ GameMode* set_next_game_mode(GameMode* arg0) {
|
|||||||
return gameMode;
|
return gameMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
GameMode* set_game_mode_slot(s32 i, GameMode* arg0) {
|
GameMode* set_game_mode_slot(s32 i, GameMode* mode) {
|
||||||
GameMode* gameMode = &gMainGameState[i];
|
GameMode* gameMode = &gMainGameState[i];
|
||||||
|
|
||||||
ASSERT(i < ARRAY_COUNT(gMainGameState));
|
ASSERT(i < ARRAY_COUNT(gMainGameState));
|
||||||
|
|
||||||
gameMode->flags = 1 | 2;
|
gameMode->flags = 1 | 2;
|
||||||
gameMode->init = arg0->init;
|
gameMode->init = mode->init;
|
||||||
gameMode->step = arg0->step;
|
gameMode->step = mode->step;
|
||||||
gameMode->render = arg0->render;
|
gameMode->render = mode->render;
|
||||||
gameMode->unk_0C = NULL;
|
gameMode->unk_0C = NULL;
|
||||||
if (gameMode->init == NULL) gameMode->init = state_delegate_NOP;
|
if (gameMode->init == NULL) gameMode->init = state_delegate_NOP;
|
||||||
if (gameMode->step == NULL) gameMode->step = state_delegate_NOP;
|
if (gameMode->step == NULL) gameMode->step = state_delegate_NOP;
|
||||||
@ -4311,7 +4302,7 @@ void mdl_get_vertex_count(Gfx* gfx, s32* numVertices, Vtx** baseVtx, s32* gfxCou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// void mdl_local_gfx_update_vtx_pointers(Gfx* nodeDlist, Vtx* baseVtx, Gfx* arg2, Vtx* arg3);
|
void mdl_local_gfx_update_vtx_pointers(Gfx* nodeDlist, Vtx* baseVtx, Gfx* arg2, Vtx* arg3);
|
||||||
INCLUDE_ASM(s32, "a5dd0_len_114e0", mdl_local_gfx_update_vtx_pointers);
|
INCLUDE_ASM(s32, "a5dd0_len_114e0", mdl_local_gfx_update_vtx_pointers);
|
||||||
|
|
||||||
void mdl_local_gfx_copy_vertices(Vtx* from, s32 num, Vtx* to) {
|
void mdl_local_gfx_copy_vertices(Vtx* from, s32 num, Vtx* to) {
|
||||||
@ -4322,6 +4313,7 @@ void mdl_local_gfx_copy_vertices(Vtx* from, s32 num, Vtx* to) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void mdl_make_local_vertex_copy(s32 arg0, u16 treeIdx, s32 arg2) {
|
void mdl_make_local_vertex_copy(s32 arg0, u16 treeIdx, s32 arg2) {
|
||||||
s32 numVertices;
|
s32 numVertices;
|
||||||
Vtx* baseVtx;
|
Vtx* baseVtx;
|
||||||
|
@ -121,7 +121,6 @@ extern s32 b_area_kzn2_lava_bud_idleAnimations_fiery[];
|
|||||||
extern s32 N(defenseTable_fiery)[];
|
extern s32 N(defenseTable_fiery)[];
|
||||||
extern s32 b_area_kzn2_lava_bud_defenseTable_fiery[];
|
extern s32 b_area_kzn2_lava_bud_defenseTable_fiery[];
|
||||||
|
|
||||||
s32 bgm_init_music_players(void);
|
|
||||||
API_CALLABLE(SetAnimatorFlags);
|
API_CALLABLE(SetAnimatorFlags);
|
||||||
API_CALLABLE(GetAnimatedPositionByTreeIndex);
|
API_CALLABLE(GetAnimatedPositionByTreeIndex);
|
||||||
API_CALLABLE(GetAnimatedRotationByTreeIndex);
|
API_CALLABLE(GetAnimatedRotationByTreeIndex);
|
||||||
|
@ -48,9 +48,9 @@ StageList N(stageTable) = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define PIRANHA_DMA_ENTRY(name) \
|
#define PIRANHA_DMA_ENTRY(name) \
|
||||||
{ (s32) world_model_anim_kzn_##name##_ROM_START,\
|
{ world_model_anim_kzn_##name##_ROM_START,\
|
||||||
(s32) world_model_anim_kzn_##name##_ROM_END,\
|
world_model_anim_kzn_##name##_ROM_END,\
|
||||||
(s32) world_model_anim_kzn_##name##_VRAM }
|
world_model_anim_kzn_##name##_VRAM }
|
||||||
|
|
||||||
DmaTable N(dmaTable)[] = {
|
DmaTable N(dmaTable)[] = {
|
||||||
PIRANHA_DMA_ENTRY(00),
|
PIRANHA_DMA_ENTRY(00),
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
extern s32 D_800DC060;
|
extern s32 D_800DC060;
|
||||||
extern Stage* D_800DC064;
|
extern StageListRow* D_800DC064;
|
||||||
|
|
||||||
BattleArea gBattleAreas[] = {
|
BattleArea gBattleAreas[] = {
|
||||||
[BTL_AREA_KMR_PART_1] = {
|
[BTL_AREA_KMR_PART_1] = {
|
||||||
|
@ -323,6 +323,18 @@ typedef struct FormationRow {
|
|||||||
|
|
||||||
typedef FormationRow Formation[];
|
typedef FormationRow Formation[];
|
||||||
|
|
||||||
|
typedef struct StaticFormationActor {
|
||||||
|
/* 0x00 */ char unk_00[0x4];
|
||||||
|
} StaticFormationActor; // size = ??
|
||||||
|
|
||||||
|
typedef struct StaticFormationEntry {
|
||||||
|
/* 0x00 */ char* sjisName;
|
||||||
|
/* 0x04 */ s32 numActors;
|
||||||
|
/* 0x08 */ StaticFormationActor* actors;
|
||||||
|
/* 0x0C */ char* stageName;
|
||||||
|
/* 0x10 */ char unk_10[0x4];
|
||||||
|
} StaticFormationEntry; // size = 0x20
|
||||||
|
|
||||||
typedef struct Stage {
|
typedef struct Stage {
|
||||||
/* 0x00 */ char* texture;
|
/* 0x00 */ char* texture;
|
||||||
/* 0x04 */ const char* shape;
|
/* 0x04 */ const char* shape;
|
||||||
@ -351,7 +363,9 @@ typedef Battle BattleList[];
|
|||||||
typedef struct StageListRow {
|
typedef struct StageListRow {
|
||||||
/* 0x00 */ const char* id; ///< Map ID.
|
/* 0x00 */ const char* id; ///< Map ID.
|
||||||
/* 0x04 */ Stage* stage;
|
/* 0x04 */ Stage* stage;
|
||||||
} StageList[]; // size = 0x08 * n
|
} StageListRow; // size = 0x08
|
||||||
|
|
||||||
|
typedef StageListRow StageList[];
|
||||||
|
|
||||||
typedef struct BattleArea {
|
typedef struct BattleArea {
|
||||||
/* 0x00 */ char* name; ///< JP debug name.
|
/* 0x00 */ char* name; ///< JP debug name.
|
||||||
|
@ -42,7 +42,7 @@ Gfx N(displayList)[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
s32 N(modelCommandList)[] = {
|
s32 N(modelCommandList)[] = {
|
||||||
0x00000004, 0x0000000D, 0x00000001, sizeof(N(displayList)) / sizeof(s32), &N(displayList), 0x00000002, 0x00000000,
|
0x00000004, 0x0000000D, 0x00000001, sizeof(N(displayList)) / sizeof(s32), (s32) &N(displayList), 0x00000002, 0x00000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(main) = {
|
EvtScript N(main) = {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "dizzy_dial.h"
|
#include "dizzy_dial.h"
|
||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
|
|
||||||
static s32* D_802A1CD0;
|
static s32 D_802A1CD0;
|
||||||
|
|
||||||
#include "ItemRefund.inc.c"
|
#include "ItemRefund.inc.c"
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ Gfx N(displayList)[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
s32 N(modelCommandList)[] = {
|
s32 N(modelCommandList)[] = {
|
||||||
0x00000004, 0x0000000D, 0x00000001, sizeof(N(displayList)) / sizeof(s32), &N(displayList), 0x00000002, 0x00000000,
|
0x00000004, 0x0000000D, 0x00000001, sizeof(N(displayList)) / sizeof(s32), (s32) &N(displayList), 0x00000002, 0x00000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
EvtScript N(main) = {
|
EvtScript N(main) = {
|
||||||
|
@ -130,12 +130,12 @@ Gfx N(frame4_displayList)[] = {
|
|||||||
|
|
||||||
s32 N(modelCommandList)[] = {
|
s32 N(modelCommandList)[] = {
|
||||||
0x00000004, 0x0000000D,
|
0x00000004, 0x0000000D,
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame2_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame2_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame3_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame3_displayList),
|
||||||
0x00000002, 0x00000000,
|
0x00000002, 0x00000000,
|
||||||
0x00000004, 0x0000000D,
|
0x00000004, 0x0000000D,
|
||||||
0x00000001, sizeof(N(frame4_displayList)) / sizeof(s32), &N(frame4_displayList),
|
0x00000001, sizeof(N(frame4_displayList)) / sizeof(s32), (s32) &N(frame4_displayList),
|
||||||
0x00000002, 0x00000000,
|
0x00000002, 0x00000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ EvtScript N(main) = {
|
|||||||
EVT_CALL(SetAnimation, 0, 0, 65558)
|
EVT_CALL(SetAnimation, 0, 0, 65558)
|
||||||
EVT_CALL(PlaySound, 1018)
|
EVT_CALL(PlaySound, 1018)
|
||||||
EVT_WAIT(3)
|
EVT_WAIT(3)
|
||||||
EVT_CALL(CreateVirtualEntity, LVarA, battle_item_egg_missile_modelCommandList)
|
EVT_CALL(CreateVirtualEntity, LVarA, (s32) battle_item_egg_missile_modelCommandList)
|
||||||
EVT_CALL(GetActorPos, 0, LVar0, LVar1, LVar2)
|
EVT_CALL(GetActorPos, 0, LVar0, LVar1, LVar2)
|
||||||
EVT_ADD(LVar0, 20)
|
EVT_ADD(LVar0, 20)
|
||||||
EVT_ADD(LVar1, 42)
|
EVT_ADD(LVar1, 42)
|
||||||
|
@ -12,10 +12,10 @@ static s32 _pad = 0;
|
|||||||
#include "battle/item/pebble.pal.inc.c"
|
#include "battle/item/pebble.pal.inc.c"
|
||||||
|
|
||||||
Vtx N(model)[] = {
|
Vtx N(model)[] = {
|
||||||
{ .v = { -16, -16, 0, FALSE, 0, 0, 0, 0, 0, 255 } },
|
{ .v = { { -16, -16, 0 }, FALSE, { 0, 0 }, { 0, 0, 0, 255 }, } },
|
||||||
{ .v = { 15, -16, 0, FALSE, 1024, 0, 0, 0, 0, 255 } },
|
{ .v = { { 15, -16, 0 }, FALSE, { 1024, 0 }, { 0, 0, 0, 255 }, } },
|
||||||
{ .v = { 15, 15, 0, FALSE, 1024, 1024, 0, 0, 0, 255 } },
|
{ .v = { { 15, 15, 0 }, FALSE, { 1024, 1024 }, { 0, 0, 0, 255 }, } },
|
||||||
{ .v = { -16, 15, 0, FALSE, 0, 1024, 0, 0, 0, 255 } },
|
{ .v = { { -16, 15, 0 }, FALSE, { 0, 1024 }, { 0, 0, 0, 255 }, } },
|
||||||
};
|
};
|
||||||
|
|
||||||
Gfx N(displayList)[] = {
|
Gfx N(displayList)[] = {
|
||||||
|
@ -314,24 +314,24 @@ Gfx N(frame3_displayList)[] = {
|
|||||||
|
|
||||||
s32 N(modelCommandList)[] = {
|
s32 N(modelCommandList)[] = {
|
||||||
0x00000004, 0x0000000D,
|
0x00000004, 0x0000000D,
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000003, &N(frame2_displayList),
|
0x00000001, 0x00000003, (s32) &N(frame2_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame3_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame3_displayList),
|
||||||
0x00000002, 0x00000000,
|
0x00000002, 0x00000000,
|
||||||
|
|
||||||
0x00000004, 0x0000000D,
|
0x00000004, 0x0000000D,
|
||||||
0x00000001, 0x00000003, &N(frame2_displayList),
|
0x00000001, 0x00000003, (s32) &N(frame2_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame3_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame3_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000002, 0x00000000,
|
0x00000002, 0x00000000,
|
||||||
|
|
||||||
0x00000004, 0x0000000D,
|
0x00000004, 0x0000000D,
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame3_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame3_displayList),
|
||||||
0x00000001, 0x00000002, &N(frame1_displayList),
|
0x00000001, 0x00000002, (s32) &N(frame1_displayList),
|
||||||
0x00000001, 0x00000003, &N(frame2_displayList),
|
0x00000001, 0x00000003, (s32) &N(frame2_displayList),
|
||||||
0x00000002, 0x00000000,
|
0x00000002, 0x00000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ void initialize_collision(void) {
|
|||||||
void load_map_hit_asset(void) {
|
void load_map_hit_asset(void) {
|
||||||
u32 assetSize;
|
u32 assetSize;
|
||||||
MapSettings* map = get_current_map_settings();
|
MapSettings* map = get_current_map_settings();
|
||||||
void* compressedData = load_asset_by_name(&wMapHitName, &assetSize);
|
void* compressedData = load_asset_by_name(wMapHitName, &assetSize);
|
||||||
HitFile* uncompressedData = heap_malloc(assetSize);
|
HitFile* uncompressedData = heap_malloc(assetSize);
|
||||||
|
|
||||||
decode_yay0(compressedData, uncompressedData);
|
decode_yay0(compressedData, uncompressedData);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "stdlib/stdarg.h"
|
#include "stdlib/stdarg.h"
|
||||||
|
#include "PR/os_internal_thread.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x000 */ OSThread thread;
|
/* 0x000 */ OSThread thread;
|
||||||
|
@ -14,7 +14,6 @@ extern int COMBINED_ALPHA;
|
|||||||
extern int SHADE;
|
extern int SHADE;
|
||||||
extern int TEXEL0_ALPHA;
|
extern int TEXEL0_ALPHA;
|
||||||
|
|
||||||
void init_sprite_shading_data(void);
|
|
||||||
void appendGfx_shading_palette(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha,
|
void appendGfx_shading_palette(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha,
|
||||||
f32 shadowX, f32 shadowY, f32 shadowZ,
|
f32 shadowX, f32 shadowY, f32 shadowZ,
|
||||||
s32 shadowR, s32 shadowG, s32 shadowB,
|
s32 shadowR, s32 shadowG, s32 shadowB,
|
||||||
|
@ -27,7 +27,7 @@ void flame_render(EffectInstance* effect) {
|
|||||||
f32 outZ;
|
f32 outZ;
|
||||||
f32 outS;
|
f32 outS;
|
||||||
|
|
||||||
shim_transform_point(gCameras[gCurrentCameraID].perspectiveMatrix[0], data->pos.x, data->pos.y, data->pos.z, 1.0f, &outX, &outY, &outZ, &outS);
|
shim_transform_point(gCameras[gCurrentCameraID].perspectiveMatrix, data->pos.x, data->pos.y, data->pos.z, 1.0f, &outX, &outY, &outZ, &outS);
|
||||||
|
|
||||||
outDist = outZ + 5000;
|
outDist = outZ + 5000;
|
||||||
if (outDist < 0) {
|
if (outDist < 0) {
|
||||||
|
@ -47,7 +47,7 @@ ApiStatus MakeNpcs(Evt* script, s32 isInitialCall) {
|
|||||||
|
|
||||||
switch (script->functionTemp[0]) {
|
switch (script->functionTemp[0]) {
|
||||||
case 0:
|
case 0:
|
||||||
make_npcs(evt_get_variable(script, *args++), gGameStatusPtr->mapID, evt_get_variable(script, *args++));
|
make_npcs(evt_get_variable(script, *args++), gGameStatusPtr->mapID, (s32*) evt_get_variable(script, *args++));
|
||||||
script->functionTemp[0] = 1;
|
script->functionTemp[0] = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include "ld_addrs.h"
|
#include "ld_addrs.h"
|
||||||
#include "animation_script.h"
|
#include "animation_script.h"
|
||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
extern Gfx Entity_YellowBlock_Render[];
|
extern Gfx Entity_YellowBlock_Render[];
|
||||||
extern Gfx Entity_RedBlock_Render[];
|
extern Gfx Entity_RedBlock_Render[];
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
#include "animation_script.h"
|
#include "animation_script.h"
|
||||||
#include "ld_addrs.h"
|
#include "ld_addrs.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
extern Gfx Entity_RenderNone[];
|
extern Gfx Entity_RenderNone[];
|
||||||
extern AnimScript Entity_CymbalPlant_AnimationIdle;
|
extern AnimScript Entity_CymbalPlant_AnimationIdle;
|
||||||
|
@ -222,7 +222,7 @@ s32 step_entity_model_commandlist(EntityModel* entityModel) {
|
|||||||
imageData = entityModel->gfx.imageData;
|
imageData = entityModel->gfx.imageData;
|
||||||
entityModel->nextFrameTime = *curPos++;
|
entityModel->nextFrameTime = *curPos++;
|
||||||
imageData->raster = (u8*)*curPos++;
|
imageData->raster = (u8*)*curPos++;
|
||||||
imageData->defaultPal = (u8*)*curPos++;
|
imageData->defaultPal = (PAL_PTR) *curPos++;
|
||||||
imageData->width = *curPos++;
|
imageData->width = *curPos++;
|
||||||
imageData->height = *curPos++;
|
imageData->height = *curPos++;
|
||||||
entityModel->cmdListReadPos = curPos;
|
entityModel->cmdListReadPos = curPos;
|
||||||
@ -880,11 +880,11 @@ s32 create_generic_entity_world(void (*updateFunc)(void), void (*drawFunc)(void)
|
|||||||
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
|
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1;
|
||||||
newDynEntity->update = updateFunc;
|
newDynEntity->update = updateFunc;
|
||||||
if (updateFunc == NULL) {
|
if (updateFunc == NULL) {
|
||||||
newDynEntity->update = &stub_generic_entity_delegate;
|
newDynEntity->update = stub_generic_entity_delegate;
|
||||||
}
|
}
|
||||||
newDynEntity->draw = drawFunc;
|
newDynEntity->draw = drawFunc;
|
||||||
if (drawFunc == NULL) {
|
if (drawFunc == NULL) {
|
||||||
newDynEntity->draw = &stub_generic_entity_delegate;
|
newDynEntity->draw = stub_generic_entity_delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gGameStatusPtr->isBattle) {
|
if (gGameStatusPtr->isBattle) {
|
||||||
@ -911,11 +911,11 @@ s32 create_generic_entity_frontUI(void (*updateFunc)(void), void (*drawFunc)(voi
|
|||||||
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_DYNAMIC_SHADOW;
|
newDynEntity->flags = ENTITY_FLAGS_HIDDEN | ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE1 | ENTITY_FLAGS_HAS_DYNAMIC_SHADOW;
|
||||||
newDynEntity->update = updateFunc;
|
newDynEntity->update = updateFunc;
|
||||||
if (updateFunc == NULL) {
|
if (updateFunc == NULL) {
|
||||||
newDynEntity->update = &stub_generic_entity_delegate;
|
newDynEntity->update = stub_generic_entity_delegate;
|
||||||
}
|
}
|
||||||
newDynEntity->draw = drawFunc;
|
newDynEntity->draw = drawFunc;
|
||||||
if (drawFunc == NULL) {
|
if (drawFunc == NULL) {
|
||||||
newDynEntity->draw = &stub_generic_entity_delegate;
|
newDynEntity->draw = stub_generic_entity_delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gGameStatusPtr->isBattle) {
|
if (gGameStatusPtr->isBattle) {
|
||||||
|
@ -410,7 +410,7 @@ ApiStatus LoadSettings(Evt* script, s32 isInitialCall) {
|
|||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32 id = evt_get_variable(script, *args++);
|
s32 id = evt_get_variable(script, *args++);
|
||||||
Camera* camera = &gCameras[id];
|
Camera* camera = &gCameras[id];
|
||||||
CameraControlSettings* settings = evt_get_variable(script, *args++);
|
CameraControlSettings* settings = (CameraControlSettings*) evt_get_variable(script, *args++);
|
||||||
|
|
||||||
camera->controlSettings = *settings;
|
camera->controlSettings = *settings;
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
|
@ -659,12 +659,16 @@ ApiStatus evt_handle_divideF(Evt* script) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ApiStatus evt_handle_set_int_buffer_ptr(Evt* script) {
|
ApiStatus evt_handle_set_int_buffer_ptr(Evt* script) {
|
||||||
script->buffer = evt_get_variable(script, *script->ptrReadPos);
|
Bytecode* args = script->ptrReadPos;
|
||||||
|
|
||||||
|
script->buffer = (s32*) evt_get_variable(script, *args++);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
ApiStatus evt_handle_set_float_buffer_ptr(Evt* script) {
|
ApiStatus evt_handle_set_float_buffer_ptr(Evt* script) {
|
||||||
script->buffer = evt_get_variable(script, *script->ptrReadPos);
|
Bytecode* args = script->ptrReadPos;
|
||||||
|
|
||||||
|
script->buffer = (s32*) evt_get_variable(script, *args++);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -956,13 +960,17 @@ ApiStatus evt_handle_exec1_get_id(Evt* script) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ApiStatus evt_handle_exec_wait(Evt* script) {
|
ApiStatus evt_handle_exec_wait(Evt* script) {
|
||||||
start_child_script(script, evt_get_variable(script, *script->ptrReadPos), 0);
|
Bytecode* args = script->ptrReadPos;
|
||||||
|
|
||||||
|
start_child_script(script, (EvtScript*) evt_get_variable(script, *args++), 0);
|
||||||
script->currentOpcode = 0;
|
script->currentOpcode = 0;
|
||||||
return ApiStatus_FINISH;
|
return ApiStatus_FINISH;
|
||||||
}
|
}
|
||||||
|
|
||||||
ApiStatus evt_handle_jump(Evt* script) {
|
ApiStatus evt_handle_jump(Evt* script) {
|
||||||
script->ptrFirstLine = (Bytecode*)evt_get_variable(script, *script->ptrReadPos);
|
Bytecode* args = script->ptrReadPos;
|
||||||
|
|
||||||
|
script->ptrFirstLine = (Bytecode*) evt_get_variable(script, *args++);
|
||||||
restart_script(script);
|
restart_script(script);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
@ -1344,7 +1352,7 @@ s32 func_802C73B8(Evt* script) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 evt_execute_next_command(Evt *script) {
|
s32 evt_execute_next_command(Evt* script) {
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
s32 status = ApiStatus_DONE2;
|
s32 status = ApiStatus_DONE2;
|
||||||
s32* lines;
|
s32* lines;
|
||||||
@ -2016,7 +2024,7 @@ Bytecode* evt_find_label(Evt* script, s32 arg1) {
|
|||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (arg1 < EVT_LIMIT) {
|
if (arg1 < EVT_LIMIT) {
|
||||||
return arg1;
|
return (Bytecode*) arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 0x10; i++) {
|
for (i = 0; i < 0x10; i++) {
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
#include "world/partners.h"
|
#include "world/partners.h"
|
||||||
|
|
||||||
ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall);
|
ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall);
|
||||||
AuResult bgm_set_track_volumes(s32 playerIndex, s16 trackVolSet);
|
|
||||||
|
|
||||||
extern MusicEvent* MusicEventList;
|
extern MusicEvent* MusicEventList;
|
||||||
extern s32 D_802DB7D4; // unused?
|
extern s32 D_802DB7D4; // unused?
|
||||||
|
@ -441,7 +441,7 @@ ApiStatus PlayEffect(Evt* script, s32 isInitialCall) {
|
|||||||
fx_lens_flare(iVar1, fVar2, fVar3, fVar4, iVar5);
|
fx_lens_flare(iVar1, fVar2, fVar3, fVar4, iVar5);
|
||||||
break;
|
break;
|
||||||
case EFFECT_GOT_ITEM_OUTLINE:
|
case EFFECT_GOT_ITEM_OUTLINE:
|
||||||
fx_got_item_outline(iVar1, fVar2, fVar3, fVar4, fVar5, &sp34);
|
fx_got_item_outline(iVar1, fVar2, fVar3, fVar4, fVar5, (EffectInstance**) &sp34);
|
||||||
evt_set_variable(script, a6, sp34);
|
evt_set_variable(script, a6, sp34);
|
||||||
break;
|
break;
|
||||||
case EFFECT_SPIKY_WHITE_AURA:
|
case EFFECT_SPIKY_WHITE_AURA:
|
||||||
@ -451,7 +451,7 @@ ApiStatus PlayEffect(Evt* script, s32 isInitialCall) {
|
|||||||
fx_smoke_impact(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6, fVar7, iVar8);
|
fx_smoke_impact(iVar1, fVar2, fVar3, fVar4, fVar5, iVar6, fVar7, iVar8);
|
||||||
break;
|
break;
|
||||||
case EFFECT_DAMAGE_INDICATOR:
|
case EFFECT_DAMAGE_INDICATOR:
|
||||||
fx_damage_indicator(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7, (EffectInstance**)&sp30);
|
fx_damage_indicator(iVar1, fVar2, fVar3, fVar4, fVar5, fVar6, iVar7, (EffectInstance**) &sp30);
|
||||||
evt_set_variable(script, a8, sp30);
|
evt_set_variable(script, a8, sp30);
|
||||||
break;
|
break;
|
||||||
case EFFECT_PURPLE_RING:
|
case EFFECT_PURPLE_RING:
|
||||||
|
@ -244,11 +244,11 @@ ApiStatus SetCustomGfx(Evt* script, s32 isInitialCall) {
|
|||||||
|
|
||||||
ApiStatus SetCustomGfxBuilders(Evt* script, s32 isInitialCall) {
|
ApiStatus SetCustomGfxBuilders(Evt* script, s32 isInitialCall) {
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32 var1 = evt_get_variable(script, *args++);
|
s32 index = evt_get_variable(script, *args++);
|
||||||
s32 var2 = evt_get_variable(script, *args++);
|
ModelCustomGfxBuilderFunc pre = (ModelCustomGfxBuilderFunc) evt_get_variable(script, *args++);
|
||||||
s32 var3 = evt_get_variable(script, *args++);
|
ModelCustomGfxBuilderFunc post = (ModelCustomGfxBuilderFunc) evt_get_variable(script, *args++);
|
||||||
|
|
||||||
set_custom_gfx_builders(var1, var2, var3);
|
set_custom_gfx_builders(index, pre, post);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,11 +86,11 @@ ApiStatus LoadAnimatedModel(Evt* script, s32 isInitialCall) {
|
|||||||
ApiStatus LoadAnimatedMesh(Evt* script, s32 isInitialCall) {
|
ApiStatus LoadAnimatedMesh(Evt* script, s32 isInitialCall) {
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32 index = evt_get_variable(script, *args++);
|
s32 index = evt_get_variable(script, *args++);
|
||||||
s32 var1 = evt_get_variable(script, *args++);
|
StaticAnimatorNode** tree = (StaticAnimatorNode**) evt_get_variable(script, *args++);
|
||||||
AnimatedModel* animModel = (*gCurrentMeshAnimationListPtr)[index];
|
AnimatedModel* animModel = (*gCurrentMeshAnimationListPtr)[index];
|
||||||
s32 animModelID = create_model_animator(0);
|
s32 animModelID = create_model_animator(0);
|
||||||
|
|
||||||
load_mesh_animator_tree(animModelID, var1);
|
load_mesh_animator_tree(animModelID, tree);
|
||||||
animModel->animModelID = animModelID;
|
animModel->animModelID = animModelID;
|
||||||
animModel->pos.x = 0;
|
animModel->pos.x = 0;
|
||||||
animModel->pos.y = 0;
|
animModel->pos.y = 0;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "npc.h"
|
#include "npc.h"
|
||||||
|
#include "world/partners.h"
|
||||||
|
|
||||||
extern s32 wExtraPartnerID;
|
extern s32 wExtraPartnerID;
|
||||||
extern s32 wExtraPartnerNpcID;
|
extern s32 wExtraPartnerNpcID;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "npc.h"
|
#include "npc.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
#include "world/partners.h"
|
||||||
|
|
||||||
extern Npc playerNpcData;
|
extern Npc playerNpcData;
|
||||||
extern u16 D_802DB5B0;
|
extern u16 D_802DB5B0;
|
||||||
@ -13,6 +14,8 @@ Npc* playerNpc = &playerNpcData;
|
|||||||
|
|
||||||
void virtual_entity_list_render_world(void);
|
void virtual_entity_list_render_world(void);
|
||||||
void virtual_entity_list_render_UI(void);
|
void virtual_entity_list_render_UI(void);
|
||||||
|
s32 ALT_load_entity_model(s32* cmdList);
|
||||||
|
s32 create_generic_entity_backUI(void (*updateFunc)(void), void (*drawFunc)(void));
|
||||||
|
|
||||||
ApiStatus HidePlayerShadow(Evt* script, s32 isInitialCall) {
|
ApiStatus HidePlayerShadow(Evt* script, s32 isInitialCall) {
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
@ -524,7 +527,6 @@ ApiStatus UseEntryHeading(Evt *script, s32 isInitialCall) {
|
|||||||
f32 cosTheta;
|
f32 cosTheta;
|
||||||
f32 sinTheta;
|
f32 sinTheta;
|
||||||
f32 exitTangentFrac;
|
f32 exitTangentFrac;
|
||||||
f32* blah;
|
|
||||||
|
|
||||||
sin_cos_deg(clamp_angle((*mapSettings->entryList)[gGameStatusPtr->entryID].yaw + 180.0f), &sinTheta, &cosTheta);
|
sin_cos_deg(clamp_angle((*mapSettings->entryList)[gGameStatusPtr->entryID].yaw + 180.0f), &sinTheta, &cosTheta);
|
||||||
|
|
||||||
@ -532,8 +534,7 @@ ApiStatus UseEntryHeading(Evt *script, s32 isInitialCall) {
|
|||||||
gPlayerStatus.position.x = (entryX + (var1 * sinTheta)) - (exitTangentFrac * cosTheta);
|
gPlayerStatus.position.x = (entryX + (var1 * sinTheta)) - (exitTangentFrac * cosTheta);
|
||||||
gPlayerStatus.position.z = (entryZ - (var1 * cosTheta)) - (exitTangentFrac * sinTheta);
|
gPlayerStatus.position.z = (entryZ - (var1 * cosTheta)) - (exitTangentFrac * sinTheta);
|
||||||
|
|
||||||
blah = &script->varTable[5];
|
script->varTableF[5] = dist2D(gPlayerStatus.position.x, gPlayerStatus.position.z, entryX, entryZ) / var2;
|
||||||
*blah = dist2D(gPlayerStatus.position.x, gPlayerStatus.position.z, entryX, entryZ) / var2;
|
|
||||||
gPlayerStatus.flags |= PS_FLAGS_CAMERA_DOESNT_FOLLOW;
|
gPlayerStatus.flags |= PS_FLAGS_CAMERA_DOESNT_FOLLOW;
|
||||||
|
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
@ -548,7 +549,7 @@ ApiStatus UseExitHeading(Evt* script, s32 isInitialCall) {
|
|||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||||
MapSettings* mapSettings = get_current_map_settings();
|
MapSettings* mapSettings = get_current_map_settings();
|
||||||
f32* varTableVar5 = &script->varTable[5];
|
f32* varTableVar5 = &script->varTableF[5];
|
||||||
|
|
||||||
if (can_trigger_loading_zone()) {
|
if (can_trigger_loading_zone()) {
|
||||||
s32 var1 = evt_get_variable(script, *args++);
|
s32 var1 = evt_get_variable(script, *args++);
|
||||||
|
@ -81,6 +81,8 @@ BSS u32 gBattleMapVars[MAX_MAPVARS];
|
|||||||
BSS s32 DoorModelsSwingCCW[3];
|
BSS s32 DoorModelsSwingCCW[3];
|
||||||
BSS u32 gBattleMapFlags[MAX_MAPFLAGS];
|
BSS u32 gBattleMapFlags[MAX_MAPFLAGS];
|
||||||
|
|
||||||
|
//s32 evt_execute_next_command(Evt* script);
|
||||||
|
|
||||||
void sort_scripts(void) {
|
void sort_scripts(void) {
|
||||||
s32 temp_a0;
|
s32 temp_a0;
|
||||||
s32 temp_a1;
|
s32 temp_a1;
|
||||||
|
@ -117,8 +117,6 @@ BSS s32 filemenu_hudElemIDs[20];
|
|||||||
BSS s32 filemenu_createfile_hudElems[4];
|
BSS s32 filemenu_createfile_hudElems[4];
|
||||||
BSS u8 filemenu_filename[8];
|
BSS u8 filemenu_filename[8];
|
||||||
|
|
||||||
s32 func_80244BC4(void);
|
|
||||||
|
|
||||||
void filemenu_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy) {
|
void filemenu_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy) {
|
||||||
if (ulx <= -2688 || uly <= -2688 || lrx <= 0 || lry <= 0) {
|
if (ulx <= -2688 || uly <= -2688 || lrx <= 0 || lry <= 0) {
|
||||||
return;
|
return;
|
||||||
|
@ -76,6 +76,8 @@ StateFunc* gameModeMap[] = {
|
|||||||
// BSS
|
// BSS
|
||||||
extern s16 gameMode;
|
extern s16 gameMode;
|
||||||
|
|
||||||
|
GameMode* set_game_mode_slot(s32 i, GameMode* mode);
|
||||||
|
|
||||||
void set_game_mode(s16 mode) {
|
void set_game_mode(s16 mode) {
|
||||||
gameMode = mode;
|
gameMode = mode;
|
||||||
set_game_mode_slot(0, gameModeMap[mode]);
|
set_game_mode_slot(0, gameModeMap[mode]);
|
||||||
|
@ -8,7 +8,7 @@ void* general_heap_malloc(s32 size) {
|
|||||||
return _heap_malloc(&heap_generalHead, size);
|
return _heap_malloc(&heap_generalHead, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 general_heap_malloc_tail(s32 size) {
|
void* general_heap_malloc_tail(s32 size) {
|
||||||
return _heap_malloc_tail(&heap_generalHead, size);
|
return _heap_malloc_tail(&heap_generalHead, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +207,14 @@ extern HudScript HES_StatusCoin;
|
|||||||
extern HudScript HES_Refund;
|
extern HudScript HES_Refund;
|
||||||
extern HudScript HES_MenuTimes;
|
extern HudScript HES_MenuTimes;
|
||||||
|
|
||||||
extern s32 gPartnerPopupProperties[13][4];
|
typedef struct PartnerPopupProperties {
|
||||||
|
/* 0x00 */ s32 nameMsg;
|
||||||
|
/* 0x04 */ s32 unk_04;
|
||||||
|
/* 0x08 */ s32 worldDescMsg;
|
||||||
|
/* 0x0C */ s32 battleDescMsg;
|
||||||
|
} PartnerPopupProperties; // size = 0x10
|
||||||
|
|
||||||
|
extern PartnerPopupProperties gPartnerPopupProperties[13];
|
||||||
extern HudScript* wDisabledPartnerHudScripts[];
|
extern HudScript* wDisabledPartnerHudScripts[];
|
||||||
extern HudScript* wPartnerHudScripts[];
|
extern HudScript* wPartnerHudScripts[];
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
// TODO
|
// TODO
|
||||||
#define nuSiSendMesg func_800602C8
|
#define nuSiSendMesg func_800602C8
|
||||||
|
|
||||||
|
void func_800602C8(s32, s32);
|
||||||
|
|
||||||
void nuContRmbForceStop(void) {
|
void nuContRmbForceStop(void) {
|
||||||
nuSiSendMesg(NU_CONT_RMB_FORCESTOP_MSG, NULL);
|
nuSiSendMesg(NU_CONT_RMB_FORCESTOP_MSG, NULL);
|
||||||
}
|
}
|
||||||
|
@ -550,7 +550,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 3
|
.costBP = 3
|
||||||
},
|
},
|
||||||
{ // move 37: Unused_37
|
{ // move 37: Unused_37
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
@ -570,7 +570,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 4
|
.costBP = 4
|
||||||
},
|
},
|
||||||
{ // move 39: Unused_39
|
{ // move 39: Unused_39
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
||||||
@ -580,7 +580,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 3A: Unused_3A
|
{ // move 3A: Unused_3A
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
@ -630,7 +630,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 2
|
.costBP = 2
|
||||||
},
|
},
|
||||||
{ // move 3F: Unused_3F
|
{ // move 3F: Unused_3F
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
||||||
@ -750,7 +750,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 1
|
.costBP = 1
|
||||||
},
|
},
|
||||||
{ // move 4B: Unused_4B
|
{ // move 4B: Unused_4B
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
@ -810,7 +810,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 5
|
.costBP = 5
|
||||||
},
|
},
|
||||||
{ // move 51: Unused_51
|
{ // move 51: Unused_51
|
||||||
.nameMsg = "つうじょう",
|
.nameMsg = (s32) "つうじょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_4 | MOVE_DATA_FLAG_10000,
|
||||||
@ -1110,7 +1110,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 1
|
.costBP = 1
|
||||||
},
|
},
|
||||||
{ // move 6F: Unused_FinalGoompa
|
{ // move 6F: Unused_FinalGoompa
|
||||||
.nameMsg = "ファイナルクリジイ",
|
.nameMsg = (s32) "ファイナルクリジイ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_2,
|
||||||
@ -1120,7 +1120,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 1
|
.costBP = 1
|
||||||
},
|
},
|
||||||
{ // move 70: Unused_FinalBobomb
|
{ // move 70: Unused_FinalBobomb
|
||||||
.nameMsg = "ファイナルボムヘイ",
|
.nameMsg = (s32) "ファイナルボムヘイ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_2,
|
||||||
@ -1550,7 +1550,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 9B: Unused_LoneFool1
|
{ // move 9B: Unused_LoneFool1
|
||||||
.nameMsg = "ひとりぼけ",
|
.nameMsg = (s32) "ひとりぼけ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
||||||
@ -1560,7 +1560,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 9C: Unused_LoneFool2
|
{ // move 9C: Unused_LoneFool2
|
||||||
.nameMsg = "ひとりぼけ",
|
.nameMsg = (s32) "ひとりぼけ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
||||||
@ -1570,7 +1570,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 9D: Unused_LoneFool3
|
{ // move 9D: Unused_LoneFool3
|
||||||
.nameMsg = "ひとりぼけ",
|
.nameMsg = (s32) "ひとりぼけ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
||||||
@ -1580,7 +1580,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 9E: Unused_Mumble
|
{ // move 9E: Unused_Mumble
|
||||||
.nameMsg = "むにゃむにゃ",
|
.nameMsg = (s32) "むにゃむにゃ",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_4,
|
.flags = MOVE_DATA_FLAG_4,
|
||||||
@ -1590,7 +1590,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move 9F: Unused_Preach
|
{ // move 9F: Unused_Preach
|
||||||
.nameMsg = "せっきょう",
|
.nameMsg = (s32) "せっきょう",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
||||||
@ -1600,7 +1600,7 @@ MoveData gMoveTable[] = {
|
|||||||
.costBP = 0
|
.costBP = 0
|
||||||
},
|
},
|
||||||
{ // move A0: Unused_Awakening
|
{ // move A0: Unused_Awakening
|
||||||
.nameMsg = "かくせい",
|
.nameMsg = (s32) "かくせい",
|
||||||
.fullDescMsg = 0,
|
.fullDescMsg = 0,
|
||||||
.shortDescMsg = 0,
|
.shortDescMsg = 0,
|
||||||
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
.flags = MOVE_DATA_FLAG_SINGLE_TARGET | MOVE_DATA_FLAG_2,
|
||||||
|
@ -716,7 +716,8 @@ f32 npc_get_render_yaw(Npc* npc) {
|
|||||||
INCLUDE_ASM(f32, "npc", npc_get_render_yaw);
|
INCLUDE_ASM(f32, "npc", npc_get_render_yaw);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void appendGfx_npc(Npc* npc) {
|
void appendGfx_npc(void* data) {
|
||||||
|
Npc* npc = data;
|
||||||
Matrix4f mtx1, mtx2;
|
Matrix4f mtx1, mtx2;
|
||||||
f32 renderYaw = npc_get_render_yaw(npc);
|
f32 renderYaw = npc_get_render_yaw(npc);
|
||||||
|
|
||||||
@ -957,7 +958,7 @@ void disable_npc_shadow(Npc* npc) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_npc_sprite(Npc* npc, s32 anim, u32** extraAnimList) {
|
void set_npc_sprite(Npc* npc, s32 anim, AnimID* extraAnimList) {
|
||||||
ASSERT((npc->flags & NPC_FLAG_1000000) || spr_free_sprite(npc->spriteInstanceID) == 0);
|
ASSERT((npc->flags & NPC_FLAG_1000000) || spr_free_sprite(npc->spriteInstanceID) == 0);
|
||||||
|
|
||||||
npc->extraAnimList = extraAnimList;
|
npc->extraAnimList = extraAnimList;
|
||||||
@ -1054,7 +1055,7 @@ void npc_reload_all(void) {
|
|||||||
if (!(npc->flags & NPC_FLAG_1000000) && (npc->palSwapType != 0)) {
|
if (!(npc->flags & NPC_FLAG_1000000) && (npc->palSwapType != 0)) {
|
||||||
npc->spritePaletteList = spr_get_npc_palettes(npc->currentAnim >> 16);
|
npc->spritePaletteList = spr_get_npc_palettes(npc->currentAnim >> 16);
|
||||||
npc->paletteCount = 0;
|
npc->paletteCount = 0;
|
||||||
while (npc->spritePaletteList[npc->paletteCount] != -1) {
|
while (npc->spritePaletteList[npc->paletteCount] != (PAL_PTR) -1) {
|
||||||
npc->paletteCount++;
|
npc->paletteCount++;
|
||||||
}
|
}
|
||||||
npc->unk_C0 = spr_get_npc_color_variations(npc->currentAnim >> 16);
|
npc->unk_C0 = spr_get_npc_color_variations(npc->currentAnim >> 16);
|
||||||
|
@ -13,7 +13,7 @@ void nuBoot(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NON_EQUIVALENT
|
#ifdef NON_EQUIVALENT
|
||||||
void boot_idle(void) {
|
void boot_idle(void* data) {
|
||||||
nuIdleFunc = NULL;
|
nuIdleFunc = NULL;
|
||||||
|
|
||||||
nuPiInit();
|
nuPiInit();
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
|
|
||||||
s32 contRetrace();
|
s32 contRetrace(void);
|
||||||
s32 contReadData();
|
s32 contReadData(void);
|
||||||
s32 contReadNW();
|
s32 contReadNW(void);
|
||||||
s32 contQuery();
|
s32 contQuery(void);
|
||||||
|
|
||||||
u32 D_80093D20 = 0;
|
u32 D_80093D20 = 0;
|
||||||
|
|
||||||
UNK_FUN_PTR(D_80093D24[4]) = {
|
s32(*D_80093D24[4])(void) = {
|
||||||
contRetrace,
|
contRetrace,
|
||||||
contReadData,
|
contReadData,
|
||||||
contReadNW,
|
contReadNW,
|
||||||
@ -19,7 +19,7 @@ s32 D_80093D34 = 0;
|
|||||||
|
|
||||||
NUCallBackList nuContCallBack = {
|
NUCallBackList nuContCallBack = {
|
||||||
NULL,
|
NULL,
|
||||||
D_80093D24,
|
&D_80093D24,
|
||||||
0x100,
|
0x100,
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
@ -10,7 +10,10 @@ s32 contRmbForceStopEndMesg(NUSiCommonMesg* mesg);
|
|||||||
|
|
||||||
u32 nuContRmbSearchTime = 300;
|
u32 nuContRmbSearchTime = 300;
|
||||||
|
|
||||||
s32 D_80093CE4[] = { contRmbRetrace, contRmbCheckMesg, contRmbStartMesg, contRmbStopMesg, contRmbForceStopMesg, contRmbForceStopEndMesg, NULL};
|
s32 (*D_80093CE4[])(NUSiCommonMesg*) = {
|
||||||
|
contRmbRetrace, contRmbCheckMesg, contRmbStartMesg, contRmbStopMesg, contRmbForceStopMesg, contRmbForceStopEndMesg,
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
NUCallBackList nuContRmbCallBack = {.next = NULL, .func = D_80093CE4, .majorNo = 0x300, .funcNum = 0};
|
NUCallBackList nuContRmbCallBack = {.next = NULL, .func = D_80093CE4, .majorNo = 0x300, .funcNum = 0};
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ extern s32 D_800B91D0;
|
|||||||
extern u8 rspbootUcodeBuffer[];
|
extern u8 rspbootUcodeBuffer[];
|
||||||
extern OSMesgQueue D_800DA47C;
|
extern OSMesgQueue D_800DA47C;
|
||||||
|
|
||||||
void nuGfxTaskMgr(void) {
|
void nuGfxTaskMgr(void* data) {
|
||||||
NUScTask* task;
|
NUScTask* task;
|
||||||
s16* msg;
|
s16* msg;
|
||||||
OSIntMask mask;
|
OSIntMask mask;
|
||||||
@ -70,15 +70,15 @@ void nuGfxTaskMgrInit(void) {
|
|||||||
nuGfxTask[i].list.t.type = M_GFXTASK;
|
nuGfxTask[i].list.t.type = M_GFXTASK;
|
||||||
nuGfxTask[i].list.t.flags = 0;
|
nuGfxTask[i].list.t.flags = 0;
|
||||||
dma_copy((u8* )0xB0000B70, (u8* )0xB0000C70, rspbootUcodeBuffer);
|
dma_copy((u8* )0xB0000B70, (u8* )0xB0000C70, rspbootUcodeBuffer);
|
||||||
nuGfxTask[i].list.t.ucode_boot = rspbootUcodeBuffer;
|
nuGfxTask[i].list.t.ucode_boot = (u64*) rspbootUcodeBuffer;
|
||||||
nuGfxTask[i].list.t.ucode_boot_size = 0x100;
|
nuGfxTask[i].list.t.ucode_boot_size = 0x100;
|
||||||
nuGfxTask[i].list.t.ucode_size = SP_UCODE_SIZE;
|
nuGfxTask[i].list.t.ucode_size = SP_UCODE_SIZE;
|
||||||
nuGfxTask[i].list.t.ucode_data_size = SP_UCODE_DATA_SIZE;
|
nuGfxTask[i].list.t.ucode_data_size = SP_UCODE_DATA_SIZE;
|
||||||
nuGfxTask[i].list.t.dram_stack = &D_800DA040;
|
nuGfxTask[i].list.t.dram_stack = (u64*) &D_800DA040;
|
||||||
nuGfxTask[i].list.t.dram_stack_size = SP_DRAM_STACK_SIZE8;
|
nuGfxTask[i].list.t.dram_stack_size = SP_DRAM_STACK_SIZE8;
|
||||||
nuGfxTask[i].list.t.output_buff = &D_800B91D0;
|
nuGfxTask[i].list.t.output_buff = (u64*) &D_800B91D0;
|
||||||
nuGfxTask[i].list.t.output_buff_size = &gZoneCollisionData;
|
nuGfxTask[i].list.t.output_buff_size = (u64*) &gZoneCollisionData;
|
||||||
nuGfxTask[i].list.t.yield_data_ptr = &nuYieldBuf;
|
nuGfxTask[i].list.t.yield_data_ptr = (u64*) &nuYieldBuf;
|
||||||
nuGfxTask[i].list.t.yield_data_size = NU_GFX_YIELD_BUF_SIZE;
|
nuGfxTask[i].list.t.yield_data_size = NU_GFX_YIELD_BUF_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
|
|
||||||
void gfxThread(void);
|
void gfxThread(void*);
|
||||||
|
|
||||||
extern OSMesg nuContWaitMesgBuf;
|
extern OSMesg nuContWaitMesgBuf;
|
||||||
extern OSThread D_800B1B90;
|
extern OSThread D_800B1B90;
|
||||||
@ -12,15 +12,15 @@ void nuGfxThreadStart(void) {
|
|||||||
osStartThread(&D_800B1B90);
|
osStartThread(&D_800B1B90);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfxThread(void) {
|
void gfxThread(void* data) {
|
||||||
NUScClient gfxClient;
|
NUScClient gfxClient;
|
||||||
NUScMsg* mesgType;
|
NUScMsg* mesgType;
|
||||||
|
|
||||||
osCreateMesgQueue(&nuGfxMesgQ, &nuGfxMesgBuf, NU_GFX_MESGS);
|
osCreateMesgQueue(&nuGfxMesgQ, nuGfxMesgBuf, NU_GFX_MESGS);
|
||||||
nuScAddClient(&gfxClient, &nuGfxMesgQ, NU_SC_RETRACE_MSG | NU_SC_PRENMI_MSG);
|
nuScAddClient(&gfxClient, &nuGfxMesgQ, NU_SC_RETRACE_MSG | NU_SC_PRENMI_MSG);
|
||||||
|
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
osRecvMesg(&nuGfxMesgQ, &mesgType, OS_MESG_BLOCK);
|
osRecvMesg(&nuGfxMesgQ, (OSMesg*) &mesgType, OS_MESG_BLOCK);
|
||||||
|
|
||||||
switch (*mesgType) {
|
switch (*mesgType) {
|
||||||
case NU_SC_RETRACE_MSG:
|
case NU_SC_RETRACE_MSG:
|
||||||
|
@ -14,7 +14,7 @@ u8 nuSiMgrInit(void) {
|
|||||||
OSContStatus status[NU_CONT_MAXCONTROLLERS];
|
OSContStatus status[NU_CONT_MAXCONTROLLERS];
|
||||||
u32 i;
|
u32 i;
|
||||||
|
|
||||||
osCreateMesgQueue(&nuSiMesgQ, &nuSiMesgBuf, ARRAY_COUNT(nuSiMesgBuf));
|
osCreateMesgQueue(&nuSiMesgQ, nuSiMesgBuf, ARRAY_COUNT(nuSiMesgBuf));
|
||||||
osSetEventMesg(OS_EVENT_SI, &nuSiMesgQ, NULL);
|
osSetEventMesg(OS_EVENT_SI, &nuSiMesgQ, NULL);
|
||||||
osContInit(&nuSiMesgQ, &pattern, &status[0]);
|
osContInit(&nuSiMesgQ, &pattern, &status[0]);
|
||||||
|
|
||||||
@ -63,11 +63,11 @@ void nuSiMgrThread(void* arg) {
|
|||||||
u16 majorNo;
|
u16 majorNo;
|
||||||
u16 minorNo;
|
u16 minorNo;
|
||||||
|
|
||||||
osCreateMesgQueue(&nuSiMgrMesgQ, &siMgrMesgBuf, NU_SI_MESG_MAX);
|
osCreateMesgQueue(&nuSiMgrMesgQ, siMgrMesgBuf, NU_SI_MESG_MAX);
|
||||||
nuScAddClient(&siClient, &nuSiMgrMesgQ, NU_SC_RETRACE_MSG);
|
nuScAddClient(&siClient, &nuSiMgrMesgQ, NU_SC_RETRACE_MSG);
|
||||||
|
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
osRecvMesg(&nuSiMgrMesgQ, &siMesg, OS_MESG_BLOCK);
|
osRecvMesg(&nuSiMgrMesgQ, (OSMesg*) &siMesg, OS_MESG_BLOCK);
|
||||||
|
|
||||||
siCallBackListPtr = &nuSiCallBackList;
|
siCallBackListPtr = &nuSiCallBackList;
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "pause_common.h"
|
#include "pause_common.h"
|
||||||
#include "message_ids.h"
|
#include "message_ids.h"
|
||||||
|
#include "hud_element.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
#include "sprite/npc/WorldGoombario.h"
|
#include "sprite/npc/WorldGoombario.h"
|
||||||
#include "sprite/npc/WorldKooper.h"
|
#include "sprite/npc/WorldKooper.h"
|
||||||
@ -10,7 +11,6 @@
|
|||||||
#include "sprite/npc/WorldSushie.h"
|
#include "sprite/npc/WorldSushie.h"
|
||||||
#include "sprite/npc/WorldLakilester.h"
|
#include "sprite/npc/WorldLakilester.h"
|
||||||
|
|
||||||
extern s32 gPartnerPopupProperties[13][4];
|
|
||||||
extern s8 gPauseBufferPal1[512];
|
extern s8 gPauseBufferPal1[512];
|
||||||
extern s8 gPauseBufferImg1[15752];
|
extern s8 gPauseBufferImg1[15752];
|
||||||
extern s8 gPauseBufferPal2[512];
|
extern s8 gPauseBufferPal2[512];
|
||||||
@ -400,7 +400,7 @@ void pause_partners_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid
|
|||||||
}
|
}
|
||||||
|
|
||||||
void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
|
void pause_partners_draw_title(MenuPanel* menu, s32 baseX, s32 baseY, s32 width, s32 height, s32 opacity, s32 darkening) {
|
||||||
s32 msgID = gPartnerPopupProperties[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]][0];
|
s32 msgID = gPartnerPopupProperties[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].nameMsg;
|
||||||
s32 level = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
|
s32 level = get_player_data()->partners[gPausePartnersPartnerIDs[gPausePartnersPartnerIdx[gPausePartnersCurrentPartnerIdx]]].level;
|
||||||
s32 msgWidth = get_msg_width(msgID, 0);
|
s32 msgWidth = get_msg_width(msgID, 0);
|
||||||
s32 offset = 16;
|
s32 offset = 16;
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
#include "ld_addrs.h"
|
#include "ld_addrs.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
#include "battle/battle.h"
|
#include "battle/battle.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
s32 D_800778A0[] = {
|
u16* D_800778A0[] = {
|
||||||
&D_8038F800, &D_803B5000, &heap_battleHead,
|
D_8038F800, D_803B5000, &heap_battleHead,
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 D_800778AC[] = {
|
s32 D_800778AC[] = {
|
||||||
@ -40,7 +41,7 @@ void state_step_battle(void) {
|
|||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
D_800A0900 = -1;
|
D_800A0900 = -1;
|
||||||
nuGfxSetCfb(&D_800778A0, 2);
|
nuGfxSetCfb(D_800778A0, 2);
|
||||||
nuContRmbForceStopEnd();
|
nuContRmbForceStopEnd();
|
||||||
sfx_stop_env_sounds();
|
sfx_stop_env_sounds();
|
||||||
func_8003B1A8();
|
func_8003B1A8();
|
||||||
@ -74,7 +75,7 @@ void state_step_battle(void) {
|
|||||||
clear_npcs();
|
clear_npcs();
|
||||||
clear_entity_data(1);
|
clear_entity_data(1);
|
||||||
clear_trigger_data();
|
clear_trigger_data();
|
||||||
dma_copy(&_16C8E0_ROM_START, &_16C8E0_ROM_END, &_16C8E0_VRAM);
|
dma_copy(_16C8E0_ROM_START, _16C8E0_ROM_END, _16C8E0_VRAM);
|
||||||
initialize_battle();
|
initialize_battle();
|
||||||
btl_save_world_cameras();
|
btl_save_world_cameras();
|
||||||
load_battle_section();
|
load_battle_section();
|
||||||
@ -129,7 +130,7 @@ void state_step_end_battle(void) {
|
|||||||
sfx_stop_env_sounds();
|
sfx_stop_env_sounds();
|
||||||
mapSettings = get_current_map_settings();
|
mapSettings = get_current_map_settings();
|
||||||
mapConfig = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID];
|
mapConfig = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID];
|
||||||
btl_restore_world_cameras(gGameStatusPtr);
|
btl_restore_world_cameras();
|
||||||
gGameStatusPtr->isBattle = FALSE;
|
gGameStatusPtr->isBattle = FALSE;
|
||||||
func_8005AF84();
|
func_8005AF84();
|
||||||
func_8002ACDC();
|
func_8002ACDC();
|
||||||
@ -160,7 +161,7 @@ void state_step_end_battle(void) {
|
|||||||
|
|
||||||
partner_init_after_battle(playerData->currentPartner);
|
partner_init_after_battle(playerData->currentPartner);
|
||||||
load_map_script_lib();
|
load_map_script_lib();
|
||||||
mapShape = load_asset_by_name(&wMapShapeName, &sizeTemp);
|
mapShape = load_asset_by_name(wMapShapeName, &sizeTemp);
|
||||||
decode_yay0(mapShape, &D_80210000);
|
decode_yay0(mapShape, &D_80210000);
|
||||||
general_heap_free(mapShape);
|
general_heap_free(mapShape);
|
||||||
initialize_collision();
|
initialize_collision();
|
||||||
@ -177,7 +178,7 @@ void state_step_end_battle(void) {
|
|||||||
set_background_size(296, 200, 12, 20);
|
set_background_size(296, 200, 12, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
load_model_textures(mapSettings->modelTreeRoot, get_asset_offset(&wMapTexName, &sizeTemp), sizeTemp);
|
load_model_textures(mapSettings->modelTreeRoot, get_asset_offset(wMapTexName, &sizeTemp), sizeTemp);
|
||||||
calculate_model_sizes();
|
calculate_model_sizes();
|
||||||
npc_reload_all();
|
npc_reload_all();
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
|
#include "battle/battle.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
typedef struct DemoSceneData {
|
typedef struct DemoSceneData {
|
||||||
@ -12,32 +13,26 @@ typedef struct DemoSceneData {
|
|||||||
/* 0x8 */ char* mapName;
|
/* 0x8 */ char* mapName;
|
||||||
} DemoSceneData; // size = 0xC;
|
} DemoSceneData; // size = 0xC;
|
||||||
|
|
||||||
// rodata for below map names
|
|
||||||
// the compiler deduplicates the two identical map name strings, but it's removing the wrong one
|
|
||||||
const char D_800983F8[] = {
|
|
||||||
"end\0kkj_26\0\0arn_08\0\0kkj_11\0\0nok_02\0\0mac_03\0\0kzn_02\0\0mac_00\0\0jan_04\0\0trd_09\0\0tik_03\0\0isk_04\0\0nok_12\0\0"
|
|
||||||
};
|
|
||||||
|
|
||||||
DemoSceneData D_80077AE0[20] = {
|
DemoSceneData D_80077AE0[20] = {
|
||||||
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = &D_800983F8[0x5C] },
|
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = "nok_12" },
|
||||||
{ .unk_0 = 2, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0 },
|
{ .unk_0 = 2, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0 },
|
||||||
{ .unk_0 = 0, .entryID = 5, .unk_4 = 0, .partnerID = PARTNER_PARAKARRY, .unk_6 = 0x9D, .mapName = &D_800983F8[0x54] },
|
{ .unk_0 = 0, .entryID = 5, .unk_4 = 0, .partnerID = PARTNER_PARAKARRY, .unk_6 = 0x9D, .mapName = "isk_04" },
|
||||||
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_KOOPER, .unk_6 = 0x9D, .mapName = &D_800983F8[0x4C] },
|
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_KOOPER, .unk_6 = 0x9D, .mapName = "tik_03" },
|
||||||
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_PARAKARRY, .unk_6 = 0xB3, .mapName = &D_800983F8[0x44] },
|
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_PARAKARRY, .unk_6 = 0xB3, .mapName = "trd_09" },
|
||||||
{ .unk_0 = 0, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_SUSHIE, .unk_6 = 0x9D, .mapName = &D_800983F8[0x3C] },
|
{ .unk_0 = 0, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_SUSHIE, .unk_6 = 0x9D, .mapName = "jan_04" },
|
||||||
{ .unk_0 = 2, .entryID = 1, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
{ .unk_0 = 2, .entryID = 1, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
||||||
{ .unk_0 = 0, .entryID = 6, .unk_4 = 0, .partnerID = PARTNER_BOMBETTE, .unk_6 = 0x9D, .mapName = &D_800983F8[0x34] },
|
{ .unk_0 = 0, .entryID = 6, .unk_4 = 0, .partnerID = PARTNER_BOMBETTE, .unk_6 = 0x9D, .mapName = "mac_00" },
|
||||||
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_KOOPER, .unk_6 = 0x1B, .mapName = &D_800983F8[0x2C] },
|
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_KOOPER, .unk_6 = 0x1B, .mapName = "kzn_02" },
|
||||||
{ .unk_0 = 2, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
{ .unk_0 = 2, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
||||||
{ .unk_0 = 0, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_BOMBETTE, .unk_6 = 0x9D, .mapName = &D_800983F8[0x24] },
|
{ .unk_0 = 0, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_BOMBETTE, .unk_6 = 0x9D, .mapName = "mac_03" },
|
||||||
{ .unk_0 = 0, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = &D_800983F8[0x1C] },
|
{ .unk_0 = 0, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = "nok_02" },
|
||||||
{ .unk_0 = 2, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
{ .unk_0 = 2, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
||||||
{ .unk_0 = 1, .entryID = 8, .unk_4 = 0, .partnerID = PARTNER_TWINK, .unk_6 = 0x26, .mapName = &D_800983F8[0x14] },
|
{ .unk_0 = 1, .entryID = 8, .unk_4 = 0, .partnerID = PARTNER_TWINK, .unk_6 = 0x26, .mapName = "kkj_11" },
|
||||||
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_BOW, .unk_6 = 0xE8, .mapName = &D_800983F8[0xC] },
|
{ .unk_0 = 0, .entryID = 2, .unk_4 = 0, .partnerID = PARTNER_BOW, .unk_6 = 0xE8, .mapName = "arn_08" },
|
||||||
{ .unk_0 = 2, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
{ .unk_0 = 2, .entryID = 4, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00 },
|
||||||
{ .unk_0 = 0, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = &D_800983F8[0x5C] },
|
{ .unk_0 = 0, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_GOOMBARIO, .unk_6 = 0x9D, .mapName = "nok_12" },
|
||||||
{ .unk_0 = 1, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x9D, .mapName = &D_800983F8[4] },
|
{ .unk_0 = 1, .entryID = 3, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x9D, .mapName = "kkj_26" },
|
||||||
{ .unk_0 = 3, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00, .mapName = &D_800983F8[0] },
|
{ .unk_0 = 3, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00, .mapName = "end" },
|
||||||
{ .unk_0 = 0, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00, },
|
{ .unk_0 = 0, .entryID = 0, .unk_4 = 0, .partnerID = PARTNER_NONE, .unk_6 = 0x00, },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
s32 D_80077980[] = { &D_8038F800, &D_803B5000, &heap_battleHead, };
|
u16* D_80077980[] = { D_8038F800, D_803B5000, &heap_battleHead };
|
||||||
|
|
||||||
NUPiOverlaySegment D_8007798C = {
|
NUPiOverlaySegment D_8007798C = {
|
||||||
.romStart = filemenu_ROM_START,
|
.romStart = filemenu_ROM_START,
|
||||||
@ -286,7 +287,7 @@ void state_step_exit_language_select(void) {
|
|||||||
init_npc_list();
|
init_npc_list();
|
||||||
init_entity_data();
|
init_entity_data();
|
||||||
init_trigger_list();
|
init_trigger_list();
|
||||||
mapShape = load_asset_by_name(&wMapShapeName, &mapShapeSize);
|
mapShape = load_asset_by_name(wMapShapeName, &mapShapeSize);
|
||||||
decode_yay0(mapShape, &D_80210000);
|
decode_yay0(mapShape, &D_80210000);
|
||||||
general_heap_free(mapShape);
|
general_heap_free(mapShape);
|
||||||
initialize_collision();
|
initialize_collision();
|
||||||
|
@ -4,8 +4,9 @@
|
|||||||
#include "nu/nusys.h"
|
#include "nu/nusys.h"
|
||||||
#include "hud_element.h"
|
#include "hud_element.h"
|
||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
s32* D_80077950[] = { &D_8038F800, &D_803B5000, &heap_battleHead };
|
u16* D_80077950[] = { D_8038F800, D_803B5000, (u16*) &heap_battleHead };
|
||||||
|
|
||||||
NUPiOverlaySegment D_8007795C = {
|
NUPiOverlaySegment D_8007795C = {
|
||||||
.romStart = pause_ROM_START,
|
.romStart = pause_ROM_START,
|
||||||
@ -53,7 +54,7 @@ void state_step_pause(void) {
|
|||||||
|
|
||||||
if (D_800A0920 == 0) {
|
if (D_800A0920 == 0) {
|
||||||
D_800A0920 = -1;
|
D_800A0920 = -1;
|
||||||
nuGfxSetCfb(&D_80077950, 2);
|
nuGfxSetCfb(D_80077950, 2);
|
||||||
gGameStatusPtr->savedBackgroundDarkness = gGameStatusPtr->backgroundDarkness;
|
gGameStatusPtr->savedBackgroundDarkness = gGameStatusPtr->backgroundDarkness;
|
||||||
sfx_stop_env_sounds();
|
sfx_stop_env_sounds();
|
||||||
func_8003B1A8();
|
func_8003B1A8();
|
||||||
@ -130,11 +131,11 @@ void state_step_unpause(void) {
|
|||||||
if (D_800A0920 == 0) {
|
if (D_800A0920 == 0) {
|
||||||
MapSettings* mapSettings;
|
MapSettings* mapSettings;
|
||||||
MapConfig* mapConfig;
|
MapConfig* mapConfig;
|
||||||
s32 assetData;
|
void* assetData;
|
||||||
s32 assetSize;
|
s32 assetSize;
|
||||||
|
|
||||||
D_800A0920 = -1;
|
D_800A0920 = -1;
|
||||||
nuGfxSetCfb(&D_80077950, ARRAY_COUNT(D_80077950));
|
nuGfxSetCfb(D_80077950, ARRAY_COUNT(D_80077950));
|
||||||
pause_cleanup();
|
pause_cleanup();
|
||||||
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
|
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
|
||||||
mapSettings = get_current_map_settings();
|
mapSettings = get_current_map_settings();
|
||||||
@ -161,7 +162,7 @@ void state_step_unpause(void) {
|
|||||||
func_801497FC(D_800A0924);
|
func_801497FC(D_800A0924);
|
||||||
bgm_reset_max_volume();
|
bgm_reset_max_volume();
|
||||||
load_map_script_lib();
|
load_map_script_lib();
|
||||||
assetData = load_asset_by_name(&wMapShapeName, &assetSize);
|
assetData = load_asset_by_name(wMapShapeName, &assetSize);
|
||||||
decode_yay0(assetData, &D_80210000);
|
decode_yay0(assetData, &D_80210000);
|
||||||
general_heap_free(assetData);
|
general_heap_free(assetData);
|
||||||
initialize_collision();
|
initialize_collision();
|
||||||
|
@ -74,7 +74,7 @@ Trigger* create_trigger(TriggerBlueprint* bp) {
|
|||||||
|
|
||||||
trigger->onActivateFunc = bp->onActivateFunc;
|
trigger->onActivateFunc = bp->onActivateFunc;
|
||||||
if (trigger->onActivateFunc == NULL) {
|
if (trigger->onActivateFunc == NULL) {
|
||||||
trigger->onActivateFunc = default_trigger_on_activate;
|
trigger->onActivateFunc = (s32 (*) (Trigger*)) default_trigger_on_activate;
|
||||||
}
|
}
|
||||||
|
|
||||||
return trigger;
|
return trigger;
|
||||||
|
@ -24,6 +24,8 @@ AnimID StepUpPeachAnims[] = {
|
|||||||
0x00000000
|
0x00000000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void func_802B6198_E24768(void);
|
||||||
|
|
||||||
void action_update_step_up(void) {
|
void action_update_step_up(void) {
|
||||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||||
f32 cosTheta;
|
f32 cosTheta;
|
||||||
|
@ -16,7 +16,7 @@ ApiStatus func_80240000_800880(Evt* script, s32 isInitialCall) {
|
|||||||
|
|
||||||
ApiStatus func_80240044_8008C4(Evt* script, s32 isInitialCall) {
|
ApiStatus func_80240044_8008C4(Evt* script, s32 isInitialCall) {
|
||||||
s32 itemIndex = evt_get_variable(script, *script->ptrReadPos);
|
s32 itemIndex = evt_get_variable(script, *script->ptrReadPos);
|
||||||
s32* var1 = evt_get_variable(NULL, MapVar(2));
|
s32* var1 = (s32*) evt_get_variable(NULL, MapVar(2));
|
||||||
|
|
||||||
set_item_entity_flags(gGameStatusPtr->shopItemEntities[itemIndex].index, 0x40);
|
set_item_entity_flags(gGameStatusPtr->shopItemEntities[itemIndex].index, 0x40);
|
||||||
evt_set_variable(NULL, var1[itemIndex], 1);
|
evt_set_variable(NULL, var1[itemIndex], 1);
|
||||||
|
@ -129,8 +129,8 @@ ApiStatus func_80243294_9DA2B4(Evt* script, s32 isInitialCall) {
|
|||||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32 randRange = 10000;
|
s32 randRange = 10000;
|
||||||
Npc* npc1 = evt_get_variable(script, *args++);
|
Npc* npc1 = (Npc*) evt_get_variable(script, *args++);
|
||||||
Npc* npc2 = evt_get_variable(script, *args++);
|
Npc* npc2 = (Npc*) evt_get_variable(script, *args++);
|
||||||
f32 xDiff, zDiff;
|
f32 xDiff, zDiff;
|
||||||
f32 x, z;
|
f32 x, z;
|
||||||
f32 dist;
|
f32 dist;
|
||||||
@ -177,7 +177,7 @@ ApiStatus func_8024351C_9DA53C(Evt* script, s32 isInitialCall) {
|
|||||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32 randRange = 10000;
|
s32 randRange = 10000;
|
||||||
Npc* npc = evt_get_variable(script, *args++);
|
Npc* npc = (Npc*) evt_get_variable(script, *args++);
|
||||||
f32 xDiff, zDiff;
|
f32 xDiff, zDiff;
|
||||||
f32 x, z;
|
f32 x, z;
|
||||||
f32 dist;
|
f32 dist;
|
||||||
@ -222,7 +222,7 @@ ApiStatus func_80243754_9DA774(Evt* script, s32 isInitialCall) {
|
|||||||
f32 yaw;
|
f32 yaw;
|
||||||
|
|
||||||
if (isInitialCall) {
|
if (isInitialCall) {
|
||||||
script->functionTempPtr[1] = npc = evt_get_variable(script, *args++);
|
script->functionTempPtr[1] = npc = (Npc*) evt_get_variable(script, *args++);
|
||||||
npc->moveToPos.x = (evt_get_variable(script, *args++) + npc->pos.x) * 0.5f;
|
npc->moveToPos.x = (evt_get_variable(script, *args++) + npc->pos.x) * 0.5f;
|
||||||
npc->moveToPos.z = (evt_get_variable(script, *args++) + npc->pos.z) * 0.5f;
|
npc->moveToPos.z = (evt_get_variable(script, *args++) + npc->pos.z) * 0.5f;
|
||||||
npc->moveToPos.y = dist2D(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z);
|
npc->moveToPos.y = dist2D(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z);
|
||||||
|
@ -81,7 +81,7 @@ API_CALLABLE(N(SuperBlock_ShowSelectPartnerMenu)) {
|
|||||||
partnerID = N(SuperBlock_PartnerIDs)[i];
|
partnerID = N(SuperBlock_PartnerIDs)[i];
|
||||||
if (playerData->partners[partnerID].enabled) {
|
if (playerData->partners[partnerID].enabled) {
|
||||||
popupMenu->userIndex[entryIndex] = partnerID;
|
popupMenu->userIndex[entryIndex] = partnerID;
|
||||||
popupMenu->nameMsg[entryIndex] = gPartnerPopupProperties[partnerID][0];
|
popupMenu->nameMsg[entryIndex] = gPartnerPopupProperties[partnerID].nameMsg;
|
||||||
canUpgradePartner = N(SuperBlock_get_partner_rank)(partnerID, hasUltraStone);
|
canUpgradePartner = N(SuperBlock_get_partner_rank)(partnerID, hasUltraStone);
|
||||||
if (canUpgradePartner >= 0) {
|
if (canUpgradePartner >= 0) {
|
||||||
popupMenu->ptrIcon[entryIndex] = wPartnerHudScripts[partnerID];
|
popupMenu->ptrIcon[entryIndex] = wPartnerHudScripts[partnerID];
|
||||||
@ -122,7 +122,7 @@ API_CALLABLE(N(SuperBlock_ShowSelectPartnerMenu)) {
|
|||||||
destroy_popup_menu();
|
destroy_popup_menu();
|
||||||
|
|
||||||
if (script->functionTemp[1] != 255) {
|
if (script->functionTemp[1] != 255) {
|
||||||
script->varTable[0] = gPartnerPopupProperties[popupMenu->userIndex[script->functionTemp[1] - 1]][0];
|
script->varTable[0] = gPartnerPopupProperties[popupMenu->userIndex[script->functionTemp[1] - 1]].nameMsg;
|
||||||
script->varTable[1] = popupMenu->userIndex[script->functionTemp[1] - 1];
|
script->varTable[1] = popupMenu->userIndex[script->functionTemp[1] - 1];
|
||||||
} else {
|
} else {
|
||||||
script->varTable[0] = -1;
|
script->varTable[0] = -1;
|
||||||
@ -138,7 +138,7 @@ API_CALLABLE(N(SuperBlock_SwitchToPartner)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
API_CALLABLE(N(SuperBlock_LoadCurrentPartnerName)) {
|
API_CALLABLE(N(SuperBlock_LoadCurrentPartnerName)) {
|
||||||
set_message_msg(gPartnerPopupProperties[gPlayerData.currentPartner][0], 0);
|
set_message_msg(gPartnerPopupProperties[gPlayerData.currentPartner].nameMsg, 0);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "dead_04.h"
|
#include "dead_04.h"
|
||||||
|
|
||||||
|
extern s32 func_80059AC8(s32, s32);
|
||||||
|
|
||||||
ApiStatus func_80240340_EB5470(Evt* script, s32 isInitialCall) {
|
ApiStatus func_80240340_EB5470(Evt* script, s32 isInitialCall) {
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "world/common/entity/Pipe.inc.c"
|
#include "world/common/entity/Pipe.inc.c"
|
||||||
|
|
||||||
|
void fx_sun(s32, s32, s32, s32, s32, s32);
|
||||||
|
|
||||||
ApiStatus func_80240318_ED9138(Evt* script, s32 isInitialCall) {
|
ApiStatus func_80240318_ED9138(Evt* script, s32 isInitialCall) {
|
||||||
fx_sun(0, 0, 0, 0, 0, 0);
|
fx_sun(0, 0, 0, 0, 0, 0);
|
||||||
return ApiStatus_DONE2;
|
return ApiStatus_DONE2;
|
||||||
|
@ -46,7 +46,7 @@ INCLUDE_ASM(s32, "EDC020", func_80240614_EDC5F4);
|
|||||||
|
|
||||||
ApiStatus func_8024064C_EDC62C(Evt* script, s32 isInitialCall) {
|
ApiStatus func_8024064C_EDC62C(Evt* script, s32 isInitialCall) {
|
||||||
Bytecode* args = script->ptrReadPos;
|
Bytecode* args = script->ptrReadPos;
|
||||||
s32* ptr = evt_get_variable(script, *args);
|
s32* ptr = (s32*) evt_get_variable(script, *args);
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if (ptr != NULL) {
|
if (ptr != NULL) {
|
||||||
|
File diff suppressed because one or more lines are too long
@ -30,6 +30,7 @@ s32 partner_init_get_out(Npc*);
|
|||||||
s32 partner_get_out(Npc*);
|
s32 partner_get_out(Npc*);
|
||||||
s32 partner_init_put_away(Npc* partner);
|
s32 partner_init_put_away(Npc* partner);
|
||||||
s32 partner_put_away(Npc* partner);
|
s32 partner_put_away(Npc* partner);
|
||||||
|
s32 partner_can_use_ability(void);
|
||||||
s32 partner_use_ability(void);
|
s32 partner_use_ability(void);
|
||||||
void partner_do_player_collision(Npc* partner);
|
void partner_do_player_collision(Npc* partner);
|
||||||
void partner_walking_follow_player(Npc* partner);
|
void partner_walking_follow_player(Npc* partner);
|
||||||
|
@ -28,7 +28,7 @@ void fio_deserialize_state(void);
|
|||||||
void load_map_hit_asset(void);
|
void load_map_hit_asset(void);
|
||||||
|
|
||||||
void load_map_script_lib(void) {
|
void load_map_script_lib(void) {
|
||||||
dma_copy((u8 *) &world_script_api_ROM_START, (u8 *) &world_script_api_ROM_END, &world_script_api_VRAM);
|
dma_copy(world_script_api_ROM_START, world_script_api_ROM_END, world_script_api_VRAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) {
|
void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) {
|
||||||
|
@ -767,7 +767,7 @@ if __name__ == "__main__":
|
|||||||
cflags += " -ggdb3"
|
cflags += " -ggdb3"
|
||||||
|
|
||||||
if not args.no_warn:
|
if not args.no_warn:
|
||||||
cflags += " -Wuninitialized -Wmissing-braces -Wimplicit -Wredundant-decls -Wstrict-prototypes"
|
cflags += " -Wmissing-braces -Wimplicit -Wredundant-decls -Wstrict-prototypes"
|
||||||
|
|
||||||
# add splat to python import path
|
# add splat to python import path
|
||||||
sys.path.append(str((ROOT / args.splat).resolve()))
|
sys.path.append(str((ROOT / args.splat).resolve()))
|
||||||
|
@ -2508,7 +2508,6 @@ D_80098930 = 0x80098930; // type:data rom:0x73D30
|
|||||||
D_80098938 = 0x80098938; // type:data rom:0x73D38
|
D_80098938 = 0x80098938; // type:data rom:0x73D38
|
||||||
D_80098968 = 0x80098968; // type:data rom:0x73D68
|
D_80098968 = 0x80098968; // type:data rom:0x73D68
|
||||||
D_80098990 = 0x80098990; // type:data rom:0x73D90
|
D_80098990 = 0x80098990; // type:data rom:0x73D90
|
||||||
D_800989A0 = 0x800989A0; // type:data rom:0x73DA0
|
|
||||||
D_80098A10 = 0x80098A10; // type:data rom:0x73E10
|
D_80098A10 = 0x80098A10; // type:data rom:0x73E10
|
||||||
D_80098A1C = 0x80098A1C; // type:data rom:0x73E1C
|
D_80098A1C = 0x80098A1C; // type:data rom:0x73E1C
|
||||||
D_80098A24 = 0x80098A24; // type:data rom:0x73E24
|
D_80098A24 = 0x80098A24; // type:data rom:0x73E24
|
||||||
|
Loading…
Reference in New Issue
Block a user