diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2023-09-27 20:03:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-27 11:03:11 -0700 |
| commit | 02dc7fc7af3b39e44b9b030235f1dd66e7644efe (patch) | |
| tree | a2dd820938746fa8ca56384f5919b679def35cf0 /include/m_lib.h | |
| parent | 4ba08394238a50c9dd5c049a80cb6ae2c04da481 (diff) | |
m_lib OK (#103)
* m_lib OK
* fixes
* rename segmented2virtual macro
Diffstat (limited to 'include/m_lib.h')
| -rw-r--r-- | include/m_lib.h | 138 |
1 files changed, 76 insertions, 62 deletions
diff --git a/include/m_lib.h b/include/m_lib.h index 1fdaecd..d411a96 100644 --- a/include/m_lib.h +++ b/include/m_lib.h @@ -3,71 +3,85 @@ #include "ultra64.h" #include "z64math.h" -#include "unk.h" +#include "overlays/gamestates/ovl_play/m_play.h" +#include "color.h" +#include "sys_math.h" -struct Game_Play; -void mem_copy(void* dst, void* src, u32 size); -s32 mem_clear(void* ptr, size_t size, u8 value); -// void mem_cmp(); +typedef struct { + u32 cont: 1; + u32 type: 4; + u32 offset: 11; + s32 value: 16; +} ValueSet; + + +typedef void (*ValueSetProc)(u8*, ValueSet*); + + +extern ValueSetProc D_80107B00_jp[]; + +void mem_copy(u8* dest, u8* src, size_t len); +void mem_clear(u8* ptr, size_t len, u8 value); +s32 mem_cmp(u8* ptr1, u8* ptr2, size_t len); f32 cos_s(s16 angle); f32 sin_s(s16 angle); -// void chase_angle(); -// void chase_s(); -s32 chase_f(f32* arg0, f32 arg1, f32 arg2); -// void chase_angle2(); -// void chase_s2(); -// void chase_s3(); -// void chase_f2(); -// void chase_f3(); -// void inter_float(); -// void stick_ratio_set(); -// void get_random_timer(); -// void get_random_pattern_timer(); -void xyz_t_move(Vec3f* dst, Vec3f* src); -void xyz_t_move_s_xyz(Vec3f* dst, Vec3s* src); -// void xyz_t_add(); -// void xyz_t_sub(); -// void xyz_t_sub_ss(); -// void xyz_t_mult_v(); -// void search_position_distance(); -// void search_position_distance2(); -f32 search_position_distanceXZ(Vec3f* arg0, Vec3f* arg1); -// void search_position_high(); -s16 search_position_angleY(Vec3f* arg0, Vec3f* arg1); -// void search_position_angleX(); -// void ValueSet_process(); -// void ValueSet__s_char(); -// void ValueSet__u_char(); -// void ValueSet__s_short(); -// void ValueSet__u_short(); -// void ValueSet__s_int(); -// void ValueSet__u_int(); -// void ValueSet__float(); -// void ValueSet__float_x1000(); -// void ValueSet__xyz_t(); -// void ValueSet__xyz_t_x1000(); -// void ValueSet__s_xyz(); -f32 add_calc(f32* pValue, f32 target, f32 fraction, f32 maxStep, f32 minStep); -// void add_calc2(); -// void add_calc0(); -// void add_calc_a(); -// void add_calc_short_angle2(); -// void add_calc_short_angle3(); -// void adds(); -// void rgba_t_move(); -UNK_RET none_proc1(void); -// void none_proc2(); -// void Cheap_gfx_display(); -// void Cheap_gfx_display_xlu(); -s32 _Game_play_isPause(struct Game_Play* game_play); -void *Lib_SegmentedToVirtual(void *ptr); //original name unknown, taken from majora's mask -// void func_8009ADE0_jp(); -// void func_8009AE28_jp(); -// void func_8009AE44_jp(); -f32 check_percent_abs(f32 x, f32 min, f32 max, f32 scale, int shift_by_min); -// void get_percent_forAccelBrake(); -// void Game_play_Projection_Trans(); -// void get_percent(); +s32 chase_angle(s16* pValue, s16 target, s16 step); +s32 chase_s(s16* pValue, s16 target, s16 step); +s32 chase_f(f32* pValue, f32 target, f32 step); +s32 chase_angle2(s16* pValue, s16 limit, s16 step); +s32 chase_s2(s16* pValue, s16 limit, s16 step); +s32 chase_s3(s16* pValue, s16 target, s16 step); +s32 chase_f2(f32* pValue, f32 limit, f32 step); +s32 chase_f3(f32* pValue, f32 target, f32 incrStep, f32 decrStep); +void inter_float(f32* pValue, f32 arg1, s32 stepCount); +void stick_ratio_set(f32* radius, s16* angle, Input* input); +s16 get_random_timer(s16 base, s16 range); +s16 get_random_pattern_timer(s16 base, s16 stride, s16 range); +void xyz_t_move(xyz_t* dest, xyz_t* src); +void xyz_t_move_s_xyz(xyz_t* dest, s_xyz* src); +void xyz_t_add(xyz_t* augend, xyz_t* addend, xyz_t* total); +void xyz_t_sub(xyz_t* minuend, xyz_t* subtrahend, xyz_t* diff); +void xyz_t_sub_ss(xyz_t* dest, s_xyz* minuend, s_xyz* subtrahend); +void xyz_t_mult_v(xyz_t* multiplicand, f32 multiplier); +f32 search_position_distance(xyz_t* subtrahend, xyz_t* minuend); +f32 search_position_distance2(xyz_t* subtrahend, xyz_t* minuend, xyz_t* dest); +f32 search_position_distanceXZ(xyz_t* subtrahend, xyz_t* minuend); +f32 search_position_high(xyz_t* subtrahend, xyz_t* minuend); +s16 search_position_angleY(xyz_t* subtrahend, xyz_t* minuend); +s16 search_position_angleX(xyz_t* subtrahend, xyz_t* minuend); +void ValueSet_process(u8* ptr, ValueSet* values); +void ValueSet__s_char(u8* ptr, ValueSet* value_set); +void ValueSet__u_char(u8* ptr, ValueSet* value_set); +void ValueSet__s_short(u8* ptr, ValueSet* value_set); +void ValueSet__u_short(u8* ptr, ValueSet* value_set); +void ValueSet__s_int(u8* ptr, ValueSet* value_set); +void ValueSet__u_int(u8* ptr, ValueSet* value_set); +void ValueSet__float(u8* ptr, ValueSet* value_set); +void ValueSet__float_x1000(u8* ptr, ValueSet* value_set); +void ValueSet__xyz_t(u8* ptr, ValueSet* value_set); +void ValueSet__xyz_t_x1000(u8* ptr, ValueSet* value_set); +void ValueSet__s_xyz(u8* ptr, ValueSet* value_set); +f32 add_calc(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep); +void add_calc2(f32* pValue, f32 target, f32 fraction, f32 step); +void add_calc0(f32* pValue, f32 fraction, f32 step); +f32 add_calc_a(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep); +s16 add_calc_short_angle2(s16* pValue, s16 target, f32 fraction, s16 step, s16 minStep); +s16 add_calc_short_angle3(s16* pValue, s16 target, f32 fraction, s16 maxStep, s16 minStep); +void adds(s16* pValue, s16 target, s16 scale, s16 maxStep); +void rgba_t_move(Color_RGBA8* dest, Color_RGBA8* src); +s32 none_proc1(); +void none_proc2(Actor* actor, struct Game_Play* play); +void Cheap_gfx_display(struct Game_Play* play, Gfx* dl); +void Cheap_gfx_display_xlu(struct Game_Play* play, Gfx* dl); +s32 _Game_play_isPause(struct Game_Play* play); +void* Lib_SegmentedToVirtual(void* ptr); +void* Lib_SegmentedToVirtualNull(void* ptr); +void* PhysicalToVirtual(uintptr_t ptr); +void* PhysicalToVirtualNull(uintptr_t ptr); +f32 check_percent_abs(f32 x, f32 min, f32 max, f32 scale, s32 shiftMin); +f32 get_percent_forAccelBrake(f32 x, f32 min, f32 max, f32 accelRange, f32 brakeRange); +void Game_play_Projection_Trans(struct Game_Play* play, xyz_t* src, xyz_t* dst); +f32 get_percent(s32 max, s32 min, s32 x); #endif |
