Importing a bunch of code from Skarsnik sneshacking repo

This commit is contained in:
Justin Scofield
2022-06-11 10:06:54 -04:00
parent 31bf9dad4b
commit ce9ac5383e
8 changed files with 671 additions and 24 deletions

View File

@@ -27,11 +27,15 @@ void Editor::UpdateScreen() {
overworld_texture = &overworld.owactualMapTexture;
doneLoaded = true;
}
ImGui::Image((void*)(intptr_t)overworld_texture, ImVec2(overworld.overworldMapBitmap->GetWidth(), overworld.overworldMapBitmap->GetHeight()));
// ImGui::Image((void*)(intptr_t)overworld_texture,
// ImVec2(overworld.overworldMapBitmap->GetWidth(),
// overworld.overworldMapBitmap->GetHeight()));
}
if (ImGui::BeginTabBar("##TabBar")) {
DrawOverworldEditor();
DrawDungeonEditor();
DrawROMInfo();
ImGui::EndTabBar();
}
// ImGui::ShowDemoWindow();
@@ -155,12 +159,8 @@ void Editor::DrawOverworldEditor() {
ImGui::Checkbox("Enable grid", &opt_enable_grid);
ImVec2 canvas_p0 =
ImGui::GetCursorScreenPos(); // ImDrawList API uses screen coordinates!
ImVec2 canvas_sz =
ImGui::GetContentRegionAvail(); // Resize canvas to what's available
if (canvas_sz.x < 50.0f) canvas_sz.x = 50.0f;
if (canvas_sz.y < 50.0f) canvas_sz.y = 50.0f;
ImVec2 canvas_p0 = ImGui::GetCursorScreenPos();
ImVec2 canvas_sz = ImGui::GetContentRegionAvail();
ImVec2 canvas_p1 =
ImVec2(canvas_p0.x + canvas_sz.x, canvas_p0.y + canvas_sz.y);
@@ -194,8 +194,6 @@ void Editor::DrawOverworldEditor() {
}
// Pan (we use a zero mouse threshold when there's no context menu)
// You may decide to make that threshold dynamic based on whether the mouse
// is hovering something etc.
const float mouse_threshold_for_pan =
opt_enable_context_menu ? -1.0f : 0.0f;
if (is_active && ImGui::IsMouseDragging(ImGuiMouseButton_Right,
@@ -247,6 +245,23 @@ void Editor::DrawOverworldEditor() {
ImGui::EndTabItem();
}
}
void DrawDungeonEditor() {
if (ImGui::BeginTabItem("Dungeon")) {
ImGui::EndTabItem();
}
}
void Editor::DrawROMInfo() {
if (ImGui::BeginTabItem("ROM Info")) {
if (isLoaded) {
ImGui::Text("Title: %s", rom.getTitle());
ImGui::Text("Version: %d", rom.getVersion());
ImGui::Text("ROM Size: %ld", rom.getSize());
}
ImGui::EndTabItem();
}
}
} // namespace View
} // namespace Application

View File

@@ -26,6 +26,8 @@ class Editor {
void DrawEditMenu() const;
void DrawOverworldEditor();
void DrawDungeonEditor();
void DrawROMInfo();
bool isLoaded = false;
bool doneLoaded = false;