From 57bec7279c387edc6ed42c366a7804f32e74fa42 Mon Sep 17 00:00:00 2001 From: havoc Date: Fri, 8 Jan 2010 06:19:23 +0000 Subject: [PATCH] reduce memory usage by several more megabytes git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9807 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=2de7d03fea0a1e695fd85df27d053d352e3bc371 --- keys.h | 4 ++-- menu.c | 1 - model_shared.c | 5 +++-- quakedef.h | 14 +++++++++++++- snd_main.h | 2 -- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/keys.h b/keys.h index 02f43c7f..2e5d859f 100644 --- a/keys.h +++ b/keys.h @@ -315,13 +315,13 @@ typedef enum keynum_e K_MIDINOTE125, K_MIDINOTE126, K_MIDINOTE127, + + MAX_KEYS } keynum_t; typedef enum keydest_e { key_game, key_message, key_menu, key_menu_grabbed, key_console, key_void } keydest_t; -#define MAX_BINDMAPS 8 -#define MAX_KEYS 1024 extern char key_line[MAX_INPUTLINE]; extern int key_linepos; extern qboolean key_insert; // insert key toggle (for editing) diff --git a/menu.c b/menu.c index 98a4d83e..754152cc 100644 --- a/menu.c +++ b/menu.c @@ -4486,7 +4486,6 @@ typedef struct modlist_entry_s static int modlist_cursor; //static int modlist_viewcount; -#define MODLIST_TOTALSIZE 256 static int modlist_count = 0; static modlist_entry_t modlist[MODLIST_TOTALSIZE]; diff --git a/model_shared.c b/model_shared.c index 7f7dba0f..a5f23db9 100644 --- a/model_shared.c +++ b/model_shared.c @@ -655,11 +655,11 @@ void Mod_BuildTriangleNeighbors(int *neighbors, const int *elements, int numtria int element[2]; } edgehashentry_t; - static edgehashentry_t *edgehash[TRIANGLEEDGEHASH]; + static edgehashentry_t **edgehash; edgehashentry_t *edgehashentries, *hash; if (!numtriangles) return; - memset(edgehash, 0, sizeof(edgehash)); + edgehash = Mem_Alloc(tempmempool, TRIANGLEEDGEHASH * sizeof(*edgehash)); // if there are too many triangles for the stack array, allocate larger buffer edgehashentries = (edgehashentry_t *)Mem_Alloc(tempmempool, numtriangles * 3 * sizeof(edgehashentry_t)); // find neighboring triangles @@ -711,6 +711,7 @@ void Mod_BuildTriangleNeighbors(int *neighbors, const int *elements, int numtria } // free the allocated buffer Mem_Free(edgehashentries); + Mem_Free(edgehash); } #else // very slow but simple way diff --git a/quakedef.h b/quakedef.h index 5770616a..236ec8a9 100644 --- a/quakedef.h +++ b/quakedef.h @@ -22,6 +22,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef QUAKEDEF_H #define QUAKEDEF_H +#define DP_SMALLMEMORY + /// on UNIX platforms we need to define this so that video saving does not cause a SIGFSZ (file size) signal when a video clip exceeds 2GB #define _FILE_OFFSET_BITS 64 @@ -94,7 +96,7 @@ extern char engineversion[128]; #define MAX_CACHED_PICS 1024 // this is 144 bytes each (or 152 on 64bit) #define CACHEPICHASHSIZE 256 #define MAX_PARTICLEEFFECTNAME 256 -#define MAX_PARTICLEEFFECTINFO 2048 +#define MAX_PARTICLEEFFECTINFO 1024 #define MAX_PARTICLETEXTURES 96 #define MAXCLVIDEOS 1 #define MAX_GECKO_INSTANCES 1 @@ -104,6 +106,11 @@ extern char engineversion[128]; #define MAXTRACKS 256 #define MAX_DYNAMIC_CHANNELS 64 #define MAX_CHANNELS 260 +#define MODLIST_TOTALSIZE 32 +#define MAX_FAVORITESERVERS 32 +#define MAX_DECALSYSTEM_QUEUE 64 +#define PAINTBUFFER_SIZE 512 +#define MAX_BINDMAPS 8 #else #define MAX_INPUTLINE 16384 ///< maximum length of console commandline, QuakeC strings, and many other text processing buffers #define CON_TEXTSIZE 1048576 ///< max scrollback buffer characters in console @@ -156,6 +163,11 @@ extern char engineversion[128]; // NUM_AMBIENTS + MAX_DYNAMIC_CHANNELS to total_channels = static sounds #define MAX_DYNAMIC_CHANNELS 512 #define MAX_CHANNELS 1028 +#define MODLIST_TOTALSIZE 256 +#define MAX_FAVORITESERVERS 256 +#define MAX_DECALSYSTEM_QUEUE 1024 +#define PAINTBUFFER_SIZE 2048 +#define MAX_BINDMAPS 8 #endif diff --git a/snd_main.h b/snd_main.h index 62c50342..97da6693 100644 --- a/snd_main.h +++ b/snd_main.h @@ -195,8 +195,6 @@ typedef struct portable_samplepair_s { int sample[SND_LISTENERS]; } portable_sampleframe_t; -// LordHavoc: was 512, expanded to 2048 -#define PAINTBUFFER_SIZE 2048 typedef struct listener_s { -- 2.39.2