#include "hook.h"
#include "game.h"
#include "common.h"
#include "gamepad.h"

int game_syscall(int command, int a0, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int aa) {
	return hook_syscall(command, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa);
}

int game_vmMain(int command, int a0, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int aa, int ab) {

	switch (command) {

		case CG_INIT:
			gamepad_init();
			break;

		case CG_DRAW_ACTIVE_FRAME:
			gamepad_frame();
			break;

		case CG_SHUTDOWN:
			gamepad_shutdown();
			break;

	}
	
	return hook_vmMain(command, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab);

}

usercmd_t game_CreateCmd(void) {
	usercmd_t cmd = game.CL_CreateCmd();
	gamepad_cmd(&cmd);
	return cmd;
}

void game_JoyMove(void) {
	gamepad_keys();
	game.IN_JoyMove();
}