viewing paste Unknown #9047 | Plain text

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
#ifndef _HARMONYCORE_H
#define _HARMONYCORE_H
 
 
#include "../common/harmserv.h"
 
void harmony_core_init();
void harmony_core_final();
 
extern struct HARMSRV_EA_FUNCS   *ea_funcs;
extern struct HARMSRV_HARM_FUNCS *harm_funcs;
 
#define HARMSW_EATHENA         0
#define HARMSW_RATHENA_GROUP   1
 
// Hercules recently introduced lots of 'interfaces', for reasons I can only speculate about.
// There is no apparent benefit from this change, but the code gets slower due to required memory
// dereferencing every time such an interface method is called. Plus it breaks pretty much all
// source modifications, including Harmony. If you have any plausible explanation for this
// please enlighten me at info@harmonize.it. Thanks!
#ifdef HARMONY_USE_POINTLESS_OOP_INTERFACE
        #define _athena_add_timer             iTimer->add
        #define _athena_add_timer_interval    iTimer->add_interval
        #define _athena_delete_timer          iTimer->delete
        #define _athena_gettick               iTimer->gettick
#else
        #define _athena_add_timer             add_timer
        #define _athena_add_timer_interval    add_timer_interval
        #define _athena_delete_timer          delete_timer
        #define _athena_gettick               gettick
#endif
 
#endif
 
 
Viewed 247 times, submitted by unknown.