From ef3dd111a1d2b77b37dc7848ce2f2e5f28948b72 Mon Sep 17 00:00:00 2001 From: ultramage Date: Thu, 3 May 2007 12:20:28 +0000 Subject: Removed the map.h<->status.h cyclic dependency. Relies on the fact by that preprocessor definitions don't need to be expanded immediately (or some other obscure reason why the thing even compiles :D) This allowed me to also remove the annoying/memory-wasting MAX_STATUSCHANGE define. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10442 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/map.h | 5 +++-- src/map/status.c | 5 ----- src/map/status.h | 9 +++++++-- 3 files changed, 10 insertions(+), 9 deletions(-) (limited to 'src/map') diff --git a/src/map/map.h b/src/map/map.h index 235eb7dfd..a2bf8d455 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -10,6 +10,7 @@ #include "../common/db.h" #include "itemdb.h" // MAX_ITEMGROUP +#include "status.h" // SC_MAX //Uncomment to enable the Cell Stack Limit mod. //It's only config is the battle_config cell_stack_limit. @@ -33,7 +34,7 @@ #define LIFETIME_FLOORITEM 60 #define DAMAGELOG_SIZE 30 #define LOOTITEM_SIZE 10 -#define MAX_STATUSCHANGE 300 +//#define MAX_STATUSCHANGE 300 //Quick defines to know which are the min-max common ailments. [Skotlex] //Because of the way the headers are included.. these must be replaced for actual values. //Remember to update as needed! Min is SC_STONE and max is SC_DPOISON currently. @@ -384,7 +385,7 @@ struct status_change_entry { }; struct status_change { - struct status_change_entry data[MAX_STATUSCHANGE]; + struct status_change_entry data[SC_MAX]; short count; unsigned short opt1,opt2; unsigned int opt3, option; //Note that older packet versions use short here. diff --git a/src/map/status.c b/src/map/status.c index 5ba30b62a..841b40867 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -7415,11 +7415,6 @@ int status_readdb(void) { */ int do_init_status(void) { - if (SC_MAX > MAX_STATUSCHANGE) - { - ShowDebug("status.h defines %d status changes, but the MAX_STATUSCHANGE is %d! Fix it.\n", SC_MAX, MAX_STATUSCHANGE); - exit(1); - } add_timer_func_list(status_change_timer,"status_change_timer"); add_timer_func_list(kaahi_heal_timer,"kaahi_heal_timer"); add_timer_func_list(status_natural_heal_timer,"status_natural_heal_timer"); diff --git a/src/map/status.h b/src/map/status.h index 4f51c61ab..0ea31cdec 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -4,7 +4,12 @@ #ifndef _STATUS_H_ #define _STATUS_H_ -#include "map.h" +// forward declarations from map.h +struct block_list; +struct mob_data; +struct pet_data; +struct homun_data; +struct status_change; //Use this to refer the max refinery level [Skotlex] #define MAX_REFINE 10 @@ -258,7 +263,7 @@ enum { SC_INCAGIRATE, SC_INCDEXRATE, SC_JAILED, - SC_ENCHANTARMS, + SC_ENCHANTARMS, //250 SC_MAGICALATTACK, SC_MAX, //Automatically updated max, used in for's and at startup to check we are within bounds. [Skotlex] }; -- cgit v1.2.3-70-g09d2