]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
reduce memory usage by several more megabytes
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 8 Jan 2010 06:19:23 +0000 (06:19 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 8 Jan 2010 06:19:23 +0000 (06:19 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9807 d7cf8633-e32d-0410-b094-e92efae38249

keys.h
menu.c
model_shared.c
quakedef.h
snd_main.h

diff --git a/keys.h b/keys.h
index 02f43c7fc1053394369ec5c5a7ecd62c7d8970ee..2e5d859fc920d7d289e0ad38089e5e3cce759b9d 100644 (file)
--- 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 98a4d83ee27c75aa82a4c17e6aa7250438bc5be2..754152cc10afd18aab5f98f3a2a18fe27a7c850b 100644 (file)
--- 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];
 
index 7f7dba0f12941b298cb65a431fe2b9d2bbdba211..a5f23db9d443d52b3c3d17220d111bbc25e50d09 100644 (file)
@@ -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
index 5770616a4193c99332ba9b87817eadc4c73b35fc..236ec8a9bdb86787651a9673082970db684374d6 100644 (file)
@@ -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
 
 
index 62c5034297058b802394ed65658e2bf905767ac1..97da6693a49956f478e709859a9eb9f8c39d230c 100644 (file)
@@ -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
 {