X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_skate.h;h=b6e23f5177325d1a94d8fc1dea7919cc5cc20dda;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=4118fd63f8552b8c8647c69225772db21d744a7b;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_skate.h b/player_skate.h index 4118fd6..b6e23f5 100644 --- a/player_skate.h +++ b/player_skate.h @@ -1,6 +1,5 @@ -#ifndef PLAYER_SKATE_H -#define PLAYER_SKATE_H - +#pragma once +#include "vg/vg_audio.h" #include "player.h" #include "player_api.h" @@ -208,7 +207,8 @@ struct player_skate{ limits[3]; u32 limit_count; } -static player_skate; +extern player_skate; +extern struct player_subsystem_interface player_subsystem_skate; enum player_skate_soundeffect { k_player_skate_soundeffect_jump, @@ -302,45 +302,22 @@ static void player__skate_register(void){ VG_VAR_F32( k_anim_transition, flags=VG_VAR_CHEAT ); } -static void player__skate_bind (void); -static void player__skate_pre_update (void); -static void player__skate_update (void); -static void player__skate_post_update (void); -static void player__skate_im_gui (void); -static void player__skate_animate (void); -static void player__skate_pose (void *animator, player_pose *pose); -static void player__skate_effects( void *_animator, m4x3f *final_mtx, - struct player_board *board, - struct player_effects_data *effect_data ); -static void player__skate_post_animate (void); -static void player__skate_animator_exchange( bitpack_ctx *ctx, void *data ); -static void player__skate_sfx_oneshot ( u8 id, v3f pos, f32 volume ); - -static void player__skate_clear_mechanics(void); -static void player__skate_reset_animator(void); -static void player__approximate_best_trajectory(void); -static void player__skate_comp_audio( void *animator ); -static void player__skate_kill_audio(void); - -struct player_subsystem_interface static player_subsystem_skate = { - .system_register = player__skate_register, - .bind = player__skate_bind, - .pre_update = player__skate_pre_update, - .update = player__skate_update, - .post_update = player__skate_post_update, - .im_gui = player__skate_im_gui, - .animate = player__skate_animate, - .pose = player__skate_pose, - .effects = player__skate_effects, - .post_animate = player__skate_post_animate, - .network_animator_exchange = player__skate_animator_exchange, - .sfx_oneshot = player__skate_sfx_oneshot, - .sfx_comp = player__skate_comp_audio, - .sfx_kill = player__skate_kill_audio, - - .animator_data = &player_skate.animator, - .animator_size = sizeof(player_skate.animator), - .name = "Skate" -}; - -#endif /* PLAYER_SKATE_H */ +void player__skate_bind (void); +void player__skate_pre_update (void); +void player__skate_update (void); +void player__skate_post_update (void); +void player__skate_im_gui (void); +void player__skate_animate (void); +void player__skate_pose (void *animator, player_pose *pose); +void player__skate_effects( void *_animator, m4x3f *final_mtx, + struct player_board *board, + struct player_effects_data *effect_data ); +void player__skate_post_animate (void); +void player__skate_animator_exchange( bitpack_ctx *ctx, void *data ); +void player__skate_sfx_oneshot ( u8 id, v3f pos, f32 volume ); + +void player__skate_clear_mechanics(void); +void player__skate_reset_animator(void); +void player__approximate_best_trajectory(void); +void player__skate_comp_audio( void *animator ); +void player__skate_kill_audio(void);