From 25c2e032930910c469e9f5278b8001b93f1a140a Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 28 Feb 2024 14:00:30 +0000 Subject: [PATCH] graphics changes --- ent_npc.c | 16 ++++ maps_src/dev_hub/main.mdl | Bin 1687416 -> 1749472 bytes shaders/impl.c | 144 +++++++++++++++++----------------- shaders/light_clearskies.glsl | 6 +- shaders/scene_water.fs | 24 +++--- world_load.c | 11 +++ 6 files changed, 114 insertions(+), 87 deletions(-) diff --git a/ent_npc.c b/ent_npc.c index 774edff..d431223 100644 --- a/ent_npc.c +++ b/ent_npc.c @@ -129,6 +129,20 @@ void ent_npc_call( world_instance *world, ent_call *call ) gui_helper_clear(); } } + else if( npc->id == 4 ) + { + if( call->function == 0 ) + { + gui_helper_clear(); + vg_str text; + if( gui_new_helper( input_button_list[k_srbind_camera], &text )) + vg_strcat( &text, "First/Thirdperson" ); + } + else if( call->function == -1 ) + { + gui_helper_clear(); + } + } else { if( call->function == 0 ) @@ -205,6 +219,7 @@ void ent_npc_preupdate( ent_npc *ent, int active ) void npc_update( ent_npc *ent ) { if( ent->id == 3 ) return; + if( ent->id == 4 ) return; struct npc *npc_def = npc_resolve( ent->id ); VG_ASSERT( npc_def ); @@ -242,6 +257,7 @@ void npc_update( ent_npc *ent ) void npc_render( ent_npc *ent, world_instance *world, vg_camera *cam ) { if( ent->id == 3 ) return; + if( ent->id == 4 ) return; struct npc *npc_def = npc_resolve( ent->id ); VG_ASSERT( npc_def ); diff --git a/maps_src/dev_hub/main.mdl b/maps_src/dev_hub/main.mdl index bcd332b11a5dcdddbd7cbc1d45fd70a8826dbebe..d53cfe6f138272e7a272fb60bf80098cb5a5b1b1 100644 GIT binary patch delta 54818 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 delta 13625 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 = 9.50f; state->g_shadow_spread = 0.65f; +#if 0 + /* 2023 style */ v3_copy( (v3f){0.37f, 0.54f, 0.97f}, state->g_daysky_colour ); v3_copy( (v3f){0.03f, 0.05f, 0.20f}, state->g_nightsky_colour ); v3_copy( (v3f){1.00f, 0.32f, 0.01f}, state->g_sunset_colour ); v3_copy( (v3f){0.13f, 0.17f, 0.35f}, state->g_ambient_colour ); v3_copy( (v3f){0.25f, 0.17f, 0.51f}, state->g_sunset_ambient ); v3_copy( (v3f){1.10f, 0.89f, 0.35f}, state->g_sun_colour ); +#else + /* 2024 style */ + v3_copy( (v3f){0.308f, 0.543f, 0.904f}, state->g_daysky_colour ); + v3_copy( (v3f){0.030f, 0.050f, 0.200f}, state->g_nightsky_colour ); + v3_copy( (v3f){1.000f, 0.320f, 0.010f}, state->g_sunset_colour ); + v3_copy( (v3f){0.130f, 0.170f, 0.350f}, state->g_ambient_colour ); + v3_copy( (v3f){0.25f, 0.17f, 0.51f}, state->g_sunset_ambient ); + v3_copy( (v3f){1.000f, 0.809f, 0.318f}, state->g_sun_colour ); +#endif } #endif /* WORLD_LOAD_C */ -- 2.25.1