#ifndef MS_CORE_CONTROLLER #define MS_CORE_CONTROLLER #include #include #include #include struct msMultiplayerController; struct msCoreController { struct msMultiplayerController *multiplayer; struct mCoreThread threadContext; color_t *outputBuffer; unsigned int stride; }; struct msCoreController * msCoreControllerLoadGame (const unsigned char *rom, size_t rom_len, const unsigned char *state, size_t state_len, struct msClientConnectionData *const data); void msCoreControllerDestroy(struct msCoreController **controller_ptr); struct msCoreController * msCoreControllerNew (struct mCore *core, struct msClientConnectionData *const data); void msCoreControllerThreadStart (struct msCoreController *const core_controller); void msCoreControllerSetFrameCallback(struct msCoreController *const self, void(*callback)(struct mCoreThread *)); void msCoreControllerSetStartCallback(struct msCoreController *const self, void(*callback)(struct mCoreThread *)); #endif