housekeeping

This commit is contained in:
Justin Scofield
2022-06-20 14:49:02 -04:00
parent 9c7c9bc1e4
commit f7d793ecc2
19 changed files with 84 additions and 56 deletions

View File

@@ -37,10 +37,11 @@ add_executable(
gui/editor/editor.cc
gui/editor/overworld_editor.cc
app/rom.cc
app/core/constants.cc
app/core/controller.cc
app/gfx/bitmap.cc
app/gfx/tile.cc
app/gfx/palette.cc
app/gfx/snes_palette.cc
app/zelda3/overworld.cc
app/zelda3/overworld_map.cc
# GUI libraries
@@ -67,7 +68,6 @@ target_include_directories(
/
Library/
app/
gui/
"C:/msys64/mingw64/include/libpng16"
"C:/msys64/mingw64/include/SDL2"
"C:/msys64/mingw64/include"

View File

@@ -0,0 +1 @@
#include "app/core/constants.h"

View File

@@ -1,8 +1,10 @@
#include "bitmap.h"
#include <SDL2/SDL.h>
#include <rommapping.h>
#include "rom.h"
#include "app/core/constants.h"
#include "app/rom.h"
namespace yaze {
namespace app {
@@ -28,7 +30,7 @@ int GetPCGfxAddress(char *romData, char id) {
char gfxGamePointer3 = romData[gfxPointer3 + id];
return lorom_snes_to_pc(
AddressFromBytes(gfxGamePointer1, gfxGamePointer2, gfxGamePointer3),
yaze::app::rom::AddressFromBytes(gfxGamePointer1, gfxGamePointer2, gfxGamePointer3),
info1);
}

View File

@@ -2,8 +2,10 @@
#define YAZE_APP_UTILS_BITMAP_H
#include <SDL2/SDL.h>
#include <rommapping.h>
#include "Core/constants.h"
#include "app/core/constants.h"
#include "app/rom.h"
namespace yaze {
namespace app {

View File

@@ -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 <cstring>
#include <iostream>
#include <memory>
#include <vector>
namespace yaze {
namespace app {
@@ -57,7 +67,7 @@ SNESPalette::SNESPalette(const unsigned char* snes_pal) {
size_ = sizeof(snes_pal) / 2;
for (unsigned i = 0; i < sizeof(snes_pal); i += 2) {
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];
m_color mColor = convertcolor_snes_to_rgb(col.snes);
col.rgb = ImVec4(mColor.red, mColor.green, mColor.blue, 1.f);

View File

@@ -7,6 +7,8 @@
#include <tile.h>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <memory>
#include <vector>

View File

@@ -13,8 +13,8 @@
#include <unordered_map>
#include <vector>
#include "app/core/constants.h"
#include "app/gfx/palette.h"
#include "app/gfx/snes_palette.h"
namespace yaze {
namespace app {

View File

@@ -14,13 +14,17 @@
#include <unordered_map>
#include <vector>
#include "app/core/constants.h"
#include "app/gfx/palette.h"
#include "app/gfx/snes_palette.h"
namespace yaze {
namespace app {
namespace gfx {
using ushort = unsigned short;
using uchar = unsigned char;
using ulong = unsigned long;
using uint = unsigned int;
// vhopppcc cccccccc
// [0, 1]
// [2, 3]

View File

@@ -18,7 +18,7 @@
namespace yaze {
namespace app {
namespace rom {
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3) {
return (addr1 << 16) | (addr2 << 8) | addr3;
}
@@ -301,6 +301,6 @@ SDL_Texture *ROM::DrawgfxSheet(int offset) {
}
return sheet_texture;
}
} // namespace rom
} // namespace app
} // namespace yaze

View File

@@ -19,7 +19,7 @@
namespace yaze {
namespace app {
namespace rom {
int AddressFromBytes(uchar addr1, uchar addr2, uchar addr3);
class ROM {
@@ -68,6 +68,7 @@ class ROM {
std::shared_ptr<SDL_Renderer> sdl_renderer_;
};
} // namespace rom
} // namespace app
} // namespace yaze

View File

@@ -1,7 +1,7 @@
#include "overworld.h"
#include "gfx/tile.h"
#include "rom.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
namespace yaze {
namespace app {
@@ -41,7 +41,7 @@ static TileInfo GetTilesInfo(ushort tile) {
return TileInfo(tid, p, v, h, o);
}
void Overworld::Load(ROM& rom) {
void Overworld::Load(app::rom::ROM& rom) {
rom_ = rom;
for (int i = 0; i < 0x2B; i++) {
tileLeftEntrance.push_back(constants::overworldEntranceAllowedTilesLeft +

View File

@@ -6,11 +6,11 @@
#include <memory>
#include <vector>
#include "Core/constants.h"
#include "gfx/bitmap.h"
#include "gfx/tile.h"
#include "overworld_map.h"
#include "rom.h"
#include "app/core/constants.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
#include "app/zelda3/overworld_map.h"
namespace yaze {
namespace app {
@@ -21,7 +21,7 @@ class Overworld {
Overworld() = default;
~Overworld();
void Load(ROM& rom);
void Load(app::rom::ROM& rom);
char* overworldMapPointer = new char[0x40000];
gfx::Bitmap* overworldMapBitmap;
@@ -30,7 +30,7 @@ class Overworld {
gfx::Bitmap* owactualMapBitmap;
private:
ROM rom_;
app::rom::ROM rom_;
int gameState = 1;
bool isLoaded = false;
uchar mapParent[160];

View File

@@ -1,7 +1,11 @@
#include "overworld_map.h"
#include "gfx/tile.h"
#include "rom.h"
#include <cstddef>
#include <memory>
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
namespace yaze {
namespace app {
@@ -10,7 +14,7 @@ namespace zelda3 {
using namespace core;
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)
: rom_(rom), index(index), tiles16_(tiles16), parent(index) {
if (index != 0x80) {

View File

@@ -3,9 +3,9 @@
#include <cstddef>
#include <memory>
#include "gfx/bitmap.h"
#include "gfx/tile.h"
#include "rom.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
namespace yaze {
namespace app {
@@ -37,12 +37,12 @@ class OverworldMap {
ushort** tilesUsed;
bool needRefresh = false;
ROM rom_;
app::rom::ROM rom_;
uchar* currentOWgfx16Ptr = new uchar[(128 * 512) / 2];
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,
ushort** allmapsTilesLW, ushort** allmapsTilesDW,
ushort** allmapsTilesSP);

View File

@@ -6,13 +6,13 @@
#include <imgui/imgui_memory_editor.h>
#include <imgui/misc/cpp/imgui_stdlib.h>
#include "core/constants.h"
#include "gfx/palette.h"
#include "gfx/tile.h"
#include "app/core/constants.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
#include "gui/editor/overworld_editor.h"
#include "gui/icons.h"
#include "gui/input.h"
#include "rom.h"
namespace yaze {
namespace gui {
@@ -518,6 +518,6 @@ void Editor::DrawHUDEditor() {
}
}
} // namespace Editor
} // namespace app
} // namespace editor
} // namespace gui
} // namespace yaze

View File

@@ -7,12 +7,12 @@
#include <imgui/imgui_memory_editor.h>
#include <imgui/misc/cpp/imgui_stdlib.h>
#include "core/constants.h"
#include "gfx/tile.h"
#include "app/core/constants.h"
#include "app/gfx/tile.h"
#include "app/rom.h"
#include "gui/editor/overworld_editor.h"
#include "gui/icons.h"
#include "gui/input.h"
#include "rom.h"
namespace yaze {
namespace gui {
@@ -45,7 +45,7 @@ class Editor {
void *rom_data_;
bool is_loaded_ = true;
app::ROM rom_;
app::rom::ROM rom_;
TextEditor asm_editor_;
TextEditor::LanguageDefinition language_65816_;
OverworldEditor overworld_editor_;
@@ -66,7 +66,7 @@ class Editor {
};
} // namespace editor
} // namespace app
} // namespace gui
} // namespace yaze
#endif // YAZE_APP_VIEW_EDITOR_H

View File

@@ -4,11 +4,12 @@
#include <cmath>
#include "gfx/bitmap.h"
#include "gfx/tile.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/zelda3/overworld.h"
#include "gui/icons.h"
// 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
// same sheet size 128x32) have a code that convert PC address to SNES and
@@ -31,7 +32,7 @@ namespace yaze {
namespace gui {
namespace editor {
void OverworldEditor::SetupROM(app::ROM &rom) { rom_ = rom; }
void OverworldEditor::SetupROM(app::rom::ROM &rom) { rom_ = rom; }
void OverworldEditor::Update() {
if (rom_.isLoaded()) {
@@ -377,6 +378,6 @@ void OverworldEditor::Loadgfx() {
}
}
} // namespace Editor
} // namespace app
} // namespace editor
} // namespace gui
} // namespace yaze

View File

@@ -1,12 +1,13 @@
#ifndef YAZE_APP_EDITOR_OVERWORLDEDITOR_H
#define YAZE_APP_EDITOR_OVERWORLDEDITOR_H
#include <imgui/imgui.h>
#include <imgui.h>
#include "gfx/palette.h"
#include "gfx/tile.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/zelda3/overworld.h"
#include "gui/icons.h"
#include "zelda3/overworld.h"
namespace yaze {
namespace gui {
@@ -16,7 +17,7 @@ static constexpr unsigned int k4BPP = 4;
class OverworldEditor {
public:
void SetupROM(app::ROM &rom);
void SetupROM(app::rom::ROM &rom);
void Update();
private:
@@ -29,7 +30,7 @@ class OverworldEditor {
void Loadgfx();
app::ROM rom_;
app::rom::ROM rom_;
app::zelda3::Overworld overworld_;
app::gfx::Bitmap allgfxBitmap;
app::gfx::SNESPalette palette_;

View File

@@ -19,7 +19,7 @@ add_executable(
../src/app/rom.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/stdnintendo.c
${SNESHACKING_PATH}/tile.c