author | ecalot
<ecalot> 2005-03-05 10:12:16 UTC |
committer | ecalot
<ecalot> 2005-03-05 10:12:16 UTC |
parent | 36452a9bd1845fb966403863d8f4a590a01b66fc |
FP/src/include/room.h | +83 | -83 |
FP/src/ker/room.c | +4 | -4 |
diff --git a/FP/src/include/room.h b/FP/src/include/room.h index a6baab7..8844b50 100644 --- a/FP/src/include/room.h +++ b/FP/src/include/room.h @@ -49,235 +49,235 @@ void roomKidChangedFloor(tRoom* room, tObject* kid); #define drawAllLeft(x,y,left,tile) \ /* Gate/left */\ if (isIn(left,TILES_DOOR)) {\ - e(15,(x)*TILE_W+0,y*TILE_H+2);\ - drawGate((x)*TILE_W+0,y*TILE_H-TILE_H+3,gateGetFrame(left));\ + e(15,(x)+0,(y)+2);\ + drawGate((x)+0,(y)-TILE_H+3,gateGetFrame(left));\ }\ /* normal/left */\ if (isIn(left,TILES_FLOOR)) \ - e(10,(x)*TILE_W+0,y*TILE_H+2);\ + e(10,(x)+0,(y)+2);\ /* loose moving/left */\ if (isIn(left,TILES_LOOSEMOVING)) \ - drawLoose((x)*TILE_W+0,y*TILE_H+2,looseGetFrame(left),layTritop);\ + drawLoose((x)+0,(y)+2,looseGetFrame(left),layTritop);\ /* exit_left/left */\ if (isIn(left,TILE_EXIT_RIGHT)) \ - e(7,(x)*TILE_W+0,y*TILE_H+2);\ + e(7,(x)+0,(y)+2);\ /* pillar/left */\ if (isIn(left,TILES_PILLAR)) \ - e(44,(x)*TILE_W+0,y*TILE_H+2);\ + e(44,(x)+0,(y)+2);\ /* pillar_big_up/left */\ if (isIn(left,TILE_BP_BOTTOM)) \ - e(83,(x)*TILE_W+0,y*TILE_H+2);\ + e(83,(x)+0,(y)+2);\ if (isIn(left,TILE_BP_TOP)) \ - e(85,(x)*TILE_W+0,y*TILE_H+3);\ + e(85,(x)+0,(y)+3);\ /* pressable/left */\ if (isIn(left,TILES_RAISE_PRESSED)) \ - e(10,(x)*TILE_W+0,y*TILE_H+2);\ + e(10,(x)+0,(y)+2);\ if (isIn(left,TILES_RAISE_UNPRESSED)) \ - e(10,(x)*TILE_W+0,y*TILE_H+1);\ + e(10,(x)+0,(y)+1);\ if (isIn(left,TILES_DROP_PRESSED)) \ - e(10,(x)*TILE_W+0,y*TILE_H+3);\ + e(10,(x)+0,(y)+3);\ if (isIn(left,TILES_DROP_UNPRESSED)) \ - e(10,(x)*TILE_W+0,y*TILE_H+2);\ + e(10,(x)+0,(y)+2);\ /* debris/left */\ if (isIn(left,TILES_BROKENTILE)) \ - e(49,(x)*TILE_W+0,y*TILE_H+2);\ + e(49,(x)+0,(y)+2);\ /* spikes/left */\ if (isIn(left,TILES_SPIKES)) {\ - e(107,(x)*TILE_W+0,y*TILE_H+2);\ - drawSpike((x)*TILE_W-TILE_W+0,y*TILE_H,spikeGetFrame(left),layRight);\ + e(107,(x)+0,(y)+2);\ + drawSpike((x)-TILE_W+0,(y),spikeGetFrame(left),layRight);\ }\ /* skeleton/left */\ if (isIn(left,TILES_SKELETON)) \ - e(81,(x)*TILE_W+0,y*TILE_H+2);\ + e(81,(x)+0,(y)+2);\ /* sword/left */\ if (isIn(left,TILES_SWORD)) \ - drawSword((x)*TILE_W-15,y*TILE_H-4);\ + drawSword((x)-15,(y)-4);\ /* potion base/left */\ if (isIn(left,TILES_SMALLPOTION))\ - drawPotionSmallBase((x)*TILE_W-15,y*TILE_H-4);\ + drawPotionSmallBase((x)-15,(y)-4);\ if ((isIn(left,TILES_BIGPOTION))) \ - drawPotionBigBase((x)*TILE_W-15,y*TILE_H-4);\ + drawPotionBigBase((x)-15,(y)-4);\ /* potion animation/left */\ if (isIn(left,TILES_REDPOTION))\ - drawPotionRedBubbles((x)*TILE_W+3-15,y*TILE_H-15,isIn(left,TILES_BIGPOTION));\ + drawPotionRedBubbles((x)+3-15,(y)-15,isIn(left,TILES_BIGPOTION));\ if (isIn(left,TILES_GREENPOTION))\ - drawPotionGreenBubbles((x)*TILE_W+3-15,y*TILE_H-15,isIn(left,TILES_BIGPOTION));\ + drawPotionGreenBubbles((x)+3-15,(y)-15,isIn(left,TILES_BIGPOTION));\ if (isIn(left,TILES_BLUEPOTION))\ - drawPotionBlueBubbles((x)*TILE_W+3-15,y*TILE_H-15,isIn(left,TILES_BIGPOTION)); + drawPotionBlueBubbles((x)+3-15,(y)-15,isIn(left,TILES_BIGPOTION)); #define drawAllTile(x,y,left,tile) \ /* Wall/left */\ if ((!isIn(tile,TILES_WALL))&&(isIn(left,TILES_WALL))) \ - e(63,(x)*TILE_W+0,y*TILE_H+2);\ + e(63,(x)+0,(y)+2);\ /* torch/this */\ if (isIn(tile,TILES_TORCH)) { /* animation */\ - drawTorchFire((x)*TILE_W+11+TILE_W,y*TILE_H-39); \ + drawTorchFire((x)+11+TILE_W,(y)-39); \ /* base */\ - e(56,(x)*TILE_W+3+TILE_W,y*TILE_H-24);\ + e(56,(x)+3+TILE_W,(y)-24);\ }\ /* chopper/this */\ if (isIn(tile,TILE_CHOPPER)) \ - drawChopper((x)*TILE_W+0,y*TILE_H,chopperGetFrame(tile),layCBack);\ + drawChopper((x)+0,(y),chopperGetFrame(tile),layCBack);\ /* empty_bricks/this */\ if (isIn(tile,TILES_BRICKE1)) \ - e(52,(x)*TILE_W+TILE_W+0,y*TILE_H-18);\ + e(52,(x)+TILE_W+0,(y)-18);\ if (isIn(tile,TILES_BRICKE2)) \ - e(53,(x)*TILE_W+TILE_W+0,y*TILE_H-18);\ + e(53,(x)+TILE_W+0,(y)-18);\ if (isIn(tile,TILES_WINDOW)) \ - e(54,(x)*TILE_W+TILE_W+0,y*TILE_H-18);\ + e(54,(x)+TILE_W+0,(y)-18);\ /* floor_bricks/this */\ if (isIn(tile,TILES_BRICKF1)) \ - e(12,(x)*TILE_W+TILE_W+0,y*TILE_H-18);\ + e(12,(x)+TILE_W+0,(y)-18);\ if (isIn(tile,TILES_BRICKF2)) \ - e(13,(x)*TILE_W+TILE_W+0,y*TILE_H-18);\ + e(13,(x)+TILE_W+0,(y)-18);\ /* gate/this */\ if (isIn(tile,TILES_DOOR)) \ - e(14,(x)*TILE_W+0,y*TILE_H+0);\ + e(14,(x)+0,(y)+0);\ /* gate_frame/this */\ if (isIn(tile,TILES_GATEFRAME)) \ - e(17,(x)*TILE_W+24,y*TILE_H+0);\ + e(17,(x)+24,(y)+0);\ /* normal/this */\ if (isIn(tile,TILES_FLOOR)) \ - e(9,(x)*TILE_W+0,y*TILE_H+0);\ + e(9,(x)+0,(y)+0);\ /* loose moving/this */\ if (isIn(tile,TILES_LOOSEMOVING)) \ - drawLoose((x)*TILE_W+0,y*TILE_H+0,looseGetFrame(tile),layTribot);\ + drawLoose((x)+0,(y)+0,looseGetFrame(tile),layTribot);\ /* exit_left/this */\ if (isIn(tile,TILE_EXIT_RIGHT)) \ - e(5,(x)*TILE_W+0,y*TILE_H+0);\ + e(5,(x)+0,(y)+0);\ if (isIn(tile,TILE_EXIT_LEFT)) {\ - e(9,(x)*TILE_W+0,y*TILE_H+0);\ - drawExit((x)*TILE_W+TILE_W+8,y*TILE_H-TILE_H-1,gateGetFrame(tile));\ + e(9,(x)+0,(y)+0);\ + drawExit((x)+TILE_W+8,(y)-TILE_H-1,gateGetFrame(tile));\ }\ /* pillar/this */\ if (isIn(tile,TILES_PILLAR)) \ - e(43,(x)*TILE_W+0,y*TILE_H+0);\ + e(43,(x)+0,(y)+0);\ /* big_pillar/this */\ if (isIn(tile,TILE_BP_BOTTOM)) \ - e(82,(x)*TILE_W+0,y*TILE_H+0);\ + e(82,(x)+0,(y)+0);\ if (isIn(tile,TILE_BP_TOP)) \ - e(87,(x)*TILE_W+8,y*TILE_H+3);\ + e(87,(x)+8,(y)+3);\ /* pressable/this */\ /* TODO: use boolean algebra to simplify this */\ if (isIn(tile,TILES_RAISE_UNPRESSED)&&isIn(left,TILES_WALKABLE)&&(!isIn(left,TILES_RAISE)))\ - e(57,(x)*TILE_W+0,y*TILE_H);\ + e(57,(x)+0,(y));\ if ((isIn(tile,TILES_RAISE)&&((!isIn(tile,TILES_UNPRESSED))||(!isIn(left,TILES_WALKABLE))||isIn(left,TILES_RAISE)))&&(isIn(tile,TILES_UNPRESSED))) \ - e(58,(x)*TILE_W+0,y*TILE_H);\ + e(58,(x)+0,(y));\ if (((isIn(tile,TILES_RAISE)&&((!isIn(tile,TILES_UNPRESSED))||(!isIn(left,TILES_WALKABLE))||isIn(left,TILES_RAISE)))&&(!isIn(tile,TILES_UNPRESSED)))||isIn(tile,TILES_DROP_UNPRESSED))\ - e(58,(x)*TILE_W+0,y*TILE_H+1);\ + e(58,(x)+0,(y)+1);\ if (isIn(tile,TILES_DROP_PRESSED)) \ - e(58,(x)*TILE_W+0,y*TILE_H+2);\ + e(58,(x)+0,(y)+2);\ /* debris/this */\ if (isIn(tile,TILES_BROKENTILE)) \ - e(48,(x)*TILE_W+0,y*TILE_H+0);\ + e(48,(x)+0,(y)+0);\ /* spikes/this */\ if (isIn(tile,TILES_SPIKES)) {\ - e(101,(x)*TILE_W+0,y*TILE_H+0);\ - drawSpike((x)*TILE_W+0,y*TILE_H,spikeGetFrame(tile),layBack);\ + e(101,(x)+0,(y)+0);\ + drawSpike((x)+0,(y),spikeGetFrame(tile),layBack);\ }\ /* skeleton/this */\ if (isIn(tile,TILES_SKELETON)) \ - e(80,(x)*TILE_W+0,y*TILE_H+0); + e(80,(x)+0,(y)+0); #define drawAllBack(x,y,left,tile,right,dleft) \ /* loose moving */\ if (isIn(tile,TILES_LOOSEMOVING)) \ - drawLoose((x)*TILE_W+0,y*TILE_H+3,looseGetFrame(tile),layBase);\ + drawLoose((x)+0,(y)+3,looseGetFrame(tile),layBase);\ /* normal */\ if (isIn(tile,TILES_PRESSABLE)) \ /* TODO: drop has resource 59 for unpressed/raise 47? checkgame */\ - e(59,(x)*TILE_W+0,y*TILE_H+(isIn(tile,TILES_UNPRESSED)?3:4));\ + e(59,(x)+0,(y)+(isIn(tile,TILES_UNPRESSED)?3:4));\ if (isIn(tile,TILES_WALKABLE)&&(!isIn(tile,TILES_LOOSEMOVING))&&(!isIn(tile,TILES_PRESSABLE)))\ - e(11,(x)*TILE_W+0,y*TILE_H+3);\ + e(11,(x)+0,(y)+3);\ /* wall */\ /* there are 4 cases */\ if (wallCase(WALL_LOC_WWW))\ - e(65,(x)*TILE_W+0,y*TILE_H+3);\ + e(65,(x)+0,(y)+3);\ if (wallCase(WALL_LOC_SWW))\ - e(71,(x)*TILE_W+0,y*TILE_H+3);\ + e(71,(x)+0,(y)+3);\ if (wallCase(WALL_LOC_WWS))\ - e(67,(x)*TILE_W+0,y*TILE_H+3);\ + e(67,(x)+0,(y)+3);\ if (wallCase(WALL_LOC_SWS))\ - e(69,(x)*TILE_W+0,y*TILE_H+3);\ + e(69,(x)+0,(y)+3);\ /* empty */\ /* tile, dleft*/\ \ /* gate_frame/this */\ if (isIn(tile,TILES_SPACE)&&isIn(tile,TILES_GATEFRAME)) \ - e(42,(x)*TILE_W+0,y*TILE_H+3);\ + e(42,(x)+0,(y)+3);\ /* gate/left */\ if (isIn(tile,TILES_SPACE)&&isIn(dleft,TILES_DOOR)) \ - e(16,(x)*TILE_W+0,y*TILE_H+3);\ + e(16,(x)+0,(y)+3);\ /* big_pillar/left */\ if (isIn(tile,TILES_SPACE)&&isIn(dleft,TILE_BP_TOP)) \ - e(86,(x)*TILE_W+0,y*TILE_H+3);\ + e(86,(x)+0,(y)+3);\ /* pillar/left */\ if (isIn(tile,TILES_SPACE)&&isIn(dleft,TILES_PILLAR)) \ - e(45,(x)*TILE_W+0,y*TILE_H+3);\ + e(45,(x)+0,(y)+3);\ /* wall/left */\ if (isIn(tile,TILES_SPACE)&&isIn(dleft,TILES_WALL)) \ - e(64,(x)*TILE_W+0,y*TILE_H+3);\ + e(64,(x)+0,(y)+3);\ \ /* upper objects */\ if (isIn(tile,TILE_EXIT_LEFT)) \ - e(6,(x)*TILE_W+0+TILE_W,y*TILE_H-TILE_H+3);\ + e(6,(x)+0+TILE_W,(y)-TILE_H+3);\ if (isIn(tile,TILE_EXIT_RIGHT)) \ - e(8,(x)*TILE_W+0+TILE_W,y*TILE_H-TILE_H+3); + e(8,(x)+0+TILE_W,(y)-TILE_H+3); #define drawAllFore(x,y,left,tile,right) \ /* pillar */\ if (isIn(tile,TILES_PILLAR)) \ - e(46,(x)*TILE_W+TILE_W-24,y*TILE_H+0);\ + e(46,(x)+8,(y)+0);\ /* big pillar */\ if (isIn(tile,TILE_BP_BOTTOM)) \ - e(84,(x)*TILE_W+TILE_W-24,y*TILE_H+0);\ + e(84,(x)+8,(y)+0);\ /* wall */\ /* there are 4 cases */\ if (wallCase(WALL_LOC_WWW))\ - e(66,(x)*TILE_W+0,y*TILE_H+0);\ + e(66,(x)+0,(y)+0);\ if (wallCase(WALL_LOC_SWW))\ - e(72,(x)*TILE_W+0,y*TILE_H+0);\ + e(72,(x)+0,(y)+0);\ if (wallCase(WALL_LOC_WWS))\ - e(68,(x)*TILE_W+0,y*TILE_H+0);\ + e(68,(x)+0,(y)+0);\ if (wallCase(WALL_LOC_SWS))\ - e(70,(x)*TILE_W+0,y*TILE_H+0);\ + e(70,(x)+0,(y)+0);\ \ /* the seed generation algorithm */\ /* Upper row */\ if (wallGetInfo(WALL_TABLE_LINE1_DARKER))\ - e(75,(x)*TILE_W+0,y*TILE_H-39);\ + e(75,(x)+0,(y)-39);\ if (wallGetInfo(WALL_TABLE_LINE1_LEFT_DOWN))\ - e(77,(x)*TILE_W+0,y*TILE_H-39);\ + e(77,(x)+0,(y)-39);\ if (wallGetInfo(WALL_TABLE_LINE1_RIGHT_DOWN))\ - e(79,(x)*TILE_W+24,y*TILE_H-39);\ + e(79,(x)+24,(y)-39);\ if (wallGetInfo(WALL_TABLE_LINE1_RIGHT_UP))\ - e(78,(x)*TILE_W+24,y*TILE_H-49);\ + e(78,(x)+24,(y)-49);\ if (wallGetInfo(WALL_TABLE_LINE1_LEFT_UP))\ - e(76,(x)*TILE_W+0,y*TILE_H-54);\ + e(76,(x)+0,(y)-54);\ /* Second row */\ if (isIn(tile,TILES_WALL))\ - e(74-wallGetInfo(WALL_TABLE_LINE2_SEP),(x)*TILE_W+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET),y*TILE_H-18);\ + e(74-wallGetInfo(WALL_TABLE_LINE2_SEP),(x)+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET),(y)-18);\ if (wallGetInfo(WALL_TABLE_LINE2_LEFT_DOWN))\ - e(77,(x)*TILE_W+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)+5,y*TILE_H-39+21);\ + e(77,(x)+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)+5,(y)-39+21);\ if (wallGetInfo(WALL_TABLE_LINE2_RIGHT_DOWN))\ - e(79,(x)*TILE_W+24+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)-32+5,y*TILE_H-39+21);\ + e(79,(x)+24+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)-32+5,(y)-39+21);\ if (wallGetInfo(WALL_TABLE_LINE2_RIGHT_UP))\ - e(78,(x)*TILE_W+24+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)-32+5,y*TILE_H-49+21);\ + e(78,(x)+24+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)-32+5,(y)-49+21);\ if (wallGetInfo(WALL_TABLE_LINE2_LEFT_UP))\ - e(76,(x)*TILE_W+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)+5,y*TILE_H-54+21);\ + e(76,(x)+7+wallGetInfo(WALL_TABLE_LINE2_OFFSET)+5,(y)-54+21);\ /* Third row TODO: send to BottomTile */\ if (isIn(tile,TILES_WALL))\ - e(74-wallGetInfo(WALL_TABLE_LINE3_SEP),(x)*TILE_W+3+wallGetInfo(WALL_TABLE_LINE3_OFFSET),y*TILE_H+3);\ + e(74-wallGetInfo(WALL_TABLE_LINE3_SEP),(x)+3+wallGetInfo(WALL_TABLE_LINE3_OFFSET),(y)+3);\ if (wallGetInfo(WALL_TABLE_LINE3_LEFT_UP))\ - e(76,(x)*TILE_W+5+wallGetInfo(WALL_TABLE_LINE3_OFFSET)+5,y*TILE_H-55+21*2);\ + e(76,(x)+5+wallGetInfo(WALL_TABLE_LINE3_OFFSET)+5,(y)-55+21*2);\ \ /* debris/this foreground layer */\ if (isIn(tile,TILES_BROKENTILE)) \ - e(51,(x)*TILE_W+0,y*TILE_H+0);\ + e(51,(x)+0,(y)+0);\ /* spikes/this foreground layer */\ if (isIn(tile,TILES_SPIKES)) \ - drawSpike((x)*TILE_W+0,y*TILE_H+0,spikeGetFrame(tile),layFore);\ + drawSpike((x)+0,(y)+0,spikeGetFrame(tile),layFore);\ #endif diff --git a/FP/src/ker/room.c b/FP/src/ker/room.c index 6410792..e8171f5 100644 --- a/FP/src/ker/room.c +++ b/FP/src/ker/room.c @@ -289,8 +289,8 @@ void drawChopper(int x, int y, int frame, tChopperLayer layer) { void drawBackPanel(tRoom* room,int x, int y) { tTile tile=roomGetTile(room,x,y); tTile left=roomGetTile(room,x-1,y); - drawAllLeft(x-1,y,left,tile); - drawAllTile(x-1,y,left,tile); + drawAllLeft((x-1)*TILE_W,y*TILE_H,left,tile); + drawAllTile((x-1)*TILE_W,y*TILE_H,left,tile); } /* bottom panel block at background */ @@ -300,7 +300,7 @@ void drawBackBottomTile(tRoom* room,int x, int y) { tTile right=roomGetTile(room,x+1,y); tTile dleft=roomGetTile(room,x-1,(y==3)?3:(y+1)); int cases=wallGetCase(left,tile,right); - drawAllBack(x-1,y,left,tile,right,dleft); + drawAllBack((x-1)*TILE_W,y*TILE_H,left,tile,right,dleft); } /* main panel block */ @@ -311,7 +311,7 @@ void drawForePanel(tRoom* room,int x, int y) { tTile tile=roomGetTile(room,x,y); tTile right=roomGetTile(room,x+1,y); int cases=wallGetCase(left,tile,right); - drawAllFore(x-1,y,left,tile,right); + drawAllFore((x-1)*TILE_W,y*TILE_H,left,tile,right); } /*