projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix dumbass animator fucking uninitialized memory
[carveJwlIkooP6JGAAIwe30JlM.git]
/
player_glide.c
diff --git
a/player_glide.c
b/player_glide.c
index dd820fb7b1c8d58421c2d17d3813ce8321ce075b..6b5930b9c2f26bed2d4d17ad1f28d3d902303831 100644
(file)
--- a/
player_glide.c
+++ b/
player_glide.c
@@
-125,7
+125,7
@@
static void calculate_lift( v3f vl, f32 aoa_bias,
f32 windv2 = v3_length2(wind),
aoa = atan2f( v3_dot( up, wind ), v3_dot( back, wind ) ) + aoa_bias,
f32 windv2 = v3_length2(wind),
aoa = atan2f( v3_dot( up, wind ), v3_dot( back, wind ) ) + aoa_bias,
- cl = aoa / VG_PIf,
/* TODO: make it a curve */
+ cl = aoa / VG_PIf,
L = windv2 * cl * power;
v3f lift_dir;
L = windv2 * cl * power;
v3f lift_dir;
@@
-273,11
+273,15
@@
void player_glide_update(void)
v2f steer;
joystick_state( k_srjoystick_steer, steer );
v2f steer;
joystick_state( k_srjoystick_steer, steer );
- if( glider_physics( steer ) ){
+ if( glider_physics( steer ) )
+ {
vg_info( "player fell off due to glider hitting ground\n" );
player__dead_transition( k_player_die_type_generic );
localplayer.glider_orphan = 1;
}
vg_info( "player fell off due to glider hitting ground\n" );
player__dead_transition( k_player_die_type_generic );
localplayer.glider_orphan = 1;
}
+
+ if( !world_water_player_safe( world_current_instance(), 1.0f ) )
+ return;
}
void player_glide_post_update(void)
}
void player_glide_post_update(void)
@@
-515,7
+519,7
@@
void player_glide_transition(void)
void render_glider_model( vg_camera *cam, world_instance *world,
m4x3f mmdl, enum board_shader shader )
{
void render_glider_model( vg_camera *cam, world_instance *world,
m4x3f mmdl, enum board_shader shader )
{
- u32 current_
tex
= 0xffffffff;
+ u32 current_
mat
= 0xffffffff;
glActiveTexture( GL_TEXTURE0 );
mdl_context *mdl = &player_glide.glider;
glActiveTexture( GL_TEXTURE0 );
mdl_context *mdl = &player_glide.glider;
@@
-550,20
+554,22
@@
void render_glider_model( vg_camera *cam, world_instance *world,
continue;
}
continue;
}
- mdl_material *mat = mdl_arritm( &mdl->materials, sm->material_id-1 );
- if( mat->tex_diffuse != current_tex )
+ if( sm->material_id != current_mat )
{
{
+ mdl_material *mat = mdl_arritm( &mdl->materials,sm->material_id-1 );
GLuint tex = vg.tex_missing;
GLuint tex = vg.tex_missing;
- if( mat->
tex_diffuse
)
+ if( mat->
shader == k_shader_standard
)
{
{
- u32 index = mat->tex_diffuse-1;
+ struct shader_props_standard *props = mat->props.compiled;
+
+ u32 index = props->tex_diffuse-1;
mdl_texture *ptex = mdl_arritm( &mdl->textures, index );
tex = ptex->glname;
}
glBindTexture( GL_TEXTURE_2D, tex );
mdl_texture *ptex = mdl_arritm( &mdl->textures, index );
tex = ptex->glname;
}
glBindTexture( GL_TEXTURE_2D, tex );
- current_
tex = mat->tex_diffuse
;
+ current_
mat = sm->material_id
;
}
mdl_draw_submesh( sm );
}
mdl_draw_submesh( sm );