yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
scad_format.h
Go to the documentation of this file.
1#ifndef YAZE_APP_GFX_scad_format_H
2#define YAZE_APP_GFX_scad_format_H
3
4#include <SDL.h>
5
6#include <cstdint>
7#include <cstdlib>
8#include <cstring>
9#include <string>
10#include <unordered_map>
11#include <vector>
12
13#include "absl/status/status.h"
14
15namespace yaze {
16namespace gfx {
17
35struct CgxHeader {
36 char file_type[4];
37 char bit_mode[5];
39 uint32_t header_size;
41 uint8_t bg_obj_flag;
43 uint8_t reserved[0xE3];
44 uint8_t color_path[0x100];
45};
46
47constexpr uint16_t kMatchedBytes[] = {0x4E, 0x41, 0x4B, 0x31, 0x39, 0x38, 0x39};
48constexpr uint16_t kOffsetFromMatchedBytesEnd = 0x1D;
49
53void FindMetastamp();
54
58absl::Status LoadScr(std::string_view filename, uint8_t input_value,
59 std::vector<uint8_t>& map_data);
60
64absl::Status LoadCgx(uint8_t bpp, std::string_view filename,
65 std::vector<uint8_t>& cgx_data,
66 std::vector<uint8_t>& cgx_loaded,
67 std::vector<uint8_t>& cgx_header);
68
72absl::Status DrawScrWithCgx(uint8_t bpp, std::vector<uint8_t>& map_bitmap_data,
73 std::vector<uint8_t>& map_data,
74 std::vector<uint8_t>& cgx_loaded);
75
79std::vector<SDL_Color> DecodeColFile(const std::string_view filename);
80
84absl::Status DecodeObjFile(
85 std::string_view filename, std::vector<uint8_t>& obj_data,
86 std::vector<uint8_t> actual_obj_data,
87 std::unordered_map<std::string, std::vector<uint8_t>> decoded_obj,
88 std::vector<uint8_t>& decoded_extra_obj, int& obj_loaded);
89
90} // namespace gfx
91} // namespace yaze
92
93#endif // YAZE_APP_GFX_scad_format_H
Contains classes for handling graphical data.
Definition bitmap.cc:16
absl::Status DecodeObjFile(std::string_view filename, std::vector< uint8_t > &obj_data, std::vector< uint8_t > actual_obj_data, std::unordered_map< std::string, std::vector< uint8_t > > decoded_obj, std::vector< uint8_t > &decoded_extra_obj, int &obj_loaded)
Decode obj file.
absl::Status LoadScr(std::string_view filename, uint8_t input_value, std::vector< uint8_t > &map_data)
Load Scr file (screen data)
std::vector< SDL_Color > DecodeColFile(const std::string_view filename)
Decode color file.
absl::Status LoadCgx(uint8_t bpp, std::string_view filename, std::vector< uint8_t > &cgx_data, std::vector< uint8_t > &cgx_loaded, std::vector< uint8_t > &cgx_header)
Load Cgx file (graphical content)
absl::Status DrawScrWithCgx(uint8_t bpp, std::vector< uint8_t > &map_data, std::vector< uint8_t > &map_bitmap_data, std::vector< uint8_t > &cgx_loaded)
Draw screen tilemap with graphical data.
void FindMetastamp()
Find metastamp in CGX file.
constexpr uint16_t kMatchedBytes[]
Definition scad_format.h:47
constexpr uint16_t kOffsetFromMatchedBytesEnd
Definition scad_format.h:48
Main namespace for the application.
Definition controller.cc:18
Cgx file header.
Definition scad_format.h:35
uint8_t color_path[0x100]
Definition scad_format.h:44
uint8_t color_palette_number
Definition scad_format.h:42
uint8_t reserved[0xE3]
Definition scad_format.h:43