--- /dev/null
+objects detected\r
+Object 4's name: 'trunk'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+Object 4's name: 'stump'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+freeing tok\r
+\r
+Project 16 xcroll.exe. This is just a test file!\r
+version May 15 2017 11:41:36\r
+page[0]dxy: 16x16\r
+\r
+player vars:\r
+ xy: 144x128 txy: 9x8 triggxy: 8x8 value: 0\r
+ hp: 4 q: 1 info.dir: 2 d: 2 dire: 41 pdir: 1\r
+ delay=1\r
+\r
+VL_PrintmodexmemInfo:\r
+ Virtual Screen: 352x272 Tile: 22x17=((Virtual Screen)/16)\r
+ Screen: 320x240 Tile: 20x15=((Screen)/16)\r
+ stride: 80 draw_stride: 88 draw_stride_limit: 88\r
+ Free Video Memory: 767\r
+ page [0]=(a000:0000) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [1]=(a000:5d80) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [2]=(a000:bb00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+ [3]=(a000:dc00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+gvar.video:\r
+ r=0 bgps=1 \r
+\r
+detected CPU type: 80386 or newer\r
+detected FPU type: îæí\86àþÂìæí\86àÿçº\95\ 2îæí\86àþÂîæí\86àÿç\8b˸\a\v»\82\ fé`R¸`\ 2»\8b\ féWR¸a\90»\94\ féNR¸0\ 1»\9d\ féERf¸\84ø\r
--- /dev/null
+16/keen/id_ca.c:byte _seg *tinf;\r
+16/keen/id_ca.c:unsigned _seg *mapsegs[3];\r
+16/keen/id_ca.c:maptype _seg *mapheaderseg[NUMMAPS];\r
+16/keen/id_ca.c:byte _seg *audiosegs[NUMSNDCHUNKS];\r
+16/keen/id_ca.c:void _seg *grsegs[NUMCHUNKS];\r
+16/keen/id_ca.c:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
+16/keen/id_ca.c:long _seg *audiostarts; // array of offsets in audio / audiot\r
+\r
+16/keen/id_rf.c: spritetype _seg *block;\r
+16/keen/id_rf.c: block = (spritetype _seg *)grsegs[spritenumber];\r
+16/keen/id_rf.c: spritetype _seg *block;\r
+16/keen/id_rf.c: block = (spritetype _seg *)grsegs[spritenumber];\r
+\r
+16/keen/id_vw.c:pictabletype _seg *pictable;\r
+16/keen/id_vw.c:pictabletype _seg *picmtable;\r
+16/keen/id_vw.c:spritetabletype _seg *spritetable;\r
+\r
+16/keen/id_vw.c: spritetype _seg *block;\r
+16/keen/id_vw.c: spritetype _seg *block;\r
+16/keen/id_vw.c: block = (spritetype _seg *)grsegs[chunknum];\r
+\r
+16/keen/kd_keen.c: spritetype _seg *block;\r
+16/keen/kd_keen.c: block = (spritetype _seg *)grsegs[SCOREBOXSPR];\r
+16/keen/kd_keen.c: spritetype _seg *dest;\r
+16/keen/kd_keen.c: dest = (spritetype _seg *)grsegs[SCOREBOXSPR];\r
+16/keen/kd_keen.c: spritetype _seg *block;\r
+16/keen/kd_keen.c: block = (spritetype _seg *)grsegs[SCOREBOXSPR];\r
+16/keen/kd_keen.c: block = (spritetype _seg *)grsegs[SCOREBOXSPR];\r
+16/keen/kd_keen.c: block = (spritetype _seg *)grsegs[SCOREBOXSPR];\r
+16/keen/kd_keen.c: tile = *((unsigned _seg *)mapsegs[2]+mapbwidthtable[y]/2+x);\r
+16/keen/kd_keen.c: map = (unsigned _seg *)mapsegs[1]+\r
+16/keen/kd_keen.c: map = (unsigned _seg *)mapsegs[1]+\r
+16/keen/kd_keen.c: map = (unsigned _seg *)mapsegs[1]+mapbwidthtable[ob->tiletop]/2+ob->temp4;\r
+16/keen/kd_keen.c: map = (unsigned _seg *)mapsegs[1]+mapbwidthtable[ob->tilebottom]/2+ob->temp4;\r
+16/keen/kd_main.c: spritetype _seg *block;\r
+16/keen/kd_main.c: block = (spritetype _seg *)grsegs[sprite];\r
+\r
+\r
+\r
+\r
+16/wf3d8086/contigsc.c:byte _seg *endscalermemory;\r
+16/wf3d8086/contigsc.c: endscalermemory = (void _seg *)(seg+ofs/16);\r
+16/wf3d8086/contigsc.c: t_compshape _seg *shape;\r
+16/wf3d8086/contigsc.c: t_compshape _seg *shape;\r
+16/wf3d8086/id_ca.c:byte _seg *tinf;\r
+16/wf3d8086/id_ca.c:unsigned _seg *mapsegs[MAPPLANES];\r
+16/wf3d8086/id_ca.c:maptype _seg *mapheaderseg[NUMMAPS];\r
+16/wf3d8086/id_ca.c:byte _seg *audiosegs[NUMSNDCHUNKS];\r
+16/wf3d8086/id_ca.c:void _seg *grsegs[NUMCHUNKS];\r
+16/wf3d8086/id_ca.c:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
+16/wf3d8086/id_ca.c:long _seg *audiostarts; // array of offsets in audio / audiot\r
+\r
+16/wf3d8086/id_pm.c: _seg *PMSegPages;\r
+16/wf3d8086/id_pm.c: void _seg *buf;\r
+16/wf3d8086/id_pm.c: MM_FreePtr(&(void _seg *)PMSegPages);\r
+\r
+16/wf3d8086/id_vh.c:pictabletype _seg *pictable;\r
+16/wf3d8086/id_vh.c: byte _seg *temp, far *dest, far *srcline;\r
+16/wf3d8086/id_vh.c: src = (byte _seg *)grsegs[STARTTILE8];\r
+16/wf3d8086/id_vh.c: src = (byte _seg *)grsegs[STARTTILE16];\r
+16/wf3d8086/id_vh.c: src = (byte _seg *)grsegs[STARTTILE16+i];\r
+16/wf3d8086/wl_debug.c: spritetype _seg *block;\r
+16/wf3d8086/wl_debug.c:extern word _seg *DigiList;\r
+16/wf3d8086/wl_menu.c: fontstruct _seg *font;\r
+16/wf3d8086/wl_scale.c:t_compscale _seg *scaledirectory[MAXSCALEHEIGHT+1];\r
+16/wf3d8086/wl_scale.c:t_compscale _seg *work;\r
+16/wf3d8086/wl_scale.c: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/wf3d8086/wl_scale.c: t_compshape _seg *shape;\r
+16/wf3d8086/wl_scale.c: t_compscale _seg *comptable;\r
+16/wf3d8086/wl_scale.c: t_compshape _seg *shape;\r
+16/wf3d8086/wl_scale.c: t_compscale _seg *comptable;\r
+16/wf3d8086/wl_text.c: text = (char _seg *)grsegs[artnum];\r
+16/wf3d8086/wl_text.c: text = (char _seg *)layout;\r
+16/wf3d8086/wl_text.c: text = (char _seg *)grsegs[artnum];\r
+16/wf3d8086/wl_text.c: text = (char _seg *)layout;\r
+16/wolf3d/WOLFSRC/CONTIGSC.C:byte _seg *endscalermemory;\r
+16/wolf3d/WOLFSRC/CONTIGSC.C: endscalermemory = (void _seg *)(seg+ofs/16);\r
+16/wolf3d/WOLFSRC/CONTIGSC.C: t_compshape _seg *shape;\r
+16/wolf3d/WOLFSRC/CONTIGSC.C: t_compshape _seg *shape;\r
+16/wolf3d/WOLFSRC/ID_CA.C:byte _seg *tinf;\r
+16/wolf3d/WOLFSRC/ID_CA.C:unsigned _seg *mapsegs[MAPPLANES];\r
+16/wolf3d/WOLFSRC/ID_CA.C:maptype _seg *mapheaderseg[NUMMAPS];\r
+16/wolf3d/WOLFSRC/ID_CA.C:byte _seg *audiosegs[NUMSNDCHUNKS];\r
+16/wolf3d/WOLFSRC/ID_CA.C:void _seg *grsegs[NUMCHUNKS];\r
+16/wolf3d/WOLFSRC/ID_CA.C:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
+16/wolf3d/WOLFSRC/ID_CA.C:long _seg *audiostarts; // array of offsets in audio / audiot\r
+16/wolf3d/WOLFSRC/ID_CA.C: grstarts = (long _seg *)FP_SEG(&EGAhead);\r
+16/wolf3d/WOLFSRC/ID_CA.C: tinf = (byte _seg *)FP_SEG(&maphead);\r
+16/wolf3d/WOLFSRC/ID_CA.C: pos = ((mapfiletype _seg *)tinf)->headeroffsets[i];\r
+16/wolf3d/WOLFSRC/ID_CA.C: audiostarts = (long _seg *)FP_SEG(&audiohead);\r
+16/wolf3d/WOLFSRC/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/wolf3d/WOLFSRC/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/wolf3d/WOLFSRC/ID_CA.C: source = (byte _seg *)bufferseg+(pos-bufferstart);\r
+16/wolf3d/WOLFSRC/ID_IN.C: byte _seg *DemoBuffer;\r
+16/wolf3d/WOLFSRC/ID_PM.C: _seg *PMSegPages;\r
+16/wolf3d/WOLFSRC/ID_PM.C: void _seg *buf;\r
+16/wolf3d/WOLFSRC/ID_PM.C: MM_FreePtr(&(void _seg *)PMSegPages);\r
+16/wolf3d/WOLFSRC/ID_SD.C: word *SoundTable; // Really * _seg *SoundTable, but that don't work\r
+16/wolf3d/WOLFSRC/ID_SD.C: word _seg *DigiList;\r
+16/wolf3d/WOLFSRC/ID_VH.C:pictabletype _seg *pictable;\r
+16/wolf3d/WOLFSRC/ID_VH.C: byte _seg *temp, far *dest, far *srcline;\r
+16/wolf3d/WOLFSRC/ID_VH.C: , fontstruct _seg *font)\r
+16/wolf3d/WOLFSRC/ID_VH.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONT+fontnumber]);\r
+16/wolf3d/WOLFSRC/ID_VH.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONTM+fontnumber]);\r
+16/wolf3d/WOLFSRC/ID_VH.C: src = (byte _seg *)grsegs[STARTTILE8];\r
+16/wolf3d/WOLFSRC/ID_VH.C: src = (byte _seg *)grsegs[STARTTILE16];\r
+16/wolf3d/WOLFSRC/ID_VH.C: src = (byte _seg *)grsegs[STARTTILE16+i];\r
+16/wolf3d/WOLFSRC/WL_DEBUG.C: spritetype _seg *block;\r
+16/wolf3d/WOLFSRC/WL_DEBUG.C:extern word _seg *DigiList;\r
+16/wolf3d/WOLFSRC/WL_MENU.C: fontstruct _seg *font;\r
+16/wolf3d/WOLFSRC/WL_SCALE.C:t_compscale _seg *scaledirectory[MAXSCALEHEIGHT+1];\r
+16/wolf3d/WOLFSRC/WL_SCALE.C:t_compscale _seg *work;\r
+16/wolf3d/WOLFSRC/WL_SCALE.C: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/wolf3d/WOLFSRC/WL_SCALE.C: t_compshape _seg *shape;\r
+16/wolf3d/WOLFSRC/WL_SCALE.C: t_compscale _seg *comptable;\r
+16/wolf3d/WOLFSRC/WL_SCALE.C: t_compshape _seg *shape;\r
+16/wolf3d/WOLFSRC/WL_SCALE.C: t_compscale _seg *comptable;\r
+16/wolf3d/WOLFSRC/WL_TEXT.C: text = (char _seg *)grsegs[artnum];\r
+16/wolf3d/WOLFSRC/WL_TEXT.C: text = (char _seg *)layout;\r
+16/wolf3d/WOLFSRC/WL_TEXT.C: text = (char _seg *)grsegs[artnum];\r
+16/wolf3d/WOLFSRC/WL_TEXT.C: text = (char _seg *)layout;\r
+16/Catacomb3D/C3_DEBUG.C: spritetype _seg *block;\r
+16/Catacomb3D/C3_GAME.C: text = (char _seg *)grsegs[LEVEL1TEXT+mapon];\r
+16/Catacomb3D/C3_GAME.C: src = (byte _seg *)grsegs[STARTTILE8];\r
+16/Catacomb3D/C3_GAME.C: src = (byte _seg *)grsegs[STARTTILE16];\r
+16/Catacomb3D/C3_GAME.C: src = (byte _seg *)grsegs[STARTTILE16+i];\r
+16/Catacomb3D/C3_SCALE.C:t_compscale _seg *scaledirectory[MAXSCALE+1];\r
+16/Catacomb3D/C3_SCALE.C:t_compshape _seg *shapedirectory[NUMSCALEPICS];\r
+16/Catacomb3D/C3_SCALE.C: plane0 = (byte _seg *)grsegs[picnum];\r
+16/Catacomb3D/C3_SCALE.C: t_compscale _seg *work;\r
+16/Catacomb3D/C3_SCALE.C: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/Catacomb3D/C3_SCALE.C:unsigned BuildCompShape (t_compshape _seg **finalspot)\r
+16/Catacomb3D/C3_SCALE.C: t_compshape _seg *work;\r
+16/Catacomb3D/C3_SCALE.C: work = (t_compshape _seg *)(0xa000+(buff+15)/16);\r
+16/Catacomb3D/C3_SCALE.C: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/Catacomb3D/C3_SCALE.C:void ScaleShape (int xcenter, t_compshape _seg *compshape, unsigned scale)\r
+16/Catacomb3D/C3_SCALE.C: t_compscale _seg *comptable;\r
+16/Catacomb3D/C3_WIZ.C: text = (char _seg *)grsegs[LEVEL1TEXT+mapon]+textstarts[number];\r
+16/Catacomb3D/ID_CA.C:byte _seg *tinf;\r
+16/Catacomb3D/ID_CA.C:unsigned _seg *mapsegs[3];\r
+16/Catacomb3D/ID_CA.C:maptype _seg *mapheaderseg[NUMMAPS];\r
+16/Catacomb3D/ID_CA.C:byte _seg *audiosegs[NUMSNDCHUNKS];\r
+16/Catacomb3D/ID_CA.C:void _seg *grsegs[NUMCHUNKS];\r
+16/Catacomb3D/ID_CA.C:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
+16/Catacomb3D/ID_CA.C:long _seg *audiostarts; // array of offsets in audio / audiot\r
+16/Catacomb3D/ID_CA.C: grstarts = (long _seg *)FP_SEG(&EGAhead);\r
+16/Catacomb3D/ID_CA.C: grstarts = (long _seg *)FP_SEG(&CGAhead);\r
+16/Catacomb3D/ID_CA.C: tinf = (byte _seg *)FP_SEG(&maphead);\r
+16/Catacomb3D/ID_CA.C: audiostarts = (long _seg *)FP_SEG(&audiohead);\r
+16/Catacomb3D/ID_CA.C: spritetype _seg *dest;\r
+16/Catacomb3D/ID_CA.C: dest = (spritetype _seg *)grsegs[chunk];\r
+16/Catacomb3D/ID_CA.C: dest = (spritetype _seg *)grsegs[chunk];\r
+16/Catacomb3D/ID_CA.C: pos = ((mapfiletype _seg *)tinf)->headeroffsets[mapnum];\r
+16/Catacomb3D/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/Catacomb3D/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/Catacomb3D/ID_CA.C: source = (byte _seg *)bufferseg+(pos-bufferstart);\r
+16/Catacomb3D/ID_IN.C: byte _seg *DemoBuffer;\r
+16/Catacomb3D/ID_IN.C:IN_StartDemoPlayback(byte _seg *buffer,word bufsize)\r
+16/Catacomb3D/ID_RF.C: spritetype _seg *block;\r
+16/Catacomb3D/ID_RF.C: block = (spritetype _seg *)grsegs[spritenumber];\r
+16/Catacomb3D/ID_RF.C: spritetype _seg *block;\r
+16/Catacomb3D/ID_RF.C: block = (spritetype _seg *)grsegs[spritenumber];\r
+16/Catacomb3D/ID_SD.C: word *SoundTable; // Really * _seg *SoundTable, but that don't work\r
+16/Catacomb3D/ID_VW.C:pictabletype _seg *pictable;\r
+16/Catacomb3D/ID_VW.C:pictabletype _seg *picmtable;\r
+16/Catacomb3D/ID_VW.C:spritetabletype _seg *spritetable;\r
+16/Catacomb3D/ID_VW.C: fontstruct _seg *font);\r
+16/Catacomb3D/ID_VW.C: spritetype _seg *block;\r
+16/Catacomb3D/ID_VW.C: block = (spritetype _seg *)grsegs[chunknum];\r
+16/Catacomb3D/ID_VW.C:VWL_MeasureString (char far *string, word *width, word *height, fontstruct _seg *font)\r
+16/Catacomb3D/ID_VW.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONT+fontnumber]);\r
+16/Catacomb3D/ID_VW.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONTM+fontnumber]);\r
+16/Catacomb3D/ID_VW.C: spritetype _seg *block;\r
+16/Catacomb3D/ID_VW.C: block = (spritetype _seg *)grsegs[chunknum];\r
+16/CatacombApocalypse/C6_GAME.C: text = (char _seg *)grsegs[LEVEL1TEXT+mapon];\r
+16/CatacombApocalypse/C6_GAME.C: src = (byte _seg *)grsegs[STARTTILE8];\r
+16/CatacombApocalypse/C6_GAME.C: src = (byte _seg *)grsegs[STARTTILE16];\r
+16/CatacombApocalypse/C6_GAME.C: src = (byte _seg *)grsegs[STARTTILE16+i];\r
+16/CatacombApocalypse/C6_SCALE.C:t_compscale _seg *scaledirectory[NUMSCALEPICS];\r
+16/CatacombApocalypse/C6_SCALE.C:t_compshape _seg *shapedirectory[NUMSCALEPICS];\r
+16/CatacombApocalypse/C6_SCALE.C: plane0 = (byte _seg *)grsegs[picnum];\r
+16/CatacombApocalypse/C6_SCALE.C: t_compscale _seg *work;\r
+16/CatacombApocalypse/C6_SCALE.C: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/CatacombApocalypse/C6_SCALE.C:unsigned BuildCompShape (t_compshape _seg **finalspot)\r
+16/CatacombApocalypse/C6_SCALE.C: t_compshape _seg *work;\r
+16/CatacombApocalypse/C6_SCALE.C: work = (t_compshape _seg *)(0xa000+(buff+15)/16);\r
+16/CatacombApocalypse/C6_SCALE.C: _fmemcpy ((byte _seg *)(*finalspot),(byte _seg *)work,totalsize);\r
+16/CatacombApocalypse/C6_SCALE.C:void ScaleShape (int xcenter, t_compshape _seg *compshape, unsigned scale)\r
+16/CatacombApocalypse/C6_SCALE.C: t_compscale _seg *comptable;\r
+16/CatacombApocalypse/C6_WIZ.C: text = (char _seg *)grsegs[LEVEL1TEXT+mapon]+textstarts[number];\r
+16/CatacombApocalypse/C6_WIZ.C: txt = (char _seg *)grsegs[SCROLLTEXT];\r
+16/CatacombApocalypse/C6_WIZ.C: txt = (char _seg *)grsegs[SCROLLTEXT]+ofset;\r
+16/CatacombApocalypse/GELIB.C: fontstruct _seg *font = (fontstruct _seg *)grsegs[STARTFONT];\r
+16/CatacombApocalypse/ID_CA.C:byte _seg *tinf;\r
+16/CatacombApocalypse/ID_CA.C:unsigned _seg *mapsegs[3];\r
+16/CatacombApocalypse/ID_CA.C:maptype _seg *mapheaderseg[NUMMAPS];\r
+16/CatacombApocalypse/ID_CA.C:byte _seg *audiosegs[NUMSNDCHUNKS];\r
+16/CatacombApocalypse/ID_CA.C:void _seg *grsegs[NUMCHUNKS];\r
+16/CatacombApocalypse/ID_CA.C:long _seg *grstarts; // array of offsets in egagraph, -1 for sparse\r
+16/CatacombApocalypse/ID_CA.C:long _seg *audiostarts; // array of offsets in audio / audiot\r
+16/CatacombApocalypse/ID_CA.C: grstarts = (long _seg *)FP_SEG(&EGAhead);\r
+16/CatacombApocalypse/ID_CA.C: grstarts = (long _seg *)FP_SEG(&CGAhead);\r
+16/CatacombApocalypse/ID_CA.C: tinf = (byte _seg *)FP_SEG(&maphead);\r
+16/CatacombApocalypse/ID_CA.C: audiostarts = (long _seg *)FP_SEG(&audiohead);\r
+16/CatacombApocalypse/ID_CA.C: spritetype _seg *dest;\r
+16/CatacombApocalypse/ID_CA.C: dest = (spritetype _seg *)grsegs[chunk];\r
+16/CatacombApocalypse/ID_CA.C: dest = (spritetype _seg *)grsegs[chunk];\r
+16/CatacombApocalypse/ID_CA.C: pos = ((mapfiletype _seg *)tinf)->headeroffsets[mapnum];\r
+16/CatacombApocalypse/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/CatacombApocalypse/ID_CA.C: ((mapfiletype _seg *)tinf)->RLEWtag);\r
+16/CatacombApocalypse/ID_CA.C: source = (byte _seg *)bufferseg+(pos-bufferstart);\r
+16/CatacombApocalypse/ID_IN.C:// byte _seg *DemoBuffer;\r
+16/CatacombApocalypse/ID_IN.C:IN_StartDemoPlayback(byte _seg *buffer,word bufsize)\r
+16/CatacombApocalypse/ID_RF.C: spritetype _seg *block;\r
+16/CatacombApocalypse/ID_RF.C: block = (spritetype _seg *)grsegs[spritenumber];\r
+16/CatacombApocalypse/ID_RF.C: spritetype _seg *block;\r
+16/CatacombApocalypse/ID_RF.C: block = (spritetype _seg *)grsegs[spritenumber];\r
+16/CatacombApocalypse/ID_SD.C: word *SoundTable; // Really * _seg *SoundTable, but that don't work\r
+16/CatacombApocalypse/ID_VW.C:pictabletype _seg *pictable;\r
+16/CatacombApocalypse/ID_VW.C:pictabletype _seg *picmtable;\r
+16/CatacombApocalypse/ID_VW.C:spritetabletype _seg *spritetable;\r
+16/CatacombApocalypse/ID_VW.C: fontstruct _seg *font);\r
+16/CatacombApocalypse/ID_VW.C: spritetype _seg *block;\r
+16/CatacombApocalypse/ID_VW.C: block = (spritetype _seg *)grsegs[chunknum];\r
+16/CatacombApocalypse/ID_VW.C:VWL_MeasureString (char far *string, word *width, word *height, fontstruct _seg *font)\r
+16/CatacombApocalypse/ID_VW.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONT+fontnumber]);\r
+16/CatacombApocalypse/ID_VW.C: VWL_MeasureString(string,width,height,(fontstruct _seg *)grsegs[STARTFONTM+fontnumber]);\r
+16/CatacombApocalypse/ID_VW.C: spritetype _seg *block;\r
+16/CatacombApocalypse/ID_VW.C: block = (spritetype _seg *)grsegs[chunknum];\r
#
# compile flags
#
-S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768#24576
+S_FLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k40960#32768#24576
Z_FLAGS=-zk0 -zc -zm#### -zp4 -ei
O_FLAGS=-opnr -oe=24 -oil+ -outback -ohm
T_FLAGS=-bt=dos -wx -m$(MEMORYMODE) -0 -fpi87 -d1 -fo=.$(OBJ)## -e=65536
#
VGMSNDOBJ = vgmSnd.$(OBJ)
OLDLIBOBJS=bitmap.$(OBJ) 16render.$(OBJ)
-GFXLIBOBJS = 16_vl.$(OBJ) 16_vl_1.$(OBJ) 16_vl_2.$(OBJ) 16_vlpal.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_spri.$(OBJ)
-16LIBOBJS = 16_mm.$(OBJ) 16_pm.$(OBJ) 16_ca.$(OBJ) 16_tail.$(OBJ) 16_head.$(OBJ) 16_enti.$(OBJ) 16_dbg.$(OBJ) 16_in.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ) 16_map.$(OBJ) 16text.$(OBJ) 16_sd.$(OBJ) 16_tail_.$(OBJ) 16_dbg_1.$(OBJ)
+GFXLIBOBJS = 16_vl.$(OBJ) 16_vl_1.$(OBJ) 16_vl_2.$(OBJ) 16_vlpal.$(OBJ) 16text.$(OBJ) scroll16.$(OBJ) 16_vrs.$(OBJ) 16_spri.$(OBJ)
+16LIBOBJS = 16_mm.$(OBJ) 16_pm.$(OBJ) 16_ca.$(OBJ) 16_tail.$(OBJ) 16_head.$(OBJ) 16_enti.$(OBJ) 16_dbg.$(OBJ) 16_in.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) 16_wcpu.$(OBJ) 16_timer.$(OBJ) jsmn.$(OBJ) 16_map.$(OBJ) 16_sd.$(OBJ) 16_tail_.$(OBJ) 16_dbg_1.$(OBJ)
DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)
!ifeq DEBUGSERIAL 1
DOSLIBOBJ += 8250.$(OBJ)
}\r
#endif\r
\r
+#define EXTENSION "hb1"\r
+\r
/*\r
=============================================================================\r
\r
CAL_GetGrChunkLength(STRUCTPIC,gvar); // position file pointer\r
printf("CAL_SetupGrFile:\n");\r
printf(" gvar->ca.chunkcomplen size is %lu\n", gvar->ca.chunkcomplen);\r
- MM_GetPtr(&compseg,gvar->ca.chunkcomplen,gvar);\r
- IN_Ack(gvar);\r
+ MM_GetPtr(MEMPTRANDPERCONV compseg,gvar->ca.chunkcomplen,gvar); IN_Ack(gvar);\r
CA_FarRead (gvar->ca.file.grhandle,compseg,gvar->ca.chunkcomplen,gvar);\r
CAL_HuffExpand (compseg, (byte far *)gvar->video.pictable,NUMPICS*sizeof(pictabletype),gvar->ca.grhuffman);\r
- MM_FreePtr(&compseg,gvar);\r
+ MM_FreePtr(MEMPTRANDPERCONV compseg,gvar);\r
#endif\r
\r
-#if NUMPICM>0\r
+#if 0\r
+ //NUMPICM>0\r
MM_GetPtr(MEMPTRCONV picmtable,NUMPICM*sizeof(pictabletype));\r
CAL_GetGrChunkLength(STRUCTPICM); // position file pointer\r
MM_GetPtr(&compseg,gvar->ca.chunkcomplen);\r
CA_FarRead (gvar->ca.file.grhandle,compseg,gvar->ca.chunkcomplen);\r
CAL_HuffExpand (compseg, (byte far *)picmtable,NUMPICS*sizeof(pictabletype),gvar->ca.grhuffman);\r
MM_FreePtr(&compseg);\r
-#endif\r
+//#endif\r
\r
-#if NUMSPRITES>0\r
+//#if NUMSPRITES>0\r
MM_GetPtr(MEMPTRCONV spritetable,NUMSPRITES*sizeof(spritetabletype));\r
CAL_GetGrChunkLength(STRUCTSPRITE); // position file pointer\r
MM_GetPtr(&compseg,gvar->ca.chunkcomplen);\r
MM_GetPtr (MEMPTRCONV gvar->ca.tinf,length,gvar);\r
CA_FarRead(handle, gvar->ca.tinf, length,gvar);\r
close(handle);\r
-//#else\r
+#else\r
\r
gvar->ca.tinf = (byte _seg *)FP_SEG(&maphead);\r
\r
CAL_SetupMapFile (gvar);\r
#endif\r
\r
- gvar->ca.camap.mapon = -1;\r
+ gvar->ca.mapon = -1;\r
gvar->ca.ca_levelbit = 1;\r
gvar->ca.ca_levelnum = 0;\r
\r
=\r
======================\r
*/\r
-/*++++ segments!\r
+\r
void CA_CacheMap (global_game_variables_t *gvar)\r
{\r
long pos,compressed;\r
//\r
// free up memory from last map\r
//\r
- if (gvar->ca.camap.mapon>-1 && gvar->ca.camap.mapheaderseg[gvar->ca.camap.mapon])\r
- MM_SetPurge (((memptr)gvar->ca.camap.mapheaderseg[(gvar->ca.camap.mapon)]), 3, gvar);\r
+ if (gvar->ca.mapon>-1 && gvar->ca.mapheaderseg[gvar->ca.mapon])\r
+ MM_SetPurge ((MEMPTRCONV gvar->ca.mapheaderseg[(gvar->ca.mapon)]), 3, gvar);\r
for (plane=0;plane<MAPPLANES;plane++)\r
- if (gvar->ca.camap.mapsegs[plane])\r
- MM_FreePtr ((memptr)gvar->ca.camap.mapsegs[plane], gvar);\r
+ if (gvar->ca.mapsegs[plane])\r
+ MM_FreePtr (MEMPTRCONV gvar->ca.mapsegs[plane], gvar);\r
\r
- gvar->ca.camap.mapon = gvar->ca.camap.mapnum;\r
+ gvar->ca.mapon = gvar->ca.mapnum;\r
\r
\r
//\r
// load map header\r
// The header will be cached if it is still around\r
//\r
-// if (!gvar->ca.camap.mapheaderseg[gvar->ca.camap.mapnum])\r
-// {\r
-// //pos = ((mapfiletype _seg *)tinf)->headeroffsets[mapnum];\r
-// //pos = ((_seg *)gvar->ca.camap.tinf)->headeroffsets[gvar->ca.camap.mapnum];\r
-// pos = ((memptr)gvar->ca.camap.tinf)->headeroffsets[gvar->ca.camap.mapnum];\r
-// if (pos<0) // $FFFFFFFF start is a sparse map\r
-// printf("CA_CacheMap: Tried to load a non existent map!");\r
+ if (!gvar->ca.mapheaderseg[gvar->ca.mapnum])\r
+ {\r
+ pos = ((mapfiletype _seg *)gvar->ca.tinf)->headeroffsets[gvar->ca.mapnum];\r
+ if (pos<0) // $FFFFFFFF start is a sparse map\r
+ Quit (gvar, "CA_CacheMap: Tried to load a non existent map!");\r
\r
-// MM_GetPtr(MEMPTRCONV gvar->ca.camapheaderseg[mapnum],sizeof(maptype));\r
-// lseek(maphandle,pos,SEEK_SET);\r
-// CA_FarRead (maphandle,(memptr)mapheaderseg[mapnum],sizeof(maptype));\r
-// }\r
-// else\r
-// MM_SetPurge (MEMPTRCONV mapheaderseg[mapnum], 0, &(gvar->mm));\r
+ MM_GetPtr(MEMPTRCONV gvar->ca.mapheaderseg[gvar->ca.mapnum],sizeof(maptype), gvar);\r
+ lseek(gvar->ca.file.maphandle,pos,SEEK_SET);\r
+#ifdef MAPHEADERLINKED\r
+//#if BUFFERSIZE < sizeof(maptype)\r
+//The general buffer size is too small!\r
+//#endif\r
+ //\r
+ // load in, then unhuffman to the destination\r
+ //\r
+ CA_FarRead (gvar->ca.file.maphandle,gvar->mm.bufferseg,((mapfiletype _seg *)gvar->ca.tinf)->headersize[gvar->ca.mapnum], gvar);\r
+ CAL_HuffExpand ((byte huge *)bufferseg,\r
+ (byte huge *)gvar->ca.mapheaderseg[gvar->ca.mapnum],sizeof(maptype),maphuffman, gvar);\r
+#else\r
+ CA_FarRead (gvar->ca.file.maphandle,(memptr)gvar->ca.mapheaderseg[gvar->ca.mapnum],sizeof(maptype), gvar);\r
+#endif\r
+ }\r
+ else\r
+ MM_SetPurge (MEMPTRCONV gvar->ca.mapheaderseg[gvar->ca.mapnum], 0, gvar);\r
\r
//\r
// load the planes in\r
// allways reloaded, never cached)\r
//\r
\r
- size = mapheaderseg[mapnum]->width * mapheaderseg[mapnum]->height * 2;\r
+ size = gvar->ca.mapheaderseg[gvar->ca.mapnum]->width * gvar->ca.mapheaderseg[gvar->ca.mapnum]->height * 2;\r
\r
for (plane = 0; plane<MAPPLANES; plane++)\r
{\r
- //pos = mapheaderseg[mapnum]->planestart[plane];\r
- //compressed = mapheaderseg[mapnum]->planelength[plane];\r
+ pos = gvar->ca.mapheaderseg[gvar->ca.mapnum]->planestart[plane];\r
+ compressed = gvar->ca.mapheaderseg[gvar->ca.mapnum]->planelength[plane];\r
\r
if (!compressed)\r
continue; // the plane is not used in this game\r
\r
- dest = MEMPTRCONV mapsegs[plane];\r
- MM_GetPtr(dest,size);\r
+ dest = MEMPTRCONV gvar->ca.mapsegs[plane];\r
+ MM_GetPtr(dest,size, gvar);\r
\r
- lseek(maphandle,pos,SEEK_SET);\r
+ lseek(gvar->ca.file.maphandle,pos,SEEK_SET);\r
if (compressed<=BUFFERSIZE)\r
- source = bufferseg;\r
+ source = gvar->mm.bufferseg;\r
else\r
{\r
- MM_GetPtr(&bigbufferseg,compressed);\r
- MM_SetLock (&bigbufferseg,true);\r
+ MM_GetPtr(&bigbufferseg,compressed, gvar);\r
+ MM_SetLock (&bigbufferseg,true, gvar);\r
source = bigbufferseg;\r
}\r
\r
- CA_FarRead(maphandle,(byte far *)source,compressed);\r
+ CA_FarRead(gvar->ca.file.maphandle,(byte far *)source,compressed, gvar);\r
#ifdef MAPHEADERLINKED\r
//\r
// unhuffman, then unRLEW\r
//\r
expanded = *source;\r
source++;\r
- MM_GetPtr (&buffer2seg,expanded);\r
+ MM_GetPtr (&buffer2seg,expanded, gvar);\r
CAL_CarmackExpand (source, (unsigned far *)buffer2seg,expanded);\r
CA_RLEWexpand (((unsigned far *)buffer2seg)+1,*dest,size,\r
((mapfiletype _seg *)tinf)->RLEWtag);\r
// unRLEW, skipping expanded length\r
//\r
CA_RLEWexpand (source+1, *dest,size,\r
- ((mapfiletype _seg *)tinf)->RLEWtag);\r
+ ((mapfiletype _seg *)gvar->ca.tinf)->RLEWtag);\r
#endif\r
\r
if (compressed>BUFFERSIZE)\r
- MM_FreePtr(&bigbufferseg);\r
+ MM_FreePtr(&bigbufferseg, gvar);\r
}\r
-}//*/\r
+}\r
\r
//===========================================================================\r
\r
//\r
// free map headers and map planes\r
//\r
-// for (i=0;i<NUMMAPS;i++)\r
-// if (gvar->ca.camap.mapheaderseg[i])\r
-// MM_SetPurge (gvar->ca.camap.mapheaderseg[i],3, gvar);\r
+ for (i=0;i<NUMMAPS;i++)\r
+ if (gvar->ca.mapheaderseg[i])\r
+ MM_SetPurge (MEMPTRCONV gvar->ca.mapheaderseg[i],3, gvar);\r
\r
for (i=0;i<3;i++)\r
if (gvar->ca.mapsegs[i])\r
- MM_FreePtr ((memptr *)&gvar->ca.mapsegs[i], gvar);\r
+ MM_FreePtr (MEMPTRCONV gvar->ca.mapsegs[i], gvar);\r
\r
//\r
// free sounds\r
//\r
for (i=0;i<NUMSNDCHUNKS;i++)\r
if (gvar->ca.audiosegs[i])\r
- MM_SetPurge ((memptr *)&gvar->ca.audiosegs[i],3, gvar);\r
+ MM_SetPurge (MEMPTRCONV gvar->ca.audiosegs[i],3, gvar);\r
\r
//\r
// free graphics\r
= CA_CacheMarks\r
=\r
======================\r
-*//*++++\r
+*/\r
#define MAXEMPTYREAD 1024\r
-\r
+/*++++ segments\r
void CAL_CacheMarks (char *title, global_game_variables_t *gvar)\r
{\r
boolean dialog;\r
\r
// MDM begin - (GAMERS EDGE)\r
//\r
-// if (!FindFile("EGAGRAPH.16",NULL,2))\r
-// Quit (gvar, "CA_CacheMarks(): Can't find graphics files.");\r
+//???? if (!FindFile("EGAGRAPH.16",NULL,2))\r
+//???? Quit (gvar, "CA_CacheMarks(): Can't find graphics files.");\r
//\r
// MDM end\r
\r
//\r
if (dialog && finishcachebox)\r
finishcachebox();\r
-}*/\r
+}//*/\r
\r
void CA_CannotOpen(char *string, global_game_variables_t *gvar)\r
{\r
//======\r
\r
\r
-#define MAPBUFINLM *(gvar->ca.mapsegs)\r
int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar)\r
{\r
jsmn_parser p;\r
jsmn_init(&p);\r
\r
file_s = filesize(fh);\r
- CA_LoadFile(mn, (memptr *)&MAPBUFINLM, gvar);\r
- tokcount = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, NULL, 0);\r
+ CA_LoadFile(mn, MEMPTRCONV MAPSEGINLM, gvar);\r
+ tokcount = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, NULL, 0);\r
tok = malloc(tokcount*sizeof(jsmntok_t));//TODO: USE MM_ CA_ AND PM_\r
// printf("Allocated %d tokens", tokcount);\r
jsmn_init(&p);\r
- if((status = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, tok, tokcount)) < 0)\r
+ if((status = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, tok, tokcount)) < 0)\r
{\r
printf("Error: %d\n", status);\r
return status;\r
}\r
else if(status != tokcount) { printf("Warning: used %d tok\n", status);}\r
- extract_map((char const *)MAPBUFINLM, tok, tokcount, map);\r
+ extract_map((char const *)MAPSEGINLM, tok, tokcount, map);\r
\r
+// printf("freeing tok\n");\r
free(tok); //TODO: USE MM_ CA_ AND PM_\r
+// printf("fclose fh\n");\r
fclose(fh); //TODO: USE MM_ CA_ AND PM_\r
\r
return 0;\r
};\r
// Array of corresponding vrl line offsets\r
vrl1_vgax_offset_t **vrl_line_offsets;\r
+ //sprite buffer\r
+ byte far _seg *spribuff;\r
} vrs_container_t;\r
\r
typedef struct vrl_container{\r
};\r
// Pointer to a corresponding vrl line offsets struct\r
vrl1_vgax_offset_t *line_offsets;\r
+ //sprite buffer\r
+ byte far _seg *spribuff;\r
} vrl_container_t;\r
\r
typedef struct sprite\r
//===================================//\r
#define PALSIZE 768 //vga\r
#define NUMCHUNKS 416 //keen\r
-#define MAXSCANLINES 240 // size of ylookup table\r
+//#define MAXSCANLINES 240 // size of ylookup table\r
\r
#define MAXSHIFTS 4\r
#define STARTSPRITES 0 //temp\r
word quadwh; //preproccessed quad size of tilewidth and tileheight\r
} tile_dimention_t;\r
\r
-#define MAXSCROLLEDGES 6\r
+#define MAXSCROLLEDGES 2\r
typedef struct\r
{\r
unsigned panx,pany; // panning adjustments inside port in pixels\r
word bordercolor;\r
boolean fastpalette;\r
byte far palette1[256][3],far palette2[256][3];\r
- pictabletype _seg *pictable;\r
+//???? pictabletype _seg *pictable;\r
//keen/cata vars\r
// spritetabletype _seg *spritetable;\r
// unsigned *shifttabletable[8];\r
//from 16_mm\r
//==========================================================================\r
\r
-#define MAXBLOCKS 800//kd=1300 wolf3d=700 cata=600\r
+#define MAXBLOCKS 600//800 //kd=1300 wolf3d=700 cata=600\r
\r
typedef struct mmblockstruct\r
{\r
#define NOGRAPHICS\r
#define NOAUDIO\r
\r
-#define MAPHEADERLINKED\r
+//#define MAPHEADERLINKED\r
//#define GRHEADERLINKED\r
-#define AUDIOHEADERLINKED\r
+//#define AUDIOHEADERLINKED\r
\r
#define NUMMAPS 4//39\r
#define NUMSNDCHUNKS 4//3\r
#define GDICTNAME DATADIR"vgadict."\r
#define GHEADNAME DATADIR"vgahead."\r
#define GFILENAME DATADIR"vgagraph."\r
-#define EXTENSION "hb1"\r
\r
\r
+#define MAPSEGBUF mapsegs\r
+#define MAPSEGPTR MAPSEGBUF[0]\r
+#define MAPSEGINLM (gvar->ca.MAPSEGPTR)\r
+\r
typedef struct\r
{\r
word bit0,bit1; // 0-255 is a character, > is a pointer to a node\r
\r
typedef struct\r
{\r
- int mapon, mapnum;\r
- maptype _seg *mapheaderseg[NUMMAPS];\r
-} ca_mapinfo_t;\r
+ unsigned RLEWtag;\r
+ long headeroffsets[100];\r
+ byte tileinfo[];\r
+} mapfiletype;\r
\r
typedef struct\r
{\r
{\r
byte ca_levelbit,ca_levelnum;\r
ca_handle_t file; //files to open\r
- ca_mapinfo_t camap;\r
\r
byte _seg *tinf;//?? where in the id engine is this used and what is it? --sparky4\r
+ int mapon, mapnum;\r
+ maptype _seg *mapheaderseg[NUMMAPS];\r
unsigned _seg *mapsegs[MAPPLANES];\r
void _seg *grsegs[NUMCHUNKS];\r
byte far grneeded[NUMCHUNKS];\r
#ifdef GRHEADERLINKED\r
huffnode *grhuffman;\r
#else\r
- huffnode grhuffman[255];\r
+ huffnode grhuffman[63];\r
#endif\r
\r
#ifdef AUDIOHEADERLINKED\r
huffnode *audiohuffman;\r
#else\r
- huffnode audiohuffman[255];\r
+ huffnode audiohuffman[63];\r
#endif\r
\r
CASVT chunkcomplen,chunkexplen;//long\r
\r
sd_t sd;\r
//TODO: extend! and learn from keen/wolf/catacomb's code wwww\r
- memptr spribuff;\r
} ca_t;\r
\r
//==========================================================================\r
switch(rlsw)\r
{\r
case 1:\r
- 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
+ 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
+ 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
switch(rlsw)\r
{\r
case 1:\r
- CA_ReadFile(filename, &gvar->ca.spribuff, gvar);\r
+ CA_ReadFile(filename, &enti->spri.spritesheet.spribuff, gvar);\r
break;\r
case 0:\r
- CA_LoadFile(filename, &gvar->ca.spribuff, gvar);\r
+ CA_LoadFile(filename, &enti->spri.spritesheet.spribuff, gvar);\r
break;\r
}\r
\r
// Insert sanity cheks later\r
- enti->spri.sprite_vrl_cont.buffer = gvar->ca.spribuff;\r
+ enti->spri.sprite_vrl_cont.buffer = enti->spri.spritesheet.spribuff;\r
enti->spri.sprite_vrl_cont.data_size = sizeof(enti->spri.spritesheet.buffer) - sizeof(struct vrl1_vgax_header);\r
\r
// Allocate memory for vrl line offsets table\r
\r
#define SPRITE\r
//#define TILERENDER\r
-#define SHOWFPS\r
+//0000#define SHOWFPS\r
//#define OLDWALKSHOWPAGESTUFF\r
\r
#define PLAYERBMPDATAVAR gvar.player[pn].data\r