From: hgn Date: Sat, 25 Nov 2023 20:52:31 +0000 (+0000) Subject: strange bug and playermodels X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=23733c7ba8fac9eb4ac1f4839c400f0248abee6e;p=carveJwlIkooP6JGAAIwe30JlM.git strange bug and playermodels --- diff --git a/blender_export.py b/blender_export.py index b49bf48..168f023 100644 --- a/blender_export.py +++ b/blender_export.py @@ -547,6 +547,8 @@ class ent_cubemap(Structure):#{ ("placeholder",c_uint32*2)] #} +print( sizeof(ent_cubemap) ) + class ent_miniworld(Structure):#{ _fields_ = [("transform",mdl_transform), ("pstr_world",c_uint32), diff --git a/entity.h b/entity.h index bd48709..d96ddc9 100644 --- a/entity.h +++ b/entity.h @@ -517,6 +517,7 @@ struct ent_challenge{ struct ent_relay { u32 targets[4][2]; + u32 targets_events[4]; }; struct ent_cubemap { diff --git a/model.h b/model.h index 34963be..c054d18 100644 --- a/model.h +++ b/model.h @@ -310,9 +310,10 @@ static void mdl_load_array_file_buffer( mdl_context *mdl, mdl_array *arr, if( l != 1 ) mdl_load_fatal_corrupt( mdl ); } else { - assert( stride >= arr->item_size ); vg_warn( "Applying alignment fixup to array @%p [%u -> %u] x %u\n", buffer, arr->item_size, stride, arr->item_count ); + if( stride < arr->item_size ) + vg_fatal_error( "not safe\n" ); for( u32 i=0; iitem_count; i++ ){ u64 l = fread( buffer+i*stride, arr->item_size, 1, mdl->file ); @@ -325,7 +326,10 @@ static void mdl_load_array_file_buffer( mdl_context *mdl, mdl_array *arr, static void mdl_load_array_file( mdl_context *mdl, mdl_array_ptr *ptr, mdl_array *arr, void *lin_alloc, u32 stride ) { - assert( stride >= arr->item_size ); + if( stride < arr->item_size ){ + vg_error( "Structure max: %u. Got: %u\n", stride, arr->item_size ); + vg_fatal_error( "not safe\n" ); + } if( arr->item_count ){ u32 size = stride*arr->item_count; diff --git a/models_src/ch_none.mdl b/models_src/ch_none.mdl index f399b77..fb3b9ea 100644 Binary files a/models_src/ch_none.mdl and b/models_src/ch_none.mdl differ diff --git a/playermodels_src/skaterift_aaron/ch_aaron.mdl b/playermodels_src/skaterift_aaron/ch_aaron.mdl index 70bc330..763a8c1 100644 Binary files a/playermodels_src/skaterift_aaron/ch_aaron.mdl and b/playermodels_src/skaterift_aaron/ch_aaron.mdl differ diff --git a/playermodels_src/skaterift_chip/ch_chip.mdl b/playermodels_src/skaterift_chip/ch_chip.mdl index fec3896..bc3d82d 100644 Binary files a/playermodels_src/skaterift_chip/ch_chip.mdl and b/playermodels_src/skaterift_chip/ch_chip.mdl differ diff --git a/playermodels_src/skaterift_j/ch_j.mdl b/playermodels_src/skaterift_j/ch_j.mdl new file mode 100644 index 0000000..90809e5 Binary files /dev/null and b/playermodels_src/skaterift_j/ch_j.mdl differ diff --git a/playermodels_src/skaterift_jordan/ch_jordan.mdl b/playermodels_src/skaterift_jordan/ch_jordan.mdl index 1113df0..cdd96f7 100644 Binary files a/playermodels_src/skaterift_jordan/ch_jordan.mdl and b/playermodels_src/skaterift_jordan/ch_jordan.mdl differ diff --git a/playermodels_src/skaterift_new/ch_new.mdl b/playermodels_src/skaterift_new/ch_new.mdl index 3e76b81..944eaf9 100644 Binary files a/playermodels_src/skaterift_new/ch_new.mdl and b/playermodels_src/skaterift_new/ch_new.mdl differ diff --git a/playermodels_src/skaterift_outlaw/ch_outlaw.mdl b/playermodels_src/skaterift_outlaw/ch_outlaw.mdl index 95ca052..902df62 100644 Binary files a/playermodels_src/skaterift_outlaw/ch_outlaw.mdl and b/playermodels_src/skaterift_outlaw/ch_outlaw.mdl differ diff --git a/shaders/model_board_view.h b/shaders/model_board_view.h index e976fe2..1251f0b 100644 --- a/shaders/model_board_view.h +++ b/shaders/model_board_view.h @@ -462,7 +462,7 @@ static struct vg_shader _shader_model_board_view = { "\n" "vec3 character_clearskies_lighting( vec3 normal, float shadow, vec3 halfview )\n" "{\n" -" float fresnel = step(0.5,1.0 - abs(dot(normal,halfview)));\n" +" float fresnel = 0.0*step(0.5,1.0 - abs(dot(normal,halfview)));\n" "\n" " vec3 reflect_colour = mix( g_daysky_colour.rgb, g_sunset_colour.rgb, \n" " g_sunset_phase );\n" diff --git a/shaders/model_character_view.fs b/shaders/model_character_view.fs index 49e615c..09da174 100644 --- a/shaders/model_character_view.fs +++ b/shaders/model_character_view.fs @@ -13,7 +13,7 @@ in vec3 aWorldCo; vec3 character_clearskies_lighting( vec3 normal, float shadow, vec3 halfview ) { - float fresnel = step(0.5,1.0 - abs(dot(normal,halfview))); + float fresnel = 1.0 - abs(dot(normal,halfview)); vec3 reflect_colour = mix( g_daysky_colour.rgb, g_sunset_colour.rgb, g_sunset_phase ); diff --git a/shaders/model_character_view.h b/shaders/model_character_view.h index 7be4184..c59737f 100644 --- a/shaders/model_character_view.h +++ b/shaders/model_character_view.h @@ -470,7 +470,7 @@ static struct vg_shader _shader_model_character_view = { "\n" "vec3 character_clearskies_lighting( vec3 normal, float shadow, vec3 halfview )\n" "{\n" -" float fresnel = step(0.5,1.0 - abs(dot(normal,halfview)));\n" +" float fresnel = 0.0*step(0.5,1.0 - abs(dot(normal,halfview)));\n" "\n" " vec3 reflect_colour = mix( g_daysky_colour.rgb, g_sunset_colour.rgb, \n" " g_sunset_phase );\n" diff --git a/world_load.c b/world_load.c index 586b804..f196c26 100644 --- a/world_load.c +++ b/world_load.c @@ -45,6 +45,8 @@ static void world_instance_load_mdl( u32 instance_id, const char *path ){ mdl_load_animation_block( meta, world->heap ); mdl_load_mesh_block( meta, world->heap ); + vg_info( "%u\n", sizeof(ent_cubemap) ); + MDL_LOAD_ARRAY( meta, &world->ent_gate, ent_gate, heap ); MDL_LOAD_ARRAY( meta, &world->ent_camera, ent_camera, heap ); MDL_LOAD_ARRAY( meta, &world->ent_spawn, ent_spawn, heap );