summaryrefslogtreecommitdiff
path: root/include/m_lib.h
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2023-09-27 20:03:11 +0200
committerGitHub <noreply@github.com>2023-09-27 11:03:11 -0700
commit02dc7fc7af3b39e44b9b030235f1dd66e7644efe (patch)
treea2dd820938746fa8ca56384f5919b679def35cf0 /include/m_lib.h
parent4ba08394238a50c9dd5c049a80cb6ae2c04da481 (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.h138
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