From 5ee23cb000ba9ffcc7b97b2678b84d523c22f141 Mon Sep 17 00:00:00 2001 From: JailDoctor Date: Sat, 3 Jun 2023 11:12:37 +0200 Subject: [PATCH] - Portes almost completades --- data/test.gif | Bin 3600 -> 3710 bytes source/actor.cpp | 12 ++++---- source/main.cpp | 6 ++-- source/room.cpp | 72 ++++++++++++++++++++++++++++++----------------- 4 files changed, 55 insertions(+), 35 deletions(-) diff --git a/data/test.gif b/data/test.gif index feb960a22061e07c7615903e455162d35b1c768f..5dc8a9b4de3ec78d8c5b52438d1287186e681def 100644 GIT binary patch delta 3697 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 MJeC0G0{~S21L5frtN;K2 delta 3586 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 Ia1j6iJ3ABCd;kCd diff --git a/source/actor.cpp b/source/actor.cpp index 23673bc..d5aa0be 100644 --- a/source/actor.cpp +++ b/source/actor.cpp @@ -182,7 +182,7 @@ namespace actor if ( input::keyDown(SDL_SCANCODE_UP) ) { act->orient=PUSH_YN; - if ( (act->pos.y>min.y && act->pos.x>=min.y && act->pos.x<=max.x) || ( (room::getDoors()&DOOR_YN) && (act->pos.x>=24) && (act->pos.x<=32) ) ) + if ( (act->pos.y>min.y && act->pos.x>=min.x && act->pos.x<=max.x) || ( (room::getDoors()&DOOR_YN) && (act->pos.x>=24) && (act->pos.x<=32) ) ) { act->push |= PUSH_YN; moving = true; @@ -191,13 +191,13 @@ namespace actor if ( input::keyDown(SDL_SCANCODE_DOWN) ) { act->orient=PUSH_YP; - if ( (act->pos.ypos.x>=min.y && act->pos.x<=max.x) || ( (room::getDoors()&DOOR_YP) && (act->pos.x>=24) && (act->pos.x<=32) ) ) + if ( (act->pos.ypos.x>=min.x && act->pos.x<=max.x) || ( (room::getDoors()&DOOR_YP) && (act->pos.x>=24) && (act->pos.x<=32) ) ) { act->push |= PUSH_YP; moving = true; } } - if ( input::keyDown(SDL_SCANCODE_SPACE) && act->react_mask==0 && (act->pos.z==0 || act->below)) + if ( input::keyDown(SDL_SCANCODE_SPACE) && act->pos.y<=max.y && act->pos.y>=min.y && act->pos.x<=max.x && act->pos.x>=min.x && act->react_mask==0 && (act->pos.z==0 || act->below)) { act->react_mask=1; act->react_push=0; @@ -520,9 +520,9 @@ namespace actor const int ao = (act->flags & FLAG_ANIMATED) ? anims[act->anim_cycle][anim_frame]*act->bmp_rect.w : 0; draw::draw(x, y, act->bmp_rect.w, act->bmp_rect.h, act->bmp_rect.x+ao, act->bmp_rect.y+oo, flip); - //print(x+5,y,act->pos.x); - //print(x+5,y+6,act->pos.y); - print(x+5,y,act->pos.z); + print(x+5,y,act->pos.x); + print(x+5,y+6,act->pos.y); + print(x+5,y+12,act->pos.z); //print(x+5,y+12,order); //print(x+5,y,act->flags); diff --git a/source/main.cpp b/source/main.cpp index c9c97e3..b2076e8 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -16,9 +16,9 @@ void game::init() draw::loadPalette("test.gif"); game::setUpdateTicks(64); - room::load(2,0); + room::load(3,3); - box = actor::create({16,16,0}, {8,8,4}, {64,0,32,24}, {0,24}); + box = actor::create({16,32,0}, {8,8,4}, {64,0,32,24}, {0,24}); box->flags = FLAG_MOVING; box->movement = MOV_Z; box->mov_push = PUSH_ZP; @@ -30,7 +30,7 @@ void game::init() box->mov_push = PUSH_XN; actor::setDirty(box, true); - box = actor::create({16,16,8}, {8,8,12}, {0,32,20,32}, {-6,38}); + box = actor::create({16,32,8}, {8,8,12}, {0,32,20,32}, {-6,38}); box->flags = FLAG_HERO | FLAG_PUSHABLE | FLAG_GRAVITY | FLAG_ORIENTABLE | FLAG_ANIMATED; actor::setDirty(box, true); diff --git a/source/room.cpp b/source/room.cpp index 49979dd..8f3ffb1 100644 --- a/source/room.cpp +++ b/source/room.cpp @@ -1,5 +1,6 @@ #include "room.h" #include "jdraw.h" +#include "actor.h" namespace room { @@ -9,7 +10,7 @@ namespace room static vec3_t min = {0,0,0}; static vec3_t max = {56,56,56}; - static uint8_t doors = DOOR_XN | DOOR_YN ; + static uint8_t doors = 15; //OOR_XP /*| DOOR_YP*/ ; static uint8_t door_height[4]; void load(int x, int y) @@ -23,12 +24,34 @@ namespace room door_height[1] = 3; //XN door_height[2] = 2; //YP door_height[3] = 5; //YN + + if (doors & DOOR_YP) + { + actor::actor_t *act = actor::create({24,(tmax.y+1)*8,0}, {8,8,(door_height[2])*4}, {0,1,32,15}, {0,15+door_height[2]*8}); + act->flags = FLAG_NONE; + actor::setDirty(act, true); + act = actor::create({32,(tmax.y+1)*8,0}, {8,8,(door_height[2])*4}, {0,1,32,15}, {0,15+door_height[2]*8}); + act->flags = FLAG_NONE; + actor::setDirty(act, true); + } + + if (doors & DOOR_XP) + { + actor::actor_t *act = actor::create({(tmax.x+1)*8,24,0}, {8,8,(door_height[0])*4}, {0,1,32,15}, {0,15+door_height[0]*8}); + act->flags = FLAG_NONE; + actor::setDirty(act, true); + act = actor::create({(tmax.x+1)*8,32,0}, {8,8,(door_height[0])*4}, {0,1,32,15}, {0,15+door_height[0]*8}); + act->flags = FLAG_NONE; + actor::setDirty(act, true); + } } void draw() { + // RUTINES DE PINTAT DE LA PORTA DE DALT A LA DRETA if (doors & DOOR_YN) { + // Si la porta està elevada, pintar la part frontal de baix de la porta if (door_height[3] > 0) { draw::draw( 164+3*16-tmin.y*16, (36+3*8+tmin.y*8) + (5-door_height[3])*8, 16, 48-(5-door_height[3])*8, 128, 16+(5-door_height[3])*8); draw::draw( 164+4*16-tmin.y*16, (36+4*8+tmin.y*8) + (5-door_height[3])*8, 16, 48-(5-door_height[3])*8, 128, 16+(5-door_height[3])*8); @@ -42,8 +65,11 @@ namespace room // Pintem la porta draw::draw(164+3*16-tmin.y*16, -door_height[3]*8+32+3*8+tmin.y*8,40,59,18,133); } + + // RUTINES DE PINTAT DE LA PORTA DE DALT A LA ESQUERRA if (doors & DOOR_XN) { + // Si la porta està elevada, pintar la part frontal de baix de la porta if (door_height[1] > 0) { draw::draw(148+tmin.x*16-3*16, (36+tmin.x*8+3*8)+(5-door_height[1])*8, 16, 48-(5-door_height[1])*8, 144, 16+(5-door_height[1])*8); draw::draw(148+tmin.x*16-4*16, (36+tmin.x*8+4*8)+(5-door_height[1])*8, 16, 48-(5-door_height[1])*8, 144, 16+(5-door_height[1])*8); @@ -80,42 +106,36 @@ namespace room { draw::draw(148+x*16-y*16,76+x*8+y*8,32,15,0,1); } - } - - if (doors & DOOR_YP) - { - // Pintem les voreres dels dos tiles extra per a la porta YP - draw::draw(164+4*16-(tmax.y+1)*16, -door_height[2]*8+84+4*8+(tmax.y+1)*8,16,15+door_height[2]*8,144,49-door_height[2]*8); - draw::draw(148+3*16-(tmax.y+1)*16, -door_height[2]*8+84+3*8+(tmax.y+1)*8,16,15+door_height[2]*8,128,49-door_height[2]*8); - draw::draw(148+4*16-(tmax.y+1)*16, -door_height[2]*8+84+4*8+(tmax.y+1)*8,16,15+door_height[2]*8,128,49-door_height[2]*8); - - // Pintem els dos tiles de piso extra de la porta YP - draw::draw(148+3*16-(tmax.y+1)*16, -door_height[2]*8+76+3*8+(tmax.y+1)*8,32,15,0,1); - draw::draw(148+4*16-(tmax.y+1)*16, -door_height[2]*8+76+4*8+(tmax.y+1)*8,32,15,0,1); - } - if (doors & DOOR_XP) - { - // Pintem les voreres dels dos tiles extra per a la porta XP - draw::draw(148+(tmax.x+1)*16-4*16, -door_height[0]*8+84+(tmax.x+1)*8+4*8,16,15+door_height[0]*8,128,49-door_height[0]*8); - draw::draw(164+(tmax.x+1)*16-3*16, -door_height[0]*8+84+(tmax.x+1)*8+3*8,16,15+door_height[0]*8,144,49-door_height[0]*8); - draw::draw(164+(tmax.x+1)*16-4*16, -door_height[0]*8+84+(tmax.x+1)*8+4*8,16,15+door_height[0]*8,144,49-door_height[0]*8); - - // Pintem els dos tiles de piso extra de la porta XP - draw::draw(148+(tmax.x+1)*16-3*16, -door_height[0]*8+76+(tmax.x+1)*8+3*8,32,15,0,1); - draw::draw(148+(tmax.x+1)*16-4*16, -door_height[0]*8+76+(tmax.x+1)*8+4*8,32,15,0,1); - } - + } } void draw2() { if (doors & DOOR_YP) { + // Pintem les voreres dels dos tiles extra per a la porta YP + draw::draw(164+4*16-(tmax.y+1)*16, -door_height[2]*8+84+4*8+(tmax.y+1)*8, 16, 15+door_height[2]*8, 144, 17); + draw::draw(148+3*16-(tmax.y+1)*16, -door_height[2]*8+84+3*8+(tmax.y+1)*8, 16, 15+door_height[2]*8, 128, 17); + draw::draw(148+4*16-(tmax.y+1)*16, -door_height[2]*8+84+4*8+(tmax.y+1)*8, 16, 15+door_height[2]*8, 128, 17); + + draw::draw(164+4*16-(tmax.y+1)*16, 91+4*8+(tmax.y+1)*8, 16, 8, 16, 24); + draw::draw(148+3*16-(tmax.y+1)*16, 91+3*8+(tmax.y+1)*8, 16, 8, 0, 24); + draw::draw(148+4*16-(tmax.y+1)*16, 91+4*8+(tmax.y+1)*8, 16, 8, 0, 24); + // Pintem la porta YP draw::draw(164+3*16-8-(tmax.y+1)*16, -door_height[2]*8+32+3*8+4+(tmax.y+1)*8,40,59,18,133); } if (doors & DOOR_XP) { + // Pintem les voreres dels dos tiles extra per a la porta XP + draw::draw(148+(tmax.x+1)*16-4*16, -door_height[0]*8+84+(tmax.x+1)*8+4*8,16,15+door_height[0]*8,128,17); + draw::draw(164+(tmax.x+1)*16-3*16, -door_height[0]*8+84+(tmax.x+1)*8+3*8,16,15+door_height[0]*8,144,17); + draw::draw(164+(tmax.x+1)*16-4*16, -door_height[0]*8+84+(tmax.x+1)*8+4*8,16,15+door_height[0]*8,144,17); + + draw::draw(148+(tmax.x+1)*16-4*16, 91+(tmax.x+1)*8+4*8,16,8,0,24); + draw::draw(164+(tmax.x+1)*16-3*16, 91+(tmax.x+1)*8+3*8,16,8,16,24); + draw::draw(164+(tmax.x+1)*16-4*16, 91+(tmax.x+1)*8+4*8,16,8,16,24); + // Pintem la porta XP draw::draw( 164+(tmax.x+1)*16-4*16-16, -door_height[0]*8+32+3*8+4+(tmax.x+1)*8, 40,59, 64,133); }