HARRO WORLD. GUESS WHO.

- Follow up r16981
-- battle.c
--- Moved damage check up, so it doesn't waste time allocating all that stuff.
--- Moved t_race2 inside BF_WEAPON block (the only case that uses it)
-- status.h
--- Changed (struct) weapon_atk wlv from unsigned short to unsigned char, wlv is capped to REFINE_TYPE_MAX which doesn't get anywhere near UCHAR_MAX
- mempool.c
-- Temporarily disabled (yes, disabled in a very silly way) Sirius_Black's memory pool implementation, not only because its not currently being used, but because it spawns a new thread (and since its not being used, it wastes a thread and the memory it consumes).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17021 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2012-12-13 22:29:09 +00:00
parent 29bf44b883
commit 7478d1fbd0
4 changed files with 14 additions and 5 deletions

View File

@ -141,6 +141,9 @@ static void *mempool_async_allocator(void *x){
void mempool_init(){ void mempool_init(){
if( rand()%2 + 1 )
return;
if(sizeof(struct node)%16 != 0 ){ if(sizeof(struct node)%16 != 0 ){
ShowFatalError("mempool_init: struct node alignment failure. %u != multiple of 16\n", sizeof(struct node)); ShowFatalError("mempool_init: struct node alignment failure. %u != multiple of 16\n", sizeof(struct node));
@ -168,6 +171,9 @@ void mempool_init(){
void mempool_final(){ void mempool_final(){
mempool p, pn; mempool p, pn;
if( rand()%2 + 1 )
return;
ShowStatus("Mempool: Terminating async. allocation worker and remaining pools.\n"); ShowStatus("Mempool: Terminating async. allocation worker and remaining pools.\n");
// Terminate worker / wait until its terminated. // Terminate worker / wait until its terminated.

View File

@ -213,7 +213,8 @@ enum e_skill_flag
SKILL_FLAG_PERMANENT, SKILL_FLAG_PERMANENT,
SKILL_FLAG_TEMPORARY, SKILL_FLAG_TEMPORARY,
SKILL_FLAG_PLAGIARIZED, SKILL_FLAG_PLAGIARIZED,
SKILL_FLAG_REPLACED_LV_0, // temporary skill overshadowing permanent skill of level 'N - SKILL_FLAG_REPLACED_LV_0' SKILL_FLAG_REPLACED_LV_0, // temporary skill overshadowing permanent skill of level 'N - SKILL_FLAG_REPLACED_LV_0',
SKILL_FLAG_PERM_GRANTED, // permanent, granted through someway e.g. script
//... //...
}; };

View File

@ -420,6 +420,9 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
struct status_data *sstatus, *tstatus; struct status_data *sstatus, *tstatus;
int i; int i;
if( !damage )
return 0;
sd = BL_CAST(BL_PC, src); sd = BL_CAST(BL_PC, src);
tsd = BL_CAST(BL_PC, target); tsd = BL_CAST(BL_PC, target);
t_class = status_get_class(target); t_class = status_get_class(target);
@ -427,10 +430,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
sstatus = status_get_status_data(src); sstatus = status_get_status_data(src);
tstatus = status_get_status_data(target); tstatus = status_get_status_data(target);
s_race2 = status_get_race2(src); s_race2 = status_get_race2(src);
t_race2 = status_get_race2(target);
if( !damage )
return 0;
#define bccDAMAGE_RATE(a){ damage = (int64)damage * (a)/1000;} #define bccDAMAGE_RATE(a){ damage = (int64)damage * (a)/1000;}
switch(attack_type){ switch(attack_type){
case BF_MAGIC: case BF_MAGIC:
@ -495,6 +495,7 @@ int battle_calc_cardfix(int attack_type, struct block_list *src, struct block_li
} }
break; break;
case BF_WEAPON: case BF_WEAPON:
t_race2 = status_get_race2(target);
if( sd && !(nk&NK_NO_CARDFIX_ATK) && (left&2) ) if( sd && !(nk&NK_NO_CARDFIX_ATK) && (left&2) )
{ {
short cardfix_ = 1000; short cardfix_ = 1000;

View File

@ -1568,7 +1568,8 @@ struct weapon_atk {
unsigned short range; unsigned short range;
unsigned char ele; unsigned char ele;
#ifdef RENEWAL #ifdef RENEWAL
unsigned short matk, wlv; unsigned short matk;
unsigned char wlv;
#endif #endif
}; };