/*--- statefuncs.h ---*/ #ifdef STATE_FUNC STATE_FUNC( NetworkDown ) STATE_FUNC( ConnectEnterId ) STATE_FUNC( ConnectWaiting ) STATE_FUNC( Connect ) STATE_FUNC( Binds ) STATE_FUNC( Clock ) #undef STATE_FUNC #endif /*--- states.h ---*/ #ifndef _STATES_H_ #define _STATES_H_ typedef void (stateFunc)(int8u key, bool draw, bool stateChanged); #define STATE_FUNC(name) stateFunc state##name; #include "statefuncs.h" enum APP_STATE { #define STATE_FUNC(name) STATE_##name, #include "statefuncs.h" STATE_Refresh = 0x80 }; extern PGM stateFunc *states[]; #endif // _STATES_H_ /*--- states.c ---*/ #include "states.h" PGM stateFunc *states[] = { #define STATE_FUNC(name) state##name, #include "statefuncs.h" NULL };