yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::zelda3::TitleScreen Class Reference

TitleScreen manages the title screen graphics and tilemap data. More...

#include <title_screen.h>

Collaboration diagram for yaze::zelda3::TitleScreen:

Public Member Functions

absl::Status Create (Rom *rom)
 Initialize and load title screen data from ROM.
 
auto & bg1_buffer ()
 
auto & bg2_buffer ()
 
auto & oam_buffer ()
 
auto & mutable_bg1_buffer ()
 
auto & mutable_bg2_buffer ()
 
auto & bg1_bitmap ()
 
auto & bg2_bitmap ()
 
auto & oam_bitmap ()
 
auto & tiles8_bitmap ()
 
auto & composite_bitmap ()
 
auto & blockset ()
 
auto & palette ()
 
absl::Status Save (Rom *rom)
 
absl::Status RenderBG1Layer ()
 Render BG1 tilemap into bitmap pixels Converts tile IDs from tiles_bg1_buffer_ into pixel data.
 
absl::Status RenderBG2Layer ()
 Render BG2 tilemap into bitmap pixels Converts tile IDs from tiles_bg2_buffer_ into pixel data.
 
absl::Status RenderCompositeLayer (bool show_bg1, bool show_bg2)
 Render composite layer with BG1 on top of BG2 with transparency.
 

Private Member Functions

absl::Status BuildTileset (Rom *rom)
 Build the tile16 blockset from ROM graphics.
 
absl::Status LoadTitleScreen (Rom *rom)
 Load title screen tilemap data from ROM.
 

Private Attributes

int pal_selected_ = 2
 
std::array< uint16_t, 0x1000 > tiles_bg1_buffer_
 
std::array< uint16_t, 0x1000 > tiles_bg2_buffer_
 
gfx::OamTile oam_data_ [10]
 
gfx::Bitmap tiles_bg1_bitmap_
 
gfx::Bitmap tiles_bg2_bitmap_
 
gfx::Bitmap oam_bg_bitmap_
 
gfx::Bitmap tiles8_bitmap_
 
gfx::Bitmap title_composite_bitmap_
 
gfx::Tilemap tile16_blockset_
 
gfx::SnesPalette palette_
 

Detailed Description

TitleScreen manages the title screen graphics and tilemap data.

The title screen consists of three layers:

  • BG1: Main logo and graphics
  • BG2: Background elements
  • OAM: Sprite layer (sword, etc.)

Each layer is stored as a 32x32 tilemap (0x400 tiles = 0x1000 bytes as words)

Definition at line 24 of file title_screen.h.

Member Function Documentation

◆ Create()

◆ bg1_buffer()

auto & yaze::zelda3::TitleScreen::bg1_buffer ( )
inline

Definition at line 33 of file title_screen.h.

References tiles_bg1_buffer_.

◆ bg2_buffer()

auto & yaze::zelda3::TitleScreen::bg2_buffer ( )
inline

Definition at line 34 of file title_screen.h.

References tiles_bg2_buffer_.

◆ oam_buffer()

auto & yaze::zelda3::TitleScreen::oam_buffer ( )
inline

Definition at line 35 of file title_screen.h.

References oam_data_.

◆ mutable_bg1_buffer()

auto & yaze::zelda3::TitleScreen::mutable_bg1_buffer ( )
inline

◆ mutable_bg2_buffer()

auto & yaze::zelda3::TitleScreen::mutable_bg2_buffer ( )
inline

Definition at line 39 of file title_screen.h.

References tiles_bg2_buffer_.

Referenced by yaze::editor::ScreenEditor::DrawTitleScreenBG2Canvas().

◆ bg1_bitmap()

auto & yaze::zelda3::TitleScreen::bg1_bitmap ( )
inline

◆ bg2_bitmap()

auto & yaze::zelda3::TitleScreen::bg2_bitmap ( )
inline

Definition at line 43 of file title_screen.h.

References tiles_bg2_bitmap_.

Referenced by yaze::editor::ScreenEditor::DrawTitleScreenBG2Canvas().

◆ oam_bitmap()

auto & yaze::zelda3::TitleScreen::oam_bitmap ( )
inline

Definition at line 44 of file title_screen.h.

References oam_bg_bitmap_.

◆ tiles8_bitmap()

auto & yaze::zelda3::TitleScreen::tiles8_bitmap ( )
inline

◆ composite_bitmap()

auto & yaze::zelda3::TitleScreen::composite_bitmap ( )
inline

◆ blockset()

auto & yaze::zelda3::TitleScreen::blockset ( )
inline

Definition at line 47 of file title_screen.h.

References tile16_blockset_.

◆ palette()

auto & yaze::zelda3::TitleScreen::palette ( )
inline

Definition at line 50 of file title_screen.h.

References palette_.

Referenced by RenderBG1Layer(), and RenderBG2Layer().

◆ Save()

absl::Status yaze::zelda3::TitleScreen::Save ( Rom rom)

◆ RenderBG1Layer()

◆ RenderBG2Layer()

absl::Status yaze::zelda3::TitleScreen::RenderBG2Layer ( )

◆ RenderCompositeLayer()

absl::Status yaze::zelda3::TitleScreen::RenderCompositeLayer ( bool  show_bg1,
bool  show_bg2 
)

◆ BuildTileset()

absl::Status yaze::zelda3::TitleScreen::BuildTileset ( Rom rom)
private

◆ LoadTitleScreen()

Member Data Documentation

◆ pal_selected_

int yaze::zelda3::TitleScreen::pal_selected_ = 2
private

Definition at line 87 of file title_screen.h.

Referenced by LoadTitleScreen().

◆ tiles_bg1_buffer_

std::array<uint16_t, 0x1000> yaze::zelda3::TitleScreen::tiles_bg1_buffer_
private

◆ tiles_bg2_buffer_

std::array<uint16_t, 0x1000> yaze::zelda3::TitleScreen::tiles_bg2_buffer_
private

◆ oam_data_

gfx::OamTile yaze::zelda3::TitleScreen::oam_data_[10]
private

Definition at line 92 of file title_screen.h.

Referenced by oam_buffer().

◆ tiles_bg1_bitmap_

gfx::Bitmap yaze::zelda3::TitleScreen::tiles_bg1_bitmap_
private

◆ tiles_bg2_bitmap_

gfx::Bitmap yaze::zelda3::TitleScreen::tiles_bg2_bitmap_
private

◆ oam_bg_bitmap_

gfx::Bitmap yaze::zelda3::TitleScreen::oam_bg_bitmap_
private

Definition at line 96 of file title_screen.h.

Referenced by Create(), LoadTitleScreen(), and oam_bitmap().

◆ tiles8_bitmap_

gfx::Bitmap yaze::zelda3::TitleScreen::tiles8_bitmap_
private

Definition at line 97 of file title_screen.h.

Referenced by BuildTileset(), Create(), RenderBG1Layer(), RenderBG2Layer(), and tiles8_bitmap().

◆ title_composite_bitmap_

gfx::Bitmap yaze::zelda3::TitleScreen::title_composite_bitmap_
private

Definition at line 98 of file title_screen.h.

Referenced by composite_bitmap(), Create(), LoadTitleScreen(), and RenderCompositeLayer().

◆ tile16_blockset_

gfx::Tilemap yaze::zelda3::TitleScreen::tile16_blockset_
private

Definition at line 100 of file title_screen.h.

Referenced by blockset().

◆ palette_

gfx::SnesPalette yaze::zelda3::TitleScreen::palette_
private

Definition at line 101 of file title_screen.h.

Referenced by BuildTileset(), Create(), LoadTitleScreen(), and palette().


The documentation for this class was generated from the following files: