| 307 | } |
| 308 | |
| 309 | static void callGameCommandFunction(uint32_t command, registers& regs) |
| 310 | { |
| 311 | auto& gameCommand = kGameCommandDefinitions[command]; |
| 312 | if (gameCommand.implementation != nullptr) |
| 313 | { |
| 314 | gameCommand.implementation(regs); |
| 315 | } |
| 316 | else |
| 317 | { |
| 318 | auto addr = gameCommand.originalAddress; |
| 319 | Diagnostics::Logging::error("Unimplemented game command called: id:{}, address:{}", static_cast<uint32_t>(gameCommand.id), addr); |
| 320 | } |
| 321 | } |
| 322 | |
| 323 | static uint32_t loc_4313C6(int esi, const registers& regs) |
| 324 | { |