From 1522130c288695fd2ad573be62b7bfc300eed6a3 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Wed, 24 May 2017 22:07:34 -0500 Subject: [PATCH] 16_ca needs huge amounts of work and I should remember what needs to be done soon[going to port rest of code to borland c some time so we can use the core components of id engine here ][going to add 16_us.c eventually but the debug system and CA_ PM_ and MM_ usage is priority now]older zcroll renamed to xcroll][zcroll is now the pre menu game loop system with PROPER data usage with CAMMPM] added 1st scroll back [i work on CA] palette debug show values added wwww and i need to know how to see vrs/vrl imaage data palette index numbers [i am trying to find out how the hell you get the index number values of VRL/VRS] boom has been fixed ^^[CA_CacheMap added seems to be used in start a new game] what is mapsegs? --- makefile | 2 +- src/lib/16_tdef.h | 5 ++--- src/lib/16_vrs.c | 22 +++++++++++++--------- src/lib/doslib | 2 +- src/lib/scroll16.h | 3 ++- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/makefile b/makefile index 6d6b065a..253037a7 100755 --- a/makefile +++ b/makefile @@ -537,8 +537,8 @@ wwwdo: .symbolic @wmake -s -h wwwext wwwext: .symbolic - @wmake -s -h wwwext1 @wmake -s -h wwwext2 + @wmake -s -h wwwext1 wwwext1: .symbolic ####----@ssh -p $(HOSTPORT) $(HOSTUSER)@$(HOSTADDR) 'rm -f $(HOSTDIR)/16/*exe*' diff --git a/src/lib/16_tdef.h b/src/lib/16_tdef.h index 88ab4cde..30d0cfa4 100755 --- a/src/lib/16_tdef.h +++ b/src/lib/16_tdef.h @@ -501,9 +501,8 @@ typedef struct typedef struct mmblockstruct { - //word start,length; + //word start,length, blob; //for data larger than 64k word start; dword length; - //word blob; //for data larger than 64k unsigned attributes; memptr *useptr; // pointer to the segment start struct mmblockstruct far *next; @@ -771,7 +770,7 @@ typedef struct //TODO: USE THIS!!!! sd_t sd; //TODO: extend! and learn from keen/wolf/catacomb's code wwww - memptr spribuff; //temp + memptr spribuff[64]; //temp } ca_t; //========================================================================== diff --git a/src/lib/16_vrs.c b/src/lib/16_vrs.c index e2fb8626..de17fa97 100755 --- a/src/lib/16_vrs.c +++ b/src/lib/16_vrs.c @@ -33,24 +33,24 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia uint16_t far *vrl_id_iter; uint32_t far *vrl_headers_offsets; struct vrl1_vgax_header far *curr_vrl; - uint32_t vrl_size; + uint16_t vrl_size; int num_of_vrl,i; switch(rlsw) { case 1: - CA_ReadFile(filename, &gvar->ca.spribuff, gvar); -//TODO ++++ CA_ReadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar); +//TODO ++++ CA_ReadFile(filename, &gvar->ca.spribuff, gvar); + CA_ReadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar); break; case 0: - CA_LoadFile(filename, &gvar->ca.spribuff, gvar); -//TODO ++++ CA_LoadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar); +//TODO ++++ CA_LoadFile(filename, &gvar->ca.spribuff, gvar); + CA_LoadFile(filename, MEMPTRCONV enti->spri.spritesheet.spribuff, gvar); break; } // Insert sanity cheks later - enti->spri.spritesheet.buffer = gvar->ca.spribuff; -//TODO ++++ enti->spri.spritesheet.buffer = enti->spri.spritesheet.spribuff; //TODO: merge these 2 vars into 1 +//TODO ++++ enti->spri.spritesheet.buffer = gvar->ca.spribuff; + enti->spri.spritesheet.buffer = enti->spri.spritesheet.spribuff; //TODO: merge these 2 vars into 1 enti->spri.spritesheet.data_size = sizeof(enti->spri.spritesheet.buffer) - sizeof(struct vrl1_vgax_header); num_of_vrl = 0; vrl_id_iter = (uint16_t far *)(enti->spri.spritesheet.buffer + enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST]); @@ -68,8 +68,12 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia #ifdef __DEBUG_MM__ dbg_debugmm=0; #endif - MM_GetPtr(MEMPTRCONV gvar->ca.grsegs, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); - enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs; +// MM_GetPtr(MEMPTRCONV gvar->ca.grsegs, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); +// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs; + MM_GetPtr(gvar->ca.spribuff, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); + enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)(gvar->ca.spribuff); +// MM_GetPtr(spribuff, sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); +// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)spribuff; break; } #endif diff --git a/src/lib/doslib b/src/lib/doslib index 75ab6832..b7cbedd2 160000 --- a/src/lib/doslib +++ b/src/lib/doslib @@ -1 +1 @@ -Subproject commit 75ab683247b5e6bea1014871737225c3a36c86d3 +Subproject commit b7cbedd253331c62aa1088cc4ca66b410c88f847 diff --git a/src/lib/scroll16.h b/src/lib/scroll16.h index 8bcc3e8d..20836e3d 100755 --- a/src/lib/scroll16.h +++ b/src/lib/scroll16.h @@ -42,7 +42,8 @@ #define SPRITE //#define TILERENDER -//0000#define SHOWFPS +//0000 +#define SHOWFPS //#define OLDWALKSHOWPAGESTUFF -- 2.39.2