| 353 | } |
| 354 | |
| 355 | void Renderer::DrawMetadata(Entity *targetEntity) { |
| 356 | ImGui::Begin("Engine Entity"); |
| 357 | ImGui::Text("%s", ToString(targetEntity->tag)); |
| 358 | ImGui::Text("%s", ToString(targetEntity->type)); |
| 359 | // Only display these if they're relevant |
| 360 | if (targetEntity->parentTrackblockID != -1) { |
| 361 | ImGui::Text("TrkBlk: %d", targetEntity->parentTrackblockID); |
| 362 | } |
| 363 | if (targetEntity->entityID != -1) { |
| 364 | ImGui::Text("ID: %d", targetEntity->entityID); |
| 365 | } |
| 366 | ImGui::Separator(); |
| 367 | |
| 368 | // Traverse the loader structures and print pretty with IMGUI |
| 369 | switch (targetEntity->tag) { |
| 370 | case NFSVer::NFS_3: |
| 371 | case NFSVer::NFS_4: |
| 372 | DrawNFS34Metadata(targetEntity); |
| 373 | break; |
| 374 | case NFSVer::UNKNOWN: |
| 375 | ASSERT(false, "Unimplemented"); |
| 376 | break; |
| 377 | case NFSVer::NFS_1: |
| 378 | ASSERT(false, "Unimplemented"); |
| 379 | break; |
| 380 | case NFSVer::NFS_2: |
| 381 | break; |
| 382 | case NFSVer::NFS_2_PS1: |
| 383 | ASSERT(false, "Unimplemented"); |
| 384 | break; |
| 385 | case NFSVer::NFS_2_SE: |
| 386 | ASSERT(false, "Unimplemented"); |
| 387 | break; |
| 388 | case NFSVer::NFS_3_PS1: |
| 389 | break; |
| 390 | case NFSVer::NFS_5: |
| 391 | ASSERT(false, "Unimplemented"); |
| 392 | break; |
| 393 | } |
| 394 | ImGui::End(); |
| 395 | } |
| 396 | |
| 397 | void Renderer::SetCulling(bool toCull) { |
| 398 | if (toCull) { |
nothing calls this directly
no outgoing calls
no test coverage detected