From 8a10eb8dbca0b41c2e9e67491e20a2dd814f56f6 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 13 Mar 2017 11:32:04 -0500 Subject: [PATCH] __seguse.txt added to show _seg usage also OpenVGMFile needs to be ported to 16_snd.c so we can use CA MM and PM ][ ca needs huge amounts of work and i should remember what needs to be done soon also i should reverify 16_in.c to make sure it can work with other code of id engine] did some cleanings ans such also there is a glitch i see wwww --- data/spri/chikyuu.vrl | Bin 0 -> 5006 bytes src/lib/16_spri.h | 21 --------------------- src/lib/16_tail.h | 6 +++--- src/lib/16_vrs.c | 21 ++++++++++++--------- src/lib/scroll16.h | 2 +- src/lib/testpatt.h | 16 ++++++++-------- 6 files changed, 24 insertions(+), 42 deletions(-) create mode 100755 data/spri/chikyuu.vrl diff --git a/data/spri/chikyuu.vrl b/data/spri/chikyuu.vrl new file mode 100755 index 0000000000000000000000000000000000000000..7229838003fa36157089343d9fb415055c23ef9b GIT binary patch literal 5006 zcmbW5%Wm6N5Qfk2uB&Y{u@cL+@&-jWU3Jq{yXdNmppO%Pv4H^XGqc}6LsF!~#z5IX zm37XU`~3eLe*W{1pFaQg>tA2e@5!GpT^jziwY3||K3MjWGE4Tl*Js;UwY4nI`QyH; zOUv}ws_-wi-del2Eq~=zRq(KnWvlCqKluZxdD^aRwPK;De0^=!7M8N^J?HqvC2}m+ ziDqr@Q8@Vx!BTI98GkwOQd2%M3G+zbnyN^4Lx39w_1jjHv8c52LUw+&$ui z&WAgrW;P=Ip_FdL9;+kP{9cwJ!`dusQ*lTv+iHirX1%MWIo6-@48L?7yK*IE!wMVp zL9DY5<*c8zW3GFyxJo&z=tjI8+u)dcR@e59Bq>K8QHgfVFR3gOo)H$8<8>5y%>CkZ%qv zA|4VHKdDHhTYWH;n7$~k9G6#-@9}tTuDrGwx2jmi6zu8>$6m$RJvVtYpRov>0D*< zW6(_9JOT`1_@q)w?_(sOJhVrVsfZ+5UaNalMDrr`CFwR5*=cBzA>t}B*@}UV6*mDY zvM$xX9?01r>WO*iC(+eP$r1n@{!jP5VD~56q{6g@EeE*~?wA%_L-koLi&?rAu zgLl#Ad=2QR3VThCRz$Kcd$=wuoTKMAXSBX0WQfpXZ53{`Hy4Z5e%Y69SftcNcG-JR)A5sD2u&FBprcAt-7?qi`-gbp<>oB#FQq~=|ngT5c>h61IYSGcPRB{2N6^h0-0 z#d@tE$+N5l^?z;$DkC~cD?F&>QQrA*$kR_F!Ei{WmV@o{S`x|RsH?gsD&m@5kg0N7 z+lL--_#p~dwz$+EVMXseOi;cDa-qU?l(P{7wTANxIXv@AD!UsjpTN7L?AlS5fYV+N zvdn>C+aG8-*^sI%0Z<0q?jlRs_ucXrXpxfIWS`#;^!F5zUKwjQFROsbf3}! z@2H@>#FT}TFfc5bk@Xlw6|fp;#y(+#vcR0dx;z>Og=rS4gEmDi3F5tm4iTM;guK{(i z@Fcvs=wN#Ai0(6Pc*80L5q{d_l7o8OIDlv~3hI?=z&-#i5$_9(0&M6!R*4jYH%J%= z!R7@dyuTmCoLPwGUxrvHp%zn0))dz#uw65R>#-LnpexKztL_y@o6&`+XF?}w^WVf% zTgD8Vp=5UTsjb@e)HAvI^c30NUQ=M*^lntps8a+aaVDP(DupHGV;^MuJK5b8?+nCD z?4}WSW{A=#FS)01_J_$=YI%}JCCn$1;}!i(rVILTQcArdFC;I>J(;0Om3)|DZNoG} z1Ja_G6r_HohJ6BK?41|zbcO=NiA1cc-I2YS41gw*L9KdwaeTwwK!|hqv(*8kZ~pI2 zkZm5r>*Xbf=C6JJ{QmGtCLeL0XH@UzDz%<`#`Y`p8fNDcaZ#2$qQf<(pS*qWK6(Sr z31}SJrCPG5x`iSnT}ksB7TB*HXYz4aA)Wu{qBGu9(0r##k?7%~GrM9jG+(oh08J>f zbkB(;2fT%Qj>yOv2gTwmuZL;8-ECDbH!OXhM@-e^SpK+l&FR+w`Rh!{Ag!xm? WfkkoqnY=I)18w1z@s--e<>y~f(9oO! literal 0 HcmV?d00001 diff --git a/src/lib/16_spri.h b/src/lib/16_spri.h index 0e29ebeb..5d1de10d 100755 --- a/src/lib/16_spri.h +++ b/src/lib/16_spri.h @@ -25,27 +25,6 @@ #include "src/lib/16_vrs.h" #include "src/lib/scroll16.h" -//moved to 16_tdef.h -// struct sprite -// { -// // VRS container from which we will extract animation and image data -// struct vrs_container *spritesheet; -// // Container for a vrl sprite -// struct vrl_container *sprite_vrl_cont; -// // Current sprite id -// int curr_spri_id; -// // Index of a current sprite in an animation sequence -// int curr_anim_spri; -// // Current animation sequence -// struct vrs_animation_list_entry_t *curr_anim_list; -// // Index of current animation in relevant VRS offsets table -// int curr_anim; -// // Delay in time units untill we should change sprite -// int delay; -// // Position of sprite on screen -// int x, y; -// }; - /* Retrive current animation name of sprite * In: * + struct sprite *spri - sprite to retrive current animation sequence name from diff --git a/src/lib/16_tail.h b/src/lib/16_tail.h index bb190511..f6b73ff4 100755 --- a/src/lib/16_tail.h +++ b/src/lib/16_tail.h @@ -55,14 +55,14 @@ #define TAIL_PANKEYFUNZC \ ZC_panPageManual(&gvar.mv, &gvar.player, 0); -#define TAIL_FUNCTIONKEYSHOWMV \ +#define FUNCTIONKEYSHOWMV \ if(IN_KeyDown(1+1)){ gvar.video.sp=0; ZC_ShowMV(&gvar.mv, 0, 0); } \ if(IN_KeyDown(2+1)){ gvar.video.sp=1; ZC_ShowMV(&gvar.mv, 0, 0); } \ if(IN_KeyDown(3+1)){ gvar.video.sp=2; ZC_ShowMV(&gvar.mv, 0, 1); } \ if(IN_KeyDown(4+1)){ gvar.video.sp=3; ZC_ShowMV(&gvar.mv, 0, 1); } #define TAIL_FUNCTIONKEYDRAWJUNK \ - TAIL_FUNCTIONKEYSHOWMV \ + FUNCTIONKEYSHOWMV \ TAIL_FUNCTIONKEYDRAWJUNKNOMV #define TAIL_FUNCTIONKEYDRAWJUNKNOMV \ @@ -70,7 +70,7 @@ if(IN_KeyDown(sc_S)) modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 4); \ \ if(IN_KeyDown(sc_Z)){ DRAWCORNERBOXES } \ - if(IN_KeyDown(sc_X)){ TESTBG12 } \ + if(IN_KeyDown(sc_X)){ TESTBG12 }\ if(IN_KeyDown(sc_C)){ TESTBG34 } \ if(IN_KeyDown(sc_V)) VL_PatternDraw(&gvar.video, 0, 1, 1); \ if(IN_KeyDown(sc_I)){ dbg_maptext=!dbg_maptext; IN_UserInput(1); } diff --git a/src/lib/16_vrs.c b/src/lib/16_vrs.c index efb62ba8..f2c1c846 100755 --- a/src/lib/16_vrs.c +++ b/src/lib/16_vrs.c @@ -26,7 +26,7 @@ void VRS_LoadVRS(char *filename, entity_t *enti, global_game_variables_t *gvar){ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_variables_t *gvar) { //memptr big buffer; - static struct vrs_container vrs; + static struct vrs_container vrsss; //vrs spritesheet vrl1_vgax_offset_t **vrl_line_offsets; uint16_t far *vrl_id_iter; uint32_t far *vrl_headers_offsets; @@ -46,21 +46,22 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia } // Insert sanity cheks later - vrs.buffer = gvar->ca.spribuff; - vrs.data_size = size - sizeof(struct vrl1_vgax_header); + vrsss.buffer = gvar->ca.spribuff; + vrsss.data_size = size - sizeof(struct vrl1_vgax_header); num_of_vrl = 0; - vrl_id_iter = (uint16_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]); + vrl_id_iter = (uint16_t far *)(vrsss.buffer + vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]); while(vrl_id_iter[num_of_vrl]){ num_of_vrl++; } // Allocate memory for vrl line offsets table vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl); +//++++ MM_GetPtr((memptr)(vrl_line_offsets), sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); - vrl_headers_offsets = (uint32_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]); + vrl_headers_offsets = (uint32_t far *)(vrsss.buffer + vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]); // Calculate line offsets for each vrl for(i = 0; i < num_of_vrl; i++){ - curr_vrl = (struct vrl1_vgax_header far *)(vrs.buffer + vrl_headers_offsets[i]); + curr_vrl = (struct vrl1_vgax_header far *)(vrsss.buffer + vrl_headers_offsets[i]); // Calc. vrl size as (next_offset - curr_offset) if (i != num_of_vrl - 1){ @@ -68,14 +69,16 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia } // If it's the last vrl, size is (next_vrs_struct_offset - curr_offset) else{ - vrl_size = vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header); + vrl_size = vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header); } vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size); } - vrs.vrl_line_offsets = vrl_line_offsets; + vrsss.vrl_line_offsets = vrl_line_offsets; + free(vrl_line_offsets); - enti->spri.spritesheet = &vrs; + enti->spri.spritesheet = &vrsss; enti->spri.sprite_vrl_cont = malloc(sizeof(struct vrl_container)); +//++++ MM_GetPtr((memptr)(enti->spri.sprite_vrl_cont), sizeof(struct vrl_container), gvar); } // Seek and return a specified .vrl blob from .vrs blob in far memory diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index 7f146fe4..8a7cbb7e 100755 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -79,7 +79,7 @@ //printf("mv[0]txy: %dx%d ", mv[0].tx, mv[0].ty); printf("mv[1]txy: %dx%d", mv[1].tx, mv[1].ty); #define SCROLLEXITMESG printf("page[0]dxy: %dx%d", gvar.video.page[0].dx, gvar.video.page[0].dy);\ printf("\n\n");\ - printf("gvar.player vars:\n");\ + printf("player vars:\n");\ printf(" xy: %dx%d", gvar.player[0].enti.x, gvar.player[0].enti.y); printf(" txy: %dx%d", gvar.player[0].enti.tx, gvar.player[0].enti.ty); printf(" triggxy: %dx%d", gvar.player[0].enti.triggerx, gvar.player[0].enti.triggery); printf(" value: %d\n", gvar.mv[1].map->layerdata[0].data[(gvar.player[0].enti.triggerx-1)+(map.width*(gvar.player[0].enti.triggery-1))]);\ printf(" hp: %d", (gvar.player[0].enti.hp)); printf(" q: %u", gvar.player[0].enti.q); printf(" info.dir: %u", gvar.player[0].info.dir); printf(" d: %u", gvar.player[0].enti.d); printf(" dire: %u", gvar.player[0].enti.dire);\ printf(" pdir: %u\n", gvar.player[0].pdir); printf(" delay=%u", gvar.player[0].enti.spri.delay);\ diff --git a/src/lib/testpatt.h b/src/lib/testpatt.h index 0b908618..bd73e577 100755 --- a/src/lib/testpatt.h +++ b/src/lib/testpatt.h @@ -68,16 +68,16 @@ DRAWOTHERCORNERBOX_BOTTOMLEFT; \ DRAWOTHERCORNERBOX_BOTTOMRIGHT; #define TESTBG1 \ - modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 15); \ - modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 128); \ - modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 42); \ - modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 128); + modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 1); \ + modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 2); \ + modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 3); \ + modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 2); #define TESTBG2 \ - modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 20); \ - modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 133); \ - modexClearRegion(&gvar.video.page[1], 32, 32, gvar.video.page[1].sw-32, gvar.video.page[1].sh-32, 47); \ - modexClearRegion(&gvar.video.page[1], 48, 48, gvar.video.page[1].sw-64, gvar.video.page[1].sh-64, 133); + modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 5); \ + modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 6); \ + modexClearRegion(&gvar.video.page[1], 32, 32, gvar.video.page[1].sw-32, gvar.video.page[1].sh-32, 7); \ + modexClearRegion(&gvar.video.page[1], 48, 48, gvar.video.page[1].sw-64, gvar.video.page[1].sh-64, 6); #define TESTBG12 \ TESTBG1 \ -- 2.39.2