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
22namespace scad_format {
23
39struct CgxHeader {
40 char file_type[4];
41 char bit_mode[5];
43 uint32_t header_size;
45 uint8_t bg_obj_flag;
47 uint8_t reserved[0xE3];
48 uint8_t color_path[0x100];
49};
50
51constexpr uint16_t kMatchedBytes[] = {0x4E, 0x41, 0x4B, 0x31, 0x39, 0x38, 0x39};
52constexpr uint16_t kOffsetFromMatchedBytesEnd = 0x1D;
53
57void FindMetastamp();
58
62absl::Status LoadScr(std::string_view filename, uint8_t input_value,
63 std::vector<uint8_t>& map_data);
64
68absl::Status LoadCgx(uint8_t bpp, std::string_view filename,
69 std::vector<uint8_t>& cgx_data,
70 std::vector<uint8_t>& cgx_loaded,
71 std::vector<uint8_t>& cgx_header);
72
76absl::Status DrawScrWithCgx(uint8_t bpp, std::vector<uint8_t>& map_bitmap_data,
77 std::vector<uint8_t>& map_data,
78 std::vector<uint8_t>& cgx_loaded);
79
83std::vector<SDL_Color> DecodeColFile(const std::string_view filename);
84
88absl::Status DecodeObjFile(
89 std::string_view filename, std::vector<uint8_t>& obj_data,
90 std::vector<uint8_t> actual_obj_data,
91 std::unordered_map<std::string, std::vector<uint8_t>> decoded_obj,
92 std::vector<uint8_t>& decoded_extra_obj, int& obj_loaded);
93
94} // namespace scad_format
95} // namespace gfx
96} // namespace yaze
97
98#endif // YAZE_APP_GFX_scad_format_H
Loading from prototype SCAD format.
absl::Status LoadScr(std::string_view filename, uint8_t input_value, std::vector< uint8_t > &map_data)
Load Scr file (screen data)
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 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)
constexpr uint16_t kOffsetFromMatchedBytesEnd
Definition scad_format.h:52
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.
std::vector< SDL_Color > DecodeColFile(const std::string_view filename)
Decode color file.
void FindMetastamp()
Find metastamp in CGX file.
constexpr uint16_t kMatchedBytes[]
Definition scad_format.h:51
Contains classes for handling graphical data.
Definition bitmap.cc:16
Main namespace for the application.
Definition controller.cc:18
Cgx file header キャラクタ(.SCH)ファイル ヘッダー情報 アドレス 説明 00000 - 00003 ファイルタイプ "SCH" 00004 - 00008 ビットモード "?...
Definition scad_format.h:39