---------------------------------------------------------------------------- Common initialization ---------------------------------------------------------------------------- Initializes DDIO system
| 97 | // ---------------------------------------------------------------------------- |
| 98 | // Initializes DDIO system |
| 99 | bool ddio_Init(ddio_init_info *init_info) { |
| 100 | static bool first_time = true; |
| 101 | bool res; |
| 102 | ASSERT(!DDIO_initialized); |
| 103 | if (first_time) { |
| 104 | atexit(ddio_Close); |
| 105 | } |
| 106 | mprintf(0, "DDIO system initializing...\n"); |
| 107 | res = ddio_InternalInit(init_info); |
| 108 | if (res) { |
| 109 | if (first_time) { // initialize once and only once. |
| 110 | timer_Init(); |
| 111 | } |
| 112 | if (!ddio_KeyInit(init_info)) |
| 113 | Error("Failed to initialize keyboard system."); |
| 114 | ddio_MouseInit(); |
| 115 | } |
| 116 | first_time = false; |
| 117 | DDIO_initialized = true; |
| 118 | joy_Init(init_info->joy_emulation); |
| 119 | return res; |
| 120 | } |
| 121 | void ddio_Close() { |
| 122 | if (DDIO_initialized) { |
| 123 | joy_Close(); |
no test coverage detected