diff --git a/data/rooms/34.txt b/data/rooms/34.txt index 17d8dd1..680e0a7 100644 --- a/data/rooms/34.txt +++ b/data/rooms/34.txt @@ -10,6 +10,16 @@ under-door-texture: 0 exit-yp: 36 exit-yn: 33 +actor{ + name: ARBUST + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 9 17 0 + size: 6 6 14 + movement: CW +} + actor{ name: BARANA bmp: altres.gif @@ -21,16 +31,6 @@ actor{ movement: CW } -actor{ - name: BOX-A-00 - bmp: doors.gif - bmp-rect: 160 7 16 40 - bmp-offset: -8 47 - pos: 9 17 0 - size: 6 6 14 - movement: CW -} - actor{ name: BOX-A-01 bmp: doors.gif diff --git a/data/rooms/39.txt b/data/rooms/39.txt index 1ba5c07..61b139b 100644 --- a/data/rooms/39.txt +++ b/data/rooms/39.txt @@ -1,11 +1,134 @@ -width: 2 +width: 3 height: 2 door-height-xp: 0 door-height-yp: 0 color: WHITE -floor-texture: 0 -wall-texture: 0 -door-texture: 0 +floor-texture: 7 +wall-texture: 5 +door-texture: 4 under-door-texture: 0 exit-xp: 40 exit-yp: 37 + +actor{ + name: ANBERNIC + bmp: altres.gif + bmp-rect: 157 80 24 14 + bmp-offset: -4 16 + pos: 0 8 0 + size: 6 4 2 + flags: PUSHABLE GRAVITY + movement: CW +} + +actor{ + name: ARBUST-00 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 8 40 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-01 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 8 32 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-02 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 8 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-03 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 8 24 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-04 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 16 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-05 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 24 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-06 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 32 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-07 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 40 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: ARBUST-08 + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 48 16 0 + size: 6 6 14 + movement: CW +} + +actor{ + name: PLATH-00 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 0 16 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-01 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 8 8 0 + size: 8 8 4 + orient: ZP + movement: Z +} diff --git a/data/rooms/40.txt b/data/rooms/40.txt index 16131ff..de5ffa3 100644 --- a/data/rooms/40.txt +++ b/data/rooms/40.txt @@ -1,13 +1,224 @@ width: 2 -height: 2 -door-height-xn: 0 -door-height-yp: 0 -door-height-yn: 0 +height: 3 +door-height-xn: 1 +door-height-yp: 1 +door-height-yn: 1 color: YELLOW -floor-texture: 0 -wall-texture: 0 -door-texture: 0 +floor-texture: 11 +wall-texture: 5 +door-texture: 4 under-door-texture: 0 exit-xn: 39 exit-yp: 44 exit-yn: 41 + +actor{ + name: PLATH-00 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 24 0 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-01 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 32 0 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-02 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 8 24 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-03 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 8 32 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-04 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 24 56 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: PLATH-05 + bmp: caixes.gif + bmp-rect: 160 128 32 32 + bmp-offset: 0 32 + pos: 32 56 0 + size: 8 8 4 + orient: ZP + movement: Z +} + +actor{ + name: TRANSPA-01 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 16 32 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-02 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 16 24 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-03 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 24 0 + size: 8 8 6 + flags: DISAPPEAR + movement: CW +} + +actor{ + name: TRANSPA-04 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 16 0 + size: 8 8 6 + flags: DISAPPEAR + movement: CW +} + +actor{ + name: TRANSPA-05 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 8 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-06 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 8 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-07 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 16 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-08 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 24 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-09 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 32 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-10 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 32 0 + size: 8 8 6 + flags: DISAPPEAR + movement: CW +} + +actor{ + name: TRANSPA-11 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 40 0 + size: 8 8 6 + flags: DISAPPEAR + movement: CW +} + +actor{ + name: TRANSPA-12 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 24 48 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-13 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 48 0 + size: 8 8 6 + movement: CW +} + +actor{ + name: TRANSPA-14 + bmp: altres.gif + bmp-rect: 0 160 32 32 + bmp-offset: 0 32 + pos: 32 40 0 + size: 8 8 6 + flags: DISAPPEAR + movement: CW +} diff --git a/data/rooms/41.txt b/data/rooms/41.txt index f0c0193..a1fcdb6 100644 --- a/data/rooms/41.txt +++ b/data/rooms/41.txt @@ -9,3 +9,26 @@ door-texture: 0 under-door-texture: 0 exit-xp: 42 exit-yp: 40 + +actor{ + name: BLOCMATA + bmp: altres.gif + bmp-rect: 0 133 32 27 + bmp-offset: 0 27 + pos: 24 8 0 + size: 8 8 6 + flags: REACTIVE DEADLY + react-mask: XP XN YP YN ZP ZN + movement: CW +} + +actor{ + name: PLATF + bmp: caixes.gif + bmp-rect: 96 160 32 32 + bmp-offset: 0 32 + pos: 16 8 0 + size: 8 8 8 + orient: ZP + movement: Z +} diff --git a/data/templates.txt b/data/templates.txt index 51de01f..4634cb2 100644 --- a/data/templates.txt +++ b/data/templates.txt @@ -207,6 +207,16 @@ category{ movement: CW } + actor{ + name: ARBUST + bmp: doors.gif + bmp-rect: 160 7 16 40 + bmp-offset: -8 47 + pos: 9 17 0 + size: 6 6 14 + movement: CW + } + } category{ diff --git a/source/actor.cpp b/source/actor.cpp index 08dc683..649ae14 100644 --- a/source/actor.cpp +++ b/source/actor.cpp @@ -669,7 +669,7 @@ namespace actor // act->pos.z -= height; } } - if (( input::keyDown(SDL_SCANCODE_SPACE) || input::keyDown(config::getKey(KEY_JUMP)) ) && (hero::getSkills()&SKILL_SHOES) && (act->pos.y+act->size.y)<=max.y && act->pos.y>=min.y && (act->pos.x+act->size.x)<=max.x && act->pos.x>=min.x && act->react_mask==0 && (act->pos.z==0 || act->below)) + if (( input::keyDown(SDL_SCANCODE_SPACE) || input::keyDown(config::getKey(KEY_JUMP)) ) && (hero::getSkills()&SKILL_SHOES) && (act->pos.y+act->size.y)<=max.y && act->pos.y>=min.y && (act->pos.x+act->size.x)<=max.x && act->pos.x>=min.x && act->react_mask==0 && ((act->pos.z==0 && room::getFloor()!=11) || act->below)) { // [RZC 14/05/2024] hack usant react_mask i react_push del heroi. Llegir més avall. act->react_mask=hero::getBoostJump()>0 ? 2 : 1; // =1 estic botant (anant cap amunt) @@ -1297,6 +1297,8 @@ namespace actor if (act->next) act->next->prev = act->prev; //draw::freeSurface(act->surface); if (act==selected) selected = nullptr; + if (act->below) act->below->above = nullptr; + if (act->above) act->above->below = nullptr; free(act); }