#include "src/lib/16_vrs.h"\r
#include "src/lib/scroll16.h"\r
\r
-//moved to 16_tdef.h\r
-// struct sprite\r
-// {\r
-// // VRS container from which we will extract animation and image data\r
-// struct vrs_container *spritesheet;\r
-// // Container for a vrl sprite\r
-// struct vrl_container *sprite_vrl_cont;\r
-// // Current sprite id\r
-// int curr_spri_id;\r
-// // Index of a current sprite in an animation sequence\r
-// int curr_anim_spri;\r
-// // Current animation sequence\r
-// struct vrs_animation_list_entry_t *curr_anim_list;\r
-// // Index of current animation in relevant VRS offsets table\r
-// int curr_anim;\r
-// // Delay in time units untill we should change sprite\r
-// int delay;\r
-// // Position of sprite on screen\r
-// int x, y;\r
-// };\r
-\r
/* Retrive current animation name of sprite\r
* In:\r
* + struct sprite *spri - sprite to retrive current animation sequence name from\r
#define TAIL_PANKEYFUNZC \\r
ZC_panPageManual(&gvar.mv, &gvar.player, 0);\r
\r
-#define TAIL_FUNCTIONKEYSHOWMV \\r
+#define FUNCTIONKEYSHOWMV \\r
if(IN_KeyDown(1+1)){ gvar.video.sp=0; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
if(IN_KeyDown(2+1)){ gvar.video.sp=1; ZC_ShowMV(&gvar.mv, 0, 0); } \\r
if(IN_KeyDown(3+1)){ gvar.video.sp=2; ZC_ShowMV(&gvar.mv, 0, 1); } \\r
if(IN_KeyDown(4+1)){ gvar.video.sp=3; ZC_ShowMV(&gvar.mv, 0, 1); }\r
\r
#define TAIL_FUNCTIONKEYDRAWJUNK \\r
- TAIL_FUNCTIONKEYSHOWMV \\r
+ FUNCTIONKEYSHOWMV \\r
TAIL_FUNCTIONKEYDRAWJUNKNOMV\r
\r
#define TAIL_FUNCTIONKEYDRAWJUNKNOMV \\r
if(IN_KeyDown(sc_S)) modexClearRegion(&gvar.video.page[3], 0, 0, gvar.video.page[3].sw, gvar.video.page[3].sh, 4); \\r
\\r
if(IN_KeyDown(sc_Z)){ DRAWCORNERBOXES } \\r
- if(IN_KeyDown(sc_X)){ TESTBG12 } \\r
+ if(IN_KeyDown(sc_X)){ TESTBG12 }\\r
if(IN_KeyDown(sc_C)){ TESTBG34 } \\r
if(IN_KeyDown(sc_V)) VL_PatternDraw(&gvar.video, 0, 1, 1); \\r
if(IN_KeyDown(sc_I)){ dbg_maptext=!dbg_maptext; IN_UserInput(1); }\r
void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_variables_t *gvar)\r
{\r
//memptr big buffer;\r
- static struct vrs_container vrs;\r
+ static struct vrs_container vrsss; //vrs spritesheet\r
vrl1_vgax_offset_t **vrl_line_offsets;\r
uint16_t far *vrl_id_iter;\r
uint32_t far *vrl_headers_offsets;\r
}\r
\r
// Insert sanity cheks later\r
- vrs.buffer = gvar->ca.spribuff;\r
- vrs.data_size = size - sizeof(struct vrl1_vgax_header);\r
+ vrsss.buffer = gvar->ca.spribuff;\r
+ vrsss.data_size = size - sizeof(struct vrl1_vgax_header);\r
num_of_vrl = 0;\r
- vrl_id_iter = (uint16_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
+ vrl_id_iter = (uint16_t far *)(vrsss.buffer + vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
while(vrl_id_iter[num_of_vrl]){\r
num_of_vrl++;\r
}\r
\r
// Allocate memory for vrl line offsets table\r
vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl);\r
+//++++ MM_GetPtr((memptr)(vrl_line_offsets), sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
\r
- vrl_headers_offsets = (uint32_t far *)(vrs.buffer + vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
+ vrl_headers_offsets = (uint32_t far *)(vrsss.buffer + vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
// Calculate line offsets for each vrl\r
for(i = 0; i < num_of_vrl; i++){\r
- curr_vrl = (struct vrl1_vgax_header far *)(vrs.buffer + vrl_headers_offsets[i]);\r
+ curr_vrl = (struct vrl1_vgax_header far *)(vrsss.buffer + vrl_headers_offsets[i]);\r
\r
// Calc. vrl size as (next_offset - curr_offset)\r
if (i != num_of_vrl - 1){\r
}\r
// If it's the last vrl, size is (next_vrs_struct_offset - curr_offset)\r
else{\r
- vrl_size = vrs.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header);\r
+ vrl_size = vrsss.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header);\r
}\r
vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size);\r
}\r
- vrs.vrl_line_offsets = vrl_line_offsets;\r
+ vrsss.vrl_line_offsets = vrl_line_offsets;\r
+ free(vrl_line_offsets);\r
\r
- enti->spri.spritesheet = &vrs;\r
+ enti->spri.spritesheet = &vrsss;\r
enti->spri.sprite_vrl_cont = malloc(sizeof(struct vrl_container));\r
+//++++ MM_GetPtr((memptr)(enti->spri.sprite_vrl_cont), sizeof(struct vrl_container), gvar);\r
}\r
\r
// Seek and return a specified .vrl blob from .vrs blob in far memory\r
//printf("mv[0]txy: %dx%d ", mv[0].tx, mv[0].ty); printf("mv[1]txy: %dx%d", mv[1].tx, mv[1].ty);\r
#define SCROLLEXITMESG printf("page[0]dxy: %dx%d", gvar.video.page[0].dx, gvar.video.page[0].dy);\\r
printf("\n\n");\\r
- printf("gvar.player vars:\n");\\r
+ printf("player vars:\n");\\r
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))]);\\r
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);\\r
printf(" pdir: %u\n", gvar.player[0].pdir); printf(" delay=%u", gvar.player[0].enti.spri.delay);\\r
DRAWOTHERCORNERBOX_BOTTOMRIGHT;\r
\r
#define TESTBG1 \\r
- modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 15); \\r
- modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 128); \\r
- modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 42); \\r
- modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 128);\r
+ modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].width, gvar.video.page[0].height, 1); \\r
+ modexClearRegion(&gvar.video.page[0], 16, 16, gvar.video.page[0].sw, gvar.video.page[0].sh, 2); \\r
+ modexClearRegion(&gvar.video.page[0], 32, 32, gvar.video.page[0].sw-32, gvar.video.page[0].sh-32, 3); \\r
+ modexClearRegion(&gvar.video.page[0], 48, 48, gvar.video.page[0].sw-64, gvar.video.page[0].sh-64, 2);\r
\r
#define TESTBG2 \\r
- modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 20); \\r
- modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 133); \\r
- modexClearRegion(&gvar.video.page[1], 32, 32, gvar.video.page[1].sw-32, gvar.video.page[1].sh-32, 47); \\r
- modexClearRegion(&gvar.video.page[1], 48, 48, gvar.video.page[1].sw-64, gvar.video.page[1].sh-64, 133);\r
+ modexClearRegion(&gvar.video.page[1], 0, 0, gvar.video.page[1].width, gvar.video.page[1].height, 5); \\r
+ modexClearRegion(&gvar.video.page[1], 16, 16, gvar.video.page[1].sw, gvar.video.page[1].sh, 6); \\r
+ modexClearRegion(&gvar.video.page[1], 32, 32, gvar.video.page[1].sw-32, gvar.video.page[1].sh-32, 7); \\r
+ modexClearRegion(&gvar.video.page[1], 48, 48, gvar.video.page[1].sw-64, gvar.video.page[1].sh-64, 6);\r
\r
#define TESTBG12 \\r
TESTBG1 \\r