New tileset & map; todo fix tile sanity check
This commit is contained in:
parent
6568026886
commit
7b2ed8e27b
@ -1,3 +1,6 @@
|
|||||||
|
[Buildset]
|
||||||
|
BuildItems=@Variant(\x00\x00\x00\t\x00\x00\x00\x00\x01\x00\x00\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x00\x1c\x00K\x00a\x00i\x00j\x00u\x00S\x00a\x00v\x00e\x00E\x00a\x00r\x00t\x00h)
|
||||||
|
|
||||||
[CMake]
|
[CMake]
|
||||||
Build Directory Count=1
|
Build Directory Count=1
|
||||||
Current Build Directory Index-Host System=0
|
Current Build Directory Index-Host System=0
|
||||||
@ -9,7 +12,7 @@ CMake Binary=/usr/bin/cmake
|
|||||||
CMake Executable=/usr/bin/cmake
|
CMake Executable=/usr/bin/cmake
|
||||||
Environment Profile=
|
Environment Profile=
|
||||||
Extra Arguments=
|
Extra Arguments=
|
||||||
Install Directory=
|
Install Directory=/usr/local
|
||||||
Runtime=Host System
|
Runtime=Host System
|
||||||
|
|
||||||
[Launch]
|
[Launch]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ "columns":10,
|
{ "columns":10,
|
||||||
"image":"..\/..\/..\/Projects\/BeagleRescue\/assets\/maps\/br-tiles.png",
|
"image":"br-tiles.png",
|
||||||
"imageheight":80,
|
"imageheight":80,
|
||||||
"imagewidth":160,
|
"imagewidth":160,
|
||||||
"margin":0,
|
"margin":0,
|
||||||
@ -14,7 +14,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -40,7 +39,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -66,7 +64,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -92,7 +89,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -118,7 +114,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -144,7 +139,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -170,7 +164,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -196,7 +189,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -222,7 +214,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -248,7 +239,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -285,7 +275,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
@ -311,7 +300,6 @@
|
|||||||
"objectgroup":
|
"objectgroup":
|
||||||
{
|
{
|
||||||
"draworder":"index",
|
"draworder":"index",
|
||||||
"id":2,
|
|
||||||
"name":"",
|
"name":"",
|
||||||
"objects":[
|
"objects":[
|
||||||
{
|
{
|
||||||
|
48
assets/maps/kaiju-city-map.json
Normal file
48
assets/maps/kaiju-city-map.json
Normal file
File diff suppressed because one or more lines are too long
@ -5,11 +5,75 @@
|
|||||||
},
|
},
|
||||||
"activeFile": "",
|
"activeFile": "",
|
||||||
"expandedProjectPaths": [
|
"expandedProjectPaths": [
|
||||||
|
"."
|
||||||
],
|
],
|
||||||
"fileStates": {
|
"fileStates": {
|
||||||
|
"": {
|
||||||
|
"scaleInDock": 1
|
||||||
|
},
|
||||||
|
"Kaiju-City.tsj": {
|
||||||
|
"dynamicWrapping": true,
|
||||||
|
"scaleInDock": 3
|
||||||
|
},
|
||||||
|
"br-tiles.tsj": {
|
||||||
|
"scaleInDock": 1,
|
||||||
|
"scaleInEditor": 4
|
||||||
|
},
|
||||||
|
"kaiju-city-map.json": {
|
||||||
|
"scale": 3,
|
||||||
|
"selectedLayer": 1,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 86.16666666666666,
|
||||||
|
"y": 10.666666666666671
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kaiju-city-map.json#kaiju-city": {
|
||||||
|
"scaleInDock": 1
|
||||||
|
},
|
||||||
|
"kaiju-city-map.tmj": {
|
||||||
|
"scale": 1.4114285714285715,
|
||||||
|
"selectedLayer": 0,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 232.38866396761134,
|
||||||
|
"y": 218.21862348178138
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kaiju-city-map.tmx": {
|
||||||
|
"scale": 1.4114285714285715,
|
||||||
|
"selectedLayer": 0,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 74.03846153846153,
|
||||||
|
"y": 116.19433198380568
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"kaiju-city.tsj": {
|
||||||
|
"dynamicWrapping": false,
|
||||||
|
"scaleInDock": 1,
|
||||||
|
"scaleInEditor": 1
|
||||||
|
},
|
||||||
|
"kaiju-city.tsx": {
|
||||||
|
"scaleInDock": 3,
|
||||||
|
"scaleInEditor": 4
|
||||||
|
},
|
||||||
|
"kaiju-tokyo.tsj": {
|
||||||
|
"scaleInDock": 1,
|
||||||
|
"scaleInEditor": 4
|
||||||
|
},
|
||||||
|
"testmap.json": {
|
||||||
|
"scale": 0.5880952380952381,
|
||||||
|
"selectedLayer": 0,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 174.29149797570852,
|
||||||
|
"y": 578.1376518218623
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"last.imagePath": "/Users/ayoungblood/Projects/KaijuSaveEarth/assets/maps",
|
"last.exportedFilePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||||
|
"last.externalTilesetPath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||||
|
"last.imagePath": "/home/ayoungblood/projects/KaijuSaveEarth/assets/maps",
|
||||||
|
"lastUsedTilesetExportFilter": "JSON tileset files (*.tsj *.json)",
|
||||||
"map.height": 32,
|
"map.height": 32,
|
||||||
|
"map.lastUsedExportFilter": "All Files (*)",
|
||||||
"map.lastUsedFormat": "json",
|
"map.lastUsedFormat": "json",
|
||||||
"map.layerDataFormat": null,
|
"map.layerDataFormat": null,
|
||||||
"map.tileHeight": 8,
|
"map.tileHeight": 8,
|
||||||
@ -19,7 +83,16 @@
|
|||||||
],
|
],
|
||||||
"project": "kaiju-city-map.tiled-project",
|
"project": "kaiju-city-map.tiled-project",
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
"testmap.json",
|
||||||
|
"kaiju-tokyo.tsj",
|
||||||
|
"kaiju-city-map.json",
|
||||||
|
"kaiju-city.tsx",
|
||||||
|
"br-tiles.tsj",
|
||||||
|
"kaiju-city-map.tmx",
|
||||||
|
"kaiju-city-map.tmj",
|
||||||
|
"kaiju-city.tsj"
|
||||||
],
|
],
|
||||||
|
"tileset.lastUsedFilter": "JSON tileset files (*.tsj *.json)",
|
||||||
"tileset.lastUsedFormat": "json",
|
"tileset.lastUsedFormat": "json",
|
||||||
"tileset.tileSize": {
|
"tileset.tileSize": {
|
||||||
"height": 8,
|
"height": 8,
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 923 B After Width: | Height: | Size: 923 B |
@ -1,14 +1,14 @@
|
|||||||
{ "columns":8,
|
{ "columns":8,
|
||||||
"image":"Kaiju-City-Tileset.png",
|
"image":"kaiju-city-tileset.png",
|
||||||
"imageheight":64,
|
"imageheight":64,
|
||||||
"imagewidth":64,
|
"imagewidth":64,
|
||||||
"margin":0,
|
"margin":0,
|
||||||
"name":"Kaiju-City",
|
"name":"kaiju-city",
|
||||||
"spacing":0,
|
"spacing":0,
|
||||||
"tilecount":64,
|
"tilecount":64,
|
||||||
"tiledversion":"1.10.1",
|
"tiledversion":"1.8.2",
|
||||||
"tileheight":8,
|
"tileheight":8,
|
||||||
"tilewidth":8,
|
"tilewidth":8,
|
||||||
"type":"tileset",
|
"type":"tileset",
|
||||||
"version":"1.10"
|
"version":"1.8"
|
||||||
}
|
}
|
@ -3,5 +3,5 @@
|
|||||||
"WindowName":"Kaiju Save Earth",
|
"WindowName":"Kaiju Save Earth",
|
||||||
"WindowSize":{"w":64,"h":64},
|
"WindowSize":{"w":64,"h":64},
|
||||||
"WindowFullScreen": 0,
|
"WindowFullScreen": 0,
|
||||||
"GlobalScale": 12
|
"GlobalScale": 10
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ public:
|
|||||||
SDL_DestroyTexture(texture);
|
SDL_DestroyTexture(texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
TileMapComponent(std::string mapPath, int gScale, int offsetX, int offsetY)
|
TileMapComponent(std::string mapPath, std::string tsName, std::string tileLayerName, std::string collisionLayerName, int gScale, int offsetX, int offsetY)
|
||||||
{
|
{
|
||||||
// TILESON ~~~~~~~~~~~
|
// TILESON ~~~~~~~~~~~
|
||||||
|
|
||||||
@ -51,18 +51,22 @@ public:
|
|||||||
|
|
||||||
if(map->getStatus() == tson::ParseStatus::OK)
|
if(map->getStatus() == tson::ParseStatus::OK)
|
||||||
{
|
{
|
||||||
tson::Tileset *tileset = map->getTileset("br-tiles");
|
tson::Tileset *tileset = map->getTileset(tsName);
|
||||||
|
std::cout << "tsName: " << tsName << std::endl;
|
||||||
std::string fullPath = tileset->getImage();
|
std::string fullPath = tileset->getImage();
|
||||||
|
std::cout << "fullPath: " << fullPath << std::endl;
|
||||||
size_t charPos = fullPath.find("assets");
|
//size_t charPos = fullPath.find("assets");
|
||||||
fullPath.erase(0,charPos);
|
//fullPath.erase(0,charPos);
|
||||||
tson::Layer *tileLayer = map->getLayer("Tile Layer 1"); //This is a Layer
|
std::string prependPath = std::string("assets/maps/");
|
||||||
|
std::string wholePath = prependPath + fullPath;
|
||||||
|
std::cout << "fullPath: " << wholePath << std::endl;
|
||||||
|
tson::Layer *tileLayer = map->getLayer(tileLayerName); //This is a Layer
|
||||||
std::string texName = tileLayer->getName();
|
std::string texName = tileLayer->getName();
|
||||||
Game::assets->AddTexture(texName, fullPath.c_str());
|
Game::assets->AddTexture(texName, wholePath.c_str());
|
||||||
setTex(texName);
|
setTex(texName);
|
||||||
globalScale = gScale;
|
globalScale = gScale;
|
||||||
|
|
||||||
tson::Layer *collisionLayer = map->getLayer("Collision");
|
tson::Layer *collisionLayer = map->getLayer(collisionLayerName);
|
||||||
|
|
||||||
tilesWide = map->getSize().x;
|
tilesWide = map->getSize().x;
|
||||||
tilesHigh = map->getSize().y;
|
tilesHigh = map->getSize().y;
|
||||||
@ -71,7 +75,7 @@ public:
|
|||||||
Game::levelMap.w = tilesWide*tileWidth*globalScale;
|
Game::levelMap.w = tilesWide*tileWidth*globalScale;
|
||||||
Game::levelMap.h = tilesHigh*tileWidth*globalScale;
|
Game::levelMap.h = tilesHigh*tileWidth*globalScale;
|
||||||
|
|
||||||
|
// printf("First phase tile map init done, moving to Tileset\n");
|
||||||
// =========== Setup Tile Set ===========
|
// =========== Setup Tile Set ===========
|
||||||
|
|
||||||
tileSetTotal = tileset->getTileCount();
|
tileSetTotal = tileset->getTileCount();
|
||||||
@ -109,7 +113,31 @@ public:
|
|||||||
}
|
}
|
||||||
destRect.w = destRect.h = tileWidth * gScale;
|
destRect.w = destRect.h = tileWidth * gScale;
|
||||||
}
|
}
|
||||||
|
tson::Layer *myLayer = map->getLayer("Tile Layer 1");
|
||||||
|
for (int r = 0;r<map->getSize().y;r++){
|
||||||
|
// Next cycle through each column or tile in that row:
|
||||||
|
for (int c = 0;c<map->getSize().x;c++){
|
||||||
|
int i = r*map->getSize().x+c;
|
||||||
|
int elem = c+r*map->getSize().x;
|
||||||
|
tson::Tile *myTile = myLayer->getTileData(c,r);
|
||||||
|
int tid = myTile->getId()-1;
|
||||||
|
//std::cout << myLayer->getTileData(1,1)->getId() << std::endl;
|
||||||
|
// TextureManager::Draw(texture, tileSet[tid], destRects[elem], SDL_FLIP_NONE);
|
||||||
|
std::cout << "c,r: " << c << ", " << r << std::endl;
|
||||||
|
if(!tid){
|
||||||
|
printf("got nullptr\n");
|
||||||
|
// printf("found valid tid\n");
|
||||||
|
} else {
|
||||||
|
std::cout << "tid: " << tid << std::endl;
|
||||||
|
}
|
||||||
|
//std::cout << " elem: " << elem << std::endl;
|
||||||
|
//std::cout << "i" << i << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// tson::Tile *testTile = myLayer->getTileData(0,4);
|
||||||
|
// int myTid = testTile->getId()-1;
|
||||||
|
printf("Completed tilemap init\n");
|
||||||
|
//std::cout << "destRects.size " << destRects.size() << std::endl;
|
||||||
} else {
|
} else {
|
||||||
printf("Failed to load Tileson map\n");
|
printf("Failed to load Tileson map\n");
|
||||||
std::cout << map->getStatusMessage();
|
std::cout << map->getStatusMessage();
|
||||||
@ -130,7 +158,7 @@ public:
|
|||||||
void draw() override
|
void draw() override
|
||||||
{
|
{
|
||||||
//iterate through rows and columns of the map to draw the tiles
|
//iterate through rows and columns of the map to draw the tiles
|
||||||
// First cycle through rows
|
//First cycle through rows
|
||||||
tson::Layer *myLayer = map->getLayer("Tile Layer 1");
|
tson::Layer *myLayer = map->getLayer("Tile Layer 1");
|
||||||
tson::Layer *collisionLayer = map->getLayer("Collision");
|
tson::Layer *collisionLayer = map->getLayer("Collision");
|
||||||
for (int r = 0;r<map->getSize().y;r++){
|
for (int r = 0;r<map->getSize().y;r++){
|
||||||
@ -139,14 +167,16 @@ public:
|
|||||||
int i = r*map->getSize().x+c;
|
int i = r*map->getSize().x+c;
|
||||||
int elem = c+r*map->getSize().x;
|
int elem = c+r*map->getSize().x;
|
||||||
tson::Tile *myTile = myLayer->getTileData(c,r);
|
tson::Tile *myTile = myLayer->getTileData(c,r);
|
||||||
int tid = myTile->getId()-1;
|
if(myTile){
|
||||||
int tileToDraw = tid;
|
int tid = myTile->getId()-1;
|
||||||
TextureManager::Draw(texture, tileSet[tileToDraw], destRects[elem], SDL_FLIP_NONE);
|
int tileToDraw = tid;
|
||||||
|
TextureManager::Draw(texture, tileSet[tileToDraw], destRects[elem], SDL_FLIP_NONE);
|
||||||
|
}
|
||||||
if (Game::debugMenu){
|
if (Game::debugMenu){
|
||||||
if (collisionLayer->getTileData(c,r)) {
|
// if (collisionLayer->getTileData(c,r)) {
|
||||||
SDL_SetRenderDrawColor(Game::renderer,255,0,255,134);
|
// SDL_SetRenderDrawColor(Game::renderer,255,0,255,134);
|
||||||
SDL_RenderDrawRect(Game::renderer, &destRects[elem]);
|
// SDL_RenderDrawRect(Game::renderer, &destRects[elem]);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -157,51 +157,51 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
|||||||
|
|
||||||
// map = new Map("terrain",globalScale,16);
|
// map = new Map("terrain",globalScale,16);
|
||||||
// std::string myText = "Find lost puppies!\nThey need your help!";
|
// std::string myText = "Find lost puppies!\nThey need your help!";
|
||||||
std::string myText = "Press U to Start";
|
std::string myText = "U to Start";
|
||||||
|
|
||||||
//Set Font and UI NineSlice Sizes here
|
//Set Font and UI NineSlice Sizes here
|
||||||
fontSize = Vector2D(5,5);
|
fontSize = Vector2D(5,5);
|
||||||
nineSliceSize = Vector2D(16,16);
|
nineSliceSize = Vector2D(16,16);
|
||||||
|
|
||||||
uiTextInstructions.addComponent<TransformComponent>(18,22,138*gScale,20*gScale,gScale);
|
uiTextInstructions.addComponent<TransformComponent>(4,4,62*gScale,8*gScale,gScale);
|
||||||
uiTextInstructions.addComponent<UITextComponent>("font",myText,fontSize.x,fontSize.y,gScale);
|
uiTextInstructions.addComponent<UITextComponent>("font",myText,fontSize.x,fontSize.y,gScale);
|
||||||
uiTextInstructions.addGroup(groupUI_Layer1);
|
uiTextInstructions.addGroup(groupUI_Layer1);
|
||||||
|
|
||||||
SDL_Rect myDestRect = SDL_Rect();
|
SDL_Rect myDestRect = SDL_Rect();
|
||||||
myDestRect.x = 12;
|
myDestRect.x = 1;
|
||||||
myDestRect.y = 8;
|
myDestRect.y = 1;
|
||||||
myDestRect.w = 160;
|
myDestRect.w = 62;
|
||||||
myDestRect.h = 40;
|
myDestRect.h = 16;
|
||||||
my9Slice = new UINineSlice("textBox");
|
my9Slice = new UINineSlice("textBox");
|
||||||
my9Slice->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,myDestRect,globalScale,Game::groupUI_Layer0);
|
my9Slice->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,myDestRect,globalScale,Game::groupUI_Layer0);
|
||||||
|
|
||||||
// std::cout << "camera.w " << camera.w << std::endl;
|
// std::cout << "camera.w " << camera.w << std::endl;
|
||||||
|
|
||||||
uiInfo.addComponent<TransformComponent>(camera.w/gScale-94,10,72*gScale,96*gScale,gScale);
|
// uiInfo.addComponent<TransformComponent>(camera.w/gScale-94,10,72*gScale,96*gScale,gScale);
|
||||||
// uiInfo.addComponent<UITextComponent>("font", "CollisionHori: Vert: Jump: P.y : P.dy: YVec: ", fontSize.x,fontSize.y, 1);
|
// uiInfo.addComponent<UITextComponent>("font", "CollisionHori: Vert: Jump: P.y : P.dy: YVec: ", fontSize.x,fontSize.y, 1);
|
||||||
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: Px2: tson: ", fontSize.x,fontSize.y, gScale);
|
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: Px2: tson: ", fontSize.x,fontSize.y, gScale);
|
||||||
uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale);
|
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale);
|
||||||
uiInfo.addGroup(groupUI_Layer3);
|
// uiInfo.addGroup(groupUI_Layer3);
|
||||||
|
//
|
||||||
uiCamXInfo.addComponent<TransformComponent>(camera.w/gScale-48,23,40*gScale,12*gScale,gScale);
|
// uiCamXInfo.addComponent<TransformComponent>(camera.w/gScale-48,23,40*gScale,12*gScale,gScale);
|
||||||
uiCamXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
// uiCamXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||||
uiCamXInfo.addGroup(groupUI_Layer3);
|
// uiCamXInfo.addGroup(groupUI_Layer3);
|
||||||
|
//
|
||||||
uiCamYInfo.addComponent<TransformComponent>(camera.w/gScale-48,36,40*gScale,12*gScale,gScale);
|
// uiCamYInfo.addComponent<TransformComponent>(camera.w/gScale-48,36,40*gScale,12*gScale,gScale);
|
||||||
uiCamYInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
// uiCamYInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||||
uiCamYInfo.addGroup(groupUI_Layer3);
|
// uiCamYInfo.addGroup(groupUI_Layer3);
|
||||||
|
//
|
||||||
uiPlayerXInfo.addComponent<TransformComponent>(camera.w/gScale-49,49,40*gScale,12*gScale,gScale);
|
// uiPlayerXInfo.addComponent<TransformComponent>(camera.w/gScale-49,49,40*gScale,12*gScale,gScale);
|
||||||
uiPlayerXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
// uiPlayerXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||||
uiPlayerXInfo.addGroup(groupUI_Layer3);
|
// uiPlayerXInfo.addGroup(groupUI_Layer3);
|
||||||
|
//
|
||||||
uiPlayerYInfo.addComponent<TransformComponent>(camera.w/gScale-48,62,40*gScale,12*gScale,gScale);
|
// uiPlayerYInfo.addComponent<TransformComponent>(camera.w/gScale-48,62,40*gScale,12*gScale,gScale);
|
||||||
uiPlayerYInfo.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
// uiPlayerYInfo.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||||
uiPlayerYInfo.addGroup(groupUI_Layer3);
|
// uiPlayerYInfo.addGroup(groupUI_Layer3);
|
||||||
|
//
|
||||||
uiBoundary1Info.addComponent<TransformComponent>(camera.w/gScale-48,75,128*gScale,12*gScale,gScale);
|
// uiBoundary1Info.addComponent<TransformComponent>(camera.w/gScale-48,75,128*gScale,12*gScale,gScale);
|
||||||
uiBoundary1Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
// uiBoundary1Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||||
uiBoundary1Info.addGroup(groupUI_Layer3);
|
// uiBoundary1Info.addGroup(groupUI_Layer3);
|
||||||
|
|
||||||
// uiBoundary2Info.addComponent<TransformComponent>(camera.w/gScale-64,88,128*gScale,12*gScale,gScale);
|
// uiBoundary2Info.addComponent<TransformComponent>(camera.w/gScale-64,88,128*gScale,12*gScale,gScale);
|
||||||
// uiBoundary2Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
// uiBoundary2Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||||
@ -212,13 +212,13 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
|||||||
// uiBoundary3Info.addGroup(groupUI_Layer3);
|
// uiBoundary3Info.addGroup(groupUI_Layer3);
|
||||||
|
|
||||||
// debug UI box
|
// debug UI box
|
||||||
SDL_Rect debugBoxRect = SDL_Rect();
|
// SDL_Rect debugBoxRect = SDL_Rect();
|
||||||
debugBoxRect.x = camera.w-(100*gScale);
|
// debugBoxRect.x = camera.w-(100*gScale);
|
||||||
debugBoxRect.y = 4*gScale;
|
// debugBoxRect.y = 4*gScale;
|
||||||
debugBoxRect.w = 98*gScale;
|
// debugBoxRect.w = 98*gScale;
|
||||||
debugBoxRect.h = 112*gScale;
|
// debugBoxRect.h = 112*gScale;
|
||||||
debugBox = new UINineSlice("textBox");
|
// debugBox = new UINineSlice("textBox");
|
||||||
debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2);
|
// debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2);
|
||||||
|
|
||||||
//ecs implementation
|
//ecs implementation
|
||||||
|
|
||||||
@ -234,16 +234,19 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
|||||||
levelMap.x = 0;
|
levelMap.x = 0;
|
||||||
levelMap.y = 0;
|
levelMap.y = 0;
|
||||||
|
|
||||||
gameScene.addComponent<TileMapComponent>("assets/maps/testmap.json",gScale,player.getComponent<TransformComponent>().position.x+player.getComponent<TransformComponent>().width/2,player.getComponent<TransformComponent>().position.y+player.getComponent<TransformComponent>().height/2); //150,100
|
// printf("Trying to load Tilemap\n");
|
||||||
|
gameScene.addComponent<TileMapComponent>("assets/maps/kaiju-city-map.json","kaiju-city","Tile Layer 1","Collision",gScale,player.getComponent<TransformComponent>().position.x+player.getComponent<TransformComponent>().width/2,player.getComponent<TransformComponent>().position.y+player.getComponent<TransformComponent>().height/2); //150,100
|
||||||
gameScene.addGroup(groupMap);
|
gameScene.addGroup(groupMap);
|
||||||
|
// printf("Completed loading Tilemap\n");
|
||||||
|
// std::cout << "LevelMap: " << levelMap.x << ", " << levelMap.y << ", " << levelMap.w << ", " << levelMap.h << std::endl;
|
||||||
|
|
||||||
playerPosition = Vector2D().Zero();
|
playerPosition = Vector2D().Zero();
|
||||||
pVel = Vector2D().Zero();
|
pVel = Vector2D().Zero();
|
||||||
|
|
||||||
puppy.addComponent<TransformComponent>(1024*globalScale,210*globalScale,36,30,globalScale);
|
// puppy.addComponent<TransformComponent>(1024*globalScale,210*globalScale,36,30,globalScale);
|
||||||
puppy.addComponent<SpriteComponent>("puppy", SpriteComponent::spriteObject);
|
// puppy.addComponent<SpriteComponent>("puppy", SpriteComponent::spriteObject);
|
||||||
puppy.addGroup(groupObjects);
|
// puppy.addGroup(groupObjects);
|
||||||
|
printf("Init Completed\n");
|
||||||
} else {
|
} else {
|
||||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError());
|
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError());
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
@ -308,16 +311,16 @@ void Game::update()
|
|||||||
|
|
||||||
for (auto& c : colliders)
|
for (auto& c : colliders)
|
||||||
{
|
{
|
||||||
SDL_Rect cCol = c->getComponent<ColliderComponent>().collider;
|
// SDL_Rect cCol = c->getComponent<ColliderComponent>().collider;
|
||||||
if(Collision::AABB(cCol, playerCol))
|
// if(Collision::AABB(cCol, playerCol))
|
||||||
{
|
// {
|
||||||
// if(!playerIsGrounded){
|
// // if(!playerIsGrounded){
|
||||||
// player.getComponent<SpriteComponent>().Play("Idle");
|
// // player.getComponent<SpriteComponent>().Play("Idle");
|
||||||
// }
|
// // }
|
||||||
// playerIsGrounded = true;
|
// // playerIsGrounded = true;
|
||||||
// player.getComponent<TransformComponent>().position.y = player.getComponent<TransformComponent>().lastSafePos.y;
|
// // player.getComponent<TransformComponent>().position.y = player.getComponent<TransformComponent>().lastSafePos.y;
|
||||||
// gravityOnPlayer = false;
|
// // gravityOnPlayer = false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,13 +352,13 @@ void Game::update()
|
|||||||
|
|
||||||
player.getComponent<TransformComponent>().updateTilePosition(pTileX,pTileY);
|
player.getComponent<TransformComponent>().updateTilePosition(pTileX,pTileY);
|
||||||
|
|
||||||
uiCamXInfo.getComponent<UITextComponent>().updateString(std::to_string((int)player.getComponent<TransformComponent>().tilePos.x));
|
// uiCamXInfo.getComponent<UITextComponent>().updateString(std::to_string((int)player.getComponent<TransformComponent>().tilePos.x));
|
||||||
uiCamYInfo.getComponent<UITextComponent>().updateString(std::to_string((int)player.getComponent<TransformComponent>().tilePos.y));
|
// uiCamYInfo.getComponent<UITextComponent>().updateString(std::to_string((int)player.getComponent<TransformComponent>().tilePos.y));
|
||||||
int playerX = player.getComponent<TransformComponent>().position.x;
|
int playerX = player.getComponent<TransformComponent>().position.x;
|
||||||
int playerY = player.getComponent<TransformComponent>().position.y;
|
int playerY = player.getComponent<TransformComponent>().position.y;
|
||||||
|
|
||||||
uiPlayerXInfo.getComponent<UITextComponent>().updateString(std::to_string(playerX));
|
// uiPlayerXInfo.getComponent<UITextComponent>().updateString(std::to_string(playerX));
|
||||||
uiPlayerYInfo.getComponent<UITextComponent>().updateString(std::to_string(playerY));
|
// uiPlayerYInfo.getComponent<UITextComponent>().updateString(std::to_string(playerY));
|
||||||
|
|
||||||
// int * foundBoundaries = predictCollisions();
|
// int * foundBoundaries = predictCollisions();
|
||||||
// int max = foundBoundaries[0];
|
// int max = foundBoundaries[0];
|
||||||
@ -369,12 +372,12 @@ void Game::update()
|
|||||||
// uiBoundary1Info.getComponent<UITextComponent>().updateString(std::to_string((int)foundBoundaries[0]));
|
// uiBoundary1Info.getComponent<UITextComponent>().updateString(std::to_string((int)foundBoundaries[0]));
|
||||||
// uiBoundary1Info.getComponent<UITextComponent>().updateString(std::to_string((float)desiredMovementX));
|
// uiBoundary1Info.getComponent<UITextComponent>().updateString(std::to_string((float)desiredMovementX));
|
||||||
if (playerIsGrounded) {
|
if (playerIsGrounded) {
|
||||||
uiBoundary1Info.getComponent<UITextComponent>().updateString("yes");
|
// uiBoundary1Info.getComponent<UITextComponent>().updateString("yes");
|
||||||
} else {
|
} else {
|
||||||
uiBoundary1Info.getComponent<UITextComponent>().updateString("no");
|
// uiBoundary1Info.getComponent<UITextComponent>().updateString("no");
|
||||||
}
|
}
|
||||||
// uiBoundary2Info.getComponent<UITextComponent>().updateString(std::to_string((int)foundBoundaries[1]));
|
// uiBoundary2Info.getComponent<UITextComponent>().updateString(std::to_string((int)foundBoundaries[1]));
|
||||||
float difference = player.getComponent<TransformComponent>().position.x+desiredMovementX;
|
// float difference = player.getComponent<TransformComponent>().position.x+desiredMovementX;
|
||||||
//uiBoundary2Info.getComponent<UITextComponent>().updateString(std::to_string((float)difference));
|
//uiBoundary2Info.getComponent<UITextComponent>().updateString(std::to_string((float)difference));
|
||||||
//uiBoundary3Info.getComponent<UITextComponent>().updateString(std::to_string((int)(max*gScale)));
|
//uiBoundary3Info.getComponent<UITextComponent>().updateString(std::to_string((int)(max*gScale)));
|
||||||
|
|
||||||
@ -514,7 +517,7 @@ int * Game::predictCollisions(){
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
for (int r=Game::pTileY-1;r<=Game::pTileY+1;r++){
|
for (int r=Game::pTileY-1;r<=Game::pTileY+1;r++){
|
||||||
if(r<0){r=0;}
|
if(r<0){r=0;}
|
||||||
// ====== For Each Tile (Column) =====
|
// ====== For Each Tile (Column) =====
|
||||||
for (int c=Game::pTileX;c<Game::pTileX+Game::camera.w/gameScene.getComponent<TileMapComponent>().tileWidth;c++){
|
for (int c=Game::pTileX;c<Game::pTileX+Game::camera.w/gameScene.getComponent<TileMapComponent>().tileWidth;c++){
|
||||||
if(c<0){c=0;}
|
if(c<0){c=0;}
|
||||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||||
@ -523,7 +526,7 @@ int * Game::predictCollisions(){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ===== UP ====
|
// ===== UP ====
|
||||||
if (player.getComponent<TransformComponent>().velocity.y<0){
|
if (player.getComponent<TransformComponent>().velocity.y<0){
|
||||||
@ -531,7 +534,7 @@ int * Game::predictCollisions(){
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
||||||
if(c<0){c=0;}
|
if(c<0){c=0;}
|
||||||
// ====== For Each Tile (Row) =====
|
// ====== For Each Tile (Row) =====
|
||||||
for (int r=Game::pTileY;r>Game::pTileY-Game::camera.h/gameScene.getComponent<TileMapComponent>().tileWidth;r--){
|
for (int r=Game::pTileY;r>Game::pTileY-Game::camera.h/gameScene.getComponent<TileMapComponent>().tileWidth;r--){
|
||||||
if(r<0){r=0;}
|
if(r<0){r=0;}
|
||||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||||
@ -540,8 +543,8 @@ int * Game::predictCollisions(){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// ===== DOWN ====
|
// ===== DOWN ====
|
||||||
if (player.getComponent<TransformComponent>().velocity.y>0){
|
if (player.getComponent<TransformComponent>().velocity.y>0){
|
||||||
@ -549,7 +552,7 @@ int * Game::predictCollisions(){
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
||||||
if(c<0){c=0;}
|
if(c<0){c=0;}
|
||||||
// ====== For Each Tile (Row) =====
|
// ====== For Each Tile (Row) =====
|
||||||
for (int r=Game::pTileY;r<Game::pTileY+Game::camera.h/gameScene.getComponent<TileMapComponent>().tileWidth;r++){
|
for (int r=Game::pTileY;r<Game::pTileY+Game::camera.h/gameScene.getComponent<TileMapComponent>().tileWidth;r++){
|
||||||
if(r<0){r=0;}
|
if(r<0){r=0;}
|
||||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||||
@ -558,7 +561,7 @@ int * Game::predictCollisions(){
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
return boundaries;
|
return boundaries;
|
||||||
|
Loading…
Reference in New Issue
Block a user