\r
typedef struct mmblockstruct\r
{\r
- //word start,length;\r
+ //word start,length, blob; //for data larger than 64k\r
word start; dword length;\r
- //word blob; //for data larger than 64k\r
unsigned attributes;\r
memptr *useptr; // pointer to the segment start\r
struct mmblockstruct far *next;\r
\r
sd_t sd;\r
//TODO: extend! and learn from keen/wolf/catacomb's code wwww\r
- memptr spribuff; //temp\r
+ memptr spribuff[64]; //temp\r
} ca_t;\r
\r
//==========================================================================\r
uint16_t far *vrl_id_iter;\r
uint32_t far *vrl_headers_offsets;\r
struct vrl1_vgax_header far *curr_vrl;\r
- uint32_t vrl_size;\r
+ uint16_t vrl_size;\r
int num_of_vrl,i;\r
\r
switch(rlsw)\r
{\r
case 1:\r
- CA_ReadFile(filename, &gvar->ca.spribuff, gvar);\r
-//TODO ++++ CA_ReadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar);\r
+//TODO ++++ CA_ReadFile(filename, &gvar->ca.spribuff, gvar);\r
+ CA_ReadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar);\r
break;\r
case 0:\r
- CA_LoadFile(filename, &gvar->ca.spribuff, gvar);\r
-//TODO ++++ CA_LoadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar);\r
+//TODO ++++ CA_LoadFile(filename, &gvar->ca.spribuff, gvar);\r
+ CA_LoadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar);\r
break;\r
}\r
\r
// Insert sanity cheks later\r
- enti->spri.spritesheet.buffer = gvar->ca.spribuff;\r
-//TODO ++++ enti->spri.spritesheet.buffer = enti->spri.spritesheet.spribuff; //TODO: merge these 2 vars into 1\r
+//TODO ++++ enti->spri.spritesheet.buffer = gvar->ca.spribuff;\r
+ enti->spri.spritesheet.buffer = enti->spri.spritesheet.spribuff; //TODO: merge these 2 vars into 1\r
enti->spri.spritesheet.data_size = sizeof(enti->spri.spritesheet.buffer) - sizeof(struct vrl1_vgax_header);\r
num_of_vrl = 0;\r
vrl_id_iter = (uint16_t far *)(enti->spri.spritesheet.buffer + enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]);\r
#ifdef __DEBUG_MM__\r
dbg_debugmm=0;\r
#endif\r
- MM_GetPtr(MEMPTRCONV gvar->ca.grsegs, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
- enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs;\r
+// MM_GetPtr(MEMPTRCONV gvar->ca.grsegs, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
+// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs;\r
+ MM_GetPtr(gvar->ca.spribuff, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
+ enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)(gvar->ca.spribuff);\r
+// MM_GetPtr(spribuff, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
+// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)spribuff;\r
break;\r
}\r
#endif\r