changed tile.h and tile16.cc to snes_tile

This commit is contained in:
Justin Scofield
2022-07-11 20:39:08 -04:00
parent 1fd875421f
commit 08590d824d
14 changed files with 46 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
include_directories(Library/cmake)
include_directories(lib/cmake)
include_directories(/usr/local/Cellar/libpng/1.6.37/include/libpng16/)
# find libraries --------------------------------------------------------------------------------------------------
@@ -49,7 +49,7 @@ add_executable(
app/core/constants.cc
app/core/controller.cc
app/gfx/bitmap.cc
app/gfx/tile16.cc
app/gfx/snes_tile.cc
app/gfx/snes_palette.cc
app/zelda3/overworld.cc
app/zelda3/overworld_map.cc

View File

@@ -11,7 +11,7 @@
#include "app/editor/dungeon_editor.h"
#include "app/editor/overworld_editor.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
#include "gui/canvas.h"
#include "gui/icons.h"

View File

@@ -12,7 +12,7 @@
#include "app/editor/dungeon_editor.h"
#include "app/editor/overworld_editor.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
#include "gui/canvas.h"
#include "gui/icons.h"

View File

@@ -6,7 +6,7 @@
#include "app/gfx/bitmap.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/zelda3/overworld.h"
#include "gui/icons.h"

View File

@@ -5,7 +5,7 @@
#include "app/gfx/bitmap.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/zelda3/overworld.h"
#include "gui/icons.h"

View File

@@ -5,12 +5,27 @@
#include <vector>
#include "app/core/constants.h"
#include "tile.h"
#include "snes_tile.h"
namespace yaze {
namespace app {
namespace gfx {
TileInfo GetTilesInfo(ushort tile) {
// vhopppcc cccccccc
ushort o = 0;
ushort v = 0;
ushort h = 0;
auto tid = (ushort)(tile & 0x3FF);
auto p = (uchar)((tile >> 10) & 0x07);
o = (ushort)((tile & 0x2000) >> 13);
h = (ushort)((tile & 0x4000) >> 14);
v = (ushort)((tile & 0x8000) >> 15);
return TileInfo(tid, p, v, h, o);
}
void BuildTiles16Gfx(uchar *mapblockset16, uchar *currentOWgfx16Ptr,
std::vector<Tile16> &allTiles) {
uchar *gfx16Data = mapblockset16;

View File

@@ -79,6 +79,7 @@ class Tile16 {
}
};
TileInfo GetTilesInfo(ushort tile);
void BuildTiles16Gfx(uchar* mapblockset16, uchar* currentOWgfx16Ptr,
std::vector<Tile16>& allTiles);
void CopyTile16(int x, int y, int xx, int yy, int offset, TileInfo tile,

View File

@@ -13,7 +13,7 @@
#include <vector>
#include "app/core/constants.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
namespace yaze {
namespace app {

View File

@@ -15,7 +15,7 @@
#include "app/core/common.h"
#include "app/core/constants.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
namespace yaze {
namespace app {

View File

@@ -1,6 +1,6 @@
#include "overworld.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
namespace yaze {
@@ -10,28 +10,15 @@ namespace zelda3 {
using namespace core;
using namespace gfx;
static TileInfo GetTilesInfo(ushort tile) {
// vhopppcc cccccccc
ushort o = 0;
ushort v = 0;
ushort h = 0;
auto tid = (ushort)(tile & 0x3FF);
auto p = (uchar)((tile >> 10) & 0x07);
o = (ushort)((tile & 0x2000) >> 13);
h = (ushort)((tile & 0x4000) >> 14);
v = (ushort)((tile & 0x8000) >> 15);
return TileInfo(tid, p, v, h, o);
}
void Overworld::Load(ROM& rom, uchar* allGfxPtr) {
rom_ = rom;
allGfx16Ptr = allGfxPtr;
overworldMapPointer = std::make_shared<uchar>(0x40000);
mapblockset16 = std::make_shared<uchar>(1048576);
currentOWgfx16Ptr = std::make_shared<uchar>((128 * 512) / 2);
overworldMapPointer = std::make_shared<uchar[]>(0x40000);
mapblockset16 = std::make_shared<uchar[]>(1048576);
currentOWgfx16Ptr = std::make_shared<uchar[]>((128 * 512) / 2);
AssembleMap32Tiles();
AssembleMap16Tiles();

View File

@@ -9,7 +9,7 @@
#include "app/core/constants.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
#include "app/zelda3/overworld_map.h"

View File

@@ -1,10 +1,13 @@
#include "overworld_map.h"
#include <imgui/imgui.h>
#include <cstddef>
#include <memory>
#include "app/core/common.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
namespace yaze {

View File

@@ -3,8 +3,9 @@
#include <cstddef>
#include <memory>
#include "app/core/common.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/tile.h"
#include "app/gfx/snes_tile.h"
#include "app/rom.h"
namespace yaze {
@@ -15,13 +16,13 @@ using ushort = unsigned short;
class OverworldMap {
public:
int parent_ = 0;
int index_ = 0;
int message_id_ = 0;
int gfx_ = 0;
int palette_ = 0;
bool initialized_ = false;
bool large_map_ = false;
int parent_ = 0;
int index_ = 0;
int message_id_ = 0;
int gfx_ = 0;
int palette_ = 0;
bool initialized_ = false;
bool large_map_ = false;
uchar sprite_graphics_[3];
uchar sprite_palette_[3];
uchar musics[4];
@@ -37,8 +38,7 @@ class OverworldMap {
uchar* staticgfx = new uchar[16];
std::vector<std::vector<ushort>> tiles_used_;
OverworldMap(ROM& rom, const std::vector<gfx::Tile16>& tiles16,
int index);
OverworldMap(ROM& rom, const std::vector<gfx::Tile16>& tiles16, int index);
void BuildMap(uchar* mapParent, int count, int gameState,
std::vector<std::vector<ushort>>& allmapsTilesLW,
std::vector<std::vector<ushort>>& allmapsTilesDW,