2 * Copyright (C) 2021-2023 Mt.ZERO Software, Harry Godden - All Rights Reserved
8 #define VG_TIMESTEP_FIXED (1.0/60.0)
11 //#define VG_STATIC static
13 #define VG_FRAMEBUFFER_RESIZE 1
15 #include "submodules/anyascii/impl/c/anyascii.c"
17 #define RESET_MAX_TIME 45.0
18 VG_STATIC v3f TEMP_BOARD_0
, TEMP_BOARD_1
;
21 VG_STATIC font3d test_font
;
23 enum menu_controller_type
25 k_menu_controller_type_keyboard
,
26 k_menu_controller_type_xbox
,
27 k_menu_controller_type_playstation
,
28 k_menu_controller_type_steam
,
29 k_menu_controller_type_steam_deck
32 VG_STATIC
enum menu_controller_type menu_display_controller
;
34 typedef struct ray_hit ray_hit
;
43 k_friction_lat
= 12.0f
,
44 k_friction_resistance
= 0.01f
,
46 k_max_push_speed
= 16.0f
,
48 k_push_cycle_rate
= 8.0f
,
50 k_steer_ground
= 2.5f
,
53 k_jump_charge_speed
= (1.0f
/0.4f
),
61 k_cog_mass_ratio
= 0.9f
,
63 k_mmthrow_scale
= 6.0f
,
64 k_mmcollect_lat
= 2.0f
,
65 k_mmcollect_vert
= 0.0f
,
67 k_spring_angular
= 1.0f
,
69 k_spring_force
= 300.0f
,
70 k_spring_dampener
= 5.0f
,
72 k_grind_spring
= 50.0f
,
73 k_grind_aligment
= 10.0f
,
74 k_grind_dampener
= 5.0f
,
76 k_surface_spring
= 100.0f
,
77 k_surface_dampener
= 40.0f
,
78 k_manul_spring
= 200.0f
,
79 k_manul_dampener
= 30.0f
,
80 k_board_interia
= 8.0f
,
82 k_grind_decayxy
= 30.0f
,
83 k_grind_axel_min_vel
= 1.0f
,
84 k_grind_axel_max_angle
= 0.95f
, /* cosine(|a|) */
85 k_grind_axel_max_vangle
= 0.4f
,
86 k_grind_max_friction
= 3.0f
,
87 k_grind_max_edge_angle
= 0.97f
,
89 k_board_length
= 0.45f
,
90 k_board_width
= 0.13f
,
91 k_board_end_radius
= 0.1f
,
92 k_board_radius
= 0.14f
, /* 0.07 */
94 k_grind_balance
= -40.0f
;
100 k_walk_accel
= 10.0f
,
101 k_walk_air_accel
= 7.0f
,
102 k_walk_friction
= 10.0f
,
103 k_walk_step_height
= 0.2f
;
107 k_cam_spring
= 20.0f
,
111 k_day_length
= 30.0f
; /* minutes */
113 VG_STATIC
float k_ragdoll_floatyiness
= 20.0f
,
114 k_ragdoll_floatydrag
= 1.0f
,
115 k_ragdoll_limit_scale
= 1.0f
;
117 VG_STATIC
int k_ragdoll_div
= 1,
119 k_ragdoll_debug_collider
= 1,
120 k_ragdoll_debug_constraints
= 0;
122 VG_STATIC
int k_debug_light_indices
= 0,
123 k_debug_light_complexity
= 0,
126 VG_STATIC
int freecam
= 0;
127 VG_STATIC
int walk_grid_iterations
= 1;
128 VG_STATIC
float fc_speed
= 10.0f
;
129 VG_STATIC
int cl_thirdperson
= 0;
131 VG_STATIC
void common_var_temp(void)
133 VG_VAR_F32( k_day_length
);
135 VG_VAR_F32( k_cam_punch
);
136 VG_VAR_F32( k_cam_damp
);
137 VG_VAR_F32( k_cam_spring
);
139 VG_VAR_F32( k_grind_dampener
);
140 VG_VAR_F32( k_grind_spring
);
141 VG_VAR_F32( k_grind_aligment
);
142 VG_VAR_F32( k_surface_spring
);
143 VG_VAR_F32( k_surface_dampener
);
144 VG_VAR_F32( k_board_interia
);
145 VG_VAR_F32( k_grind_decayxy
);
146 VG_VAR_F32( k_grind_axel_min_vel
);
147 VG_VAR_F32( k_grind_axel_max_angle
);
148 VG_VAR_F32( k_grind_max_friction
);
149 VG_VAR_F32( k_grind_balance
);
151 VG_VAR_F32( k_walkspeed
);
152 VG_VAR_F32( k_stopspeed
);
153 VG_VAR_F32( k_airspeed
);
154 VG_VAR_F32( k_walk_friction
);
155 VG_VAR_F32( k_walk_air_accel
);
156 VG_VAR_F32( k_walk_accel
);
158 VG_VAR_I32( freecam
);
159 VG_VAR_I32( cl_thirdperson
);
160 VG_VAR_F32_PERSISTENT( fc_speed
);
162 VG_VAR_F32( k_ragdoll_limit_scale
);
163 VG_VAR_I32( k_ragdoll_div
);
164 VG_VAR_I32( k_ragdoll_debug_collider
);
165 VG_VAR_I32( k_ragdoll_debug_constraints
);
166 VG_VAR_I32( k_debug_light_indices
);
167 VG_VAR_I32( k_debug_light_complexity
);
168 VG_VAR_I32( k_light_preview
);
170 VG_VAR_F32( k_friction_lat
);
172 VG_VAR_F32( k_cog_spring
);
173 VG_VAR_F32( k_cog_damp
);
174 VG_VAR_F32( k_cog_mass_ratio
);
176 VG_VAR_F32( k_spring_force
);
177 VG_VAR_F32( k_spring_dampener
);
178 VG_VAR_F32( k_spring_angular
);
180 VG_VAR_F32( k_mmthrow_scale
);
181 VG_VAR_F32( k_mmcollect_lat
);
182 VG_VAR_F32( k_mmcollect_vert
);
183 VG_VAR_F32( k_mmdecay
);
186 #endif /* COMMON_H */