From 8329d42d3e592f4cd42cdfa586e2325ddc76c898 Mon Sep 17 00:00:00 2001 From: aura Date: Tue, 10 Mar 2026 01:35:50 +0100 Subject: perf profiler, simplify 2d render, string struct, many small things --- src/game/physics/movement.cpp | 2 +- src/game/raycast.cpp | 2 +- src/game/vars.cpp | 4 ++-- src/game/world/bsp.cpp | 9 +++++++++ src/game/world/draw.cpp | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) (limited to 'src/game') diff --git a/src/game/physics/movement.cpp b/src/game/physics/movement.cpp index d689096..3979394 100644 --- a/src/game/physics/movement.cpp +++ b/src/game/physics/movement.cpp @@ -22,7 +22,7 @@ void gmove_init( GAME_DATA* game ) { gmove->game = game; } -U8 gmove_check_valid( STR<256> from ) { +U8 gmove_check_valid( ARRSTR<256> from ) { if( !gmove->game ) { dlog( "%s : game not init\n", from.data ); return 0; diff --git a/src/game/raycast.cpp b/src/game/raycast.cpp index d38eb0a..0d2dbe3 100644 --- a/src/game/raycast.cpp +++ b/src/game/raycast.cpp @@ -147,7 +147,7 @@ void ray_draw_world2d( GAME_DATA* game, WORLD* world ) { } ); if( props->tex ) - gl_textured_polygon( game->shaders.gl2d_texcoord, verts.data, verts.size, props->tex ); + gl_textured_polygon( game->shaders.gl2d, verts.data, verts.size, props->tex ); else gl_polygon( game->shaders.gl2d, verts.data, verts.size ); } diff --git a/src/game/vars.cpp b/src/game/vars.cpp index 3d1eaf4..4d48125 100644 --- a/src/game/vars.cpp +++ b/src/game/vars.cpp @@ -107,14 +107,14 @@ I32 var_call( CVAR *cmdvar, const char *cmdline ) { F32 var_getf( CVAR *var ) { switch( var->type ) { case CVAR_TYPE_FLOAT: return var->fl_v; - case CVAR_TYPE_INT: return (F32)var->fl_v; + case CVAR_TYPE_INT: return (F32)var->i_v; default: return 0.f; } } I32 var_geti( CVAR *var ) { switch( var->type ) { - case CVAR_TYPE_INT: return var->fl_v; + case CVAR_TYPE_INT: return var->i_v; case CVAR_TYPE_FLOAT: return (I32)var->fl_v; default: return 0; } diff --git a/src/game/world/bsp.cpp b/src/game/world/bsp.cpp index b55593f..c4928a3 100644 --- a/src/game/world/bsp.cpp +++ b/src/game/world/bsp.cpp @@ -853,6 +853,15 @@ BSP* bsp_build_map( WORLD_MAP* m ) { } void bsp_free( BSP* bsp ) { + for( auto& it : bsp->faces ) { + it.verts.clear(); + it.render_verts.clear(); + } + for( auto& it : bsp->leaves ) + it.edges.clear(); + for( auto& it : bsp->portals ) + it.w.points.clear(); + delete bsp; } diff --git a/src/game/world/draw.cpp b/src/game/world/draw.cpp index aad4d09..2856edd 100644 --- a/src/game/world/draw.cpp +++ b/src/game/world/draw.cpp @@ -153,7 +153,7 @@ void world_draw_sprites( } } -void world_draw( GAME_DATA* game, WORLD* world, VEC2 window, VEC2 winsize ) { +void world_draw( GAME_DATA* game, WORLD* world, VEC2 window, VEC2 winsize ) { _profiled PLAYER* pl = objl->pl; VEC2 start = { pl->pos.x, pl->pos.y }; -- cgit v1.2.3