New tileset & map; todo fix tile sanity check
This commit is contained in:
@ -157,51 +157,51 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
|
||||
// map = new Map("terrain",globalScale,16);
|
||||
// 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
|
||||
fontSize = Vector2D(5,5);
|
||||
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.addGroup(groupUI_Layer1);
|
||||
|
||||
SDL_Rect myDestRect = SDL_Rect();
|
||||
myDestRect.x = 12;
|
||||
myDestRect.y = 8;
|
||||
myDestRect.w = 160;
|
||||
myDestRect.h = 40;
|
||||
myDestRect.x = 1;
|
||||
myDestRect.y = 1;
|
||||
myDestRect.w = 62;
|
||||
myDestRect.h = 16;
|
||||
my9Slice = new UINineSlice("textBox");
|
||||
my9Slice->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,myDestRect,globalScale,Game::groupUI_Layer0);
|
||||
|
||||
// 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", "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.addGroup(groupUI_Layer3);
|
||||
|
||||
uiCamXInfo.addComponent<TransformComponent>(camera.w/gScale-48,23,40*gScale,12*gScale,gScale);
|
||||
uiCamXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
uiCamXInfo.addGroup(groupUI_Layer3);
|
||||
|
||||
uiCamYInfo.addComponent<TransformComponent>(camera.w/gScale-48,36,40*gScale,12*gScale,gScale);
|
||||
uiCamYInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
uiCamYInfo.addGroup(groupUI_Layer3);
|
||||
|
||||
uiPlayerXInfo.addComponent<TransformComponent>(camera.w/gScale-49,49,40*gScale,12*gScale,gScale);
|
||||
uiPlayerXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
uiPlayerXInfo.addGroup(groupUI_Layer3);
|
||||
|
||||
uiPlayerYInfo.addComponent<TransformComponent>(camera.w/gScale-48,62,40*gScale,12*gScale,gScale);
|
||||
uiPlayerYInfo.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
uiPlayerYInfo.addGroup(groupUI_Layer3);
|
||||
|
||||
uiBoundary1Info.addComponent<TransformComponent>(camera.w/gScale-48,75,128*gScale,12*gScale,gScale);
|
||||
uiBoundary1Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
uiBoundary1Info.addGroup(groupUI_Layer3);
|
||||
// uiInfo.addComponent<UITextComponent>("font", "Player PTiX: PTiY: P.x: P.y : coll: ", fontSize.x,fontSize.y, gScale);
|
||||
// uiInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiCamXInfo.addComponent<TransformComponent>(camera.w/gScale-48,23,40*gScale,12*gScale,gScale);
|
||||
// uiCamXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiCamXInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiCamYInfo.addComponent<TransformComponent>(camera.w/gScale-48,36,40*gScale,12*gScale,gScale);
|
||||
// uiCamYInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiCamYInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiPlayerXInfo.addComponent<TransformComponent>(camera.w/gScale-49,49,40*gScale,12*gScale,gScale);
|
||||
// uiPlayerXInfo.addComponent<UITextComponent>("font", "nan", fontSize.x,fontSize.y, gScale);
|
||||
// uiPlayerXInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiPlayerYInfo.addComponent<TransformComponent>(camera.w/gScale-48,62,40*gScale,12*gScale,gScale);
|
||||
// uiPlayerYInfo.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiPlayerYInfo.addGroup(groupUI_Layer3);
|
||||
//
|
||||
// uiBoundary1Info.addComponent<TransformComponent>(camera.w/gScale-48,75,128*gScale,12*gScale,gScale);
|
||||
// uiBoundary1Info.addComponent<UITextComponent>("font", "nan",fontSize.x,fontSize.y, gScale);
|
||||
// uiBoundary1Info.addGroup(groupUI_Layer3);
|
||||
|
||||
// uiBoundary2Info.addComponent<TransformComponent>(camera.w/gScale-64,88,128*gScale,12*gScale,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);
|
||||
|
||||
// debug UI box
|
||||
SDL_Rect debugBoxRect = SDL_Rect();
|
||||
debugBoxRect.x = camera.w-(100*gScale);
|
||||
debugBoxRect.y = 4*gScale;
|
||||
debugBoxRect.w = 98*gScale;
|
||||
debugBoxRect.h = 112*gScale;
|
||||
debugBox = new UINineSlice("textBox");
|
||||
debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2);
|
||||
// SDL_Rect debugBoxRect = SDL_Rect();
|
||||
// debugBoxRect.x = camera.w-(100*gScale);
|
||||
// debugBoxRect.y = 4*gScale;
|
||||
// debugBoxRect.w = 98*gScale;
|
||||
// debugBoxRect.h = 112*gScale;
|
||||
// debugBox = new UINineSlice("textBox");
|
||||
// debugBox->MakeSlices("textBox",nineSliceSize.x,nineSliceSize.y,nineSliceX0,nineSliceX1,nineSliceY0,nineSliceY1,debugBoxRect,globalScale,Game::groupUI_Layer2);
|
||||
|
||||
//ecs implementation
|
||||
|
||||
@ -234,16 +234,19 @@ void Game::init(const char *title, int width, int height, bool fullscreen, int g
|
||||
levelMap.x = 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);
|
||||
// printf("Completed loading Tilemap\n");
|
||||
// std::cout << "LevelMap: " << levelMap.x << ", " << levelMap.y << ", " << levelMap.w << ", " << levelMap.h << std::endl;
|
||||
|
||||
playerPosition = Vector2D().Zero();
|
||||
pVel = Vector2D().Zero();
|
||||
|
||||
puppy.addComponent<TransformComponent>(1024*globalScale,210*globalScale,36,30,globalScale);
|
||||
puppy.addComponent<SpriteComponent>("puppy", SpriteComponent::spriteObject);
|
||||
puppy.addGroup(groupObjects);
|
||||
|
||||
// puppy.addComponent<TransformComponent>(1024*globalScale,210*globalScale,36,30,globalScale);
|
||||
// puppy.addComponent<SpriteComponent>("puppy", SpriteComponent::spriteObject);
|
||||
// puppy.addGroup(groupObjects);
|
||||
printf("Init Completed\n");
|
||||
} else {
|
||||
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't Initialize SDL: %s", SDL_GetError());
|
||||
isRunning = false;
|
||||
@ -308,16 +311,16 @@ void Game::update()
|
||||
|
||||
for (auto& c : colliders)
|
||||
{
|
||||
SDL_Rect cCol = c->getComponent<ColliderComponent>().collider;
|
||||
if(Collision::AABB(cCol, playerCol))
|
||||
{
|
||||
// if(!playerIsGrounded){
|
||||
// player.getComponent<SpriteComponent>().Play("Idle");
|
||||
// }
|
||||
// playerIsGrounded = true;
|
||||
// player.getComponent<TransformComponent>().position.y = player.getComponent<TransformComponent>().lastSafePos.y;
|
||||
// gravityOnPlayer = false;
|
||||
}
|
||||
// SDL_Rect cCol = c->getComponent<ColliderComponent>().collider;
|
||||
// if(Collision::AABB(cCol, playerCol))
|
||||
// {
|
||||
// // if(!playerIsGrounded){
|
||||
// // player.getComponent<SpriteComponent>().Play("Idle");
|
||||
// // }
|
||||
// // playerIsGrounded = true;
|
||||
// // player.getComponent<TransformComponent>().position.y = player.getComponent<TransformComponent>().lastSafePos.y;
|
||||
// // gravityOnPlayer = false;
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@ -349,13 +352,13 @@ void Game::update()
|
||||
|
||||
player.getComponent<TransformComponent>().updateTilePosition(pTileX,pTileY);
|
||||
|
||||
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));
|
||||
// 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));
|
||||
int playerX = player.getComponent<TransformComponent>().position.x;
|
||||
int playerY = player.getComponent<TransformComponent>().position.y;
|
||||
|
||||
uiPlayerXInfo.getComponent<UITextComponent>().updateString(std::to_string(playerX));
|
||||
uiPlayerYInfo.getComponent<UITextComponent>().updateString(std::to_string(playerY));
|
||||
// uiPlayerXInfo.getComponent<UITextComponent>().updateString(std::to_string(playerX));
|
||||
// uiPlayerYInfo.getComponent<UITextComponent>().updateString(std::to_string(playerY));
|
||||
|
||||
// int * foundBoundaries = predictCollisions();
|
||||
// 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((float)desiredMovementX));
|
||||
if (playerIsGrounded) {
|
||||
uiBoundary1Info.getComponent<UITextComponent>().updateString("yes");
|
||||
// uiBoundary1Info.getComponent<UITextComponent>().updateString("yes");
|
||||
} else {
|
||||
uiBoundary1Info.getComponent<UITextComponent>().updateString("no");
|
||||
// uiBoundary1Info.getComponent<UITextComponent>().updateString("no");
|
||||
}
|
||||
// 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));
|
||||
//uiBoundary3Info.getComponent<UITextComponent>().updateString(std::to_string((int)(max*gScale)));
|
||||
|
||||
@ -514,7 +517,7 @@ int * Game::predictCollisions(){
|
||||
int i = 0;
|
||||
for (int r=Game::pTileY-1;r<=Game::pTileY+1;r++){
|
||||
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++){
|
||||
if(c<0){c=0;}
|
||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||
@ -523,7 +526,7 @@ int * Game::predictCollisions(){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// ===== UP ====
|
||||
if (player.getComponent<TransformComponent>().velocity.y<0){
|
||||
@ -531,7 +534,7 @@ int * Game::predictCollisions(){
|
||||
int i = 0;
|
||||
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
||||
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--){
|
||||
if(r<0){r=0;}
|
||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||
@ -540,8 +543,8 @@ int * Game::predictCollisions(){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
// ===== DOWN ====
|
||||
if (player.getComponent<TransformComponent>().velocity.y>0){
|
||||
@ -549,7 +552,7 @@ int * Game::predictCollisions(){
|
||||
int i = 0;
|
||||
for (int c=Game::pTileX-1;c<=Game::pTileX+1;c++){
|
||||
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++){
|
||||
if(r<0){r=0;}
|
||||
if(gameScene.getComponent<TileMapComponent>().colliders[r][c]>0){
|
||||
@ -558,7 +561,7 @@ int * Game::predictCollisions(){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
return boundaries;
|
||||
|
Reference in New Issue
Block a user