From 727e15323c6f1a902495d9b155ddbdbfa95f2f46 Mon Sep 17 00:00:00 2001 From: oroborus Date: Thu, 17 Jul 2008 13:12:28 +0000 Subject: - maximalny pocet ID je 1 000 000 - maximalny pocet item sa nastavuje v configu MAX_ITEM ( parameter --max-item ) git-svn-id: http://opensvn.csie.org/tuxanci_ng@152 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/base/arenaFile.c | 5 ++++- src/base/idManager.c | 6 ++++++ src/base/idManager.h | 2 +- src/base/item.c | 8 ++++++++ src/base/proto.c | 1 - src/base/shot.c | 10 ---------- 6 files changed, 19 insertions(+), 13 deletions(-) (limited to 'src/base') diff --git a/src/base/arenaFile.c b/src/base/arenaFile.c index f64cc1c..06aaa50 100644 --- a/src/base/arenaFile.c +++ b/src/base/arenaFile.c @@ -238,8 +238,9 @@ void initArenaFile() isArenaFileInit = TRUE; listArenaFile = newList(); + p = loadDirector(PATH_ARENA); - printf ("Pocet aren: %d\n", p->list->count); + for( i = 0 ; i < p->list->count ; i++ ) { char *line; @@ -259,6 +260,8 @@ void initArenaFile() } } + printf("pocet aren: %d\n", listArenaFile->count); + destroyDirector(p); } diff --git a/src/base/idManager.c b/src/base/idManager.c index ee77239..b4217ae 100644 --- a/src/base/idManager.c +++ b/src/base/idManager.c @@ -68,6 +68,11 @@ static int findNewID() assert( listID != NULL ); + if( listID->count >= MAX_ID-1 ) + { + assert( ! "ziaden ID uz nie je volny !" ); + } + do{ ret = random() % MAX_ID; @@ -138,6 +143,7 @@ void delID(int id) if( this->count <= 0 ) { delListItem(listID, index, free); + //printf("listID->count = %d\n", listID->count); } return; diff --git a/src/base/idManager.h b/src/base/idManager.h index cdd51e9..c80ff7c 100644 --- a/src/base/idManager.h +++ b/src/base/idManager.h @@ -4,7 +4,7 @@ #define ID_MANAGER_H -#define MAX_ID 1000 +#define MAX_ID 1000000 #define ID_UNKNOWN -1 #ifdef __WIN32__ diff --git a/src/base/item.c b/src/base/item.c index d5ca081..ef83066 100644 --- a/src/base/item.c +++ b/src/base/item.c @@ -29,6 +29,7 @@ #ifdef PUBLIC_SERVER #include "publicServer.h" +#include "publicServer.h" #endif #ifndef PUBLIC_SERVER @@ -173,6 +174,13 @@ void addNewItem(space_t *spaceItem, int author_id) int new_x, new_y; int type; +#ifdef PUBLIC_SERVER + if( spaceItem->list->count >= atoi( getSetting("MAX_ITEM", "--max-item", "100") ) ) + { + return; + } +#endif + #ifndef PUBLIC_SERVER if( isSettingAnyItem() == FALSE || getNetTypeGame() == NET_GAME_TYPE_CLIENT ) diff --git a/src/base/proto.c b/src/base/proto.c index 1de5ad4..6d4c2f2 100644 --- a/src/base/proto.c +++ b/src/base/proto.c @@ -676,7 +676,6 @@ void proto_recv_shot_client(char *msg) sscanf(msg, "%s %d %d %d %d %d %d %d %d %d", cmd, &shot_id, &x, &y, &px, &py, &position, &gun, &author_id, &isCanKillAuthor); - if( ( shot = getObjectFromSpaceWithID(getCurrentArena()->spaceShot, shot_id) ) != NULL ) { delObjectFromSpaceWithObject(getCurrentArena()->spaceShot, shot, destroyShot); diff --git a/src/base/shot.c b/src/base/shot.c index 1b657c2..c631a26 100644 --- a/src/base/shot.c +++ b/src/base/shot.c @@ -70,11 +70,6 @@ shot_t* newShot(int x,int y, int px, int py, int gun, int author_id) new->gun = gun; new->author_id = author_id; - if( author_id != ID_UNKNOWN ) - { - incID(author_id); - } - new->position = POSITION_UNKNOWN; author = getObjectFromSpaceWithID(getCurrentArena()->spaceTux, author_id); @@ -363,11 +358,6 @@ void destroyShot(shot_t *p) delID(p->id); - if( p->author_id != ID_UNKNOWN ) - { - delID(p->author_id); - } - free(p); } -- cgit v1.2.3