diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 107 |
1 files changed, 105 insertions, 2 deletions
@@ -4,21 +4,116 @@ #include "resources/image.h" #include "resources/map.h" #include "viewport.h" +#include "area.h" int main(void) { + struct viewport *vp; SDL_Surface *screen; struct map *map; struct image *img; struct map_tileset *ts; struct map_exit *e; SDL_Rect imgrect, surfacerect; + struct area *a; init(); - screen = init_viewport(240, 160, 8)->screen; + vp = init_viewport(240, 160, 32); + screen = vp->screen; + + map = map_get("data/forest1-8bit.tmx"); + a = area_new(map); + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(500); + +#if 0 + vp->x = 208; + vp->y = 544; + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(125); + for (; vp->y >= 464; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(50); + } + for (; vp->x <= 256; vp->x += 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(50); + } + for (; vp->y >= 192; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(50); + } + for (; vp->x >= 160; vp->x -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(50); + } + for (; vp->y <= 288; vp->y += 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(50); + } +#endif + + vp->x = 208; + vp->y = 544; + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(125); + for (; vp->y >= 464; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->x <= 256; vp->x += 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->y >= 192; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->x >= 160; vp->x -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->y <= 320; vp->y += 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->x >= -16; vp->x -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->y >= 192; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->x <= 64; vp->x += 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + for (; vp->y >= 0; vp->y -= 4) { + render_area_to_viewport(a, vp); + SDL_Flip(screen); + SDL_Delay(25); + } + + quit(0); - map = map_get("data/forest1.tmx"); debug("Map dimensions: %dx%d", map->width, map->height); for (ts = map->tilesets_head; ts != NULL; ts = ts->next) { debug("Tileset name: %s", ts->tileset->name); @@ -35,6 +130,14 @@ main(void) } img = img_png_get("../forest-6-layer-test_ground.png"); + debug("screen: bpp: %u, masks: 0x%8.8x 0x%8.8x 0x%8.8x 0x%8.8x", + screen->format->BitsPerPixel, + screen->format->Rmask, screen->format->Gmask, + screen->format->Bmask, screen->format->Amask); + debug("image: bpp: %u, masks: 0x%8.8x 0x%8.8x 0x%8.8x 0x%8.8x", + img->image->format->BitsPerPixel, + img->image->format->Rmask, img->image->format->Gmask, + img->image->format->Bmask, img->image->format->Amask); img_png_free(img); quit(0); return 0; |