X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_vrs.c;h=d8a43bf545d906dfb2055d1a24db5807f1fdf714;hb=8e974b9ed72a1521714ea3cf96a9b87c68db8025;hp=595489d69fe760f647ba7de213369a4aa2625e5b;hpb=fb97121f7d0be4408d8e2ed98a2f7b10b852a915;p=16.git diff --git a/src/lib/16_vrs.c b/src/lib/16_vrs.c index 595489d6..d8a43bf5 100755 --- a/src/lib/16_vrs.c +++ b/src/lib/16_vrs.c @@ -20,27 +20,19 @@ * */ #include "src/lib/16_vrs.h" -#include "src/lib/typdefst.h" // Read .vrs file into far memory int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container *vrs_cont){ int fd; dword size; -#ifdef __WATCOMC__ - __segment seg; - void __based(seg)* bigbuffer; -#endif -#ifdef __BORLANDC__ - memptr bigbuffer; -#endif byte huge *buffer; vrl1_vgax_offset_t **vrl_line_offsets; uint32_t huge *vrl_headers_offsets; uint16_t huge *vrl_id_iter; uint32_t vrl_size; - int num_of_vrl, i; + int num_of_vrl=0, i; struct vrl1_vgax_header huge *curr_vrl; - int success; + int success=1; // Open filename, get size of file, // populate the vrs_container if all tests pass @@ -53,14 +45,14 @@ int read_vrs(global_game_variables_t *gvar, char *filename, struct vrs_container close(fd); if(!success) { - fprintf(stderr, "Unablee to load file"); + fprintf(stderr, "Unable to load file"); exit(3); } vrs_cont->data_size = size - sizeof(struct vrs_header); vrs_cont->buffer = buffer; // Calculate vrl offsets - + // Count sprites vrl_id_iter = (uint16_t huge *)(buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]); while(vrl_id_iter[num_of_vrl]){ @@ -101,7 +93,7 @@ int get_vrl_by_id(struct vrs_container /*huge*/ *vrs_cont, uint16_t id, struct v } // Get id list from .vrs blob (base + offset) - ids = (uint16_t huge*)(vrs_cont->buffer + + ids = (uint16_t huge*)(vrs_cont->buffer + vrs_cont->vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]); // Loop through the id list until we found the right one or hit the end of the list