housekeeping
This commit is contained in:
@@ -37,10 +37,11 @@ add_executable(
|
|||||||
gui/editor/editor.cc
|
gui/editor/editor.cc
|
||||||
gui/editor/overworld_editor.cc
|
gui/editor/overworld_editor.cc
|
||||||
app/rom.cc
|
app/rom.cc
|
||||||
|
app/core/constants.cc
|
||||||
app/core/controller.cc
|
app/core/controller.cc
|
||||||
app/gfx/bitmap.cc
|
app/gfx/bitmap.cc
|
||||||
app/gfx/tile.cc
|
app/gfx/tile.cc
|
||||||
app/gfx/palette.cc
|
app/gfx/snes_palette.cc
|
||||||
app/zelda3/overworld.cc
|
app/zelda3/overworld.cc
|
||||||
app/zelda3/overworld_map.cc
|
app/zelda3/overworld_map.cc
|
||||||
# GUI libraries
|
# GUI libraries
|
||||||
@@ -67,7 +68,6 @@ target_include_directories(
|
|||||||
/
|
/
|
||||||
Library/
|
Library/
|
||||||
app/
|
app/
|
||||||
gui/
|
|
||||||
"C:/msys64/mingw64/include/libpng16"
|
"C:/msys64/mingw64/include/libpng16"
|
||||||
"C:/msys64/mingw64/include/SDL2"
|
"C:/msys64/mingw64/include/SDL2"
|
||||||
"C:/msys64/mingw64/include"
|
"C:/msys64/mingw64/include"
|
||||||
|
|||||||
1
src/app/core/constants.cc
Normal file
1
src/app/core/constants.cc
Normal file
@@ -0,0 +1 @@
|
|||||||
|
#include "app/core/constants.h"
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
#include "bitmap.h"
|
#include "bitmap.h"
|
||||||
|
|
||||||
|
#include <SDL2/SDL.h>
|
||||||
#include <rommapping.h>
|
#include <rommapping.h>
|
||||||
|
|
||||||
#include "rom.h"
|
#include "app/core/constants.h"
|
||||||
|
#include "app/rom.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -28,7 +30,7 @@ int GetPCGfxAddress(char *romData, char id) {
|
|||||||
char gfxGamePointer3 = romData[gfxPointer3 + id];
|
char gfxGamePointer3 = romData[gfxPointer3 + id];
|
||||||
|
|
||||||
return lorom_snes_to_pc(
|
return lorom_snes_to_pc(
|
||||||
AddressFromBytes(gfxGamePointer1, gfxGamePointer2, gfxGamePointer3),
|
yaze::app::rom::AddressFromBytes(gfxGamePointer1, gfxGamePointer2, gfxGamePointer3),
|
||||||
info1);
|
info1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,10 @@
|
|||||||
#define YAZE_APP_UTILS_BITMAP_H
|
#define YAZE_APP_UTILS_BITMAP_H
|
||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <SDL2/SDL.h>
|
||||||
|
#include <rommapping.h>
|
||||||
|
|
||||||
#include "Core/constants.h"
|
#include "app/core/constants.h"
|
||||||
|
#include "app/rom.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
|
|||||||
@@ -1,7 +1,17 @@
|
|||||||
#include "palette.h"
|
#include "snes_palette.h"
|
||||||
|
|
||||||
|
#include <SDL2/SDL.h>
|
||||||
|
#include <imgui/imgui.h>
|
||||||
|
#include <palette.h>
|
||||||
|
#include <tile.h>
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
#include <memory>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -57,7 +67,7 @@ SNESPalette::SNESPalette(const unsigned char* snes_pal) {
|
|||||||
size_ = sizeof(snes_pal) / 2;
|
size_ = sizeof(snes_pal) / 2;
|
||||||
for (unsigned i = 0; i < sizeof(snes_pal); i += 2) {
|
for (unsigned i = 0; i < sizeof(snes_pal); i += 2) {
|
||||||
SNESColor col;
|
SNESColor col;
|
||||||
col.snes = snes_pal[i + 1] << (uint16_t) 8;
|
col.snes = snes_pal[i + 1] << (uint16_t)8;
|
||||||
col.snes = col.snes | snes_pal[i];
|
col.snes = col.snes | snes_pal[i];
|
||||||
m_color mColor = convertcolor_snes_to_rgb(col.snes);
|
m_color mColor = convertcolor_snes_to_rgb(col.snes);
|
||||||
col.rgb = ImVec4(mColor.red, mColor.green, mColor.blue, 1.f);
|
col.rgb = ImVec4(mColor.red, mColor.green, mColor.blue, 1.f);
|
||||||
@@ -7,6 +7,8 @@
|
|||||||
#include <tile.h>
|
#include <tile.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <cstring>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
@@ -13,8 +13,8 @@
|
|||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "app/core/constants.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
#include "app/gfx/palette.h"
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
|
|||||||
@@ -14,13 +14,17 @@
|
|||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "app/core/constants.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
#include "app/gfx/palette.h"
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
namespace gfx {
|
namespace gfx {
|
||||||
|
|
||||||
|
using ushort = unsigned short;
|
||||||
|
using uchar = unsigned char;
|
||||||
|
using ulong = unsigned long;
|
||||||
|
using uint = unsigned int;
|
||||||
|
|
||||||
// vhopppcc cccccccc
|
// vhopppcc cccccccc
|
||||||
// [0, 1]
|
// [0, 1]
|
||||||
// [2, 3]
|
// [2, 3]
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
|
namespace rom {
|
||||||
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3) {
|
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3) {
|
||||||
return (addr1 << 16) | (addr2 << 8) | addr3;
|
return (addr1 << 16) | (addr2 << 8) | addr3;
|
||||||
}
|
}
|
||||||
@@ -301,6 +301,6 @@ SDL_Texture *ROM::DrawgfxSheet(int offset) {
|
|||||||
}
|
}
|
||||||
return sheet_texture;
|
return sheet_texture;
|
||||||
}
|
}
|
||||||
|
} // namespace rom
|
||||||
} // namespace app
|
} // namespace app
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
|
namespace rom {
|
||||||
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3);
|
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3);
|
||||||
|
|
||||||
class ROM {
|
class ROM {
|
||||||
@@ -68,6 +68,7 @@ class ROM {
|
|||||||
std::shared_ptr<SDL_Renderer> sdl_renderer_;
|
std::shared_ptr<SDL_Renderer> sdl_renderer_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // namespace rom
|
||||||
} // namespace app
|
} // namespace app
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
|
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/tile.h"
|
||||||
#include "rom.h"
|
#include "app/rom.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -41,7 +41,7 @@ static TileInfo GetTilesInfo(ushort tile) {
|
|||||||
return TileInfo(tid, p, v, h, o);
|
return TileInfo(tid, p, v, h, o);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Overworld::Load(ROM& rom) {
|
void Overworld::Load(app::rom::ROM& rom) {
|
||||||
rom_ = rom;
|
rom_ = rom;
|
||||||
for (int i = 0; i < 0x2B; i++) {
|
for (int i = 0; i < 0x2B; i++) {
|
||||||
tileLeftEntrance.push_back(constants::overworldEntranceAllowedTilesLeft +
|
tileLeftEntrance.push_back(constants::overworldEntranceAllowedTilesLeft +
|
||||||
|
|||||||
@@ -6,11 +6,11 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "Core/constants.h"
|
#include "app/core/constants.h"
|
||||||
#include "gfx/bitmap.h"
|
#include "app/gfx/bitmap.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/tile.h"
|
||||||
#include "overworld_map.h"
|
#include "app/rom.h"
|
||||||
#include "rom.h"
|
#include "app/zelda3/overworld_map.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -21,7 +21,7 @@ class Overworld {
|
|||||||
Overworld() = default;
|
Overworld() = default;
|
||||||
~Overworld();
|
~Overworld();
|
||||||
|
|
||||||
void Load(ROM& rom);
|
void Load(app::rom::ROM& rom);
|
||||||
|
|
||||||
char* overworldMapPointer = new char[0x40000];
|
char* overworldMapPointer = new char[0x40000];
|
||||||
gfx::Bitmap* overworldMapBitmap;
|
gfx::Bitmap* overworldMapBitmap;
|
||||||
@@ -30,7 +30,7 @@ class Overworld {
|
|||||||
gfx::Bitmap* owactualMapBitmap;
|
gfx::Bitmap* owactualMapBitmap;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ROM rom_;
|
app::rom::ROM rom_;
|
||||||
int gameState = 1;
|
int gameState = 1;
|
||||||
bool isLoaded = false;
|
bool isLoaded = false;
|
||||||
uchar mapParent[160];
|
uchar mapParent[160];
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
#include "overworld_map.h"
|
#include "overworld_map.h"
|
||||||
|
|
||||||
#include "gfx/tile.h"
|
#include <cstddef>
|
||||||
#include "rom.h"
|
#include <memory>
|
||||||
|
|
||||||
|
#include "app/gfx/bitmap.h"
|
||||||
|
#include "app/gfx/tile.h"
|
||||||
|
#include "app/rom.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -10,7 +14,7 @@ namespace zelda3 {
|
|||||||
using namespace core;
|
using namespace core;
|
||||||
using namespace gfx;
|
using namespace gfx;
|
||||||
|
|
||||||
OverworldMap::OverworldMap(ROM& rom, const std::vector<gfx::Tile16> tiles16,
|
OverworldMap::OverworldMap(app::rom::ROM& rom, const std::vector<gfx::Tile16> tiles16,
|
||||||
uchar index)
|
uchar index)
|
||||||
: rom_(rom), index(index), tiles16_(tiles16), parent(index) {
|
: rom_(rom), index(index), tiles16_(tiles16), parent(index) {
|
||||||
if (index != 0x80) {
|
if (index != 0x80) {
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "gfx/bitmap.h"
|
#include "app/gfx/bitmap.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/tile.h"
|
||||||
#include "rom.h"
|
#include "app/rom.h"
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace app {
|
namespace app {
|
||||||
@@ -37,12 +37,12 @@ class OverworldMap {
|
|||||||
ushort** tilesUsed;
|
ushort** tilesUsed;
|
||||||
|
|
||||||
bool needRefresh = false;
|
bool needRefresh = false;
|
||||||
ROM rom_;
|
app::rom::ROM rom_;
|
||||||
|
|
||||||
uchar* currentOWgfx16Ptr = new uchar[(128 * 512) / 2];
|
uchar* currentOWgfx16Ptr = new uchar[(128 * 512) / 2];
|
||||||
std::vector<gfx::Tile16> tiles16_;
|
std::vector<gfx::Tile16> tiles16_;
|
||||||
|
|
||||||
OverworldMap(ROM& rom, const std::vector<gfx::Tile16> tiles16, uchar index);
|
OverworldMap(app::rom::ROM& rom, const std::vector<gfx::Tile16> tiles16, uchar index);
|
||||||
void BuildMap(uchar* mapParent, int count, int gameState,
|
void BuildMap(uchar* mapParent, int count, int gameState,
|
||||||
ushort** allmapsTilesLW, ushort** allmapsTilesDW,
|
ushort** allmapsTilesLW, ushort** allmapsTilesDW,
|
||||||
ushort** allmapsTilesSP);
|
ushort** allmapsTilesSP);
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
#include <imgui/imgui_memory_editor.h>
|
#include <imgui/imgui_memory_editor.h>
|
||||||
#include <imgui/misc/cpp/imgui_stdlib.h>
|
#include <imgui/misc/cpp/imgui_stdlib.h>
|
||||||
|
|
||||||
#include "core/constants.h"
|
#include "app/core/constants.h"
|
||||||
#include "gfx/palette.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/tile.h"
|
||||||
|
#include "app/rom.h"
|
||||||
#include "gui/editor/overworld_editor.h"
|
#include "gui/editor/overworld_editor.h"
|
||||||
#include "gui/icons.h"
|
#include "gui/icons.h"
|
||||||
#include "gui/input.h"
|
#include "gui/input.h"
|
||||||
#include "rom.h"
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace gui {
|
namespace gui {
|
||||||
@@ -518,6 +518,6 @@ void Editor::DrawHUDEditor() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Editor
|
} // namespace editor
|
||||||
} // namespace app
|
} // namespace gui
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
@@ -7,12 +7,12 @@
|
|||||||
#include <imgui/imgui_memory_editor.h>
|
#include <imgui/imgui_memory_editor.h>
|
||||||
#include <imgui/misc/cpp/imgui_stdlib.h>
|
#include <imgui/misc/cpp/imgui_stdlib.h>
|
||||||
|
|
||||||
#include "core/constants.h"
|
#include "app/core/constants.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/tile.h"
|
||||||
|
#include "app/rom.h"
|
||||||
#include "gui/editor/overworld_editor.h"
|
#include "gui/editor/overworld_editor.h"
|
||||||
#include "gui/icons.h"
|
#include "gui/icons.h"
|
||||||
#include "gui/input.h"
|
#include "gui/input.h"
|
||||||
#include "rom.h"
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace gui {
|
namespace gui {
|
||||||
@@ -45,7 +45,7 @@ class Editor {
|
|||||||
void *rom_data_;
|
void *rom_data_;
|
||||||
bool is_loaded_ = true;
|
bool is_loaded_ = true;
|
||||||
|
|
||||||
app::ROM rom_;
|
app::rom::ROM rom_;
|
||||||
TextEditor asm_editor_;
|
TextEditor asm_editor_;
|
||||||
TextEditor::LanguageDefinition language_65816_;
|
TextEditor::LanguageDefinition language_65816_;
|
||||||
OverworldEditor overworld_editor_;
|
OverworldEditor overworld_editor_;
|
||||||
@@ -66,7 +66,7 @@ class Editor {
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace editor
|
} // namespace editor
|
||||||
} // namespace app
|
} // namespace gui
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
|
|
||||||
#endif // YAZE_APP_VIEW_EDITOR_H
|
#endif // YAZE_APP_VIEW_EDITOR_H
|
||||||
@@ -4,11 +4,12 @@
|
|||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
#include "gfx/bitmap.h"
|
#include "app/gfx/bitmap.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
|
#include "app/gfx/tile.h"
|
||||||
|
#include "app/zelda3/overworld.h"
|
||||||
#include "gui/icons.h"
|
#include "gui/icons.h"
|
||||||
|
|
||||||
|
|
||||||
// first step would be to decompress all gfx data from the game
|
// first step would be to decompress all gfx data from the game
|
||||||
// (in alttp that's easy they're all located in the same location all the
|
// (in alttp that's easy they're all located in the same location all the
|
||||||
// same sheet size 128x32) have a code that convert PC address to SNES and
|
// same sheet size 128x32) have a code that convert PC address to SNES and
|
||||||
@@ -31,7 +32,7 @@ namespace yaze {
|
|||||||
namespace gui {
|
namespace gui {
|
||||||
namespace editor {
|
namespace editor {
|
||||||
|
|
||||||
void OverworldEditor::SetupROM(app::ROM &rom) { rom_ = rom; }
|
void OverworldEditor::SetupROM(app::rom::ROM &rom) { rom_ = rom; }
|
||||||
|
|
||||||
void OverworldEditor::Update() {
|
void OverworldEditor::Update() {
|
||||||
if (rom_.isLoaded()) {
|
if (rom_.isLoaded()) {
|
||||||
@@ -377,6 +378,6 @@ void OverworldEditor::Loadgfx() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Editor
|
} // namespace editor
|
||||||
} // namespace app
|
} // namespace gui
|
||||||
} // namespace yaze
|
} // namespace yaze
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
#ifndef YAZE_APP_EDITOR_OVERWORLDEDITOR_H
|
#ifndef YAZE_APP_EDITOR_OVERWORLDEDITOR_H
|
||||||
#define YAZE_APP_EDITOR_OVERWORLDEDITOR_H
|
#define YAZE_APP_EDITOR_OVERWORLDEDITOR_H
|
||||||
|
|
||||||
#include <imgui/imgui.h>
|
#include <imgui.h>
|
||||||
|
|
||||||
#include "gfx/palette.h"
|
#include "app/gfx/bitmap.h"
|
||||||
#include "gfx/tile.h"
|
#include "app/gfx/snes_palette.h"
|
||||||
|
#include "app/gfx/tile.h"
|
||||||
|
#include "app/zelda3/overworld.h"
|
||||||
#include "gui/icons.h"
|
#include "gui/icons.h"
|
||||||
#include "zelda3/overworld.h"
|
|
||||||
|
|
||||||
namespace yaze {
|
namespace yaze {
|
||||||
namespace gui {
|
namespace gui {
|
||||||
@@ -16,7 +17,7 @@ static constexpr unsigned int k4BPP = 4;
|
|||||||
|
|
||||||
class OverworldEditor {
|
class OverworldEditor {
|
||||||
public:
|
public:
|
||||||
void SetupROM(app::ROM &rom);
|
void SetupROM(app::rom::ROM &rom);
|
||||||
void Update();
|
void Update();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -29,7 +30,7 @@ class OverworldEditor {
|
|||||||
|
|
||||||
void Loadgfx();
|
void Loadgfx();
|
||||||
|
|
||||||
app::ROM rom_;
|
app::rom::ROM rom_;
|
||||||
app::zelda3::Overworld overworld_;
|
app::zelda3::Overworld overworld_;
|
||||||
app::gfx::Bitmap allgfxBitmap;
|
app::gfx::Bitmap allgfxBitmap;
|
||||||
app::gfx::SNESPalette palette_;
|
app::gfx::SNESPalette palette_;
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ add_executable(
|
|||||||
../src/app/rom.cc
|
../src/app/rom.cc
|
||||||
../src/app/gfx/tile.cc
|
../src/app/gfx/tile.cc
|
||||||
../src/app/gfx/tile.cc
|
../src/app/gfx/tile.cc
|
||||||
../src/app/gfx/palette.cc
|
../src/app/gfx/snes_palette.cc
|
||||||
${SNESHACKING_PATH}/compressions/alttpcompression.c
|
${SNESHACKING_PATH}/compressions/alttpcompression.c
|
||||||
${SNESHACKING_PATH}/compressions/stdnintendo.c
|
${SNESHACKING_PATH}/compressions/stdnintendo.c
|
||||||
${SNESHACKING_PATH}/tile.c
|
${SNESHACKING_PATH}/tile.c
|
||||||
|
|||||||
Reference in New Issue
Block a user