#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 [email protected]. 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