#include "message_queue.h" #include "menu_msg.h" #include "menu.h" int g_iGameMode = GO_HEADTRACKING | GO_STEREOVISION; void MenuPostMessage(struct menu_payload payload) { struct messageq_s message; message.recipient = MESSAGE_RENDERER; message.sender = MESSAGE_MENU; message.payload = &payload; message.payload_size = sizeof(struct menu_payload); messageq_send(&message); } // MenuPostMessage void MenuPostMessagePause(void) { struct menu_payload payload; payload.action = ACTION_PAUSE; payload.gamemode = 0; MenuPostMessage(payload); } // MenuPostMessagePause void MenuPostMessageResume(void) { struct menu_payload payload; payload.action = ACTION_RESUME; payload.gamemode = 0; MenuPostMessage(payload); } // MenuPostMessageResume void MenuPostMessageStart(void) { struct menu_payload payload; payload.action = ACTION_START; payload.gamemode = g_iGameMode; MenuOff(); MenuPostMessage(payload); } // MenuPostMessageStart void MenuPostMessageAbort(void) { struct menu_payload payload; payload.action = ACTION_ABORT; payload.gamemode = 0; MenuStart(); MenuPostMessage(payload); } // MenuPostMessageAbort void MenuPostMessageRecalibrate(void) { struct menu_payload payload; payload.action = ACTION_RECALIBRATE; payload.gamemode = 0; MenuStart(); MenuPostMessage(payload); } // MenuPostMessageRecalibrate // setter voor game options void MenuEnableHT(void) { g_iGameMode |= GO_HEADTRACKING; } void MenuDisableHT(void) { g_iGameMode &= ~GO_HEADTRACKING; } void MenuEnableSV(void) { g_iGameMode |= GO_STEREOVISION; } void MenuDisableSV(void) { g_iGameMode &= ~GO_STEREOVISION; } void MenuEnableShadow(void) { g_iGameMode |= GO_SHADOW; } void MenuDisableShadow(void) { g_iGameMode &= ~GO_SHADOW; } void MenuSetBoxSmall(void) { g_iGameMode = (g_iGameMode & 7) | 0 << 3; } // 0 << 3 == 0 void MenuSetBoxMedium(void) { g_iGameMode = (g_iGameMode & 7) | 1 << 3; } // 1 << 3 == 8 void MenuSetBoxLarge(void) { g_iGameMode = (g_iGameMode & 7) | 2 << 3; } // 2 << 3 == 16