From: havoc Date: Fri, 8 Jan 2010 06:19:23 +0000 (+0000) Subject: reduce memory usage by several more megabytes X-Git-Tag: xonotic-v0.1.0preview~230^2~660 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2de7d03fea0a1e695fd85df27d053d352e3bc371;p=xonotic%2Fdarkplaces.git reduce memory usage by several more megabytes git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9807 d7cf8633-e32d-0410-b094-e92efae38249 --- 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 {