17 std::cerr <<
"Failed to load ROM file" << std::endl;
21 std::cout <<
"// Vanilla ROM values extracted from zelda3.sfc" << std::endl;
22 std::cout <<
"// Generated on " << __DATE__ <<
" " << __TIME__ << std::endl;
23 std::cout << std::endl;
27 std::cout <<
"constexpr uint8_t kVanillaASMVersion = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)asm_version <<
";" << std::endl;
28 std::cout << std::endl;
31 std::cout <<
"// Area graphics for first 10 maps" << std::endl;
32 for (
int i = 0; i < 10; i++) {
34 std::cout <<
"constexpr uint8_t kVanillaAreaGraphics" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)area_gfx <<
";" << std::endl;
36 std::cout << std::endl;
39 std::cout <<
"// Area palettes for first 10 maps" << std::endl;
40 for (
int i = 0; i < 10; i++) {
42 std::cout <<
"constexpr uint8_t kVanillaAreaPalette" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)area_pal <<
";" << std::endl;
44 std::cout << std::endl;
47 std::cout <<
"// Message IDs for first 10 maps" << std::endl;
48 for (
int i = 0; i < 10; i++) {
50 std::cout <<
"constexpr uint16_t kVanillaMessageId" << i <<
" = 0x" << std::hex << std::setw(4) << std::setfill(
'0') << message_id <<
";" << std::endl;
52 std::cout << std::endl;
55 std::cout <<
"// Screen sizes for first 10 maps" << std::endl;
56 for (
int i = 0; i < 10; i++) {
58 std::cout <<
"constexpr uint8_t kVanillaScreenSize" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)screen_size <<
";" << std::endl;
60 std::cout << std::endl;
63 std::cout <<
"// Sprite sets for first 10 maps" << std::endl;
64 for (
int i = 0; i < 10; i++) {
66 std::cout <<
"constexpr uint8_t kVanillaSpriteSet" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)sprite_set <<
";" << std::endl;
68 std::cout << std::endl;
71 std::cout <<
"// Sprite palettes for first 10 maps" << std::endl;
72 for (
int i = 0; i < 10; i++) {
74 std::cout <<
"constexpr uint8_t kVanillaSpritePalette" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)sprite_pal <<
";" << std::endl;
76 std::cout << std::endl;
79 std::cout <<
"// Music for first 10 maps" << std::endl;
80 for (
int i = 0; i < 10; i++) {
82 std::cout <<
"constexpr uint8_t kVanillaMusic" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)music <<
";" << std::endl;
84 std::cout << std::endl;
87 std::cout <<
"// Special world graphics and palettes" << std::endl;
88 for (
int i = 0; i < 5; i++) {
91 std::cout <<
"constexpr uint8_t kVanillaSpecialGfx" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)special_gfx <<
";" << std::endl;
92 std::cout <<
"constexpr uint8_t kVanillaSpecialPal" << i <<
" = 0x" << std::hex << std::setw(2) << std::setfill(
'0') << (int)special_pal <<
";" << std::endl;