summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authoraura <nw@moneybot.cc>2026-03-10 01:35:50 +0100
committeraura <nw@moneybot.cc>2026-03-10 01:35:50 +0100
commit8329d42d3e592f4cd42cdfa586e2325ddc76c898 (patch)
treedec7e2a733bfc6b6384936c1f3ed067a42b59bb9 /src/game
parent8ae8c85e9d3806cdb726e07f37e1b49484c5c48e (diff)
perf profiler, simplify 2d render, string struct, many small things
Diffstat (limited to 'src/game')
-rw-r--r--src/game/physics/movement.cpp2
-rw-r--r--src/game/raycast.cpp2
-rw-r--r--src/game/vars.cpp4
-rw-r--r--src/game/world/bsp.cpp9
-rw-r--r--src/game/world/draw.cpp2
5 files changed, 14 insertions, 5 deletions
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 };