#include <dungeon_object_emulator_preview.h>
Classes | |
| struct | ObjectPreset |
Public Member Functions | |
| DungeonObjectEmulatorPreview () | |
| ~DungeonObjectEmulatorPreview () | |
| void | Initialize (gfx::IRenderer *renderer, Rom *rom, zelda3::GameData *game_data=nullptr, emu::render::EmulatorRenderService *render_service=nullptr) |
| void | Render () |
| void | set_visible (bool visible) |
| bool | is_visible () const |
| void | SetGameData (zelda3::GameData *game_data) |
Private Types | |
| enum class | RenderMode { kStatic , kEmulator } |
Private Member Functions | |
| void | RenderControls () |
| void | RenderObjectBrowser () |
| void | RenderStatusPanel () |
| void | TriggerEmulatedRender () |
| void | TriggerStaticRender () |
| const char * | GetObjectName (int id) const |
| int | GetObjectType (int id) const |
| void | EnsureInitialized () |
Private Attributes | |
| gfx::IRenderer * | renderer_ = nullptr |
| Rom * | rom_ = nullptr |
| zelda3::GameData * | game_data_ = nullptr |
| emu::render::EmulatorRenderService * | render_service_ = nullptr |
| std::unique_ptr< emu::Snes > | snes_instance_ |
| void * | object_texture_ = nullptr |
| int | object_id_ = 0 |
| int | room_id_ = 0 |
| int | object_x_ = 16 |
| int | object_y_ = 16 |
| int | object_size_ = 0 |
| bool | show_window_ = true |
| bool | show_browser_ = false |
| int | last_cycle_count_ = 0 |
| std::string | last_error_ |
| bool | initialized_ = false |
| RenderMode | render_mode_ = RenderMode::kStatic |
| std::unique_ptr< zelda3::ObjectDrawer > | object_drawer_ |
| gfx::BackgroundBuffer | preview_bg1_ |
| gfx::BackgroundBuffer | preview_bg2_ |
| gfx::Bitmap | preview_bitmap_ |
| bool | static_render_dirty_ = true |
Static Private Attributes | |
| static constexpr ObjectPreset | kQuickPresets [] |
Definition at line 27 of file dungeon_object_emulator_preview.h.
|
strongprivate |
| Enumerator | |
|---|---|
| kStatic | |
| kEmulator | |
Definition at line 85 of file dungeon_object_emulator_preview.h.
| yaze::gui::DungeonObjectEmulatorPreview::DungeonObjectEmulatorPreview | ( | ) |
Definition at line 83 of file dungeon_object_emulator_preview.cc.
| yaze::gui::DungeonObjectEmulatorPreview::~DungeonObjectEmulatorPreview | ( | ) |
Definition at line 87 of file dungeon_object_emulator_preview.cc.
| void yaze::gui::DungeonObjectEmulatorPreview::Initialize | ( | gfx::IRenderer * | renderer, |
| Rom * | rom, | ||
| zelda3::GameData * | game_data = nullptr, | ||
| emu::render::EmulatorRenderService * | render_service = nullptr ) |
Definition at line 93 of file dungeon_object_emulator_preview.cc.
References game_data_, render_service_, renderer_, and rom_.
Referenced by yaze::editor::ObjectEditorPanel::ObjectEditorPanel().
| void yaze::gui::DungeonObjectEmulatorPreview::Render | ( | ) |
Definition at line 122 of file dungeon_object_emulator_preview.cc.
References yaze::editor::AgentUI::GetTheme(), yaze::Rom::is_loaded(), object_texture_, yaze::editor::AgentUI::PopPanelStyle(), yaze::editor::AgentUI::PushPanelStyle(), RenderControls(), RenderObjectBrowser(), RenderStatusPanel(), rom_, show_browser_, show_window_, and yaze::editor::AgentUI::VerticalSpacing().
Referenced by yaze::editor::DungeonEmulatorPreviewPanel::Draw(), and yaze::editor::ObjectEditorPanel::DrawEmulatorPreview().
|
inline |
Definition at line 40 of file dungeon_object_emulator_preview.h.
References show_window_.
Referenced by yaze::editor::DungeonEmulatorPreviewPanel::Draw(), and yaze::editor::DungeonEmulatorPreviewPanel::OnClose().
|
inline |
Definition at line 41 of file dungeon_object_emulator_preview.h.
References show_window_.
Referenced by yaze::editor::DungeonEmulatorPreviewPanel::Draw().
|
inline |
Definition at line 44 of file dungeon_object_emulator_preview.h.
References game_data_.
Referenced by yaze::editor::ObjectEditorPanel::SetContext(), and yaze::editor::ObjectEditorPanel::SetGameData().
|
private |
Definition at line 198 of file dungeon_object_emulator_preview.cc.
References yaze::gui::AutoInputInt(), yaze::gui::AutoSliderInt(), GetObjectName(), GetObjectType(), yaze::editor::AgentUI::GetTheme(), kEmulator, kQuickPresets, kStatic, object_id_, object_size_, object_x_, object_y_, render_mode_, room_id_, show_browser_, static_render_dirty_, yaze::editor::AgentUI::StyledButton(), TriggerEmulatedRender(), TriggerStaticRender(), and yaze::editor::AgentUI::VerticalSpacing().
Referenced by Render().
|
private |
Definition at line 1036 of file dungeon_object_emulator_preview.cc.
References yaze::editor::AgentUI::GetTheme(), kStatic, object_id_, render_mode_, show_browser_, TriggerEmulatedRender(), and TriggerStaticRender().
Referenced by Render().

|
private |
Definition at line 999 of file dungeon_object_emulator_preview.cc.
References yaze::editor::AgentUI::GetTheme(), last_cycle_count_, last_error_, yaze::editor::AgentUI::PopPanelStyle(), and yaze::editor::AgentUI::PushPanelStyle().
Referenced by Render().

|
private |
Definition at line 321 of file dungeon_object_emulator_preview.cc.
References yaze::zelda3::Room::blockset, yaze::zelda3::Room::CopyRoomGraphicsToBuffer(), yaze::gfx::IRenderer::CreateTexture(), yaze::Rom::data(), yaze::gfx::PaletteGroupMap::dungeon_main, yaze::zelda3::RoomObject::EncodeObjectToBytes(), EnsureInitialized(), yaze::emu::render::RenderRequest::entity_id, game_data_, yaze::zelda3::Room::get_gfx_buffer(), GetObjectType(), yaze::emu::render::EmulatorRenderService::GetRenderMode(), yaze::Rom::is_loaded(), yaze::emu::render::EmulatorRenderService::IsReady(), yaze::emu::render::kDungeonObject, yaze::emu::render::kEmulated, last_cycle_count_, last_error_, yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::Room::LoadRoomGraphics(), yaze::gfx::IRenderer::LockTexture(), object_id_, object_size_, object_texture_, object_x_, object_y_, yaze::emu::render::RenderRequest::output_height, yaze::emu::render::RenderRequest::output_width, yaze::zelda3::Room::palette, yaze::zelda3::GameData::palette_groups, yaze::emu::render::EmulatorRenderService::Render(), render_service_, renderer_, rom_, yaze::emu::render::RenderRequest::room_id, room_id_, yaze::zelda3::Room::SetGameData(), yaze::emu::render::EmulatorRenderService::SetRenderMode(), yaze::emu::render::RenderRequest::size, yaze::Rom::size(), snes_instance_, yaze::SnesToPc(), yaze::emu::render::RenderRequest::type, yaze::gfx::IRenderer::UnlockTexture(), yaze::emu::render::RenderRequest::x, and yaze::emu::render::RenderRequest::y.
Referenced by RenderControls(), and RenderObjectBrowser().
|
private |
Definition at line 734 of file dungeon_object_emulator_preview.cc.
References yaze::gfx::SnesPalette::AddColor(), yaze::gfx::PaletteGroup::AddPalette(), yaze::gfx::BackgroundBuffer::bitmap(), yaze::zelda3::Room::blockset, yaze::gfx::BackgroundBuffer::ClearBuffer(), yaze::zelda3::Room::CopyRoomGraphicsToBuffer(), yaze::gfx::Bitmap::Create(), yaze::gfx::IRenderer::CreateTexture(), yaze::Rom::data(), yaze::gfx::PaletteGroupMap::dungeon_main, yaze::emu::render::RenderRequest::entity_id, game_data_, yaze::zelda3::Room::get_gfx_buffer(), yaze::Rom::is_loaded(), yaze::emu::render::EmulatorRenderService::IsReady(), yaze::emu::render::kDungeonObject, last_error_, yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::Room::LoadRoomGraphics(), yaze::gfx::IRenderer::LockTexture(), yaze::gfx::Bitmap::mutable_data(), object_drawer_, object_id_, object_size_, object_texture_, object_x_, object_y_, yaze::emu::render::RenderRequest::output_height, yaze::emu::render::RenderRequest::output_width, yaze::zelda3::Room::palette, yaze::zelda3::GameData::palette_groups, preview_bg1_, preview_bg2_, preview_bitmap_, yaze::emu::render::EmulatorRenderService::Render(), render_service_, renderer_, rom_, yaze::emu::render::RenderRequest::room_id, room_id_, yaze::zelda3::Room::SetGameData(), yaze::emu::render::RenderRequest::size, yaze::gfx::SnesPalette::size(), yaze::Rom::size(), yaze::SnesToPc(), static_render_dirty_, yaze::emu::render::RenderRequest::type, yaze::gfx::IRenderer::UnlockTexture(), yaze::gfx::Bitmap::width(), yaze::emu::render::RenderRequest::x, and yaze::emu::render::RenderRequest::y.
Referenced by RenderControls(), and RenderObjectBrowser().
|
private |
Definition at line 967 of file dungeon_object_emulator_preview.cc.
Referenced by RenderControls().
|
private |
Definition at line 992 of file dungeon_object_emulator_preview.cc.
Referenced by RenderControls(), and TriggerEmulatedRender().
|
private |
Definition at line 105 of file dungeon_object_emulator_preview.cc.
References yaze::gfx::IRenderer::CreateTexture(), initialized_, yaze::Rom::is_loaded(), object_texture_, renderer_, rom_, snes_instance_, and yaze::Rom::vector().
Referenced by TriggerEmulatedRender().

|
private |
Definition at line 61 of file dungeon_object_emulator_preview.h.
Referenced by EnsureInitialized(), Initialize(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 62 of file dungeon_object_emulator_preview.h.
Referenced by EnsureInitialized(), Initialize(), Render(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 63 of file dungeon_object_emulator_preview.h.
Referenced by Initialize(), SetGameData(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 64 of file dungeon_object_emulator_preview.h.
Referenced by Initialize(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 65 of file dungeon_object_emulator_preview.h.
Referenced by EnsureInitialized(), and TriggerEmulatedRender().
|
private |
Definition at line 66 of file dungeon_object_emulator_preview.h.
Referenced by EnsureInitialized(), Render(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 68 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), RenderObjectBrowser(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 69 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 70 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 71 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 72 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 73 of file dungeon_object_emulator_preview.h.
Referenced by is_visible(), Render(), and set_visible().
|
private |
Definition at line 74 of file dungeon_object_emulator_preview.h.
Referenced by Render(), RenderControls(), and RenderObjectBrowser().
|
private |
Definition at line 77 of file dungeon_object_emulator_preview.h.
Referenced by RenderStatusPanel(), and TriggerEmulatedRender().
|
private |
Definition at line 78 of file dungeon_object_emulator_preview.h.
Referenced by RenderStatusPanel(), TriggerEmulatedRender(), and TriggerStaticRender().
|
private |
Definition at line 81 of file dungeon_object_emulator_preview.h.
Referenced by EnsureInitialized().
|
private |
Definition at line 86 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), and RenderObjectBrowser().
|
private |
Definition at line 89 of file dungeon_object_emulator_preview.h.
Referenced by TriggerStaticRender().
|
private |
Definition at line 90 of file dungeon_object_emulator_preview.h.
Referenced by TriggerStaticRender().
|
private |
Definition at line 91 of file dungeon_object_emulator_preview.h.
Referenced by TriggerStaticRender().
|
private |
Definition at line 92 of file dungeon_object_emulator_preview.h.
Referenced by TriggerStaticRender().
|
private |
Definition at line 93 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls(), and TriggerStaticRender().
|
staticconstexprprivate |
Definition at line 100 of file dungeon_object_emulator_preview.h.
Referenced by RenderControls().