This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to tag 1.51
in repository iortcw.

commit a350b579de6596e2eccbc3e571aaf732f121e90e
Author: MAN-AT-ARMS <m4n4t4...@gmail.com>
Date:   Sat Jun 3 12:01:22 2017 -0400

    All: Fix spawn/freed entity logic
    
    Not sure if it caused (or will cause) any issues
---
 MP/code/game/g_utils.c | 9 +++++++--
 SP/code/game/g_utils.c | 9 +++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/MP/code/game/g_utils.c b/MP/code/game/g_utils.c
index d73c138..8b38f1b 100644
--- a/MP/code/game/g_utils.c
+++ b/MP/code/game/g_utils.c
@@ -439,11 +439,11 @@ gentity_t *G_Spawn( void ) {
                        G_InitGentity( e );
                        return e;
                }
-               if ( i != ENTITYNUM_MAX_NORMAL ) {
+               if ( level.num_entities < ENTITYNUM_MAX_NORMAL ) {
                        break;
                }
        }
-       if ( i == ENTITYNUM_MAX_NORMAL ) {
+       if ( level.num_entities == ENTITYNUM_MAX_NORMAL ) {
                for ( i = 0; i < MAX_GENTITIES; i++ ) {
                        G_Printf( "%4i: %s\n", i, g_entities[i].classname );
                }
@@ -470,6 +470,11 @@ qboolean G_EntitiesFree( void ) {
        int i;
        gentity_t   *e;
 
+       if ( level.num_entities < ENTITYNUM_MAX_NORMAL ) {
+               // can open a new slot if needed
+               return qtrue;
+       }
+
        e = &g_entities[MAX_CLIENTS];
        for ( i = MAX_CLIENTS; i < level.num_entities; i++, e++ ) {
                if ( e->inuse ) {
diff --git a/SP/code/game/g_utils.c b/SP/code/game/g_utils.c
index dbd35e7..abc2149 100644
--- a/SP/code/game/g_utils.c
+++ b/SP/code/game/g_utils.c
@@ -442,11 +442,11 @@ gentity_t *G_Spawn( void ) {
                        G_InitGentity( e );
                        return e;
                }
-               if ( i != MAX_GENTITIES ) {
+               if ( level.num_entities < ENTITYNUM_MAX_NORMAL ) {
                        break;
                }
        }
-       if ( i == ENTITYNUM_MAX_NORMAL ) {
+       if ( level.num_entities == ENTITYNUM_MAX_NORMAL ) {
                for ( i = 0; i < MAX_GENTITIES; i++ ) {
                        G_Printf( "%4i: %s\n", i, g_entities[i].classname );
                }
@@ -473,6 +473,11 @@ qboolean G_EntitiesFree( void ) {
        int i;
        gentity_t   *e;
 
+       if ( level.num_entities < ENTITYNUM_MAX_NORMAL ) {
+               // can open a new slot if needed
+               return qtrue;
+       }
+
        e = &g_entities[MAX_CLIENTS];
        for ( i = MAX_CLIENTS; i < level.num_entities; i++, e++ ) {
                if ( e->inuse ) {

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/iortcw.git

_______________________________________________
Pkg-games-commits mailing list
Pkg-games-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to