Mario: saving map as binary file v1.0

This commit is contained in:
2021-04-30 23:12:53 +02:00
parent d4991ea3a7
commit 183bd53b66
6 changed files with 167 additions and 46 deletions
+35 -1
View File
@@ -17,6 +17,7 @@
std::shared_ptr< SDLPP::Renderer > renderer = nullptr;
bool quit = false;
std::vector<std::array<std::pair<uint8_t, uint16_t>,16>> objects = {};
void handleKeyDown( SDL_Keycode key, SDLPP::Scene &scene ) {
switch ( key ) {
@@ -113,7 +114,39 @@ int main() {
bg->setId( 1 );
scene->addObject( bg );
loadMap( scene, nullptr, "testmap.txt", renderer );
loadMap( scene, "test_binary.bin", renderer, objects );
// grid
for ( int i = 1; i < 20; i++ ) {
auto line_vertical = std::make_shared< SDLPP::LineRenderer >(
i * BLOCK_SIZE, 1 - 16 * BLOCK_SIZE, i * BLOCK_SIZE, 1.0, renderer, "#282828" );
line_vertical->setStatic();
line_vertical->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER );
scene->addObject(line_vertical);
if(i > 2) {
auto line_horizontal = std::make_shared< SDLPP::LineRenderer >(
BLOCK_SIZE, ( i + 1 ) * BLOCK_SIZE, 19 * BLOCK_SIZE,
( i + 1 ) * BLOCK_SIZE, renderer, "#282828" );
line_horizontal->setStatic();
line_horizontal->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER );
scene->addObject(line_horizontal);
}
}
// white rectangles
auto rectangle1 = std::make_shared< SDLPP::RectangleRender >(
0, 4 * BLOCK_SIZE, BLOCK_SIZE, 16 * BLOCK_SIZE, renderer, "#FFFFFF88", true);
rectangle1->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
rectangle1->setId(1);
rectangle1->addCollision(SDLPP::RectColider(0, 0, 1, 1));
scene->addObject(rectangle1);
// white rectangles
auto rectangle2 = std::make_shared< SDLPP::RectangleRender >(
19*BLOCK_SIZE, 4 * BLOCK_SIZE, 20*BLOCK_SIZE, 16 * BLOCK_SIZE, renderer, "#FFFFFF88", true);
rectangle2->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
rectangle2->setId(1);
rectangle2->addCollision(SDLPP::RectColider(0, 0, 1, 1));
scene->addObject(rectangle2);
FPSmanager gFPS;
SDL_initFramerate( &gFPS );
@@ -135,6 +168,7 @@ int main() {
base = SDL_GetTicks();
}
}
// saveMap("test_binary.bin", objects);
return 0;
}