From 464e19c28240d4a2ba81b05a0229ab2bb9c9d999 Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Sat, 26 Jun 2021 19:45:08 +0100 Subject: [PATCH] Dual tile layers --- !TheEsc/!MapEdit,ff8 | Bin 10464 -> 11192 bytes !TheEsc/!RunImage,ff8 | Bin 25360 -> 25768 bytes !TheEsc/Tiles,ff9 | Bin 94092 -> 105792 bytes !TheEsc/c/Graphics | 11 ++++++ !TheEsc/c/MapEdit | 81 +++++++++++++++++++++++++++++++++++++++--- !TheEsc/c/Mission2 | 27 ++++++++++++-- !TheEsc/m2_map,ffd | Bin 10000 -> 20000 bytes 7 files changed, 111 insertions(+), 8 deletions(-) diff --git a/!TheEsc/!MapEdit,ff8 b/!TheEsc/!MapEdit,ff8 index b51ee8b9093a2c8332a3f7631e465c85286bbe99..4df56f01520a70d2f666a5d02742254927ff956f 100644 GIT binary patch delta 4255 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 diff --git a/!TheEsc/!RunImage,ff8 b/!TheEsc/!RunImage,ff8 index c40d50987422eda73a054c5096e7b73a7cdb65d5..51241f626cd2329cea04a98c79547ff515e40652 100644 GIT binary patch delta 4772 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 diff --git a/!TheEsc/c/Graphics b/!TheEsc/c/Graphics index 1b1fec8..f9a496f 100644 --- a/!TheEsc/c/Graphics +++ b/!TheEsc/c/Graphics @@ -228,6 +228,17 @@ void draw_tile(char* spritename,int x, int y) inreg.r[5] = 0; _kernel_swi(OS_SpriteOp,&inreg,&outreg); } +void draw_tile_trans(char* spritename,int x, int y) +{ + // SpriteOp 34 to put sprite at a location + inreg.r[0] = 256+34; + inreg.r[1] = (int) tilebuffer; + inreg.r[2] = (int) spritename; + inreg.r[3] = x; + inreg.r[4] = y; + inreg.r[5] = 8; + _kernel_swi(OS_SpriteOp,&inreg,&outreg); +} void draw_spritetext(char* text, int x, int y) { diff --git a/!TheEsc/c/MapEdit b/!TheEsc/c/MapEdit index c5af686..1584245 100644 --- a/!TheEsc/c/MapEdit +++ b/!TheEsc/c/MapEdit @@ -39,8 +39,11 @@ int selectedsmart = -1; // believed to be displayed in the corresponding (+1) screen buffer // and we run a compare to see if re-drawing is needed. 0xFF is used // for a re-draw being required (so it's set on the tile under the player +// _overlay is used for the second layer on of tiles (optional) unsigned char map[3][TILESX][TILESY]; -unsigned char fullmap[10000]; +unsigned char map_overlay[3][TILESX][TILESY]; + +unsigned char fullmap[10000*2]; char tilenamebuffer[4]; char textbuffer[63]; @@ -267,6 +270,17 @@ void game2_fillmap(int xoffset, int yoffset) memcpy(map[0][7],fullmap+yoffset+(xoffset*100)+700,10); memcpy(map[0][8],fullmap+yoffset+(xoffset*100)+800,10); memcpy(map[0][9],fullmap+yoffset+(xoffset*100)+900,10); + + memcpy(map_overlay[0][0],fullmap+yoffset+(xoffset*100)+10000,10); + memcpy(map_overlay[0][1],fullmap+yoffset+(xoffset*100)+100+10000,10); + memcpy(map_overlay[0][2],fullmap+yoffset+(xoffset*100)+200+10000,10); + memcpy(map_overlay[0][3],fullmap+yoffset+(xoffset*100)+300+10000,10); + memcpy(map_overlay[0][4],fullmap+yoffset+(xoffset*100)+400+10000,10); + memcpy(map_overlay[0][5],fullmap+yoffset+(xoffset*100)+500+10000,10); + memcpy(map_overlay[0][6],fullmap+yoffset+(xoffset*100)+600+10000,10); + memcpy(map_overlay[0][7],fullmap+yoffset+(xoffset*100)+700+10000,10); + memcpy(map_overlay[0][8],fullmap+yoffset+(xoffset*100)+800+10000,10); + memcpy(map_overlay[0][9],fullmap+yoffset+(xoffset*100)+900+10000,10); } void game2_setup() @@ -484,6 +498,26 @@ void game2_tick_input() } } + // L - next tile + if(input_readkey(86)) + { + if(tick > readmodkey) + { + fullmap[TilePlayer.rawtile + 10000] = fullmap[TilePlayer.rawtile + 10000] + 1; + readmodkey = tick + 10; + } + } + + // K - previous tile + if(input_readkey(70)) + { + if(tick > readmodkey) + { + fullmap[TilePlayer.rawtile + 10000] = fullmap[TilePlayer.rawtile + 10000] - 1; + readmodkey = tick + 10; + } + } + // C - Copy tile if(input_readkey(82)) { @@ -578,6 +612,14 @@ int game2_tick() { draw_sprite("solid",x*100,y*100); } + + map_overlay[screen+1][x][y] = map_overlay[0][x][y]; + if(map_overlay[screen+1][x][y] > 0) + { + sprintf(tilenamebuffer,"%i",map_overlay[screen+1][x][y]); + draw_tile_trans(tilenamebuffer,x*100,y*100); + } + udt++; } @@ -666,18 +708,26 @@ int game2_tick() game2_tick_input(); - x = 1100; + x = 1040; y = 600; + // Tile selector (primary) for(i = (fullmap[TilePlayer.rawtile] - 3); i <= (fullmap[TilePlayer.rawtile] + 3); i++) { if((i >=0) && (i <= 255)) { - sprintf(tilenamebuffer,"%i",i); + if(i > 127) + sprintf(tilenamebuffer,"%i",i - 128); + else + sprintf(tilenamebuffer,"%i",i); + draw_tile(tilenamebuffer,x,y); - sprintf(textbuffer,"%d",i); - draw_spritetext(textbuffer, x-60, y+30); + if(i > 127) + sprintf(textbuffer,"%i",i - 128); + else + sprintf(textbuffer,"%i",i); + draw_spritetext(textbuffer, x+20, y+30); if(i == fullmap[TilePlayer.rawtile]) draw_sprite("select1",x,y); @@ -685,6 +735,27 @@ int game2_tick() y = y - 100; } + x = 1160; + y = 600; + + // Tile selector (overlay) + for(i = (fullmap[TilePlayer.rawtile + 10000] - 3); i <= (fullmap[TilePlayer.rawtile + 10000] + 3); i++) + { + if((i >=0) && (i <= 255)) + { + sprintf(tilenamebuffer,"%i",i); + draw_tile(tilenamebuffer,x,y); + + sprintf(textbuffer,"%i",i); + draw_spritetext(textbuffer, x+20, y+30); + + if(i == fullmap[TilePlayer.rawtile + 10000]) + draw_sprite("select1",x,y); + } + y = y - 100; + } + + x = 1180; y = 750; diff --git a/!TheEsc/c/Mission2 b/!TheEsc/c/Mission2 index 3b1be0b..b0d8c8c 100644 --- a/!TheEsc/c/Mission2 +++ b/!TheEsc/c/Mission2 @@ -21,9 +21,12 @@ extern _kernel_swi_regs outreg; // map[0] is the 'master', [1] and [2] represents what is currently // believed to be displayed in the corresponding (+1) screen buffer // and we run a compare to see if re-drawing is needed. 0xFF is used -// for a re-draw being required (so it's set on the tile under the player +// for a re-draw being required (so it's set on the tile under the player) +// _overlay is used for the second layer on of tiles (optional) unsigned char map[3][TILESX][TILESY]; -unsigned char fullmap[10000]; +unsigned char map_overlay[3][TILESX][TILESY]; + +unsigned char fullmap[10000*2]; unsigned char areaname[13]; @@ -364,6 +367,17 @@ void game2_fillmap(int xoffset, int yoffset) memcpy(map[0][7],fullmap+yoffset+(xoffset*100)+700,10); memcpy(map[0][8],fullmap+yoffset+(xoffset*100)+800,10); memcpy(map[0][9],fullmap+yoffset+(xoffset*100)+900,10); + + memcpy(map_overlay[0][0],fullmap+yoffset+(xoffset*100)+10000,10); + memcpy(map_overlay[0][1],fullmap+yoffset+(xoffset*100)+100+10000,10); + memcpy(map_overlay[0][2],fullmap+yoffset+(xoffset*100)+200+10000,10); + memcpy(map_overlay[0][3],fullmap+yoffset+(xoffset*100)+300+10000,10); + memcpy(map_overlay[0][4],fullmap+yoffset+(xoffset*100)+400+10000,10); + memcpy(map_overlay[0][5],fullmap+yoffset+(xoffset*100)+500+10000,10); + memcpy(map_overlay[0][6],fullmap+yoffset+(xoffset*100)+600+10000,10); + memcpy(map_overlay[0][7],fullmap+yoffset+(xoffset*100)+700+10000,10); + memcpy(map_overlay[0][8],fullmap+yoffset+(xoffset*100)+800+10000,10); + memcpy(map_overlay[0][9],fullmap+yoffset+(xoffset*100)+900+10000,10); } void game2_setup_audio() @@ -730,7 +744,7 @@ int game2_tick() } // Redraw any tiles we're overlapping - if(map[0][x][y] ^ map[screen+1][x][y]) + if((map[0][x][y] ^ map[screen+1][x][y]) || (map_overlay[0][x][y] ^ map_overlay[screen+1][x][y])) { map[screen+1][x][y] = map[0][x][y]; if(map[screen+1][x][y] < 128) @@ -739,6 +753,13 @@ int game2_tick() sprintf(tilenamebuffer,"%i",(map[screen+1][x][y]-128)); draw_tile(tilenamebuffer,x*100,y*100); + + map_overlay[screen+1][x][y] = map_overlay[0][x][y]; + if(map_overlay[screen+1][x][y] > 0) + { + sprintf(tilenamebuffer,"%i",map_overlay[screen+1][x][y]); + draw_tile_trans(tilenamebuffer,x*100,y*100); + } } } } diff --git a/!TheEsc/m2_map,ffd b/!TheEsc/m2_map,ffd index c88b08e672bd0d039db2cab07ee948c0126645c4..263cf2fde83f171e237dc5eba819e66e470ea6c5 100644 GIT binary patch delta 746 zcmZ{iyGz4R6vlgMY93AVpoM}h(n7(aPAxHQ=};W(q~ItnE$SdtaBfosfut7AS{6#1dRI?PCQ^LN$6lNW9 zwr|WBpD}RrnvN=9MJfbydPS$_J+U`bh|=Mk2FcU`5Ja)!f80l3XMo5*U(l04Q=18 d>*KV0tlt4FV_Sb0V_YQufT-KnpDA5e{{S@Msww~g delta 293 zcmZ25hjD`6gj~i|8}qao8CfRJVoYXSHTfT7^yHV!JeyOQRx?ii&1W-Nfth!5B#Shd zy@5poOpCBW=mbu|$(^j?U@-?ah!~7sg2vBbhsa-m(hWQ;lPx$@z