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

Typedefs

using SheetCollisions = std::array<uint8_t, kCollisionsPerSheet>
 
using ResolvedSheetIds = std::array<uint8_t, kResolvedSheetCount>
 
using Tile8Collisions = std::array<uint8_t, kTile8CollisionCount>
 

Enumerations

enum class  LayoutDialect {
  kUnmarked , kVanilla , kZSCustomV1 , kZSCustomV2 ,
  kZSCustomV3 , kZScreamV5 , kUnknown
}
 

Functions

LayoutDialect DetectLayout (const Rom &rom)
 
const char * LayoutName (LayoutDialect dialect)
 
bool CanUseTailExpansion (const Rom &rom)
 
absl::Status ValidateSheetCollisionTable (const Rom &rom)
 
absl::StatusOr< SheetCollisions > LoadSheetCollisions (const Rom &rom, int sheet_id)
 
absl::StatusOr< Tile8Collisions > ComposeTile8Collisions (const Rom &rom, const ResolvedSheetIds &sheet_ids)
 

Variables

constexpr size_t kVersionMarkerPc = 0x140145
 
constexpr uint8_t kPerSheetCollisionMarker = 0x05
 
constexpr size_t kSheetCollisionTablePc = 0x141938
 
constexpr size_t kSheetCollisionTableSize = 0x2000
 
constexpr size_t kCollisionSheetCount = 128
 
constexpr size_t kCollisionsPerSheet = 64
 
constexpr size_t kResolvedSheetCount = 8
 
constexpr size_t kTile8CollisionCount = 512
 

Typedef Documentation

◆ SheetCollisions

Definition at line 24 of file zscream_custom_layout.h.

◆ ResolvedSheetIds

Definition at line 25 of file zscream_custom_layout.h.

◆ Tile8Collisions

Definition at line 26 of file zscream_custom_layout.h.

Enumeration Type Documentation

◆ LayoutDialect

Enumerator
kUnmarked 
kVanilla 
kZSCustomV1 
kZSCustomV2 
kZSCustomV3 
kZScreamV5 
kUnknown 

Definition at line 30 of file zscream_custom_layout.h.

Function Documentation

◆ DetectLayout()

◆ LayoutName()

◆ CanUseTailExpansion()

◆ ValidateSheetCollisionTable()

absl::Status yaze::zelda3::zscream::ValidateSheetCollisionTable ( const Rom & rom)
inline

◆ LoadSheetCollisions()

absl::StatusOr< SheetCollisions > yaze::zelda3::zscream::LoadSheetCollisions ( const Rom & rom,
int sheet_id )
inline

Definition at line 114 of file zscream_custom_layout.h.

References kCollisionSheetCount, kCollisionsPerSheet, kSheetCollisionTablePc, ValidateSheetCollisionTable(), and yaze::Rom::vector().

Referenced by ComposeTile8Collisions().

Here is the call graph for this function:

◆ ComposeTile8Collisions()

absl::StatusOr< Tile8Collisions > yaze::zelda3::zscream::ComposeTile8Collisions ( const Rom & rom,
const ResolvedSheetIds & sheet_ids )
inline

Definition at line 135 of file zscream_custom_layout.h.

References kCollisionsPerSheet, LoadSheetCollisions(), and ValidateSheetCollisionTable().

Referenced by yaze::zelda3::Overworld::GetTile8CollisionTypes().

Here is the call graph for this function:

Variable Documentation

◆ kVersionMarkerPc

constexpr size_t yaze::zelda3::zscream::kVersionMarkerPc = 0x140145
inlineconstexpr

Definition at line 15 of file zscream_custom_layout.h.

Referenced by DetectLayout().

◆ kPerSheetCollisionMarker

constexpr uint8_t yaze::zelda3::zscream::kPerSheetCollisionMarker = 0x05
inlineconstexpr

Definition at line 16 of file zscream_custom_layout.h.

Referenced by DetectLayout().

◆ kSheetCollisionTablePc

constexpr size_t yaze::zelda3::zscream::kSheetCollisionTablePc = 0x141938
inlineconstexpr

Definition at line 17 of file zscream_custom_layout.h.

Referenced by LoadSheetCollisions(), and ValidateSheetCollisionTable().

◆ kSheetCollisionTableSize

constexpr size_t yaze::zelda3::zscream::kSheetCollisionTableSize = 0x2000
inlineconstexpr

Definition at line 18 of file zscream_custom_layout.h.

Referenced by ValidateSheetCollisionTable().

◆ kCollisionSheetCount

constexpr size_t yaze::zelda3::zscream::kCollisionSheetCount = 128
inlineconstexpr

Definition at line 19 of file zscream_custom_layout.h.

Referenced by LoadSheetCollisions().

◆ kCollisionsPerSheet

constexpr size_t yaze::zelda3::zscream::kCollisionsPerSheet = 64
inlineconstexpr

Definition at line 20 of file zscream_custom_layout.h.

Referenced by ComposeTile8Collisions(), and LoadSheetCollisions().

◆ kResolvedSheetCount

constexpr size_t yaze::zelda3::zscream::kResolvedSheetCount = 8
inlineconstexpr

Definition at line 21 of file zscream_custom_layout.h.

◆ kTile8CollisionCount

constexpr size_t yaze::zelda3::zscream::kTile8CollisionCount = 512
inlineconstexpr

Definition at line 22 of file zscream_custom_layout.h.