/* Niotso - The New Implementation of The Sims Online System/System.hpp Copyright (c) 2012 Niotso Project Author(s): Fatbag This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ namespace System { int Initialize(); void Shutdown(); extern HINSTANCE hInst; extern HANDLE Process; extern HANDLE ProcessHeap; extern LARGE_INTEGER ClockFreq; extern volatile float FramePeriod; struct UserInput_t { bool Keys[256]; bool MouseDown; bool CloseWindow; }; extern UserInput_t UserInput; extern volatile UserInput_t UserInput_v; extern bool SceneFailed; //Constants enum { SHUTDOWN = 0 }; } /**** ** Program exit codes ** (Return 0 for success) */ #define ERROR_INIT 0x1000 #define ERROR_INIT_ANOTHERINSTRUNNING 0x1001 //Engine errors //Use: return ERROR_INIT | result; #define ERROR_INIT_WINDOW 0x0100 enum { ERROR_WINDOW_SYNCOBJECT = 1, ERROR_WINDOW_CREATE_THREAD, ERROR_WINDOW_SYNCHRONIZE, ERROR_WINDOW_REGISTER_CLASS, ERROR_WINDOW_CREATE, ERROR_WINDOW_HANDLE }; #define ERROR_INIT_SYSTEM 0x0200 enum { ERROR_SYSTEM_INIT_FREETYPE = 1, ERROR_SYSTEM_MISSING_FONT }; #define ERROR_INIT_GRAPHICS 0x0300 enum { ERROR_GRAPHICS_OBTAIN_DC = 1, ERROR_GRAPHICS_FIND_PIXELFORMAT, ERROR_GRAPHICS_SET_PIXELFORMAT, ERROR_GRAPHICS_CREATE_GLRC, ERROR_GRAPHICS_ACTIVATE_GLRC, ERROR_GRAPHICS_INIT_GLSCENE }; #define ERROR_INIT_AUDIO 0x0400 enum { ERROR_AUDIO_INIT_COM = 1, ERROR_AUDIO_INIT_XAUDIO2, ERROR_AUDIO_CREATE_VOICE }; #define ERROR_INIT_LOGIC 0x0500 enum { ERROR_LOGIC_CREATE_SCENE = 1 };