#include <render_service.h>

Public Member Functions | |
| RenderService (Rom *rom, zelda3::GameData *game_data) | |
| absl::StatusOr< RenderResult > | RenderDungeonRoom (const RenderRequest &req) |
| absl::StatusOr< RoomMetadata > | GetDungeonRoomMetadata (int room_id) |
Private Member Functions | |
| absl::StatusOr< std::vector< uint8_t > > | BitmapToRgba (const gfx::Bitmap &bitmap, int width, int height) |
| void | ApplyOverlays (std::vector< uint8_t > &rgba, int width, int height, const zelda3::Room &room, uint32_t flags, float scale) |
| absl::StatusOr< std::vector< uint8_t > > | EncodePng (const std::vector< uint8_t > &rgba, int width, int height) |
Private Attributes | |
| Rom * | rom_ |
| zelda3::GameData * | game_data_ |
| std::mutex | mu_ |
Definition at line 64 of file render_service.h.
| yaze::app::service::RenderService::RenderService | ( | Rom * | rom, |
| zelda3::GameData * | game_data ) |
Definition at line 67 of file render_service.cc.
| absl::StatusOr< RenderResult > yaze::app::service::RenderService::RenderDungeonRoom | ( | const RenderRequest & | req | ) |
Definition at line 70 of file render_service.cc.
References ApplyOverlays(), BitmapToRgba(), yaze::zelda3::Room::blockset(), EncodePng(), game_data_, yaze::zelda3::Room::GetCompositeBitmap(), yaze::app::service::RenderResult::height, yaze::Rom::is_loaded(), yaze::app::service::RenderOverlay::kNone, yaze::zelda3::kNumberOfRooms, yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::Room::LoadRoomGraphics(), yaze::zelda3::Room::LoadSprites(), mu_, yaze::app::service::RenderRequest::overlay_flags, yaze::app::service::RenderResult::png_data, yaze::zelda3::Room::RenderRoomGraphics(), rom_, yaze::app::service::RenderRequest::room_id, yaze::app::service::RenderRequest::scale, yaze::zelda3::Room::SetGameData(), and yaze::app::service::RenderResult::width.
Referenced by yaze::cli::handlers::DungeonRenderCommandHandler::Execute(), and yaze::cli::api::HandleRenderDungeon().
| absl::StatusOr< RoomMetadata > yaze::app::service::RenderService::GetDungeonRoomMetadata | ( | int | room_id | ) |
Definition at line 135 of file render_service.cc.
References yaze::zelda3::Room::blockset(), yaze::zelda3::Room::collision(), yaze::zelda3::Room::effect(), game_data_, yaze::zelda3::Room::GetSprites(), yaze::zelda3::Room::GetTileObjects(), yaze::zelda3::Room::has_custom_collision(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::Room::layout_id(), yaze::zelda3::LoadRoomFromRom(), yaze::zelda3::Room::LoadSprites(), yaze::zelda3::Room::message_id(), mu_, yaze::zelda3::Room::palette(), rom_, yaze::zelda3::Room::SetGameData(), yaze::zelda3::Room::spriteset(), yaze::zelda3::Room::tag1(), and yaze::zelda3::Room::tag2().
Referenced by yaze::cli::api::HandleRenderDungeonMetadata().
|
private |
Definition at line 169 of file render_service.cc.
References yaze::gfx::Bitmap::data(), yaze::platform::GetSurfacePalette(), yaze::gfx::Bitmap::height(), yaze::gfx::Bitmap::surface(), and yaze::gfx::Bitmap::width().
Referenced by RenderDungeonRoom().
|
private |
Definition at line 217 of file render_service.cc.
References yaze::zelda3::Room::custom_collision(), yaze::app::service::HeadlessOverlayRenderer::DrawFilledRect(), yaze::app::service::HeadlessOverlayRenderer::DrawLine(), yaze::app::service::HeadlessOverlayRenderer::DrawRect(), yaze::zelda3::Room::GetSprites(), yaze::zelda3::Room::GetTileObjects(), yaze::app::service::RenderOverlay::kCameraQuads, yaze::app::service::RenderOverlay::kCollision, yaze::app::service::RenderOverlay::kGrid, yaze::app::service::RenderOverlay::kObjects, yaze::app::service::RenderOverlay::kSprites, yaze::app::service::RenderOverlay::kTrack, and yaze::zelda3::CustomCollisionMap::tiles.
Referenced by RenderDungeonRoom().
|
private |
Definition at line 333 of file render_service.cc.
Referenced by RenderDungeonRoom().
|
private |
Definition at line 87 of file render_service.h.
Referenced by GetDungeonRoomMetadata(), and RenderDungeonRoom().
|
private |
Definition at line 88 of file render_service.h.
Referenced by GetDungeonRoomMetadata(), and RenderDungeonRoom().
|
mutableprivate |
Definition at line 89 of file render_service.h.
Referenced by GetDungeonRoomMetadata(), and RenderDungeonRoom().