From a6eadf5caebd181c24e3c210f3e5dc0b2e50b9c4 Mon Sep 17 00:00:00 2001 From: sparky4 <sparky4@lappy4.4ch.mooo.com> Date: Tue, 23 Dec 2014 14:23:38 -0600 Subject: [PATCH] modified: makefile modified: scroll.exe modified: src/scroll.c --- makefile | 6 +- scroll.exe | Bin 53817 -> 53817 bytes src/scroll.c | 154 ++++++++++++++++++++++++++------------------------- 3 files changed, 81 insertions(+), 79 deletions(-) diff --git a/makefile b/makefile index a6a4be18..0a47caf6 100644 --- a/makefile +++ b/makefile @@ -1,10 +1,10 @@ -FLAGS=-0 -d2 -SRC=src\ +FLAGS=-0 -d2 +SRC=src\ SRCLIB=$(SRC)lib\ all: test.exe pcxtest.exe test2.exe scroll.exe scroll.exe: scroll.obj modex16.obj dos_kb.obj bitmap.obj - wcl $(FLAGS) scroll.obj modex16.obj dos_kb.obj bitmap.obj + wcl $(FLAGS) scroll.obj modex16.obj dos_kb.obj bitmap.obj 16\lib\x\modex.lib scroll.obj: $(SRC)scroll.c wcl $(FLAGS) -c $(SRC)scroll.c test.exe: test.obj modex16.obj bitmap.obj diff --git a/scroll.exe b/scroll.exe index 43479f22f1f47eb5a0e3f2c8d6168e59f7e736b9..ba9037f20a99eeb8e3d5d2acffd28b5a9ecde875 100644 GIT binary patch delta 5438 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 delta 5440 zcmZ`-30PCtvp**{5FlX>dmt=XAs~ngqHI<+1?2Bmm$s1tm!b&%Ar#z@8n=j`IQF$z z6$KHu*7uB6+;HJv*J{<;+Ul#-YV8HOxU{yVExfrQpzZg)d>?au_cwFq%$YNDF3FJ{ z%#j_;dTCHv6d{46|8r7Jh?AC(o5<x3C1iXwA^Ylw%jxC%sWWI<{eB-BS${z%x)f29 z@+Wt{{?91-Gel57QAI>`)nif)F4UhMg#FZyj)XN-LCY-o8C*g<6dob}AxH#av<qSc z!{`*4Cs5LL0D?%tUpn|m5KXo4yC5xOsjj-Jn;1mrQvM{Q+Xe?pa7EMiuj*f$(b48c zxOT{6#?nR5%IK*dh=gJECx{mApbqebFpC}owaq&;1Wwvy(Hr1o8%UqR5Zgj(f(Bbf zbduKiA0fA+hnw?9bGFUV0Me!*wTBFST#97v)w)x)Rb4oI!80xRsZHtP>fn)WP}bRy ze)Tu~>LQDp+Z<p@>8VNS;nD+YruDQ53HPgv+b3_Mgi8+M7E8Hp@|qNm`%zvqjpMaj zWwnQ9_i@ufFVfKsuvU~URy#-Cj=Elx@{IF`??h!Z9%k7oX+FG#G67E8No}9ij1zE5 zgg&`q&zjes)ualzb5eedC4nnWmD?Jt-X%+!&aHNBnS`5zl)<5G0^w%!NYIVyI%2R# zDKIdd4=Mjxj#;e}keb(ejZ1}Ou@izCz0lYpHU6Q2c>5(Xt;<m%CcT#n6kEVE&P!}v z`7@aB;3Mi3qN8dJ{AOS5u+-VAibGWvmB2{{ZSH}ANRPSUS_GX{Cz?{0*Q6{nrL5$` z(+5}r#gM1+=*2*V7%2BVP>iHM(5k-$S_KLAp76Su^$&2eM%!d>jkdww8q!7A4K7mn zUA$0S=4hp&EYt=`tf0>Wu1GWvEmEuIgAI;eNt0xjxY7uh#-kVGV*Z{$ravy*fdtwb zJDiPw1i%c(CH}4wYe?(ttRbzmv#xT&8UF1cg>6p4{wyvF0C%Tialt@>l>_=w*k8At zv<{oxtTUUz(b;Qks;?!$Y{JFy=*0jj2Ke3c#9`m?iL)iv#90HZf|-sov(ed0Kqta` zuD`|j{fK@dxeJf7+rmgT_qspdA|L(O|1^bv+MaF0WjyBo$I2yIEY_GWx#ftwdVO4c zgMEkj8mpc$71<c-wfhl$tq;vF`6f_$-E8!`;YjzIr)#?zYGWQ3E)!A(<V5)i1X8Gq z>cn<^V`xv9Il6f#v({-B)4T_VeN6KQIQ%yg{X^S<=;i~64>E0igj2Y4A46@l%w=oT z+Kb2MiYI4JTKh@e*GDhIk>~*TYf(o8<Y40Epy}CdgdBAyTnKbUkD(7iJ?t=@Z~l5% z5T%tsN914#xg+AJ7`Bhl(IIeUL?`_m+D0nT^v*~x`F)q}{WY@HqI2T}lyrAK8z&MP zT#jKnr8VR1xG0duJi+@*G-|9{x{K*t_vXo_4sJo8>5S<M?q4u#R5M)yeWRw+w_ti~ zF1-oIV|BC>I%74+xQ+gujsnRTEp0ZB7&DrB**Y0}`pT7YeSPJDZGC-~Yp#P6!|FIK zeGCWUM$$Uyip!=IFgiX2H=&QWq3&}eGdlidx@J0aaMtCZQh`Z?S4u@f08NJfO4u)8 zB#@dIPQQWj#HmySml9KA&*632ONeDBj@5ah9(<&vIzvQ{EKW3iYI<bq;Wjy&&KRqD ziNRuEdW2dbmu8-jG@P0jj@`mg6?ms)(cMshG8zu0=;^26nYxJn0vl3i(+Ti2b*`$I zGo8h1@;S<o?o(~P<S3KK&FtrFYG09b?`yLmoE(;?&7-&BN!o0>2_~nHpt-On{Y$*> z^2RIZbuf(|=J@SX466Um$78%W{@tj=r<kAWiMD~=->*I&`JnsZw3kh1O*gr_PgY!5 zYFqBM;`W<PyQ<3_sz0vAqj<zs0ZbT81K^VhQS@V=8FEj54)3&nr?WatSGmm(x*v0P zFd`$|KjaBU{iG&<W9X;V6KUYgSsjy1XSnlyXm%T_Gt^?`1H5dL+9ZVYg98~cGzq#h z;;7uL&7AH`KQb?S<wF7e*&L(4O6hR3eNL-Tay9xYzC$e^3FNTB<~#ZGsm~o9GJ!8; zpk!W6;;}@JQhLN(P#_dL-Ekv=^+9ZiGa;<)XXXW^_QIu;UD@l7gnVV!;lS1)xNpbV z5q3AC82kP9>{bNv_FL=;y9-exQaJY<!aMe<4(xFR5A26K5cVvhkq)U2sJ(_T-Qf@q zbxwqE4p$}Yx5)kI@DvRhq+Svq6SKeZX5yv0#Do<fw+A_#5rnWyJVnBKB6uWDk`OkK zpCOqdL2VeqX_5{eu0;5Y<hB!=fZz`aaU|@kh_W5eIkJ;@Gsh2+dIiy8q;SF_gwGuH zPV9UHe>!G55q6;ySxP24>5*VppvZB$!o#~Li1T+YYy$#YXR$M34<nl8{HZg$4?&Le zDWnb|I)fBW_za=IrO1W7h``Qeh6`bDAew~~YQIKU>~f2T3|c$7M!H_7l#oKg)Sn5j znum+A0#x|92D>73M3~_^nTOs8C%YNl2pf!OyW26)RjQafZV528GKP8N76a=mN6Hi2 zTcrHCo~QG2<`Y4^fzEB<Q<;D(PIli64=a<jx7}q@R*S?#cc~P0@d!srH%i$!1nE)( za)hj=r(NLM0uRVv;LNm0heE}IP^L{93Og1AGhg9&VL=!()MF?7ihQ!iR!}SqX7X`N zU#J!C^w4=i<pQOs9V0*Dp@61^!QwAH6rL8x32wY&w{ayE#e@=m_kwx{o##jWQ{vqS zN$@-Y!Ha^KJRDOODTN<--uHr}B@uS)b=2PU{9o9)XehJG>nz+}q-E}V%>>cnZ02XL zNicJ9vT&yNU*2dP>AnCRSJHV)`7)K@uI76G3J(_tOWyas=gm4GVfMZa(j{8vFYgve zT$02%`82}vCBc$xACnKe3k|0ERKbBII;O=Z6Yee9&m8he2B=bn_4<tSCG2qzLX5sG zh|VH9<ogAptB5#Xdq2Y7LgeE&+WesE6&jf7XY{k4OG#cn##Ke<e#;;BdI8pu-$L{3 z>ICXy^m|!m>B{j8A#eL-!Tz_(9T}OcjIim*M95MgYMI96Wm#pv*;_~!%1WSc*(yb) z>}w0jmlKUB%{P>n78Aib@(J3oaY8~&vYQ|^j%L1=6~QE96!S!u2P=(nfkpnK1NuXo zpHskxhBY$}?b&HIgjD+vh5N?k%;<m;n6rEYlNs;^G%pViDhX&Em{gQg{Nje}Z80eU zTjBBYaHch2KLoAFW!eH-VbzM`;v9Lt+)@J3b`Z46+iCFlZTHKc%As?01T?KIXHLm~ z0N+(Zn5S}2$XI0*3Im;jpv%+^?W@&{XV6UGR=>okgQh@)X{c~!(3)V#Tva9Fu+HZO zEi-qTyeP9K_%JXvYnk_g_rr#o2g1W4PeNc_twwYj+y7!n7wlfEWuAnDLR76*<d02h zqX-6@S}hZ*$VD!kiBrsioZ3((SFy!n^EukQsdyXOYc<Rk#c1fPoymNl7!E0Q3hi0N z6$N46$F{toh*q-u5ZqOGE7|P`{!|E+gx!nCMd=Mtr;8n}T%jDucTv8<z$b4Zo!chD zl)GUEPE;;dTJHoblUlw=T#;s#2Kc>BJ7$IQyk+{|&e=M>0`1;Wp6s7K-%!fenZ@s$ zsMx7I1h1`&V9qPEVBNZr%xz@~Tv&I@t5f+HBRr3tDptu=guRX^QWXzJ*GDi}sy)!X zKAOo<H9=6ll3Adth4lI`&poOeDodem#(q4mx}@SSjGK^M?*WbV&Mr4pz5VLXQT<T$ z3$)jV#rLWz)z*E#u;WB`Lfq6P>VNEbIMO<Gyc%yVL{rrTpxzK3QmNi+alx)fa*eu4 z&8|SOQN0oE)*;%a-e#`YV5Ba4)#(}m|9blXZ<h{rEI4dTV$wAl$lB<wcvU0UK3{Gv zpI{s8LRPa$L)cJ6J2i4xvoVg*Xe;63#!zOAw#5AF#+3r5QhU!_{Z1kk)@Z-f!i-Hp z@a?-}m=5iiplHxB_p}W#8ONWs^{}i#6BrRXCzRcdos=B<dMNsDM_3eEAIhFUP!Vc^ zi)h>sdINrMh++1HehkAll@9w)=og`c-HEM7!aTzWdj*kS*wQfe2!imiSfn}-jR{LZ zbQw{8*nGIPsgb!6_7yCC?`7uOu$%Dtd#PEB&PzvFf2^v7x_5Nw4!>#RpMYfIg&-7^ z8Rin^KJt{om$P0!dCCOB^!)94;<V&RDH#)A))VFq%-yV3c!Z;ae)F=D`T51DI2vK~ zV151)4sBMu_YSay#fF#>m1wsN9&J|AZQ!{@MVldRi<+K-{4FZCyF;w=%Sy_N^U$yi zwrtUQ)I|;iRy;4KsHh|tHFa=%%PuMZOG1Chxn+i&QUfad;hnAi?rG5j3VnWMA<q}U zxvc@ZJ<s{n<SFAO6XpOi)@>A*7ZvGKvXk|thGN2)!L?C`KP|*JdZL`#7>ROaqk^`> z-o{{h9<HFg3XdCoP>Q$7T(1qdwl4S+#B7@-?HgeA#cXMQJ_gbk4XxY87MvP37@;Lw zY*9`@8LD>-AB-oj#G1$1BL-~QfmF8)P^{JFeIzXV$So=<%h$7oMf_qmkiA{)J7wg+ ze4a1Tzh2I=`K74-9_qKdQ+sIHuJT+RGia1o((i;Y_Hb{zjQT?F_Cz`c5}LI1J1A@# zg5MDvnskD`SUA_Dpl`$XO}>8D#ta5tnqQW0c)m&}1T`yUU2%i{Eg7mPG`yjoS5|;w z{9w*$K1it@c(#O686>rM;(z+nTS{pfTx!w2mKQ%bllPlnT3TF!vr7L?Cy$$$iEPzB z*hxuQsmaK%`3Ik#H7zLv`39J@b4X~@pf<0h3}2Tye3`cXgN#J(1K7LMSI`>|=XNGz zz>clH_|t=?)#T-pFc2hq(C3!s=kQe*4Ch-ThYugr=?h9rD)faV^YFco>Lbq;Wp9)g z7SDaIx(?yHIQ&7$bGM2Phq&EpnhE*4)t-wJt!cKL@ceQE-wid;v|HmHjQ`hL8@RAc zUtCh0K9<kOtMJY4DXw|XmFdIA5$1hJ-J_;a=8`=JB{a^gILruX9B7Uyah<GVTDli1 zQC33Ju@HI(&K`@V9?)}4F6fN_zvBVeys^jS*t|1Qo`Qua@4_aOb#U}}G@jd!$K$YH zbSLE4FBvG$LlMfWu=a#jfE{r7ga)VGMQX~1b~#-Qf$dr>u<?k$gE=UFhBfVSzQFdj z2Vj9+M5+tA+7mG6p(o{7B;!wNlhW{j2$At(@WVd|$W<&xp@1(O{E{-L;{m>$P_M^g z6bhQ);7KidymK<0x`5`C95bDE>ff04qZWJ%WhV5XTnxUa<un*#Pe;={C_XJ0MUCaX zIh!}0{z-(%T7DrlV1{zuj>xD;#ncPRqM&U!dfYu28Khx^A=_i@W<ci!+5cmrV1#Om fNyx=}=-%d1HO(}yywph1vFdUytu!CJyh8YYzr_X4 diff --git a/src/scroll.c b/src/scroll.c index d382bff2..b91adf7d 100644 --- a/src/scroll.c +++ b/src/scroll.c @@ -2,13 +2,14 @@ #include <stdio.h> #include <stdlib.h> #include "src\lib\dos_kb.h" +#include "16\lib\x\modex.h" #include "src\lib\wtest\wtest.c" #include "src\lib\ems.c" -//word far *clock= (word far*) 0x046C; /* 18.2hz clock */ - -int emmhandle,ist; - +//word far *clock= (word far*) 0x046C; /* 18.2hz clock */ + +int emmhandle,ist; + typedef struct { bitmap_t *data; word tileHeight; @@ -45,7 +46,7 @@ typedef struct { int setx; //NOT USED YET! player sprite sheet set on the image x int sety; //NOT USED YET! player sprite sheet set on the image y word q; //loop variable - word d; //direction + word d; //direction bitmap_t data; //supposively the sprite sheet data int hp; //hitpoints of the player } actor_t; @@ -68,15 +69,15 @@ void animatePlayer(map_view_t *src, map_view_t *dest, /*map_view_t *top, */sword //#define LOOPMAX (TILEWH/SPEED) //place holder definitions -#define MAPX 40 -#define MAPY 30 +#define MAPX 200 +#define MAPY 150 #define TRIGGX 10 -#define TRIGGY 9 - +#define TRIGGY 9 + void main() { bitmap_t ptmp;//, npctmp; // player sprite const char *cpus; - static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */ + static int persist_aniframe = 0; /* gonna be increased to 1 before being used, so 0 is ok for default */ page_t screen, screen2, screen3; map_t map; map_view_t mv, mv2, mv3; @@ -85,52 +86,52 @@ void main() { byte *ptr; actor_t player; //actor_t npc0; - - if(isEMS() || checkEMS()){ printf("%d\n", coretotalEMS()); emmhandle = mallocEMS(coretotalEMS()); } + + if(isEMS() || checkEMS()){ printf("%d\n", coretotalEMS()); emmhandle = mallocEMS(coretotalEMS()); } /* create the map */ map = allocMap(MAPX,MAPY); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly - //if(isEMS()) printf("%d tesuto\n", coretotalEMS()); + //if(isEMS()) printf("%d tesuto\n", coretotalEMS()); initMap(&map); mv.map = ↦ mv2.map = ↦ - mv3.map = ↦ - + mv3.map = ↦ + /* draw the tiles */ ptr = map.data; /* data */ ptmp = bitmapLoadPcx("ptmp.pcx"); // load sprite - //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite - - /*if(isEMS()) - { - XMOVE mm; - mm.length=sizeof(map); - mm.sourceH=0; - mm.sourceOff=(long)↦ - mm.destH=emmhandle; - mm.destOff=1; - //halp! - ist = move_emem(&mm); - printf("%d\n", coretotalEMS()); - if(!ist){ dealloc_emem(emmhandle); exit(5); } - //printf("%d\n", emmhandle); - } - - if(isEMS()) - { - XMOVE mm; - mm.length=emmhandle; - mm.sourceH=0; - mm.sourceOff=(long)&ptmp; - mm.destH=emmhandle; - mm.destOff=0; - //halp! - ist = move_emem(&mm); - printf("%d\n", coretotalEMS()); - if(!ist){ dealloc_emem(emmhandle); exit(5); } - //printf("%d\n", emmhandle); - } + //npctmp = bitmapLoadPcx("ptmp1.pcx"); // load sprite + + /*if(isEMS()) + { + XMOVE mm; + mm.length=sizeof(map); + mm.sourceH=0; + mm.sourceOff=(long)↦ + mm.destH=emmhandle; + mm.destOff=1; + //halp! + ist = move_emem(&mm); + printf("%d\n", coretotalEMS()); + if(!ist){ dealloc_emem(emmhandle); exit(5); } + //printf("%d\n", emmhandle); + } + + if(isEMS()) + { + XMOVE mm; + mm.length=emmhandle; + mm.sourceH=0; + mm.sourceOff=(long)&ptmp; + mm.destH=emmhandle; + mm.destOff=0; + //halp! + ist = move_emem(&mm); + printf("%d\n", coretotalEMS()); + if(!ist){ dealloc_emem(emmhandle); exit(5); } + //printf("%d\n", emmhandle); + } */ /* save the palette */ pal = modexNewPal(); @@ -495,7 +496,7 @@ void main() { modexFadeOff(4, ptmp.palette); modexPalBlack(); modexLeave(); - setkb(0); + setkb(0); //system("mem /E /P"); printf("Project 16 scroll.exe\n"); printf("tx: %d\n", bg->tx); @@ -512,18 +513,18 @@ void main() { printf("player.d: %d\n", player.d); printf("temporary player sprite 0: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=45556867\n"); printf("temporary player sprite 1: http://www.pixiv.net/member_illust.php?mode=medium&illust_id=44606385\n"); - printf("\n"); - //xmsfree(&map); - //xmsfree(bg); - //xmsfree(spri); - //xmsfree(mask); - //xmsreport(); - if(isEMS()) - { - printf("%d\n", get_emem()); - printf("%d\n", coretotalEMS()); - dealloc_emem(emmhandle); - printf("%d\n", coretotalEMS()); + printf("\n"); + //xmsfree(&map); + //xmsfree(bg); + //xmsfree(spri); + //xmsfree(mask); + //xmsreport(); + if(isEMS()) + { + printf("%d\n", get_emem()); + printf("%d\n", coretotalEMS()); + dealloc_emem(emmhandle); + printf("%d\n", coretotalEMS()); } switch(detectcpu()) { @@ -544,21 +545,21 @@ allocMap(int w, int h) { result.width =w; result.height=h; - result.data = malloc(sizeof(byte) * w * h); + result.data = malloc(sizeof(byte) * w * h); //result.data = (byte *)alloc_emem(((int)sizeof(byte) * w * h)/1024); - /*if(isEMS() || checkEMS()) - { - XMOVE mm; - //emmhandle = mallocEMS(coretotalEMS());//alloc_emem((int)sizeof(map)) - mm.length=sizeof(result); - mm.sourceH=0; - mm.sourceOff=ptr2long(&result); - mm.destH=emmhandle; - mm.destOff=0; - ist = move_emem(&mm); - if(!ist){ dealloc_emem(emmhandle); exit(5); } - printf("%d\n", coretotalEMS()); - }*/ + /*if(isEMS() || checkEMS()) + { + XMOVE mm; + //emmhandle = mallocEMS(coretotalEMS());//alloc_emem((int)sizeof(map)) + mm.length=sizeof(result); + mm.sourceH=0; + mm.sourceOff=ptr2long(&result); + mm.destH=emmhandle; + mm.destOff=0; + ist = move_emem(&mm); + if(!ist){ dealloc_emem(emmhandle); exit(5); } + printf("%d\n", coretotalEMS()); + }*/ return result; } @@ -571,19 +572,19 @@ initMap(map_t *map) { int tile = 1; //if(!isEMS() || !checkEMS()) map->tiles = malloc(sizeof(tiles_t)); - //else + //else // map->tiles = (tiles_t *)alloc_emem(sizeof(tiles_t)); /* create the tile set */ //if(!isEMS() || !checkEMS()) map->tiles->data = malloc(sizeof(bitmap_t)); - //else + //else // map->tiles->data = (bitmap_t *)alloc_emem(sizeof(bitmap_t)); map->tiles->data->width = (TILEWH*2); map->tiles->data->height= TILEWH; //if(!isEMS() || !checkEMS()) map->tiles->data->data = malloc((TILEWH*2)*TILEWH); - //else + //else // map->tiles->data->data = (byte *)alloc_emem((TILEWH*2)*TILEWH); map->tiles->tileHeight = TILEWH; map->tiles->tileWidth =TILEWH; @@ -737,6 +738,7 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y) { word ry; rx = (i % t->cols) * t->tileWidth; ry = (i / t->cols) * t->tileHeight; + //mxPutTile(t->data, x, y, t->tileWidth, t->tileHeight); modexDrawBmpRegion(page, x, y, rx, ry, t->tileWidth, t->tileHeight, t->data); } -- 2.39.5