From 5bd81b2cb296b458f20bd73cf4c6ec19844b24ea Mon Sep 17 00:00:00 2001 From: stevenhowes <38082088+stevenhowes@users.noreply.github.com> Date: Wed, 14 Apr 2021 20:37:41 +0100 Subject: [PATCH] Read and highlight smart tiles in mapedit --- !TheEsc/!MapEdit,ff8 | Bin 7496 -> 7920 bytes !TheEsc/Spr,ff9 | Bin 109796 -> 112952 bytes !TheEsc/c/MapEdit | 62 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/!TheEsc/!MapEdit,ff8 b/!TheEsc/!MapEdit,ff8 index 6141bb06ed341d5ae79e07ab8930e993bbdbb85c..c5381e551f8f8f30c22becfd377e76378c568823 100644 GIT binary patch delta 1806 zcmYjS4Qx|Y6h8O$XRoE(Uc2JDwf1$D$xlGam?0=&S!5E2+Q@_`Gfq;-7J&^mlcDI^ z+36&MZC+pmuze~f8jX-F!~~2mF>(AzAQJJ1nD@iYeu_9_Vx|$E=WZS0B`3Gvx#yhk zyXXFN=#lZ|VE{$r<^srycF4K`{s;vDF2mFpd$cdyP}s8d$9cCj7$+RHc9-lOnFy?j^U&6s>wVJN3?_QmzO1a%LHsM3Fr%0g7R9aRdY zNqrs0Vylb}o|BUlAY4to*5f%6qPEFnICcv%j+5FbNaox^-r zD=|PqW!&7YjV&#WP1`E?DcV}`(&VwC zTP*V(`;c@g_H+;Zz*0mS=m|>`*+R>$ub1(25r?EMz*!cxDw+jHCv@naLyGOhj8$~d z`U;sx7ucw1L#b_XnZ0KZ(=nTe{7rA$mXHzpuzfN4l{VU!%>3TM_b_7oSontcW z7Ap+V6ZZAxUs~amc=;)PSC!1_U>~c;`WLWX9UNtKn3X}hK^Nr}k$$==Z(+N2rpzFj zP`jFwsuivcw-sd=NPR3hm{f_UTb)%dGve-0yCj@Pi^Cv`!xh#Z0zGEQu&Z*9eiZAc z%2KK|+@T6(iYCs2Kmsicx@c zU9ZZ_1^p~4Dw-tqvz5MtT9Cuj5;(nQa!%2vmr4lAiz$W|-eDuFW!4FuDv*>4pB}$&l5WQS&ZSEoew!1Q)< zb9ATUvCR(byfvg~{MEuIL%W6y{MDLBWcU-JRbw__OfZzv9l4kr7$cP+Gqwca%CHS0 zcp9N}y3QP|{t?E+qmS!c?XnUYbQU*86@%2I^jp{{evrzGFEx92a2KcM+e(jk<+vwFHv7AAMh;kH1FapKTZ&!8_8GrfKIq=j4^b+tr<> z=bc{&wNKF3X6&wh>$aIq-!UhT{(q+FBzPz$aGc1KSqvLbC$EKKz$Y6oN4JZ!NdfZKn+o57760Yk3VLJ{4g=L@9|_^;~e~90tV{$vM%u^C-;5M zJ@@>2_ui>xsTXRAw2TlJQSPWhxl*FPyXFv$(e%)k9IoBUXQaxy=WH}g0WG7DW^`^! zm^P1=DW(16+ky#Gsn#+M=!x%2-Ua_!DQAa<8a^{i-M#wze$9|8yY(eD$|07q1+xdU z*!>1K%Bp)@p^2^-)*!EL4s(gL5D8J|QKF)1%~;L5B$ZFeE@x-8YKlOY_@X>do=|vF ze)?k>{z9IpUPSwJVg3kpq`>6`egIyjMsX|Fp9KyyBGS5Rh3QqlxFMyrs;(C7Ds(J?U`HA{C(R=MXceZzIZ(_|lf9?ke@I1N_ z7LNPy8^W4#c9UjUw(Zw9a@N`*t>rhB59O{HUswFrdYJK))yE!NP%7rlHde+hNP_R% zmP)s{(Y{o=!tM6O(g?@xOP@G}HKGRNntN^8(4&0SdPF+TS^MkK7u@Xd)(yekMmlD$ zfZblm%~w>@<>@z@eOji3`ptkt%fxuMV^PgixoT2(B>ic)J8h*KcU<0tNuI-I_xbL$ zRCXxs;Y*Gx=WRJ*ey{fGJ^YtrcEwMibu#6?!%Wm?M$SjlBp*tLc&_uQxyR6$8mxvI zG($8{97-I}jGGo@$M`L0m2{GKJ5|ZWgHF}&D)5v`qiugy}?TA(S?cZxvN34kUhn@8hctQAfFA){1xRXr>jZi9&GD zGruASal57>332cU!I)+B1R%<0xEpgRYhxaCvF+p+7n2qm`B*KOJ0L826%g4e=3=ql#cj_sY|IU0*4?-ehXY|~Fga*2D5MNY+d zf7#3O)fivKG#29$?>V_8p1kZGkmW!;x#dZDW&^)Fd!%UaXQCi{9y`cQzP<8`za`K5 z)=8}=J}25XNEE$@BvM2&!U-0pg2%5B sizeof(SmartTiles)) + { + screen_nobuffer(); + while (1) + printf("Smarttiles exceeds %d bytes (%d bytes) object type is %d\n",sizeof(SmartTiles),length,outreg.r[0]); + //exit(0); + } + + // Attempt to get file info + inreg.r[0] = 16; + inreg.r[1] = (int) filename; + inreg.r[2] = (int) SmartTiles; + inreg.r[3] = 0; + + _kernel_swi(OS_File,&inreg,&outreg); + +} + +void game2_savesmarttiles(char* filename) +{ + // Attempt to get file info + inreg.r[0] = 10; + inreg.r[1] = (int) filename; + inreg.r[2] = 0xffd; + inreg.r[4] = (int) SmartTiles; + inreg.r[5] = (int) SmartTiles + (sizeof(SmartTiles)); + + _kernel_swi(OS_File,&inreg,&outreg); + +} + void game2_loadmap(char* filename) { int length; @@ -132,6 +185,7 @@ void game2_setup() memset(map[2],0xFF,100); game2_loadmap("mission2"); + game2_loadsmarttiles("m2_smart"); game2_fillmap(TilePlayer.mapoffset.X,TilePlayer.mapoffset.Y); } @@ -322,6 +376,14 @@ int game2_tick() TilePlayer.rawtile = (TilePlayer.mapoffset.Y) + TilePlayer.localtile.Y + (TilePlayer.mapoffset.X * 100) + (TilePlayer.localtile.X * 100); + for(i = 0; i < SMARTTILES; i++) + { + if(SmartTiles[i].Tile == TilePlayer.rawtile) + { + draw_sprite("smart",TilePlayer.localtile.X*100,TilePlayer.localtile.Y*100); + } + } + sprintf(textbuffer,"Tile:%i\nSprite:%i\nSolid: %i", TilePlayer.rawtile, fullmap[TilePlayer.rawtile],