├── SOURCE ├── NOVGA │ ├── FILES.RC │ └── MAKEFILE ├── 3D │ ├── M.BAT │ ├── T.BAT │ ├── D.BAT │ ├── DD.BAT │ ├── OUT.C │ ├── UPVECS.C │ ├── DRAW_SEG.C │ ├── TRAKBALL.C │ ├── UPVECS2.C │ ├── VECVIEW.C │ ├── VECVIEW2.C │ ├── 3DTEST.LNK │ ├── GLOBVARS.ASM │ ├── MAKEFILE │ └── SEGMENT.C ├── FIX │ ├── T.BAT │ ├── PROF.BAT │ ├── M.BAT │ ├── SAMP.BAT │ ├── LST.BAT │ ├── D.BAT │ ├── DD.BAT │ ├── ASINGEN.C │ ├── FIXTEST.C │ ├── SINGEN.C │ ├── FIXTEST.SMP │ ├── FIXTEST.LNK │ ├── X.OUT │ ├── MAKEFILE │ ├── TEST.ASM │ ├── FIX.INC │ └── TEST.LST ├── MISC │ ├── T.BAT │ ├── M.BAT │ ├── D.BAT │ ├── DD.BAT │ ├── ERRTEST.C │ ├── PARSTEST.C │ ├── ERRTEST.LNK │ ├── PARSTEST.LNK │ ├── MAKEFILE.MAC │ ├── ARGS.H │ ├── BYTESWAP.C │ ├── STRUTIL.H │ ├── MAKEFILE │ ├── HASH.H │ ├── BYTESWAP.H │ ├── DEBUG.H │ ├── FILEUTIL.H │ └── PARSARG.H ├── BIOS │ ├── D.BAT │ ├── DD.BAT │ ├── X.BAT │ ├── X.C │ ├── KEYS.INC │ ├── TESTJ.C │ ├── TESTT.C │ ├── TESTK.LNK │ ├── TESTM.LNK │ ├── MAKE0000.BAT │ ├── MAKE0001.BAT │ ├── MAKE0100.BAT │ ├── X │ ├── Y.BAT │ ├── SPEAKER.C │ ├── TIMERP.C │ ├── FINDFILE.H │ ├── MAKEFILE │ ├── TESTMS.C │ └── RBAUDIO.H ├── IFF │ ├── M.BAT │ ├── T.BAT │ ├── D.BAT │ ├── D2.BAT │ ├── DD.BAT │ ├── MNDEBUG.BAT │ ├── Y.BAT │ ├── VESA.H │ ├── VESA.LIB │ ├── ARCHIVE │ │ ├── IFF8BPP.C │ │ └── IFF15BPP.C │ ├── X.BAT │ ├── TT.BAT │ ├── IFFTESTV.LNK │ ├── IFFTEST.LNK │ ├── TEST.BAT │ ├── IFFTESTV.BAK │ ├── MAKEFILE │ └── IFFTESTV.C ├── INCLUDES │ ├── M.BAT │ ├── D.BAT │ ├── LST.BAT │ ├── TEST.C │ ├── TEST.LNK │ ├── MAKEFILE │ ├── DTYPES.INC │ ├── PSTYPES.INC │ ├── DTYPES.H │ └── PSTYPES.H ├── VECMAT │ ├── M.BAT │ ├── D.BAT │ ├── T.BAT │ ├── XX.BAT │ ├── BUG.C │ ├── DISTTEST.C │ ├── VECTEST.LNK │ ├── VECTEST.OUT │ ├── MAKEFILE │ ├── VECTEST.C │ └── SML9X9.ASM ├── 2D │ ├── DD.BAT │ ├── MNDEBUG.BAT │ ├── GR.OUT │ ├── EFFECTS.H │ ├── PAGING.H │ ├── CURSOR.C │ ├── TPOLY.C │ ├── NONVESA.C │ ├── EFFECT2D.H │ ├── PFLOW.ASM │ ├── PAGING.ASM │ ├── RLE.H │ ├── PALETTE.H │ ├── RECT.C │ ├── PCX.H │ ├── IBITBLT.H │ ├── SELECTOR.ASM │ └── DISC.C ├── MEM │ ├── 1 │ ├── 2 │ ├── DD.BAT │ ├── RDIR.OUT │ ├── MAKEFILE │ ├── MAKEFILE.MAC │ └── MEM.H ├── VGA │ ├── DD.BAT │ ├── XYZ.BAT │ ├── MAKEFILE │ ├── FXVESA.H │ ├── FXDPMI.H │ └── VGAREGS.INC ├── CFILE │ ├── DD.BAT │ ├── MAKEFILE.MAC │ ├── MAKEFILE │ ├── NOCFILE.H │ └── CFILE.H ├── TEXMAP │ ├── DD.BAT │ ├── Y.BAT │ ├── NTMAPOUT.H │ ├── XYZ.BAT │ ├── X.BAT │ ├── SCANLINE.H │ └── TMAPFADE.ASM ├── WIN95 │ ├── DD.BAT │ ├── DIRECT3D.H │ ├── IFORCE.H │ ├── WINREGS.H │ ├── WINMIDI.H │ ├── GLOBAL.H │ ├── SWIFT.C │ ├── WINAPP.H │ └── DS.H ├── UI │ ├── RADIO.C │ ├── KEYTRAP.C │ ├── HARDERR.C │ ├── FUNC.H │ └── UI.C ├── MAIN │ ├── CONFIG.C │ ├── FILES.H │ ├── RBTEST.C │ ├── WEAPON.C │ ├── GAMESTAT.H │ ├── KCONFIG.C │ ├── NEWMENU.C │ ├── NEWMODEL.C │ ├── SETTINGS.H │ ├── VERS_ID.H │ ├── BMREAD.H │ ├── PAGING.H │ ├── KMATRIX.H │ ├── SEGPOINT.H │ ├── WINVIDEO.C │ ├── COMPBIT.H │ ├── CREDITS.H │ ├── TERRAIN.H │ ├── CDROM.H │ ├── JOYDEFS.H │ ├── TEXMERGE.H │ ├── IGLASSES.H │ ├── TEXTURES.H │ ├── CONTROLS.H │ ├── EDITOR │ │ └── TEXPAGE.H │ ├── ARCADE.H │ ├── HOSTAGE.H │ ├── DESC_ID.H │ ├── SLEW.H │ ├── STATE.H │ ├── GAMESAVE.H │ ├── TITLES.H │ ├── MODEM.H │ ├── INFERNO.INI │ ├── AUTOMAP.H │ ├── PLAYSAVE.H │ ├── GAMEPAL.H │ ├── CRYPT.C │ ├── MOVIE.H │ ├── ENDLEVEL.H │ ├── SCORES.H │ ├── GAMEFONT.H │ ├── LIGHTING.H │ ├── MORPH.H │ ├── VCLIP.H │ ├── SONGS.H │ ├── NETMISC.H │ ├── INFERNO.H │ ├── CONFIG.H │ ├── MENU.H │ ├── MULTIBOT.H │ ├── GAMEFONT.C │ ├── PHYSICS.H │ ├── HOSTAGE.C │ └── COLLIDE.H ├── PA_NULL │ ├── MAKEFILE │ └── PA_ENABL.H ├── DIV │ ├── MAKEFILE │ └── DIV0.INC ├── MAKEFILE └── LIB │ └── RBAUDIO.H ├── MAKE.INI └── INIT └── MAKE.INI /SOURCE/NOVGA/FILES.RC: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /SOURCE/3D/M.BAT: -------------------------------------------------------------------------------- 1 | make 2 | -------------------------------------------------------------------------------- /SOURCE/FIX/T.BAT: -------------------------------------------------------------------------------- 1 | fixtest 2 | -------------------------------------------------------------------------------- /SOURCE/MISC/T.BAT: -------------------------------------------------------------------------------- 1 | errtest 2 | -------------------------------------------------------------------------------- /SOURCE/3D/T.BAT: -------------------------------------------------------------------------------- 1 | 3dtest 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/BIOS/D.BAT: -------------------------------------------------------------------------------- 1 | wvideo cdtest 2 | -------------------------------------------------------------------------------- /SOURCE/FIX/PROF.BAT: -------------------------------------------------------------------------------- 1 | wprof fixtest 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/M.BAT: -------------------------------------------------------------------------------- 1 | make ifftest 2 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/M.BAT: -------------------------------------------------------------------------------- 1 | make test 2 | -------------------------------------------------------------------------------- /SOURCE/MISC/M.BAT: -------------------------------------------------------------------------------- 1 | make errtest 2 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/M.BAT: -------------------------------------------------------------------------------- 1 | make test 2 | -------------------------------------------------------------------------------- /SOURCE/3D/D.BAT: -------------------------------------------------------------------------------- 1 | wvideo 3dtest 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/FIX/M.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | make test 3 | -------------------------------------------------------------------------------- /SOURCE/FIX/SAMP.BAT: -------------------------------------------------------------------------------- 1 | wsamprsi /r=5 fixtest 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/T.BAT: -------------------------------------------------------------------------------- 1 | ifftest %1 %2 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/MISC/D.BAT: -------------------------------------------------------------------------------- 1 | wvideo errtest 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/D.BAT: -------------------------------------------------------------------------------- 1 | wvideo vectest 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/T.BAT: -------------------------------------------------------------------------------- 1 | vectest >vectest.out 2 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/D.BAT: -------------------------------------------------------------------------------- 1 | @wvideo test 2 | @fix 3 | -------------------------------------------------------------------------------- /SOURCE/FIX/LST.BAT: -------------------------------------------------------------------------------- 1 | ml /c /W3 /Zd /nologo /Fl %1.asm 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/D.BAT: -------------------------------------------------------------------------------- 1 | wvideo ifftest gauge03.bbm 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/2D/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/2D/MNDEBUG.BAT: -------------------------------------------------------------------------------- 1 | make clean update no_debug linstall 2 | -------------------------------------------------------------------------------- /SOURCE/3D/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/FIX/D.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | wvideo fixtest 3 | fix 4 | -------------------------------------------------------------------------------- /SOURCE/FIX/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/D2.BAT: -------------------------------------------------------------------------------- 1 | wvideo /color /page ifftestv %1 2 | fix 3 | -------------------------------------------------------------------------------- /SOURCE/IFF/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/MNDEBUG.BAT: -------------------------------------------------------------------------------- 1 | make clean update no_debug linstall 2 | -------------------------------------------------------------------------------- /SOURCE/MEM/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/VGA/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/BIOS/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/CFILE/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/IFF/Y.BAT: -------------------------------------------------------------------------------- 1 | ifftest x1-3.bbm >2.out 2 | :diff 2.out 2.1 3 | -------------------------------------------------------------------------------- /SOURCE/MISC/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/TEXMAP/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/WIN95/DD.BAT: -------------------------------------------------------------------------------- 1 | rcsdiff %1 %2 %3 %4 %5 %6 %7 %8 %9 |more 2 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/XX.BAT: -------------------------------------------------------------------------------- 1 | make update optimize no_mono no_debug linstall 2 | -------------------------------------------------------------------------------- /SOURCE/BIOS/X.BAT: -------------------------------------------------------------------------------- 1 | 4gwbind t:\4gwpro\4gwpro.exe cdtest.exe cdtest3.exe 2 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/LST.BAT: -------------------------------------------------------------------------------- 1 | ml /c /W3 /Zd /nologo /Fo.\obj\mactest.obj /Fl mactest.asm 2 | -------------------------------------------------------------------------------- /SOURCE/3D/OUT.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/OUT.C -------------------------------------------------------------------------------- /SOURCE/BIOS/X.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/BIOS/X.C -------------------------------------------------------------------------------- /SOURCE/TEXMAP/Y.BAT: -------------------------------------------------------------------------------- 1 | echo Routines to draw an "editor" tmap. | ci -u TMAP_ED.ASM 2 | 3 | -------------------------------------------------------------------------------- /SOURCE/3D/UPVECS.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/UPVECS.C -------------------------------------------------------------------------------- /SOURCE/IFF/VESA.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/IFF/VESA.H -------------------------------------------------------------------------------- /SOURCE/UI/RADIO.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/UI/RADIO.C -------------------------------------------------------------------------------- /SOURCE/3D/DRAW_SEG.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/DRAW_SEG.C -------------------------------------------------------------------------------- /SOURCE/3D/TRAKBALL.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/TRAKBALL.C -------------------------------------------------------------------------------- /SOURCE/3D/UPVECS2.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/UPVECS2.C -------------------------------------------------------------------------------- /SOURCE/3D/VECVIEW.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/VECVIEW.C -------------------------------------------------------------------------------- /SOURCE/3D/VECVIEW2.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/3D/VECVIEW2.C -------------------------------------------------------------------------------- /SOURCE/BIOS/KEYS.INC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/BIOS/KEYS.INC -------------------------------------------------------------------------------- /SOURCE/BIOS/TESTJ.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/BIOS/TESTJ.C -------------------------------------------------------------------------------- /SOURCE/BIOS/TESTT.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/BIOS/TESTT.C -------------------------------------------------------------------------------- /SOURCE/FIX/ASINGEN.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/FIX/ASINGEN.C -------------------------------------------------------------------------------- /SOURCE/FIX/FIXTEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/FIX/FIXTEST.C -------------------------------------------------------------------------------- /SOURCE/FIX/SINGEN.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/FIX/SINGEN.C -------------------------------------------------------------------------------- /SOURCE/IFF/VESA.LIB: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/IFF/VESA.LIB -------------------------------------------------------------------------------- /SOURCE/MAIN/CONFIG.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/CONFIG.C -------------------------------------------------------------------------------- /SOURCE/MAIN/FILES.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/FILES.H -------------------------------------------------------------------------------- /SOURCE/MAIN/RBTEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/RBTEST.C -------------------------------------------------------------------------------- /SOURCE/MAIN/WEAPON.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/WEAPON.C -------------------------------------------------------------------------------- /SOURCE/UI/KEYTRAP.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/UI/KEYTRAP.C -------------------------------------------------------------------------------- /SOURCE/VECMAT/BUG.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/VECMAT/BUG.C -------------------------------------------------------------------------------- /SOURCE/FIX/FIXTEST.SMP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/FIX/FIXTEST.SMP -------------------------------------------------------------------------------- /SOURCE/INCLUDES/TEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/INCLUDES/TEST.C -------------------------------------------------------------------------------- /SOURCE/MAIN/GAMESTAT.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/GAMESTAT.H -------------------------------------------------------------------------------- /SOURCE/MAIN/KCONFIG.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/KCONFIG.C -------------------------------------------------------------------------------- /SOURCE/MAIN/NEWMENU.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/NEWMENU.C -------------------------------------------------------------------------------- /SOURCE/MAIN/NEWMODEL.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/NEWMODEL.C -------------------------------------------------------------------------------- /SOURCE/MAIN/SETTINGS.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/SETTINGS.H -------------------------------------------------------------------------------- /SOURCE/MAIN/VERS_ID.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MAIN/VERS_ID.H -------------------------------------------------------------------------------- /SOURCE/MISC/ERRTEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MISC/ERRTEST.C -------------------------------------------------------------------------------- /SOURCE/MISC/PARSTEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/MISC/PARSTEST.C -------------------------------------------------------------------------------- /SOURCE/CFILE/MAKEFILE.MAC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/CFILE/MAKEFILE.MAC -------------------------------------------------------------------------------- /SOURCE/TEXMAP/NTMAPOUT.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/TEXMAP/NTMAPOUT.H -------------------------------------------------------------------------------- /SOURCE/VECMAT/DISTTEST.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/VECMAT/DISTTEST.C -------------------------------------------------------------------------------- /SOURCE/IFF/ARCHIVE/IFF8BPP.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/IFF/ARCHIVE/IFF8BPP.C -------------------------------------------------------------------------------- /SOURCE/IFF/ARCHIVE/IFF15BPP.C: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenSourcedGames/Descent-2/HEAD/SOURCE/IFF/ARCHIVE/IFF15BPP.C -------------------------------------------------------------------------------- /SOURCE/IFF/X.BAT: -------------------------------------------------------------------------------- 1 | ::wvideo ifftest f:test1-3.bbm x1-3.bbm >1.out 2 | wvideo ifftest x1-3.bbm >2.out 3 | fix 4 | 5 | -------------------------------------------------------------------------------- /SOURCE/BIOS/TESTK.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\testk.obj 3 | library .\io.lib 4 | name testk 5 | -------------------------------------------------------------------------------- /SOURCE/BIOS/TESTM.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\testm.obj 3 | library .\io.lib 4 | name testm 5 | -------------------------------------------------------------------------------- /SOURCE/IFF/TT.BAT: -------------------------------------------------------------------------------- 1 | ifftest cobra3.bbm test3.bbm 2 | dump cobra3.bbm >cobra3.lst 3 | dump test3.bbm >test3.lst 4 | fix 5 | -------------------------------------------------------------------------------- /SOURCE/MISC/ERRTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\errtest.obj 3 | library .\misc.lib 4 | name errtest 5 | -------------------------------------------------------------------------------- /SOURCE/MISC/PARSTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\parstest.obj 3 | library .\misc.lib 4 | name parstest 5 | -------------------------------------------------------------------------------- /SOURCE/BIOS/MAKE0000.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | del ____temp.tmp 3 | if errorlevel 1 goto m_end 4 | echo>C:\MINER\SOURCE\BIOS\make0000.err 5 | :m_end 6 | -------------------------------------------------------------------------------- /SOURCE/BIOS/MAKE0001.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | del ____temp.tmp 3 | if errorlevel 1 goto m_end 4 | echo>D:\MINER\SOURCE\BIOS\make0000.err 5 | :m_end 6 | -------------------------------------------------------------------------------- /SOURCE/BIOS/MAKE0100.BAT: -------------------------------------------------------------------------------- 1 | @echo off 2 | del ____temp.tmp 3 | if errorlevel 1 goto m_end 4 | echo>D:\MINER\SOURCE\BIOS\make0100.err 5 | :m_end 6 | -------------------------------------------------------------------------------- /SOURCE/FIX/FIXTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\fixtest.obj 3 | library .\fix.lib, 4 | c:\miner\source\lib\io.lib 5 | name .\fixtest 6 | -------------------------------------------------------------------------------- /SOURCE/BIOS/X: -------------------------------------------------------------------------------- 1 | //the both return 0 if no error 2 | int GetFileTime(int filehandle, FILETIMESTRUCT *ftstruct); 3 | int SetFileTime(int filehandle, FILETIMESTRUCT *ftstruct); 4 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/TEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\test.obj, 3 | .\obj\mactest.obj 4 | library c:\project\miner\source\lib\io.lib 5 | name test 6 | -------------------------------------------------------------------------------- /SOURCE/MEM/RDIR.OUT: -------------------------------------------------------------------------------- 1 | makefile 1.1 1993/11/02 17:45:38 -- 2 | mem.h 1.3 1994/03/15 11:12:40 -- 3 | mem.c 1.11 1994/07/27 20:04:22 -- 4 | -------------------------------------------------------------------------------- /SOURCE/FIX/X.OUT: -------------------------------------------------------------------------------- 1 | fixtest.obj <- (does not exist) 2 | wcc386 flags: /zq /zld /w3 /on /oa /I=. /I=h:\miner\source\lib /I=t:\w95\h /I=t:\w95\h\sys /d2 /fo=.\obj\fixtest.obj 3 | wcc386 fixtest.c 4 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/VECTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\vectest.obj 3 | library .\vecmat.lib, 4 | c:\miner\source\lib\io.lib, 5 | c:\miner\source\lib\fix.lib 6 | name .\vectest 7 | -------------------------------------------------------------------------------- /MAKE.INI: -------------------------------------------------------------------------------- 1 | # 2 | # Matt's personal makefile settings 3 | # 4 | 5 | # Get the default options 6 | %include $(INIT)\make.ini 7 | 8 | # I like to see why things build 9 | SHOW_REASONS = 1 10 | 11 | 12 | -------------------------------------------------------------------------------- /SOURCE/IFF/IFFTESTV.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\ifftestv.obj 3 | library .\iff.lib, 4 | h:\miner\source\lib\vesa.lib, 5 | h:\miner\source\lib\cflib.lib, 6 | h:\miner\source\lib\cfile.lib 7 | name .\ifftestv 8 | -------------------------------------------------------------------------------- /SOURCE/TEXMAP/XYZ.BAT: -------------------------------------------------------------------------------- 1 | if exist %1 goto done 2 | if exist %1.tmp goto done 3 | if not "%2" == "" rcsmerge -r%2 -r%3 %1.c 4 | ren %1.c *.tmp 5 | co %1.c 6 | attrib -r %1.c 7 | diff -b %1.c %1.tmp |more 8 | b %1.c %1.tmp 9 | diff -b %1.c %1.tmp |more 10 | :done 11 | -------------------------------------------------------------------------------- /SOURCE/VGA/XYZ.BAT: -------------------------------------------------------------------------------- 1 | if exist %1 goto done 2 | if exist %1.tmp goto done 3 | if not "%2" == "" rcsmerge -r%2 -r%3 %1.c 4 | ren %1.c *.tmp 5 | co %1.c 6 | attrib -r %1.c 7 | diff -b %1.c %1.tmp |more 8 | b %1.c %1.tmp 9 | diff -b %1.c %1.tmp |more 10 | :done 11 | -------------------------------------------------------------------------------- /SOURCE/IFF/IFFTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\ifftest.obj 3 | library .\iff.lib, 4 | d:\miner\source\lib\vga.lib, 5 | d:\miner\source\lib\gr.lib, 6 | d:\miner\source\lib\mem.lib, 7 | d:\miner\source\lib\misc.lib, 8 | d:\miner\source\lib\cfile.lib, 9 | d:\miner\source\lib\io.lib 10 | name .\ifftest 11 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/VECTEST.OUT: -------------------------------------------------------------------------------- 1 | 23587a1 25b1883 f00d 2 | 23587a1 25b1883 f00d 3 | 44c88 47b05 f59f 4 | 44c88 47b05 f59f 5 | 396574d 33c71c4 11bc7 6 | 396574d 33c71c4 11bc7 7 | ff1c4fb 101cddc8 fd53 8 | ff1c4fb 101cddc8 fd53 9 | 6665ada 6697be8 ff83 10 | 6665ada 6697be8 ff83 11 | -------------------------------------------------------------------------------- /SOURCE/IFF/TEST.BAT: -------------------------------------------------------------------------------- 1 | ifftest exp08-04.bbm 2 | ifftest COBRA2.bbm 3 | :ifftest COBRA3.bbm 4 | 5 | ifftest ROCK044.bbm 6 | 7 | ifftest SIDE.bbm 8 | ifftest SIDE2.bbm 9 | ifftest SIDE3.bbm 10 | ifftest SIDE4.bbm 11 | ifftest SIDE5.bbm 12 | 13 | ifftest TEST1.bbm 14 | ifftest TEST2.bbm 15 | 16 | ifftest shingles.lbm 17 | ifftest tree4.bbm 18 | 19 | ifftest font1-3x.lbm 20 | 21 | ifftest gauge03.bbm 22 | -------------------------------------------------------------------------------- /SOURCE/2D/GR.OUT: -------------------------------------------------------------------------------- 1 | gr.lib: 2 | $Id: pcx.c 1.6 1995/03/01 15:38:12 john Exp $ 3 | $Id: rle.c 1.22 1995/12/21 18:45:16 matt Exp $ 4 | $Id: ibitblt.c 1.7 1995/12/21 18:45:17 matt Exp $ 5 | $Id: circle.c 1.3 1994/11/18 22:51:01 john Exp $ 6 | $Id: scalea.asm 1.3 1995/12/21 14:30:02 matt Exp $ 7 | $Id: scale.c 1.16 1995/11/09 12:36:40 matt Exp $ 8 | $Id: lbitblt.asm 1.8 1995/12/21 14:29:52 matt Exp $ 9 | -------------------------------------------------------------------------------- /SOURCE/3D/3DTEST.LNK: -------------------------------------------------------------------------------- 1 | system dos4g option quiet debug all 2 | file .\obj\3dtest.obj, 3 | .\obj\segment.obj, 4 | .\obj\trakball.obj 5 | library .\3d.lib, 6 | h:\miner\source\lib\vecmat.lib, 7 | h:\miner\source\lib\gr.lib, 8 | h:\miner\source\lib\io.lib, 9 | h:\miner\source\lib\fix.lib, 10 | h:\miner\source\lib\div0.lib, 11 | h:\miner\source\lib\texmap.lib, 12 | h:\miner\source\lib\misc.lib, 13 | h:\miner\source\lib\bm.lib 14 | name 3dtest 15 | -------------------------------------------------------------------------------- /SOURCE/PA_NULL/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for dummy poly_acc library 3 | # 4 | 5 | # What to install, and where to install it 6 | INSTALL_TARGS = poly_acc.lib pa_enabl.h poly_acc.h 7 | 8 | # What libs to build 9 | LIBS = poly_acc 10 | 11 | # What objs in the poly_acc lib 12 | POLY_ACC_OBJS = poly_acc.obj 13 | 14 | # What to clean 15 | CLEAN_TARGS = $(OBJDIR)\*.obj 16 | 17 | #rules and targets common to all Miner makefiles 18 | %include $(INIT)\makefile.def 19 | 20 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 21 | 22 | 23 | -------------------------------------------------------------------------------- /SOURCE/TEXMAP/X.BAT: -------------------------------------------------------------------------------- 1 | del new\TMAPFLAT.C 2 | del new\SCANLINE.C 3 | del new\TMAP_FLT.ASM 4 | del new\TEXMAPL.H 5 | del new\TMAPFADE.ASM 6 | del new\TEXMAP.H 7 | del new\SCANLINE.H 8 | del new\TMAP_LNT.ASM 9 | del new\TMAP_LLT.ASM 10 | del new\TMAP_INC.ASM 11 | del new\TMAP_PER.ASM 12 | del new\TMAP_ED.ASM 13 | del new\TMAP_LLN.ASM 14 | del new\TMAP_LNN.ASM 15 | del new\TMAP_PLT.ASM 16 | del new\NTMAPOUT.H 17 | del new\TMAP_PNT.ASM 18 | del new\TMAP_PNN.ASM 19 | del new\TMAP_QLT.ASM 20 | del new\TMAP_PLN.ASM 21 | del new\TMAP_QNN.ASM 22 | del new\TMAP_QNT.ASM 23 | del new\TMAP_QLN.ASM 24 | del new\MAKEFILE 25 | -------------------------------------------------------------------------------- /SOURCE/BIOS/Y.BAT: -------------------------------------------------------------------------------- 1 | echo Library functions for printing to mono card. | rcs -i mono.c 2 | echo Headers for joystick functions | rcs -i joy.h 3 | echo Header for keyboard functions | rcs -i key.h 4 | echo Header for monochrome/mprintf functions | rcs -i mono.h 5 | echo Header for mouse functions | rcs -i mouse.h 6 | echo Header for timer functions | rcs -i timer.h 7 | echo Contains routines for joystick interface. | rcs -i joy.asm 8 | echo Contains routines to get, buffer, and check key presses. | rcs -i key.asm 9 | echo Contains routines for a mouse interface. | rcs -i mouse.asm 10 | echo Routines for setting and using system timers | rcs -i timer.asm 11 | 12 | -------------------------------------------------------------------------------- /SOURCE/MEM/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/mem/rcs/makefile $ 3 | # $Revision: 1.1 $ 4 | # $Author: john $ 5 | # $Date: 1993/11/02 17:45:38 $ 6 | # 7 | # Makefile for memory debugging 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = mem.lib mem.h 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What libs to make 17 | LIBS = mem 18 | 19 | MEM_OBJS = mem.obj 20 | 21 | #rules and targets common to all Miner makefiles 22 | %include $(INIT)\makefile.def 23 | 24 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 25 | 26 | mem.obj: dos.h i86.h mono.h stdarg.h stdio.h stdlib.h string.h 27 | -------------------------------------------------------------------------------- /SOURCE/CFILE/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # Master makefile for Miner source 3 | # 4 | # Makes all the executable by visiting subdirs and making there 5 | # 6 | 7 | CLEAN_TARGS = $(OBJDIR)\*.obj 8 | 9 | INSTALL_TARGS = cfile.lib cfile.h nocfile.h 10 | 11 | LIBS = cfile 12 | 13 | CFILE_OBJS = cfile.obj 14 | 15 | #all Miner makefiles should include this 16 | %include $(INIT)\makefile.def 17 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 18 | 19 | cfile.obj: cfile.h conio.h ctype.h dos.h errno.h error.h fcntl.h i86.h io.h \ 20 | mem.h stat.h stdarg.h stdio.h stdlib.h string.h time.h types.h 21 | 22 | test.obj: cfile.h cflib.h io.h stat.h stdio.h stdlib.h string.h types.h 23 |  -------------------------------------------------------------------------------- /SOURCE/MEM/MAKEFILE.MAC: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/mem/rcs/makefile $ 3 | # $Revision: 1.1 $ 4 | # $Author: john $ 5 | # $Date: 1993/11/02 17:45:38 $ 6 | # 7 | # Makefile for memory debugging 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = mem.lib mem.h 12 | 13 | # What to clean 14 | CLEAN_TARGS = 15 | 16 | # What libs to make 17 | LIBS = mem 18 | 19 | MEM_OBJS = mem.obj 20 | 21 | #rules and targets common to all Miner makefiles 22 | #%include $(INIT)\makefile.def 23 | .INCLUDE : "BigRed:miner2:init:makefile.def" 24 | 25 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 26 | 27 | mem.obj: mono.h stdio.h stdlib.h string.h 28 | -------------------------------------------------------------------------------- /SOURCE/NOVGA/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/novga/rcs/makefile $ 3 | # $Revision: 1.2 $ 4 | # $Author: samir $ 5 | # $Date: 1996/03/15 19:05:21 $ 6 | # 7 | # Makefile for nonvga functions 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = novga.lib 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What libs to make 17 | LIBS = novga 18 | 19 | 20 | # What object files for the lib 21 | NOVGA_OBJS = novesa.obj 22 | 23 | #rules and targets common to all Miner makefiles 24 | %include $(INIT)\makefile.def 25 | 26 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 27 | 28 | novesa.obj: fix.h gr.h pstypes.h 29 | -------------------------------------------------------------------------------- /SOURCE/MEM/2: -------------------------------------------------------------------------------- 1 | void mem_free( void * buffer ) 2 | { 3 | int ErrorCount; 4 | int * psize = (int *)buffer; 5 | psize--; 6 | 7 | if (Initialized==0) 8 | mem_init(); 9 | 10 | if (buffer==NULL) { 11 | fprintf( stderr, "\nMEM_FREE_NULL: An attempt was made to free the null pointer.\n" ); 12 | Warning( "MEM: Freeing the NULL pointer!" ); 13 | Int3(); 14 | return; 15 | } 16 | 17 | ErrorCount = 0; 18 | 19 | if (ErrorCount) { 20 | fprintf( stderr, "\nMEM_OVERWRITE: Memory after the end of allocated block overwritten.\n" ); 21 | fprintf( stderr, "\tBlock at 0x%x, size %d\n", buffer, *psize ); 22 | fprintf( stderr, "\t%d/%d check bytes were overwritten.\n", ErrorCount, CHECKSIZE ); 23 | } 24 | 25 | BytesMalloced -= *psize; 26 | 27 | free( buffer ); 28 | } 29 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/includes/rcs/makefile $ 3 | # $Revision: 1.2 $ 4 | # $Author: matt $ 5 | # $Date: 1995/12/21 13:59:42 $ 6 | # 7 | # Makefile for macro and header files 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = pstypes.h pstypes.inc psmacros.inc 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What test programs to make 17 | TEST_PROGS = test 18 | 19 | # What object files and libs for the test programs 20 | TEST_SRCS = test.c mactest.c 21 | TEST_LIBS = io.lib 22 | 23 | #rules and targets common to all Miner makefiles 24 | %include $(INIT)\makefile.def 25 | 26 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 27 | 28 | mactest.obj: psmacros.inc 29 | 30 | test.obj: mono.h 31 | -------------------------------------------------------------------------------- /SOURCE/2D/EFFECTS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | extern void gr_fade_canvas(int fade); 15 | extern void gr_deaccent_canvas(); 16 | -------------------------------------------------------------------------------- /SOURCE/2D/PAGING.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _PAGING_H 17 | #define _PAGING_H 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /SOURCE/MISC/MAKEFILE.MAC: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/misc/rcs/makefile $ 3 | # $Revision: 1.6 $ 4 | # $Author: matt $ 5 | # $Date: 1995/08/17 11:33:02 $ 6 | # 7 | # Makefile for misc libaray 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = parsarg.h error.h debug.h hash.h args.h byteswap.h strutil.h fileutil.h misc.lib 12 | 13 | # What libs to build 14 | LIBS = misc 15 | 16 | # What objs in the lib 17 | MISC_OBJS = error.obj hash.obj args.obj byteswap.obj strutil.obj fileutil.obj 18 | 19 | # What to clean 20 | CLEAN_TARGS = $(OBJDIR):*.obj 21 | 22 | # What test programs to make 23 | TEST_PROGS = 24 | 25 | # What object files and libs for the test programs 26 | 27 | #rules and targets common to all Miner makefiles 28 | .INCLUDE : "BigRed:miner2:init:makefile.def" 29 | 30 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 31 | 32 | -------------------------------------------------------------------------------- /INIT/MAKE.INI: -------------------------------------------------------------------------------- 1 | # 2 | # Default initialization file for MAKEFILES 3 | # 4 | # Feel free to replace this with your own personal favorite options 5 | # 6 | 7 | # Turn the memory miser on. This is actually really important 8 | .MISER: 9 | 10 | # Use the silly graphics when debugging 11 | .DEBUG_GRAPHICS: 12 | 13 | # Default object directory 14 | OBJDIR = .\obj 15 | 16 | # Turn debugging info on by default 17 | DEBUG_ON = 1 18 | 19 | # Make sure the correct versions of make & mkmf are being run 20 | !if '$(MAKEVERSION)'<'601' || '$(MKMFVERSION)'<'321' 21 | !error This makefile requires OPUS MAKE v6.01 and MKMF 3.21 or greater. 22 | !endif 23 | 24 | # Check for makefile. If not present, but one present in parent dir, 25 | # try using it. If not present in parent dir, give an error. 26 | %if ! %exists($(MAKEFILE)) 27 | %error Error: missing makefile 28 | %endif 29 | 30 | 31 | -------------------------------------------------------------------------------- /SOURCE/DIV/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/div/rcs/makefile $ 3 | # $Revision: 1.3 $ 4 | # $Author: matt $ 5 | # $Date: 1994/11/21 11:34:49 $ 6 | # 7 | # Makefile for bios functions 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = div0.lib div0.h div0.inc 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What libs to make 17 | LIBS = div0 18 | 19 | # What test programs to make 20 | TEST_PROGS = testd 21 | 22 | # What object files for the lib 23 | DIV0_OBJS = div0.obj 24 | 25 | # What object files and libs for the test programs 26 | TESTD_SRCS = testd.c testda.asm 27 | TESTD_LIBS = div0.lib 28 | 29 | #rules and targets common to all Miner makefiles 30 | %include $(INIT)\makefile.def 31 | 32 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 33 | 34 | testd.obj: conio.h div0.h stdio.h stdlib.h 35 | 36 | -------------------------------------------------------------------------------- /SOURCE/MAIN/BMREAD.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _BMREAD_H 17 | #define _BMREAD_H 18 | 19 | void bm_write_all(FILE *fp); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /SOURCE/MAIN/PAGING.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _PAGING_H 17 | #define _PAGING_H 18 | 19 | void paging_touch_all(); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/vecmat/rcs/makefile $ 3 | # $Revision: 1.3 $ 4 | # $Author: matt $ 5 | # $Date: 1996/02/07 18:15:43 $ 6 | # 7 | # Makefile for vector/matrix library 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = vecmat.lib vecmat.h vecmat.inc 12 | 13 | # What libs to build 14 | LIBS = vecmat 15 | 16 | # What objs in the lib 17 | VECMAT_OBJS = vecmat.obj 18 | 19 | # What to clean 20 | CLEAN_TARGS = $(OBJDIR)\*.obj 21 | 22 | # What test programs to make 23 | TEST_PROGS = vectest 24 | 25 | # What object files and libs for the test programs 26 | VECTEST_SRCS = vectest.c 27 | VECTEST_LIBS = vecmat.lib io.lib fix.lib 28 | 29 | #rules and targets common to all Miner makefiles 30 | %include $(INIT)\makefile.def 31 | 32 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 33 | 34 | vecmat.obj: fix.inc psmacros.inc pstypes.inc vecmat.inc 35 | -------------------------------------------------------------------------------- /SOURCE/MEM/1: -------------------------------------------------------------------------------- 1 | void mem_free( void * buffer ) 2 | { 3 | int id; 4 | 5 | if (Initialized==0) 6 | mem_init(); 7 | 8 | if (buffer==NULL && (!out_of_memory)) 9 | { 10 | fprintf( stderr, "\nMEM_FREE_NULL: An attempt was made to free the null pointer.\n" ); 11 | Warning( "MEM: Freeing the NULL pointer!" ); 12 | Int3(); 13 | return; 14 | } 15 | 16 | id = mem_find_id( buffer ); 17 | 18 | if (id==-1 && (!out_of_memory)) 19 | { 20 | fprintf( stderr, "\nMEM_FREE_NOMALLOC: An attempt was made to free a ptr that wasn't\nallocated with mem.h included.\n" ); 21 | Warning( "MEM: Freeing a non-malloced pointer!" ); 22 | Int3(); 23 | return; 24 | } 25 | 26 | mem_check_integrity( id ); 27 | 28 | BytesMalloced -= MallocSize[id]; 29 | 30 | free( buffer ); 31 | 32 | 33 | Present[id] = 0; 34 | MallocBase[id] = 0; 35 | MallocSize[id] = 0; 36 | 37 | free_list[ --num_blocks ] = id; 38 | } 39 | -------------------------------------------------------------------------------- /SOURCE/UI/HARDERR.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #pragma off (unreferenced) 15 | static char rcsid[] = "$Id: harderr.c 1.3 1993/10/26 13:45:57 john Exp $"; 16 | #pragma on (unreferenced) 17 | 18 | -------------------------------------------------------------------------------- /SOURCE/2D/CURSOR.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: cursor.c 1.2 1994/02/18 15:32:24 john Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/2D/TPOLY.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: tpoly.c 1.2 1994/04/08 16:59:42 john Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/2D/NONVESA.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: nonvesa.c 1.1 1996/03/15 18:51:36 samir Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/BIOS/SPEAKER.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: speaker.c 1.1 1994/04/04 16:30:41 yuan Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/BIOS/TIMERP.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: timerp.c 1.1 1994/05/30 18:14:22 yuan Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/MAIN/KMATRIX.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _KMATRIX_H 17 | #define _KMATRIX_H 18 | 19 | extern int kmatrix_kills_changed; 20 | 21 | void kmatrix_view(); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SOURCE/MAIN/SEGPOINT.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _SEGPOINTS_H 17 | #define _SEGPOINTS_H 18 | 19 | #include "3d.h" 20 | 21 | extern g3s_point Segment_points[]; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SOURCE/MAIN/WINVIDEO.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: winvideo.c 1.1 1995/07/24 15:02:01 samir Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | -------------------------------------------------------------------------------- /SOURCE/IFF/IFFTESTV.BAK: -------------------------------------------------------------------------------- 1 | /* 2 | test for iff library 3 | */ 4 | 5 | #include 6 | #include 7 | 8 | #include "iff.h" 9 | //#include "gr.h" 10 | #include "vesa.h" 11 | 12 | draw_ubitmap(int x,int y,grs_bitmap *bm) 13 | { 14 | int xx,yy; 15 | short *data15 = (short *) bm->bm_data; 16 | 17 | printf("x,y=%d,%d w,h=%d,%d\n",x,y,bm->bm_w,bm->bm_h); 18 | 19 | for (yy=0;yybm_h;yy++) 20 | 21 | for (xx=0;xxbm_w;xx++) 22 | 23 | gr_vesa_pixel15(x+xx,y+yy,data15[yy*bm->bm_w+xx]); 24 | 25 | 26 | } 27 | 28 | 29 | main(int argc,char **argv) 30 | { 31 | int ret; 32 | grs_bitmap my_bitmap; 33 | ubyte my_palette[256*3]; 34 | 35 | ret = iff_read_bitmap(argv[1],&my_bitmap,BM_LINEAR,&my_palette); 36 | 37 | printf("ret = %d\n",ret); 38 | 39 | if (ret == IFF_NO_ERROR) { 40 | 41 | gr_vesa_setmode(0x110); 42 | 43 | draw_ubitmap(0,0,&my_bitmap); 44 | 45 | getch(); 46 | 47 | } 48 | 49 | } 50 | 51 | -------------------------------------------------------------------------------- /SOURCE/MAIN/COMPBIT.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _COMPBIT_H 17 | #define _COMPBIT_H 18 | 19 | #define BITMAP_TBL_XOR 0xD3 20 | 21 | extern void encode_rotate_left(char *); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SOURCE/MAIN/CREDITS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _CREDITS_H 17 | #define _CREDITS_H 18 | 19 | //if filename passed is NULL, show normal credits 20 | void credits_show(char *credits_filename); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /SOURCE/MAIN/TERRAIN.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _TERRAIN_H 17 | #define _TERRAIN_H 18 | 19 | void load_terrain(char *filename); 20 | void render_terrain(vms_vector *org,int org_i,int org_j); 21 | 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SOURCE/MAIN/CDROM.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _CDROM_H 17 | #define _CDROM_H 18 | 19 | // Returns -1 if no cdrom drive, -2 if no memory 20 | // 0 if no descent cd, else 1-26 where descent cd found. 21 | int find_descent_cd(); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /SOURCE/MISC/ARGS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _ARGS_H 17 | #define _ARGS_H 18 | 19 | extern int Num_args; 20 | extern char * Args[]; 21 | extern int FindArg( char * s ); 22 | extern void InitArgs( int argc, char **argv ); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/DTYPES.INC: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | option expr32 12 | 13 | IFNDEF types_inc 14 | types_inc EQU 1 15 | 16 | ubyte typedef byte 17 | ushort typedef word 18 | long typedef dword 19 | uint typedef dword 20 | ulong typedef dword 21 | 22 | bool typedef ubyte 23 | 24 | ENDIF 25 | 26 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/PSTYPES.INC: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | option expr32 12 | 13 | IFNDEF types_inc 14 | types_inc EQU 1 15 | 16 | ubyte typedef byte 17 | ushort typedef word 18 | long typedef dword 19 | uint typedef dword 20 | ulong typedef dword 21 | 22 | bool typedef ubyte 23 | 24 | ENDIF 25 | 26 | -------------------------------------------------------------------------------- /SOURCE/MAIN/JOYDEFS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | #ifndef _JOYDEFS_H 14 | #define _JOYDEFS_H 15 | 16 | void joydefs_calibrate(); 17 | void joydefs_config(); 18 | 19 | extern int joydefs_calibrate_flag; 20 | 21 | #ifdef MACINTOSH 22 | extern void joydefs_set_type(ubyte type); 23 | #endif 24 | 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /SOURCE/MAIN/TEXMERGE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _TEXMERGE_H 17 | #define _TEXMERGE_H 18 | 19 | int texmerge_init(int num_cached_textures); 20 | grs_bitmap * texmerge_get_cached_bitmap( int tmap_bottom, int tmap_top ); 21 | void texmerge_close(); 22 | void texmerge_flush(); 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /SOURCE/MAIN/IGLASSES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _IGLASSES_H 17 | #define _IGLASSES_H 18 | 19 | #include "fix.h" 20 | 21 | extern int iglasses_headset_installed; 22 | 23 | void iglasses_init_tracking(int serial_port); 24 | int iglasses_read_headset( fix *yaw, fix *pitch, fix *roll ); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /SOURCE/MAIN/TEXTURES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #ifndef _TEXTURES_H 16 | #define _TEXTURES_H 17 | 18 | #include "bm.h" 19 | #include "piggy.h" 20 | 21 | //Texture stuff... in mglobal.c 22 | 23 | extern int NumTextures; 24 | extern bitmap_index Textures[MAX_TEXTURES]; // Array of all texture tmaps. 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /SOURCE/FIX/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/fix/rcs/makefile $ 3 | # $Revision: 1.6 $ 4 | # $Author: matt $ 5 | # $Date: 1995/12/21 14:00:19 $ 6 | # 7 | # Makefile for fixed-point library 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = fix.lib fix.h fix.inc 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What libs to make 17 | LIBS = fix 18 | 19 | # What test programs to make 20 | TEST_PROGS = fixtest 21 | 22 | # What object files for the lib 23 | FIX_OBJS = fix.obj 24 | 25 | # What object files and libs for the test programs 26 | FIXTEST_SRCS = fixtest.c 27 | FIXTEST_LIBS = fix.lib io.lib 28 | 29 | #rules and targets common to all Miner makefiles 30 | %include $(INIT)\makefile.def 31 | 32 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 33 | 34 | asingen.obj: math.h stdio.h 35 | 36 | fix.obj: fix.inc psmacros.inc pstypes.inc 37 | 38 | fixtest.obj: conio.h fix.h graph.h pstypes.h stdio.h stdlib.h types.h 39 | 40 | singen.obj: math.h 41 | 42 | test.obj: psmacros.inc 43 | -------------------------------------------------------------------------------- /SOURCE/2D/EFFECT2D.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _EFFECT2D_H 17 | #define _EFFECT2D_H 18 | 19 | extern void gr_fade_canvas(int fade); 20 | extern void gr_deaccent_canvas(); 21 | extern void gr_grey_canvas(); 22 | extern void effect2d_headlight_copy( grs_bitmap * src_bmp, grs_bitmap * dest_bmp, grs_bitmap * mask_bmp ); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /SOURCE/MAIN/CONTROLS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _CONTROLS_H 17 | #define _CONTROLS_H 18 | 19 | extern int Cyberman_installed; //SWIFT device present 20 | 21 | void read_flying_controls( object * obj ); 22 | 23 | extern ubyte Controls_stopped; 24 | extern ubyte Controls_always_move; 25 | 26 | extern fix Afterburner_charge; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /SOURCE/IFF/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/iff/rcs/makefile $ 3 | # $Revision: 1.5 $ 4 | # $Author: john $ 5 | # $Date: 1994/02/15 12:51:20 $ 6 | # 7 | # Makefile for IFF library 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = iff.lib iff.h 12 | 13 | # What libs to build 14 | LIBS = iff 15 | 16 | # What objs in the iff lib 17 | IFF_OBJS = iff.obj 18 | 19 | # What test programs to make 20 | TEST_PROGS = ifftest ifftestv 21 | 22 | # What object files and libs for the test programs 23 | IFFTEST_SRCS = ifftest.c 24 | IFFTEST_LIBS = iff.lib vga.lib gr.lib mem.lib misc.lib cfile.lib io.lib 25 | 26 | IFFTESTV_SRCS = ifftestv.c 27 | IFFTESTV_LIBS = iff.lib vesa.lib cflib.lib cfile.lib 28 | 29 | #rules and targets common to all Miner makefiles 30 | %include $(INIT)\makefile.def 31 | 32 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 33 | 34 | iff.obj: conio.h fix.h gr.h iff.h malloc.h mem.h stdio.h stdlib.h string.h \ 35 | types.h 36 | 37 | ifftest.obj: conio.h fix.h gr.h iff.h stdio.h stdlib.h types.h 38 | 39 | ifftestv.obj: conio.h fix.h gr.h iff.h stdio.h types.h vesa.h 40 | -------------------------------------------------------------------------------- /SOURCE/DIV/DIV0.INC: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | IFNDEF _div0_inc 12 | _div0_inc EQU 1 13 | 14 | include psmacros.inc ;get extn macro 15 | 16 | ;See div0.h for full comments 17 | 18 | DM_ERROR EQU 0t 19 | DM_SATURATE EQU 1t 20 | 21 | extn div0_init_ 22 | extn div0_close_ 23 | extn div0_set_mode_ 24 | extn div0_set_handler_ 25 | extn div0_set_saturate_ 26 | 27 | 28 | ENDIF 29 | 30 | -------------------------------------------------------------------------------- /SOURCE/TEXMAP/SCANLINE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _SCANLINE_H 17 | #define _SCANLINE_H 18 | 19 | extern void c_tmap_scanline_per(); 20 | extern void c_tmap_scanline_per_nolight(); 21 | extern void c_tmap_scanline_lin(); 22 | extern void c_tmap_scanline_lin_nolight(); 23 | extern void c_tmap_scanline_flat(); 24 | extern void c_tmap_scanline_shaded(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /SOURCE/WIN95/DIRECT3D.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _DIRECT3D_H 17 | #define _DIRECT3D_H 18 | 19 | 20 | typedef struct _d3d_caps 21 | { 22 | BOOL hw_acc; 23 | BOOL tmap_acc; 24 | UINT tmap_formats; 25 | 26 | char devname[256]; 27 | 28 | } d3d_caps; 29 | 30 | 31 | BOOL d3d_init(void); 32 | int d3d_init_device(GUID guid); 33 | int d3d_device_close(); 34 | 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /SOURCE/MISC/BYTESWAP.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #include 15 | #include 16 | 17 | #include "pstypes.h" 18 | 19 | ushort swapshort(ushort s) 20 | { 21 | return ((s >> 8) & 0x00ff) | ((s << 8) & 0xff00); 22 | } 23 | 24 | uint swapint(uint i) 25 | { 26 | ushort s1, s2; 27 | 28 | s1 = (i >> 16) & 0x0000ffff; 29 | s2 = i & 0x0000ffff; 30 | return ((swapshort(s2) << 16) | swapshort(s1)); 31 | } 32 | -------------------------------------------------------------------------------- /SOURCE/MAIN/EDITOR/TEXPAGE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _TEXPAGE_H 17 | #define _TEXPAGE_H 18 | 19 | #include "ui.h" 20 | 21 | extern int TextureLights; 22 | extern int TextureEffects; 23 | extern int TextureMetals; 24 | 25 | int texpage_grab_current(int n); 26 | int texpage_goto_first(); 27 | void texpage_init( UI_WINDOW * win ); 28 | void texpage_close(); 29 | void texpage_do(); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /SOURCE/MISC/STRUTIL.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _STRUTILS_ 15 | #define _STRUTILS_ 16 | 17 | extern char *strdup(char *s); 18 | extern int stricmp(char *str1, char *str2); 19 | extern int strnicmp(char *str1, char *str2, int n); 20 | 21 | void strupr( char *s1 ); 22 | void strlwr( char *s1 ); 23 | void strrev( char *s1 ); 24 | 25 | void _splitpath(char *name, char *drive, char *path, char *base, char *ext); 26 | 27 | #endif -------------------------------------------------------------------------------- /SOURCE/FIX/TEST.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | .386 12 | option oldstructs 13 | 14 | .nolist 15 | include psmacros.inc 16 | .list 17 | 18 | assume cs:_TEXT, ds:_DATA 19 | 20 | _DATA segment dword public USE32 'DATA' 21 | 22 | rcsid db "$Id: $" 23 | 24 | _DATA ends 25 | 26 | 27 | 28 | _TEXT segment dword public USE32 'CODE' 29 | 30 | a = OPATTR(ebx) 31 | b = OPATTR(rcsid[ebx]) 32 | 33 | _TEXT ends 34 | 35 | end 36 | -------------------------------------------------------------------------------- /SOURCE/MISC/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/misc/rcs/makefile $ 3 | # $Revision: 1.7 $ 4 | # $Author: matt $ 5 | # $Date: 1996/01/23 22:32:42 $ 6 | # 7 | # Makefile for misc libaray 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = misc.lib parsarg.h debug.h hash.h args.h byteswap.h 12 | 13 | # What libs to build 14 | LIBS = misc 15 | 16 | # What objs in the lib 17 | MISC_OBJS = parsarg.obj hash.obj args.obj 18 | 19 | # What to clean 20 | CLEAN_TARGS = $(OBJDIR)\*.obj 21 | 22 | # What test programs to make 23 | TEST_PROGS = errtest parstest 24 | 25 | # What object files and libs for the test programs 26 | PARSTEST_SRCS = parstest.c 27 | PARSTEST_LIBS = misc.lib 28 | 29 | ERRTEST_SRCS = errtest.c 30 | ERRTEST_LIBS = misc.lib 31 | 32 | #rules and targets common to all Miner makefiles 33 | %include $(INIT)\makefile.def 34 | 35 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 36 | 37 | args.obj: stdio.h stdlib.h string.h 38 | 39 | errtest.obj: error.h stdio.h 40 | 41 | hash.obj: error.h hash.h stdio.h stdlib.h string.h 42 | 43 | parsarg.obj: dos.h i86.h parsarg.h stdio.h stdlib.h string.h 44 | 45 | parstest.obj: parsarg.h stdio.h 46 | -------------------------------------------------------------------------------- /SOURCE/MAIN/ARCADE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _ARCADE_H 17 | #define _ARCADE_H 18 | 19 | #ifdef ARCADE 20 | 21 | extern int Arcade_mode; 22 | extern fix Arcade_timer; 23 | 24 | extern void arcade_init(); 25 | extern void arcade_read_controls(); 26 | 27 | #else 28 | 29 | #define Arcade_mode 0 //code gets optimized out 30 | 31 | #define arcade_init() 32 | #define arcade_read_controls() 33 | 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/DTYPES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _TYPES_H 15 | #define _TYPES_H 16 | 17 | //define a byte 18 | typedef signed char byte; 19 | 20 | //define unsigned types; 21 | typedef unsigned char ubyte; 22 | typedef unsigned short ushort; 23 | typedef unsigned int uint; 24 | typedef unsigned long ulong; 25 | 26 | //define a boolean 27 | typedef ubyte bool; 28 | 29 | #ifndef NULL 30 | #define NULL 0 31 | #endif 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /SOURCE/INCLUDES/PSTYPES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _TYPES_H 15 | #define _TYPES_H 16 | 17 | //define a byte 18 | typedef signed char byte; 19 | 20 | //define unsigned types; 21 | typedef unsigned char ubyte; 22 | typedef unsigned short ushort; 23 | typedef unsigned int uint; 24 | typedef unsigned long ulong; 25 | 26 | //define a boolean 27 | typedef ubyte bool; 28 | 29 | #ifndef NULL 30 | #define NULL 0 31 | #endif 32 | 33 | #endif 34 | 35 | -------------------------------------------------------------------------------- /SOURCE/WIN95/IFORCE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _IFORCE_H 17 | #define _IFORCE_H 18 | 19 | 20 | typedef struct IForce_Caps { 21 | int axis_min[7], axis_cen[7], axis_max[7]; 22 | int has_pov; 23 | unsigned button_mask; 24 | unsigned axes_mask; 25 | } IForce_Caps; 26 | 27 | 28 | int IForce_Init(int port); 29 | int IForce_Close(); 30 | int IForce_GetCaps(IForce_Caps *caps); 31 | int IForce_ReadRawValues(int *axis); 32 | 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /SOURCE/2D/PFLOW.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | 13 | .386 14 | option oldstructs 15 | 16 | .nolist 17 | include pstypes.inc 18 | include psmacros.inc 19 | .list 20 | 21 | assume cs:_TEXT, ds:_DATA 22 | 23 | _DATA segment dword public USE32 'DATA' 24 | 25 | rcsid db "$Id: pflow.asm 1.2 1995/12/21 14:30:03 matt Exp $" 26 | align 4 27 | 28 | _DATA ends 29 | 30 | 31 | 32 | _TEXT segment dword public USE32 'CODE' 33 | 34 | 35 | _TEXT ends 36 | 37 | end 38 | 39 | -------------------------------------------------------------------------------- /SOURCE/2D/PAGING.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | 13 | .386 14 | option oldstructs 15 | 16 | .nolist 17 | include pstypes.inc 18 | include psmacros.inc 19 | .list 20 | 21 | assume cs:_TEXT, ds:_DATA 22 | 23 | _DATA segment dword public USE32 'DATA' 24 | 25 | rcsid db "$Id: paging.asm 1.2 1995/12/21 14:30:02 matt Exp $" 26 | align 4 27 | 28 | _DATA ends 29 | 30 | 31 | 32 | _TEXT segment dword public USE32 'CODE' 33 | 34 | 35 | _TEXT ends 36 | 37 | end 38 | 39 | -------------------------------------------------------------------------------- /SOURCE/MAIN/HOSTAGE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _HOSTAGE_H 17 | #define _HOSTAGE_H 18 | 19 | //@@#include "vclip.h" 20 | 21 | #define HOSTAGE_SIZE i2f(5) //3d size of a hostage 22 | 23 | #define MAX_HOSTAGE_TYPES 1 //only one hostage bitmap 24 | 25 | extern int N_hostage_types; 26 | 27 | extern int Hostage_vclip_num[MAX_HOSTAGE_TYPES]; //for each type of hostage 28 | 29 | void draw_hostage(object *obj); 30 | void hostage_rescue( int hostage_num ); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /SOURCE/WIN95/WINREGS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _WINREGS_H 17 | #define _WINREGS_H 18 | 19 | typedef struct registry_handle { 20 | int keys; 21 | HKEY *hKey; 22 | } registry_handle; 23 | 24 | registry_handle *registry_open(const char *path); 25 | int registry_getint(registry_handle *handle, const char *label, int *val); 26 | int registry_getstring(registry_handle *handle, const char *label, char *str, int bufsize); 27 | int registry_close(registry_handle *handle); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /SOURCE/MISC/HASH.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _HASH_H 17 | #define _HASH_H 18 | 19 | typedef struct hashtable { 20 | int bitsize; 21 | int and_mask; 22 | int size; 23 | int nitems; 24 | char **key; 25 | int *value; 26 | } hashtable; 27 | 28 | int hashtable_init( hashtable *ht, int size ); 29 | void hashtable_free( hashtable *ht ); 30 | int hashtable_search( hashtable *ht, char *key ); 31 | void hashtable_insert( hashtable *ht, char *key, int value ); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /SOURCE/PA_NULL/PA_ENABL.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #if !defined(PA_ENABL_H) 15 | #define PA_ENABL_H 16 | 17 | //#define POLY_ACC // define this if poly support wanted. 18 | 19 | #if defined(POLY_ACC) 20 | 21 | // uncomment only ONE of the following. 22 | //#define PA_S3_VIRGE 23 | //#define PA_DIAMOND_S3_VIRGE 24 | 25 | #endif 26 | 27 | #ifdef PA_3DFX_VOODOO 28 | #define PA_DFX(x) x 29 | #define NO_DFX(x) 30 | #else 31 | #define PA_DFX(x) 32 | #define NO_DFX(x) x 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /SOURCE/VGA/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/vga/rcs/makefile $ 3 | # $Revision: 1.7 $ 4 | # $Author: matt $ 5 | # $Date: 1996/03/05 13:35:39 $ 6 | # 7 | # Makefile for bios functions 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = vga.h vga.lib 12 | 13 | # What to clean 14 | CLEAN_TARGS = $(OBJDIR)\*.obj 15 | 16 | # What libs to make 17 | LIBS = vga 18 | 19 | # What object files for the lib 20 | VGA_OBJS = vga.obj palette.obj vesa.obj modex.obj framebuf.obj 21 | 22 | #rules and targets common to all Miner makefiles 23 | %include $(INIT)\makefile.def 24 | 25 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 26 | 27 | framebuf.obj: 3dfx.h dos.h fxdpmi.h fxvesa.h i86.h mono.h stdio.h stdlib.h \ 28 | string.h 29 | 30 | modex.obj: psmacros.inc tweak.inc vgaregs.inc 31 | 32 | palette.obj: cfile.h conio.h error.h fix.h gr.h grdef.h io.h key.h mem.h \ 33 | mono.h pa_enabl.h poly_acc.h pstypes.h stat.h stdio.h stdlib.h \ 34 | string.h types.h 35 | 36 | vesa.obj: fix.inc gr.inc psmacros.inc pstypes.inc vgaregs.inc 37 | 38 | vga.obj: 3dfx.h conio.h dos.h error.h fix.h fxvesa.h gr.h grdef.h i86.h \ 39 | malloc.h mem.h mono.h pa_enabl.h palette.h poly_acc.h pstypes.h \ 40 | stdio.h stdlib.h string.h types.h vga.h 41 | -------------------------------------------------------------------------------- /SOURCE/WIN95/WINMIDI.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _WINMIDI_H 17 | #define _WINMIDI_H 18 | 19 | 20 | 21 | typedef struct WMIDISONG { 22 | ubyte *data; 23 | uint length; 24 | uint looping; 25 | } WMIDISONG; 26 | 27 | 28 | int wmidi_open(uint device); 29 | void wmidi_close(); 30 | 31 | int wmidi_init_song(WMIDISONG *song); 32 | int wmidi_play(); 33 | int wmidi_stop(); 34 | int wmidi_pause(); 35 | int wmidi_resume(); 36 | int wmidi_close_song(); 37 | int wmidi_set_volume(uint volume); 38 | int wmidi_support_volchange(); 39 | #endif 40 | -------------------------------------------------------------------------------- /SOURCE/MAIN/DESC_ID.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _DESC_ID_H 17 | #define _DESC_ID_H 18 | 19 | #include 20 | 21 | #define DESC_ID_LEN 40 //how long the id string can be 22 | #define DESC_CHECKSUM_LEN 4 //checksum is 4 bytes 23 | #define DESC_DEAD_TIME_LEN 8 //dead time is 8 bytes 24 | 25 | #define DESC_ID_TAG "Midway in our life's journey, I went astray" 26 | #define DESC_ID_CHKSUM_TAG "alone in a dark wood." 27 | #define DESC_DEAD_TIME_TAG "from the straight road and woke to find myself" 28 | 29 | extern char desc_id_exit_num; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /SOURCE/MAIN/SLEW.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _SLEW_H 15 | #define _SLEW_H 16 | 17 | #include "object.h" 18 | 19 | //from slew.c 20 | 21 | #ifndef RELEASE 22 | 23 | void slew_init(object *obj); //say this is slew obj 24 | int slew_stop(); // Stops object 25 | void slew_reset_orient(); // Resets orientation 26 | int slew_frame(int dont_check_keys); // Does slew frame 27 | 28 | #else 29 | 30 | #define slew_init(obj) 31 | #define slew_stop(obj) 32 | #define slew_reset_orient() 33 | #define slew_frame(dont_check_keys) 34 | 35 | #endif 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /SOURCE/UI/FUNC.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _FUNC_H 17 | #define _FUNC_H 18 | 19 | typedef struct { 20 | char * name; 21 | int nparams; 22 | int (*cfunction)(void); 23 | } FUNCTION; 24 | 25 | void func_init( FUNCTION * funtable, int size ); 26 | void func_close(); 27 | int (*func_get( char * name, int * numparams ))(void); 28 | int func_howmany(); 29 | int (*func_nget( int func_number, int * numparams, char **name ))(void); 30 | void func_set_param( int n, int value ); 31 | int func_get_param( int n ); 32 | int func_get_index( char * name ); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /SOURCE/MAIN/STATE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _STATE_H 17 | #define _STATE_H 18 | 19 | int state_save_all(int between_levels, int secret_save, char *filename_override); 20 | int state_restore_all(int in_game, int secret_restore, char *filename_override); 21 | 22 | int state_save_all_sub(char *filename, char *desc, int between_levels); 23 | int state_restore_all_sub(char *filename, int multi, int secret_restore); 24 | 25 | extern uint state_game_id; 26 | 27 | int state_get_save_file(char * fname, char * dsc, int multi ); 28 | int state_get_restore_file(char * fname, int multi ); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /SOURCE/VGA/FXVESA.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | #ifndef __FXVESA_H__ 14 | #define __FXVESA_H__ 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #ifndef __3DFX_H__ 21 | # include "3dfx.h" 22 | #endif 23 | 24 | typedef enum 25 | { 26 | VESA_ERR_NONE, 27 | VESA_ERR_DPMI_MAPPING_FAILED, 28 | VESA_ERR_MODE_NOT_SUPPORTED, 29 | VESA_ERR_MODE_NOT_SET 30 | } VesaErr_t; 31 | 32 | int VesaInit( FxU16 mode ); 33 | void *VesaGetPtr( void ); 34 | void VesaEnd( void ); 35 | const char *VesaGetErrorString( VesaErr_t err ); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /SOURCE/MAIN/GAMESAVE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _GAMESAVE_H 17 | #define _GAMESAVE_H 18 | 19 | void LoadGame(void); 20 | void SaveGame(void); 21 | void get_level_name(void); 22 | 23 | extern int load_level(char *filename); 24 | extern int save_level(char *filename); 25 | 26 | //called in place of load_game() to only load the .min data 27 | extern load_mine_only(char * filename); 28 | 29 | extern char Gamesave_current_filename[]; 30 | 31 | extern int Gamesave_num_org_robots; 32 | 33 | // In dumpmine.c 34 | extern void write_game_text_file(char *filename); 35 | 36 | extern int Errors_in_mine; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /SOURCE/MAIN/TITLES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _TITLES_H 17 | #define _TITLES_H 18 | 19 | #ifndef RELEASE 20 | extern int Skip_briefing_screens; 21 | #else 22 | #define Skip_briefing_screens 0 23 | #endif 24 | 25 | extern int show_title_screen( char * filename, int allow_keys, int from_hog_only ); 26 | extern int show_briefing_screen( char * filename, int allow_keys ); 27 | extern show_title_flick(char *name, int allow_keys ); 28 | extern void do_briefing_screens(char *filename,int level_num); 29 | extern char * get_briefing_screen( int level_num ); 30 | 31 | extern void show_endgame_briefing(void); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /SOURCE/MAIN/MODEM.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifdef NETWORK 15 | 16 | #ifndef _MODEM_H 17 | #define _MODEM_H 18 | 19 | int com_enable(void); 20 | void com_disable(void); 21 | void com_do_frame(void); 22 | void com_process_input(void); 23 | void serial_leave_game(void); 24 | void modem_start_game(void); 25 | void com_main_menu(void); 26 | void com_endlevel(int *secret); 27 | void com_abort(void); 28 | void com_send_data(char *buf, int len, int repeat); 29 | int com_level_sync(void); 30 | 31 | 32 | extern int com_port_num; 33 | extern int serial_active; 34 | extern int com_speed; 35 | extern int com_baud_rate; 36 | #endif 37 | #endif 38 | 39 | 40 | -------------------------------------------------------------------------------- /SOURCE/MAIN/INFERNO.INI: -------------------------------------------------------------------------------- 1 | # 2 | # Matt's personal settings file 3 | # 4 | # Comment out lines to disable them 5 | # 6 | 7 | TARGSYS = WIN32 8 | COMPILER = WATCOM #SYMANTEC 9 | 10 | # These define changes in the code 11 | 12 | RELEASE_VERSION = 1 #turn off test, cheat, & debugging functions 13 | NMONO = 1 #is monochrome debugging turned off? 14 | NDEBUG = 1 #is debugging turned off? (kills Asserts, Int3s, etc.) 15 | 16 | #D2_OEM = 1 # 8-level OEM version? 17 | 18 | #_3DFX = 1 #is the 3Dfx code compiled in? 19 | TACTILE = 1 #are tactile-feedback joysticks supported? 20 | 21 | #SHAREWARE = 1 #is this the smaller shareware 22 | #BUILD_EDITOR = 1 #is the editor included? 23 | 24 | 25 | # These never really get changed 26 | 27 | #PIGGY_NO_PAGING = 1 #don't use John's new paging code 28 | #STORE_DEMO = 1 #is the one-level store demo in? 29 | #ARCADE = 1 #is the Arcade/AWD code in? 30 | #MARK_ON = 1 #are marks on? 31 | #PASSWORD = 'RUST' #is a password required? 32 | #DEMO_ONLY = 1 #is this a non-playable demo? 33 | 34 | 35 | # These define changes in compiling & linking 36 | # Undefining DEBUG_ON will kill symbols and source 37 | 38 | OPTIMIZE_ON = 1 #build optimized 39 | %undef DEBUG_ON #no debug 40 | 41 | #STACK_CHECK_ON = 1 #re-enable stack check 42 | 43 | 44 | #This defines the name of this version 45 | 46 | #VERSION_NAME = "CD Burn Test" 47 | 48 | -------------------------------------------------------------------------------- /SOURCE/BIOS/FINDFILE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _FINDFILE_H 17 | #define _FINDFILE_H 18 | 19 | typedef struct FILEFINDSTRUCT { 20 | unsigned long size; 21 | char name[256]; 22 | } FILEFINDSTRUCT; 23 | 24 | 25 | int FileFindFirst(char *search_str, FILEFINDSTRUCT *ffstruct); 26 | int FileFindNext(FILEFINDSTRUCT *ffstruct); 27 | int FileFindClose(void); 28 | 29 | typedef struct FILETIMESTRUCT { 30 | unsigned short date,time; 31 | } FILETIMESTRUCT; 32 | 33 | //the both return 0 if no error 34 | int GetFileDateTime(int filehandle, FILETIMESTRUCT *ftstruct); 35 | int SetFileDateTime(int filehandle, FILETIMESTRUCT *ftstruct); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /SOURCE/MAIN/AUTOMAP.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _AUTOMAP_H 17 | #define _AUTOMAP_H 18 | 19 | #include "player.h" 20 | 21 | extern void do_automap(int key_code); 22 | extern void automap_clear_visited(); 23 | extern ubyte Automap_visited[MAX_SEGMENTS]; 24 | extern void modex_print_message(int x, int y, char *str); 25 | void DropBuddyMarker(object *objp); 26 | 27 | extern int Automap_active; 28 | 29 | #define NUM_MARKERS 16 30 | #define MARKER_MESSAGE_LEN 40 31 | 32 | extern char MarkerMessage[NUM_MARKERS][MARKER_MESSAGE_LEN]; 33 | extern char MarkerOwner[NUM_MARKERS][CALLSIGN_LEN+1]; 34 | extern int MarkerObject[NUM_MARKERS]; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /SOURCE/WIN95/GLOBAL.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _GLOBAL_ 15 | #define _GLOBAL_ 16 | 17 | #ifndef _WIN32 18 | #define BCODE __based(__segname("_CODE")) 19 | #define BSTACK __based(__segname("_STACK")) 20 | #define BSEG(x) __based(__segname(x)) 21 | #define HUGE __huge 22 | #else 23 | #define BCODE 24 | #define BSTACK 25 | #define BSEG(x) 26 | #define HUGE 27 | #endif 28 | 29 | /* Allow visibility of static functions for debug 30 | */ 31 | #define PUBLIC 32 | #define PRIVATE 33 | 34 | #define FNLOCAL 35 | #define FNGLOBAL 36 | #define FNEXPORT 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /SOURCE/2D/RLE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _RLE_H 17 | #define _RLE_H 18 | 19 | #include "pstypes.h" 20 | #include "gr.h" 21 | 22 | void gr_rle_decode( ubyte * src, ubyte * dest, int dest_len ); 23 | int gr_rle_encode( int org_size, ubyte *src, ubyte *dest ); 24 | int gr_rle_getsize( int org_size, ubyte *src ); 25 | ubyte * gr_rle_find_xth_pixel( ubyte *src, int x,int * count, ubyte color ); 26 | int gr_bitmap_rle_compress( grs_bitmap * bmp ); 27 | void gr_rle_expand_scanline_masked( ubyte *dest, ubyte *src, int x1, int x2 ); 28 | void gr_rle_expand_scanline( ubyte *dest, ubyte *src, int x1, int x2 ); 29 | 30 | grs_bitmap * rle_expand_texture( grs_bitmap * bmp ); 31 | 32 | rle_cache_flush(); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /SOURCE/MISC/BYTESWAP.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _BYTESWAP_H 17 | #define _BYTESWAP_H 18 | 19 | #include "pstypes.h" 20 | 21 | extern ushort swapshort(ushort s); 22 | extern uint swapint(uint i); 23 | 24 | #define SWAPSHORT(x) ( \ 25 | ((ubyte)x << 8) | \ 26 | (((ushort)x) >> 8) \ 27 | ) 28 | 29 | #define SWAPINT(x) ( \ 30 | (x << 24) | \ 31 | (((ulong)x) >> 24) | \ 32 | ((x & 0x0000ff00) << 8) | \ 33 | ((x & 0x00ff0000) >> 8) \ 34 | ) 35 | 36 | #ifndef MACINTOSH 37 | #define INTEL_INT(x) x 38 | #define INTEL_SHORT(x) x 39 | #else 40 | #define INTEL_INT(x) SWAPINT(x) 41 | #define INTEL_SHORT(x) SWAPSHORT(x) 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /SOURCE/CFILE/NOCFILE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _NOCFILE_H 17 | #define _NOCFILE_H 18 | 19 | #include 20 | #include 21 | 22 | #define CFILE FILE 23 | 24 | #define cfopen(file,mode) fopen(file,mode) 25 | #define cfilelength(f) filelength( fileno( f )) 26 | #define cfwrite(buf,elsize,nelem,fp) fwrite(buf,elsize,nelem,fp) 27 | #define cfread(buf,elsize,nelem,fp ) fread(buf,elsize,nelem,fp ) 28 | #define cfclose( cfile ) fclose( cfile ) 29 | #define cfputc(c,fp) fputc(c,fp) 30 | #define cfgetc(fp) fgetc(fp) 31 | #define cfseek(fp,offset,where ) fseek(fp,offset,where ) 32 | #define cftell(fp) ftell(fp) 33 | #define cfgets(buf,n,fp) fgets(buf,n,fp) 34 | 35 | #define CF_READ_MODE "rb" 36 | #define CF_WRITE_MODE "wb" 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /SOURCE/MAIN/PLAYSAVE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _PLAYSAVE_H 15 | #define _PLAYSAVE_H 16 | 17 | #define N_SAVE_SLOTS 10 18 | #define GAME_NAME_LEN 25 //+1 for terminating zero = 26 19 | 20 | #ifndef EZERO 21 | #define EZERO 0 22 | #endif 23 | 24 | extern int Default_leveling_on; 25 | 26 | //update the player's highest level. returns errno (0 == no error) 27 | int update_player_file(); 28 | 29 | //Used to save kconfig values to disk. 30 | int write_player_file(); 31 | 32 | int new_player_config(); 33 | 34 | int read_player_file(); 35 | 36 | //set a new highest level for player for this mission 37 | void set_highest_level(int levelnum); 38 | 39 | //gets the player's highest level from the file for this mission 40 | int get_highest_level(void); 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /SOURCE/MAIN/GAMEPAL.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _GAMEPAL_H 15 | #define _GAMEPAL_H 16 | 17 | #include "inferno.h" 18 | 19 | #define DEFAULT_PALETTE "default.256" 20 | #define MENU_PALETTE "default.256" 21 | 22 | extern char Current_level_palette[FILENAME_LEN]; 23 | 24 | //load a palette by name. returns 1 if new palette loaded, else 0 25 | //if used_for_level is set, load pig, etc. 26 | //if no_change_screen is set, the current screen does not get remapped, 27 | //and the hardware palette does not get changed 28 | int load_palette(char *name,int used_for_level,int no_change_screen); 29 | 30 | extern ubyte last_palette_for_color_fonts[768]; 31 | 32 | //remap color font & menu background into the current palette 33 | remap_fonts_and_menus(int do_fadetable_hack); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /SOURCE/MAIN/CRYPT.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | char crypt_rcsid[] = "$Id: crypt.c 1.6 1996/03/06 10:27:57 matt Exp $"; 15 | 16 | #include 17 | #include 18 | #include 19 | 20 | #include "inferno.h" 21 | 22 | char *jcrypt (char *plainstring) 23 | { 24 | int i,t,len; 25 | static char cryptstring[20]; 26 | 27 | len=strlen (plainstring); 28 | if (len>8) 29 | len=8; 30 | 31 | for (i=0;i 15 | #include 16 | 17 | #include "vecmat.h" 18 | 19 | vms_vector zero_vec={0,0,0}; 20 | 21 | vms_vector test_vec[10] = { 22 | 23 | {0x123456,0xff779923,0x2248822}, 24 | {0x44456,0xffff9923,0x55f2}, 25 | {0x2123456,0x2123456,0x2123456}, 26 | {0xff00456,0x779923,0x22}, 27 | {0x6665556,0xfff79923,0xffffffff}, 28 | {0x123456,0xfc009923,0}, 29 | 30 | }; 31 | 32 | 33 | main() 34 | { 35 | int i; 36 | fix d,d2; 37 | vms_vector t; 38 | 39 | for (i=0;i<6;i++) { 40 | 41 | d = vm_vec_normalized_dir(&t,&test_vec[i],&test_vec[(i+1)%5]); 42 | printf("\n%8lx %8lx %8lx, mag=%x\n",t.x,t.y,t.z,d); 43 | 44 | d2 = vm_vec_normalized_dir_quick(&t,&test_vec[i],&test_vec[(i+1)%5]); 45 | printf("%8lx %8lx %8lx, mag=%x (%f)\n",t.x,t.y,t.z,d2,f2fl(fixdiv(d,d2))); 46 | 47 | } 48 | 49 | 50 | } 51 | 52 | -------------------------------------------------------------------------------- /SOURCE/VGA/FXDPMI.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | #ifndef __FXDPMI_H__ 14 | #define __FXDPMI_H__ 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #ifndef __3DFX_H__ 21 | # include "3dfx.h" 22 | #endif 23 | 24 | /* 25 | ** type definitions 26 | */ 27 | typedef FxI16 DpmiSelector_t; 28 | 29 | typedef struct 30 | { 31 | FxI32 EDI; 32 | FxI32 ESI; 33 | FxI32 EBP; 34 | FxI32 reserved; 35 | FxI32 EBX; 36 | FxI32 EDX; 37 | FxI32 ECX; 38 | FxI32 EAX; 39 | FxI16 flags; 40 | FxI16 ES, DS, FS, GS, IP, CS, SP, SS; 41 | } DpmiRMI; 42 | 43 | /* 44 | ** function prototypes 45 | */ 46 | FxU32 DpmiMapPhysicalToLinear( FxU32 paddr, FxU32 length ); 47 | void *DpmiAllocDosMem( FxU16 size, DpmiSelector_t *pSel ); 48 | FxBool DpmiFreeDosMem( DpmiSelector_t sel ); 49 | 50 | void DpmiExecuteRMI( DpmiRMI *data ); 51 | 52 | #ifdef __cplusplus 53 | } 54 | #endif 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /SOURCE/MAIN/SCORES.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _SCORES_H 17 | #define _SCORES_H 18 | 19 | #define ROBOT_SCORE 1000 20 | #define HOSTAGE_SCORE 1000 21 | #define CONTROL_CEN_SCORE 5000 22 | #define ENERGY_SCORE 0 23 | #define SHIELD_SCORE 0 24 | #define LASER_SCORE 0 25 | #define DEBRIS_SCORE 0 26 | #define CLUTTER_SCORE 0 27 | #define MISSILE1_SCORE 0 28 | #define MISSILE4_SCORE 0 29 | #define KEY_SCORE 0 30 | #define QUAD_FIRE_SCORE 0 31 | 32 | #define VULCAN_AMMO_SCORE 0 33 | #define CLOAK_SCORE 0 34 | #define TURBO_SCORE 0 35 | #define INVULNERABILITY_SCORE 0 36 | #define HEADLIGHT_SCORE 0 37 | 38 | extern void scores_view(int citem); 39 | 40 | // If player has a high score, adds you to file and returns. 41 | // If abort_flag set, only show if player has gotten a high score. 42 | extern void scores_maybe_add_player(int abort_flag); 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /SOURCE/WIN95/SWIFT.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: swift.c 1.1 1995/12/21 11:21:09 samir Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | 20 | #include "swift.h" 21 | 22 | int SWIFT_Initialize(void) 23 | { 24 | return 0; 25 | } 26 | 27 | 28 | void SWIFT_Terminate(void) 29 | { 30 | 31 | } 32 | 33 | 34 | int SWIFT_GetAttachedDevice(void) 35 | { 36 | return 0; 37 | } 38 | 39 | 40 | int SWIFT_GetStaticDeviceInfo(SWIFT_StaticData far *psd) 41 | { 42 | return 0; 43 | } 44 | 45 | 46 | void SWIFT_SetMouseEventHandler(SWIFT_EVENTHANDLER f, unsigned m) 47 | { 48 | 49 | } 50 | 51 | 52 | void SWIFT_Get3DStatus(SWIFT_3DStatus far *status) 53 | { 54 | 55 | } 56 | 57 | 58 | void SWIFT_TactileFeedback(int d, int on, int off) 59 | { 60 | 61 | } 62 | 63 | 64 | unsigned SWIFT_GetDynamicDeviceData(void) 65 | { 66 | return 0; 67 | } 68 | -------------------------------------------------------------------------------- /SOURCE/IFF/IFFTESTV.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #include 15 | #include 16 | 17 | #include "iff.h" 18 | //#include "gr.h" 19 | #include "vesa.h" 20 | 21 | draw_ubitmap(int x,int y,grs_bitmap *bm) 22 | { 23 | int xx,yy; 24 | short *data15 = (short *) bm->bm_data; 25 | 26 | printf("x,y=%d,%d w,h=%d,%d\n",x,y,bm->bm_w,bm->bm_h); 27 | 28 | for (yy=0;yybm_h;yy++) 29 | 30 | for (xx=0;xxbm_w;xx++) 31 | 32 | gr_vesa_pixel15(x+xx,y+yy,data15[yy*bm->bm_w+xx]); 33 | 34 | 35 | } 36 | 37 | 38 | main(int argc,char **argv) 39 | { 40 | int ret; 41 | grs_bitmap my_bitmap; 42 | ubyte my_palette[256*3]; 43 | 44 | ret = iff_read_bitmap(argv[1],&my_bitmap,BM_RGB15,&my_palette); 45 | 46 | printf("ret = %d\n",ret); 47 | 48 | if (ret == IFF_NO_ERROR) { 49 | 50 | gr_vesa_setmode(0x110); 51 | 52 | draw_ubitmap(0,0,&my_bitmap); 53 | 54 | getch(); 55 | 56 | } 57 | 58 | } 59 | 60 | -------------------------------------------------------------------------------- /SOURCE/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/rcs/makefile $ 3 | # $Revision: 1.9 $ 4 | # $Author: matt $ 5 | # $Date: 1996/12/05 19:03:06 $ 6 | # 7 | # Makefile for Descent libraries 8 | # 9 | 10 | # Subdirs to make for the DOS libraries 11 | SUBSYSTEMS_DOS = includes misc mem fix cfile pa_null 2d vga bios iff div \ 12 | ui vecmat 3d texmap tactile unarj sosdigi sosmidi 13 | 14 | # Subdirs to make for the Win95 libraries 15 | SUBSYSTEMS_WIN = includes misc mem fix cfile pa_null 2d vga novga iff div \ 16 | vecmat tactile win95 3d texmap unarj 17 | 18 | # All subdirs. Needed for clean to work 19 | SUBSYSTEMS = includes misc mem fix cfile pa_null 2d vga bios iff div \ 20 | ui vecmat 3d texmap tactile unarj sosdigi sosmidi win95 novga 21 | 22 | # What to make in the subdirs if nothing specified 23 | SUBTARGETS = optimize no_mono no_debug linstall #for release 24 | ##SUBTARGETS = linstall #for debugging 25 | 26 | # When making clean here, delete libs 27 | CLEAN_TARGS = lib\*.lib 28 | 29 | real_clean .NODEFAULT: 30 | make clean 31 | del lib\*.h 32 | del lib\*.inc 33 | %if %exists(lib\win) 34 | del lib\win\*.h 35 | del lib\win\*.inc 36 | del lib\win\*.lib 37 | %endif 38 | 39 | # If no targs specified, exit with message 40 | default: 41 | @%error 1 Error: You must specify either DOS or WIN 42 | 43 | # Build libs for DOS 44 | dos: 45 | (cd bios;make linstallh) 46 | make SUBSYSTEMS=$$(SUBSYSTEMS_DOS) all 47 | 48 | # Build libs for Win 49 | win: 50 | (cd bios;make linstallh) 51 | (cd win95;make linstallh) 52 | make SUBSYSTEMS=$$(SUBSYSTEMS_WIN) all 53 | 54 | 55 | #all Miner makefiles should include this 56 | %include $(INIT)\makefile.def 57 | 58 | -------------------------------------------------------------------------------- /SOURCE/WIN95/WINAPP.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _WINAPP_H 17 | #define _WINAPP_H 18 | 19 | #include 20 | 21 | extern void SetLibraryWinInfo(HWND hWnd, HINSTANCE hInstance); 22 | extern HWND GetLibraryWindow(void); 23 | 24 | extern void copen(); 25 | extern void cprintf(char *text, ...); 26 | extern int cgetch(); 27 | extern void cclose(); 28 | 29 | extern void loginit(char *name); 30 | extern void logclose(); 31 | extern void logentry(char *format, ...); 32 | 33 | 34 | // Clipboard crap 35 | extern HBITMAP win95_screen_shot(); 36 | 37 | extern void gr_winckpit_blt_span(int xmin, int xmax, char *src, char *dest); 38 | #pragma aux gr_winckpit_blt_span "*" parm [ebx] [ecx] [esi] [edi] modify [eax ebx ecx esi edi]; 39 | 40 | extern void gr_winckpit_blt_span_long (int xmin, int xmax, char *src, char *dest); 41 | #pragma aux gr_winckpit_blt_span_long "*" parm [ebx] [ecx] [esi] [edi] modify [eax edx ebx ecx esi edi]; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /SOURCE/MEM/MEM.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifdef MACINTOSH 15 | extern ubyte virtual_memory_on; 16 | #endif 17 | 18 | #if !defined(NDEBUG) || defined(MACINTOSH) // mac always gets this stuff. 19 | 20 | extern int show_mem_info; 21 | 22 | void * mem_display_blocks(); 23 | extern void * mem_malloc( unsigned int size, char * var, char * file, int line, int fill_zero ); 24 | extern void mem_free( void * buffer ); 25 | 26 | #define malloc(size) mem_malloc((size),"Unknown", __FILE__,__LINE__, 0 ) 27 | #define calloc(n,size) mem_malloc((n*size),"Unknown", __FILE__,__LINE__, 1 ) 28 | #define free(ptr) do{ mem_free(ptr); ptr=NULL; } while(0) 29 | 30 | #define MALLOC( var, type, count ) (var=(type *)mem_malloc((count)*sizeof(type),#var, __FILE__,__LINE__,0 )) 31 | 32 | // Checks to see if any blocks are overwritten 33 | void mem_validate_heap(); 34 | 35 | #else 36 | 37 | #define free(ptr) do{ free(ptr); ptr=NULL; } while(0) 38 | 39 | #define MALLOC( var, type, count ) (var=(type *)malloc((count)*sizeof(type))) 40 | 41 | #endif 42 | 43 | 44 | -------------------------------------------------------------------------------- /SOURCE/MAIN/GAMEFONT.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _GAMEFONT_H 17 | #define _GAMEFONT_H 18 | 19 | #include "gr.h" 20 | 21 | // When adding a new font, don't forget to change the 22 | // filename in gamefont.c!!!!!!!!!!!!!!!!!!!!!!!!!!! 23 | 24 | //We are interleaving low & high resolution fonts, so to access a font 25 | //you say fontnum+flag where flag is 0 for lowres, 1 for hires 26 | 27 | #define GFONT_BIG_1 0 28 | #define GFONT_MEDIUM_1 2 29 | #define GFONT_MEDIUM_2 4 30 | #define GFONT_MEDIUM_3 6 31 | #define GFONT_SMALL 8 32 | 33 | #define SMALL_FONT (Gamefonts[GFONT_SMALL+FontHires]) 34 | #define MEDIUM1_FONT (Gamefonts[GFONT_MEDIUM_1+FontHires]) 35 | #define MEDIUM2_FONT (Gamefonts[GFONT_MEDIUM_2+FontHires]) 36 | #define MEDIUM3_FONT (Gamefonts[GFONT_MEDIUM_3+FontHires]) 37 | #define HUGE_FONT (Gamefonts[GFONT_BIG_1+FontHires]) 38 | 39 | #define GAME_FONT SMALL_FONT 40 | 41 | #define MAX_FONTS 10 42 | 43 | extern grs_font *Gamefonts[MAX_FONTS]; 44 | 45 | void gamefont_init(); 46 | void gamefont_close(); 47 | 48 | extern int FontHires; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /SOURCE/MISC/FILEUTIL.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _FILEUTIL_ 15 | #define _FILEUTIL_ 16 | 17 | #include "pstypes.h" 18 | #include "cfile.h" 19 | #include "fix.h" 20 | 21 | extern int filelength(int fd); 22 | 23 | // routines which read basic data types 24 | extern byte read_byte(CFILE *fp); 25 | extern short read_short(CFILE *fp); 26 | extern int read_int(CFILE *fp); 27 | extern fix read_fix(CFILE *fp); 28 | 29 | // versions which swap bytes 30 | #define read_byte_swap(fp) read_byte(fp) 31 | extern short read_short_swap(CFILE *fp); 32 | extern int read_int_swap(CFILE *fp); 33 | extern fix read_fix_swap(CFILE *fp); 34 | 35 | // routines which write basic data types 36 | extern int write_byte(FILE *fp, byte b); 37 | extern int write_short(FILE *fp, short s); 38 | extern int write_int(FILE *fp, int i); 39 | extern int write_fix(FILE *fp, fix f); 40 | 41 | // routines which write swapped bytes 42 | #define write_byte_swap(fp, b) write_byte(fp, b) 43 | extern int write_short_swap(FILE *fp, short s); 44 | extern int write_int_swap(FILE *fp, int i); 45 | extern int write_fix_swap(FILE *fp, fix f); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /SOURCE/MAIN/LIGHTING.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _LIGHTING_H 17 | #define _LIGHTING_H 18 | 19 | #define MAX_LIGHT 0x10000 //max value 20 | 21 | #define MIN_LIGHT_DIST (F1_0*4) 22 | 23 | extern fix Beam_brightness; 24 | extern fix Dynamic_light[MAX_VERTICES]; 25 | 26 | extern void set_dynamic_light(void); 27 | 28 | //Compute the lighting from the headlight for a given vertex on a face. 29 | //Takes: 30 | // point - the 3d coords of the point 31 | // face_light - a scale factor derived from the surface normal of the face 32 | //If no surface normal effect is wanted, pass F1_0 for face_light 33 | fix compute_headlight_light(vms_vector *point,fix face_light); 34 | 35 | //compute the average dynamic light in a segment. Takes the segment number 36 | fix compute_seg_dynamic_light(int segnum); 37 | 38 | //compute the lighting for an object. Takes a pointer to the object, 39 | //and possibly a rotated 3d point. If the point isn't specified, the 40 | //object's center point is rotated. 41 | fix compute_object_light(object *obj,vms_vector *rotated_pnt); 42 | 43 | //turn headlight boost on & off 44 | void toggle_headlight_active(void); 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /SOURCE/MAIN/MORPH.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _MORPH_H 17 | #define _MORPH_H 18 | 19 | #include "object.h" 20 | 21 | #define MAX_VECS 200 22 | 23 | typedef struct morph_data { 24 | object *obj; //object which is morphing 25 | vms_vector morph_vecs[MAX_VECS]; 26 | vms_vector morph_deltas[MAX_VECS]; 27 | fix morph_times[MAX_VECS]; 28 | int submodel_active[MAX_SUBMODELS]; //which submodels are active 29 | int n_morphing_points[MAX_SUBMODELS]; //how many active points in each part 30 | int submodel_startpoints[MAX_SUBMODELS]; //first point for each submodel 31 | int n_submodels_active; 32 | ubyte morph_save_control_type; 33 | ubyte morph_save_movement_type; 34 | physics_info morph_save_phys_info; 35 | int Morph_sig; 36 | } morph_data; 37 | 38 | #define MAX_MORPH_OBJECTS 5 39 | 40 | extern morph_data morph_objects[]; 41 | 42 | void morph_start(object *obj); 43 | void draw_morph_object(object *obj); 44 | 45 | //process the morphing object for one frame 46 | void do_morph_frame(object *obj); 47 | 48 | //called at the start of a level 49 | void init_morphs(); 50 | 51 | extern morph_data *find_morph_data(object *obj); 52 | 53 | #endif 54 | 55 | -------------------------------------------------------------------------------- /SOURCE/3D/GLOBVARS.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | .386 12 | option oldstructs 13 | 14 | .nolist 15 | include pstypes.inc 16 | include psmacros.inc 17 | include 3d.inc 18 | .list 19 | 20 | assume ds:_DATA 21 | 22 | _DATA segment dword public USE32 'DATA' 23 | 24 | rcsid db "$Id: globvars.asm 1.7 1996/01/08 14:59:09 matt Exp $" 25 | align 4 26 | 27 | View_position vms_vector <> 28 | View_zoom fix ? 29 | 30 | Unscaled_matrix vms_matrix <> ;before scaling 31 | View_matrix vms_matrix <> 32 | 33 | Window_scale vms_vector <> ;scaling for window aspect 34 | Matrix_scale vms_vector <> ;how the matrix is scaled 35 | ;window_scale * zoom 36 | Canvas_width dd ? ;the actual width 37 | Canvas_height dd ? ;the actual height 38 | 39 | Canv_w2 fix ? ;fixed-point width/2 40 | Canv_h2 fix ? ;fixed-point height/2 41 | 42 | ;vertex buffers for polygon drawing and clipping 43 | Vbuf0 dd MAX_POINTS_IN_POLY dup (?) 44 | Vbuf1 dd MAX_POINTS_IN_POLY dup (?) 45 | 46 | ;list of 2d coords 47 | Vertex_list fix MAX_POINTS_IN_POLY*2 dup (?) 48 | 49 | ;;;used for determining whether to rotate a frame 50 | ;;_Frame_count dw -1 ;first frame will inc to 0 51 | 52 | _DATA ends 53 | 54 | end 55 | 56 | -------------------------------------------------------------------------------- /SOURCE/BIOS/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/bios/rcs/makefile $ 3 | # $Revision: 1.20 $ 4 | # $Author: samir $ 5 | # $Date: 1995/06/12 18:37:24 $ 6 | # 7 | # Makefile for bios functions 8 | # 9 | 10 | # What to install, and where to install it 11 | INSTALL_TARGS = io.lib joy.h key.h mono.h mouse.h timer.h swift.h dpmi.h \ 12 | ipx.h rbaudio.h findfile.h error.h 13 | 14 | # What to clean 15 | CLEAN_TARGS = $(OBJDIR)\*.obj 16 | 17 | # What libs to make 18 | LIBS = io 19 | 20 | # What test programs to make 21 | TEST_PROGS = demo 22 | # testj testk testm testms 23 | 24 | # What object files for the lib 25 | IO_OBJS = key.obj joy.obj mouse.obj timer.obj mono.obj \ 26 | joyc.obj dpmi.obj ipx.obj rbaudio.obj findfile.obj error.obj 27 | 28 | # What object files and libs for the test programs 29 | DEMO_SRCS = cdrom.c 30 | DEMO_LIBS = io.lib 31 | 32 | #rules and targets common to all Miner makefiles 33 | %include $(INIT)\makefile.def 34 | 35 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 36 | 37 | dpmi.obj: conio.h dos.h dpmi.h error.h i86.h malloc.h mono.h stdio.h \ 38 | stdlib.h string.h types.h 39 | 40 | findfile.obj: findfile.h 41 | 42 | ipx.obj: assert.h conio.h dos.h dpmi.h error.h fix.h i86.h ipx.h key.h \ 43 | malloc.h stdio.h stdlib.h string.h timer.h types.h 44 | 45 | joyc.obj: conio.h dos.h dpmi.h fix.h i86.h joy.h mono.h stdio.h stdlib.h \ 46 | types.h 47 | 48 | key.obj: conio.h dos.h dpmi.h error.h fix.h i86.h key.h stdio.h stdlib.h \ 49 | timer.h types.h 50 | 51 | mono.obj: conio.h dos.h fix.h i86.h key.h stdarg.h stdio.h stdlib.h \ 52 | string.h types.h 53 | 54 | mouse.obj: conio.h dos.h dpmi.h error.h fix.h i86.h mouse.h stdio.h \ 55 | stdlib.h string.h timer.h types.h 56 | 57 | rbaudio.obj: dos.h dpmi.h error.h i86.h mono.h rbaudio.h string.h types.h 58 | 59 | swift.obj: dos.h i86.h stddef.h stdio.h stdlib.h string.h swift.h \ 60 | swiftcfg.h 61 | 62 | -------------------------------------------------------------------------------- /SOURCE/MAIN/VCLIP.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _VCLIP_H 15 | #define _VCLIP_H 16 | 17 | #include "gr.h" 18 | #include "object.h" 19 | #include "piggy.h" 20 | 21 | #define VCLIP_SMALL_EXPLOSION 2 22 | #define VCLIP_PLAYER_HIT 1 23 | #define VCLIP_MORPHING_ROBOT 10 24 | #define VCLIP_PLAYER_APPEARANCE 61 25 | #define VCLIP_POWERUP_DISAPPEARANCE 62 26 | #define VCLIP_VOLATILE_WALL_HIT 5 27 | #define VCLIP_WATER_HIT 84 28 | #define VCLIP_AFTERBURNER_BLOB 95 29 | #define VCLIP_MONITOR_STATIC 99 30 | 31 | #define VCLIP_MAXNUM 110 32 | #define VCLIP_MAX_FRAMES 30 33 | 34 | //vclip flags 35 | #define VF_ROD 1 //draw as a rod, not a blob 36 | 37 | typedef struct { 38 | fix play_time; //total time (in seconds) of clip 39 | int num_frames; 40 | fix frame_time; //time (in seconds) of each frame 41 | int flags; 42 | short sound_num; 43 | bitmap_index frames[VCLIP_MAX_FRAMES]; 44 | fix light_value; 45 | } vclip; 46 | 47 | extern int Num_vclips; 48 | extern vclip Vclip[VCLIP_MAXNUM]; 49 | 50 | //draw an object which renders as a vclip. 51 | draw_vclip_object(object *obj,fix timeleft,int lighted, int vclip_num); 52 | extern void draw_weapon_vclip(object *obj); 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /SOURCE/2D/PCX.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _PCX_H 17 | #define _PCX_H 18 | 19 | #define PCX_ERROR_NONE 0 20 | #define PCX_ERROR_OPENING 1 21 | #define PCX_ERROR_NO_HEADER 2 22 | #define PCX_ERROR_WRONG_VERSION 3 23 | #define PCX_ERROR_READING 4 24 | #define PCX_ERROR_NO_PALETTE 5 25 | #define PCX_ERROR_WRITING 6 26 | #define PCX_ERROR_MEMORY 7 27 | 28 | // Reads filename into bitmap bmp, and fills in palette. If bmp->bm_data==NULL, 29 | // then bmp->bm_data is allocated and the w,h are filled. 30 | // If palette==NULL the palette isn't read in. Returns error code. 31 | 32 | extern int pcx_get_dimensions( char *filename, int *width, int *height); 33 | 34 | extern int pcx_read_bitmap( char * filename, grs_bitmap * bmp, int bitmap_type, ubyte * palette ); 35 | 36 | // Writes the bitmap bmp to filename, using palette. Returns error code. 37 | 38 | extern int pcx_write_bitmap( char * filename, grs_bitmap * bmp, ubyte * palette ); 39 | 40 | extern char *pcx_errormsg(int error_number); 41 | 42 | #ifdef MACINTOSH 43 | extern int pcx_read_bitmap_palette( char *filename, ubyte *palette); 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /SOURCE/MISC/PARSARG.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | /* 16 | 17 | Routine to parse the command line. Will also read and parse args 18 | from a file. 19 | 20 | parse_args() is called with argc & argv from main(), the function 21 | to be called with each argument, and flags. argc & argv are usually 22 | adjusted to not pass the first parameter (the program file name). 23 | Thus the general method of calling is: 24 | 25 | parse_args(argc-1,argv+1,hander_func,flags); 26 | 27 | handler_func() is then called with each parameter. 28 | 29 | If the PA_EXPAND flag is passed, all arguments which do not start 30 | with '-' are assumed to be filenames and are expanded for wildcards, 31 | with the handler function called for each match. If a spec matches 32 | nothing, the spec itself is passed to the handler func. 33 | 34 | Args that start with '@' are assumed to be argument files. These 35 | files are opened, and arguments are read from them just as if they 36 | were specified on the command line. Arg files can be nested. 37 | 38 | */ 39 | 40 | //Flags 41 | 42 | #define PA_EXPAND 1 //wildcard expand args that don't start with '-' 43 | 44 | 45 | //Function 46 | 47 | void parse_args(int argc,char **argv,void (*handler_func)(char *arg),int flags); 48 | 49 | -------------------------------------------------------------------------------- /SOURCE/VECMAT/SML9X9.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | ;* @ArgI - Macro function returns an argument specified by number 13 | ;* from a VARARG list. 14 | ;* 15 | ;* Shows: Directives - FOR LOCAL EXITM 16 | ;* TEXTEQU = 17 | ;* Operator - EQ 18 | ;* 19 | ;* Params: index - one-based number of the argument to be returned 20 | ;* arglist - argument list 21 | @ArgI MACRO index:REQ, arglist:VARARG 22 | LOCAL count, retstr 23 | count = 0 24 | FOR arg, 25 | count = count + 1 26 | IF count EQ index 27 | retstr TEXTEQU 28 | ENDIF 29 | ENDM 30 | EXITM retstr 31 | ENDM 32 | 33 | ;mulitply 2 matrices, fill in dest. 34 | ;takes ebp=dest, esi=src0, edi=scr1 35 | 36 | ;vm_matrix_x_matrix: 37 | 38 | for s0,<,,> 39 | for s1,<,,> 40 | for e,<1,2,3> 41 | 42 | mov eax,[esi].@ArgI(e,s0) 43 | imul [edi].@ArgI(e,s1) 44 | 45 | if e EQ 1 46 | mov ebx,eax 47 | mov ecx,edx 48 | else 49 | add ebx,eax 50 | adc ecx,edx 51 | endif 52 | 53 | endm 54 | 55 | shrd ebx,ecx,16 ;fixup ebx 56 | mov [ebp].(@ArgI(1,s0)+@ArgI(1,s1)),ebx 57 | 58 | endm 59 | endm 60 | -------------------------------------------------------------------------------- /SOURCE/WIN95/DS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _DS_H 17 | #define _DS_H 18 | 19 | #include 20 | #include "dsound.h" 21 | 22 | 23 | typedef struct tagSSCaps { 24 | unsigned sample_rate; 25 | unsigned bits_per_sample; 26 | } SSCaps; 27 | 28 | 29 | typedef struct tagSSoundBuffer { 30 | char *data; 31 | long length; 32 | LPDIRECTSOUNDBUFFER obj; 33 | LPDIRECTSOUNDBUFFER auxobj; 34 | LPDIRECTSOUNDBUFFER auxobj2; 35 | unsigned vol; 36 | unsigned rate; 37 | unsigned short pan; 38 | unsigned short channels; 39 | unsigned short bits_per_sample; 40 | unsigned short looping; 41 | int loop_start, loop_end, loop_length; 42 | } SSoundBuffer; 43 | 44 | typedef int SSChannel; 45 | 46 | 47 | void SSGetCaps(SSCaps *caps); 48 | BOOL SSInit(HWND hWnd, int channels, unsigned flags); 49 | void SSDestroy(); 50 | void SSSetVolume(DWORD vol); 51 | WORD SSGetVolume(); 52 | BOOL SSInitBuffer(SSoundBuffer *sample); 53 | void SSDestroyBuffer(SSoundBuffer *sample); 54 | SSChannel SSInitChannel(SSoundBuffer *sample); 55 | BOOL SSChannelPlaying(SSChannel channel); 56 | BOOL SSStopChannel(SSChannel channel); 57 | BOOL SSSetChannelPan(SSChannel channel, unsigned short pan); 58 | BOOL SSSetChannelVolume(SSChannel channel, unsigned short vol); 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /SOURCE/3D/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # $Source: f:/miner/source/3d/rcs/makefile $ 3 | # $Revision: 1.10 $ 4 | # $Author: matt $ 5 | # $Date: 1996/01/08 14:59:22 $ 6 | # 7 | # Makefile for 3d library 8 | # 9 | 10 | # What to install 11 | INSTALL_TARGS = 3d.lib 3d.h 3d.inc 12 | 13 | # What libs to build 14 | LIBS = 3d 15 | 16 | # What objs in the lib 17 | 3D_OBJS = globvars.obj setup.obj matrix.obj points.obj draw.obj clipper.obj \ 18 | horizon.obj instance.obj rod.obj interp.obj 19 | 20 | # What test programs to make 21 | TEST_PROGS = 3dtest 22 | 23 | # What object files and libs for the test programs 24 | 3DTEST_SRCS = 3dtest.c segment.c trakball.c 25 | 3DTEST_LIBS = 3d.lib vecmat.lib gr.lib io.lib fix.lib div0.lib texmap.lib misc.lib bm.lib 26 | 27 | #rules and targets common to all Miner makefiles 28 | %include $(INIT)\makefile.def 29 | 30 | ### OPUS MKMF: Do not remove this line! Generated dependencies follow. 31 | 32 | 3dtest.obj: 3d.h conio.h fix.h gr.h mono.h mouse.h out.c pstypes.h vecmat.h 33 | 34 | clipper.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 35 | 36 | draw.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 37 | 38 | globvars.obj: 3d.inc fix.inc psmacros.inc pstypes.inc vecmat.inc 39 | 40 | horizon.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 41 | 42 | instance.obj: 3d.inc fix.inc psmacros.inc pstypes.inc vecmat.inc 43 | 44 | interp.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 45 | 46 | matrix.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 47 | 48 | objects.obj: 3d.inc fix.inc psmacros.inc pstypes.inc vecmat.inc 49 | 50 | points.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 51 | 52 | rod.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 53 | 54 | segment.obj: 3d.h fix.h gr.h pstypes.h vecmat.h 55 | 56 | setup.obj: 3d.inc fix.inc gr.inc psmacros.inc pstypes.inc vecmat.inc 57 | 58 | trakball.obj: fix.h math.h mono.h pstypes.h 59 | 60 | upvecs.obj: fix.h pstypes.h vecmat.h 61 | 62 | upvecs2.obj: fix.h pstypes.h vecmat.h 63 | 64 | -------------------------------------------------------------------------------- /SOURCE/MAIN/SONGS.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _SONGS_H 15 | #define _SONGS_H 16 | 17 | typedef struct song_info { 18 | char filename[16]; 19 | char melodic_bank_file[16]; 20 | char drum_bank_file[16]; 21 | } song_info; 22 | 23 | extern song_info Songs[]; 24 | 25 | #define SONG_TITLE 0 26 | #ifdef MACINTOSH 27 | #define SONG_BRIEFING 3 // endgame and briefing the same 28 | #else 29 | #define SONG_BRIEFING 1 30 | #endif 31 | #define SONG_ENDLEVEL 2 32 | #define SONG_ENDGAME 3 33 | #define SONG_CREDITS 4 34 | #define SONG_FIRST_LEVEL_SONG 5 35 | 36 | 37 | #ifdef MACINTOSH 38 | #define MAX_NUM_SONGS 9 39 | #define Num_songs 9 40 | #else 41 | #define MAX_NUM_SONGS 30 42 | extern int Num_songs; //how many MIDI songs 43 | #endif 44 | 45 | //whether or not redbook audio should be played 46 | extern int Redbook_enabled; 47 | extern int Redbook_playing; // track that is currently playing 48 | 49 | void songs_play_song( int songnum, int repeat ); 50 | void songs_play_level_song( int levelnum ); 51 | 52 | //stop the redbook, so we can read off the CD 53 | void songs_stop_redbook(void); 54 | 55 | //stop any songs - midi or redbook - that are currently playing 56 | void songs_stop_all(void); 57 | 58 | //this should be called regularly to check for redbook restart 59 | void songs_check_redbook_repeat(void); 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /SOURCE/BIOS/TESTMS.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #include 15 | #include 16 | 17 | #include "mouse.h" 18 | #include "key.h" 19 | 20 | short i_dx, i_dy, i_b, i_f, i_happend; 21 | 22 | void John( mouse_event * evt ) 23 | { 24 | i_dx = evt->dx; 25 | i_dy = evt->dy; 26 | i_b = evt->buttons; 27 | i_f = evt->flags; 28 | i_happend = 1; 29 | } 30 | 31 | void main (void) 32 | { 33 | short x, y, dx, dy, i, b; 34 | 35 | printf( "This tests the mouse interface. ESC exits.\n" ); 36 | 37 | if (!mouse_init()) { 38 | printf( "No mouse installed.\n" ); 39 | exit(1); 40 | } 41 | 42 | key_init(); 43 | 44 | mouse_set_handler( ME_LEFT_DOWN | ME_MOVEMENT | ME_RIGHT_DOWN, John ); 45 | 46 | while( !keyd_pressed[KEY_ESC]) 47 | { 48 | 49 | if (i_happend) 50 | { 51 | i_happend = 0; 52 | printf( "INT: POS:(%d,%d)\tBTN:%d\tFLG:%d\n", i_dx, i_dy, i_b, i_f ); 53 | } 54 | } 55 | 56 | mouse_clear_handler(); 57 | 58 | delay(500); 59 | 60 | while( !keyd_pressed[KEY_ESC]) 61 | { 62 | 63 | if (i_happend) 64 | { 65 | printf( "ERROR: INT SHouLD NOT HAVe HAPND !!\n" ); 66 | break; 67 | } 68 | mouse_get_pos( &x, &y ); 69 | mouse_get_delta( &dx, &dy ); 70 | b = mouse_get_btns(); 71 | printf( "POS:(%d,%d)\tDELTA:(%d,%d)\tBUTTONS:%d\n", x, y, dx, dy, b ); 72 | } 73 | 74 | 75 | mouse_close(); 76 | key_close(); 77 | } 78 | -------------------------------------------------------------------------------- /SOURCE/TEXMAP/TMAPFADE.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | public asm_tmap_scanline_shaded_ 13 | 14 | include tmap_inc.asm 15 | 16 | _DATA SEGMENT DWORD PUBLIC USE32 'DATA' 17 | 18 | 19 | _DATA ENDS 20 | 21 | DGROUP GROUP _DATA 22 | 23 | _TEXT SEGMENT PARA PUBLIC USE32 'CODE' 24 | 25 | ASSUME DS:_DATA 26 | ASSUME CS:_TEXT 27 | 28 | ; -------------------------------------------------------------------------------------------------- 29 | ; Enter: 30 | ; _xleft fixed point left x coordinate 31 | ; _xright fixed point right x coordinate 32 | ; _y fixed point y coordinate 33 | ;**; _pixptr address of source pixel map 34 | 35 | ; for (x = (int) xleft; x <= (int) xright; x++) { 36 | ; _setcolor(read_pixel_from_tmap(srcb,((int) (u/z)) & 63,((int) (v/z)) & 63)); 37 | ; _setpixel(x,y); 38 | ; 39 | ; z += dz_dx; 40 | ; } 41 | 42 | asm_tmap_scanline_shaded_: 43 | push eax 44 | push ebx 45 | push ecx 46 | push edi 47 | 48 | mov edi, _dest_row_data 49 | 50 | mov ecx, 0 51 | mov ch,_tmap_flat_shade_value 52 | and ch, 31 53 | 54 | mov ebx, _loop_count 55 | NextPixel: 56 | mov cl, [edi] ; get pixel 57 | mov al, _gr_fade_table[ecx] ; darken pixel 58 | mov [edi], al ; write pixel 59 | inc edi ; goto next pixel 60 | dec ebx 61 | jns NextPixel 62 | 63 | _none_to_do: 64 | pop edi 65 | pop ecx 66 | pop ebx 67 | pop eax 68 | ret 69 | 70 | _TEXT ends 71 | 72 | end 73 | -------------------------------------------------------------------------------- /SOURCE/MAIN/NETMISC.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _NETMISC_H 17 | #define _NETMISC_H 18 | 19 | #include "multi.h" 20 | #include "network.h" 21 | 22 | //Returns a checksum of a block of memory. 23 | extern ushort netmisc_calc_checksum( void * vptr, int len ); 24 | 25 | //Finds the difference between block1 and block2. Fills in diff_buffer and returns the size of diff_buffer. 26 | extern int netmisc_find_diff( void *block1, void *block2, int block_size, void *diff_buffer ); 27 | 28 | //Applies diff_buffer to block1 to create a new block1. Returns the final size of block1. 29 | extern int netmisc_apply_diff(void *block1, void *diff_buffer, int diff_size ); 30 | 31 | #ifdef MACINTOSH 32 | 33 | // some mac only routines to deal with incorrectly aligned network structures 34 | 35 | void receive_netplayer_info(ubyte *data, AllNetPlayers_info *info); 36 | 37 | void receive_netplayers_packet(ubyte *data, AllNetPlayers_info *pinfo); 38 | void send_netplayers_packet(ubyte *server, ubyte *node); 39 | 40 | void send_sequence_packet(sequence_packet seq, ubyte *server, ubyte *node, ubyte *net_address); 41 | void receive_sequence_packet(ubyte *data, sequence_packet *seq); 42 | 43 | void send_netgame_packet(ubyte *server, ubyte *node, ubyte *net_address, int lite_flag); 44 | void receive_netgame_packet(ubyte *data, netgame_info *netgame, int lite_flag); 45 | 46 | void swap_object(object *obj); 47 | 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /SOURCE/MAIN/INFERNO.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _INFERNO_H 15 | #define _INFERNO_H 16 | 17 | #include "settings.h" //include personal settings 18 | 19 | #include "pstypes.h" 20 | 21 | 22 | // MACRO for single line #ifdef WINDOWS #else DOS 23 | #ifdef WINDOWS 24 | #define WINDOS(x,y) x 25 | #define WIN(x) x 26 | #else 27 | #define WINDOS(x,y) y 28 | #define WIN(x) 29 | #endif 30 | 31 | #ifdef MACINTOSH 32 | #define MAC(x) x 33 | #else 34 | #define MAC(x) 35 | #endif 36 | 37 | 38 | /** 39 | ** Constants 40 | **/ 41 | 42 | //the maximum length of a filename 43 | #define FILENAME_LEN 13 44 | 45 | //for Function_mode variable 46 | #define FMODE_EXIT 0 //leaving the program 47 | #define FMODE_MENU 1 //Using the menu 48 | #define FMODE_GAME 2 //running the game 49 | #define FMODE_EDITOR 3 //running the editor 50 | 51 | //This constant doesn't really belong here, but it is because of horrible 52 | //circular dependencies involving object.h, aistruct.h, polyobj.h, & robot.h 53 | #define MAX_SUBMODELS 10 //how many animating sub-objects per model 54 | 55 | /** 56 | ** Global variables 57 | **/ 58 | 59 | extern int Function_mode; //in game or editor? 60 | extern int Screen_mode; //editor screen or game screen? 61 | 62 | //The version number of the game 63 | extern ubyte Version_major,Version_minor; 64 | 65 | #ifdef MACINTOSH 66 | extern ubyte Version_fix; 67 | #endif 68 | 69 | #endif 70 | 71 | 72 | -------------------------------------------------------------------------------- /SOURCE/2D/IBITBLT.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _IBITBLT_H 17 | #define _IBITBLT_H 18 | 19 | // Finds location/size of the largest "hole" in bitmap mask_bmp 20 | void gr_ibitblt_find_hole_size ( grs_bitmap * mask_bmp, int *minx, int *miny, int *maxx, int *maxy ); 21 | 22 | // Creates a code mask that will copy data from a bitmap that is sw by sh starting from 23 | // location sx, sy with a rowsize of srowsize onto another bitmap but only copies 24 | // into pixel locations that are defined as transparent in bitmap bmp. 25 | #ifndef MACINTOSH 26 | ubyte * gr_ibitblt_create_mask ( grs_bitmap * mask_bmp, int sx, int sy, int sw, int sh, int srowsize ); 27 | ubyte * gr_ibitblt_create_mask_svga(grs_bitmap *mask_bmp, int sx, int sy, int sw, int sh, int srowsize); 28 | ubyte * gr_ibitblt_create_mask_pa( grs_bitmap * mask_bmp, int sx, int sy, int sw, int sh, int srowsize ); 29 | #else 30 | void gr_ibitblt_create_mask_pa( grs_bitmap * mask_bmp, int sx, int sy, int sw, int sh, int srowsize ); 31 | void gr_ibitblt_create_mask(grs_bitmap *mask_bmp, int sx, int sy, int sw, int sh, int srowsize); 32 | #endif 33 | 34 | // Copy source bitmap onto destination bitmap, not copying pixels that are defined 35 | // transparent by the mask 36 | 37 | #ifndef MACINTOSH 38 | void gr_ibitblt (grs_bitmap * source_bmp, grs_bitmap * dest_bmp, ubyte * mask ); 39 | #else 40 | void gr_ibitblt (grs_bitmap * source_bmp, grs_bitmap * dest_bmp, ubyte pixel_double ); 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /SOURCE/MAIN/CONFIG.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _CONFIG_H 17 | #define _CONFIG_H 18 | 19 | #include "player.h" 20 | 21 | extern int ReadConfigFile(void); 22 | extern int WriteConfigFile(void); 23 | 24 | extern char config_last_player[CALLSIGN_LEN+1]; 25 | 26 | extern char config_last_mission[]; 27 | 28 | extern ubyte Config_digi_volume; 29 | extern ubyte Config_midi_volume; 30 | #ifdef MACINTOSH 31 | typedef struct ConfigInfoStruct 32 | { 33 | ubyte mDoNotDisplayOptions; 34 | ubyte mUse11kSounds; 35 | ubyte mDisableSound; 36 | ubyte mDisableMIDIMusic; 37 | ubyte mChangeResolution; 38 | ubyte mDoNotPlayMovies; 39 | ubyte mUserChoseQuit; 40 | ubyte mGameMonitor; 41 | ubyte mAcceleration; // allow RAVE level acceleration 42 | ubyte mInputSprockets; // allow use of Input Sprocket devices 43 | } ConfigInfo; 44 | 45 | extern ConfigInfo gConfigInfo; 46 | extern ubyte Config_master_volume; 47 | #endif 48 | extern ubyte Config_redbook_volume; 49 | extern ubyte Config_control_type; 50 | extern ubyte Config_channels_reversed; 51 | extern ubyte Config_joystick_sensitivity; 52 | 53 | //values for Config_control_type 54 | #define CONTROL_NONE 0 55 | #define CONTROL_JOYSTICK 1 56 | #define CONTROL_FLIGHTSTICK_PRO 2 57 | #define CONTROL_THRUSTMASTER_FCS 3 58 | #define CONTROL_GRAVIS_GAMEPAD 4 59 | #define CONTROL_MOUSE 5 60 | #define CONTROL_CYBERMAN 6 61 | #define CONTROL_WINJOYSTICK 7 62 | 63 | #define CONTROL_MAX_TYPES 8 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /SOURCE/MAIN/MENU.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #ifndef _MENU_H 16 | #define _MENU_H 17 | 18 | //returns number of item chosen 19 | extern int DoMenu(); 20 | extern void do_options_menu(); 21 | 22 | extern int MenuHires; 23 | 24 | #ifdef SHAREWARE 25 | #ifdef RELEASE 26 | #ifdef MACINTOSH 27 | #define Menu_pcx_name "\x01menub.pcx" //read only from hog file 28 | #else 29 | #define Menu_pcx_name "\x01menud.pcx" //read only from hog file 30 | #endif 31 | #else 32 | #define Menu_pcx_name (MenuHires?"menub.pcx":"menud.pcx") //name of background bitmap 33 | #endif 34 | #else 35 | #ifdef D2_OEM 36 | #ifdef RELEASE 37 | #define Menu_pcx_name (MenuHires?"\x01menuob.pcx":"\x01menuo.pcx") //read only from hog file 38 | #else 39 | #define Menu_pcx_name (MenuHires?"menuob.pcx":"menuo.pcx") //name of background bitmap 40 | #endif 41 | #else //Full version 42 | #ifdef RELEASE 43 | #define Menu_pcx_name (MenuHires?"\x01menub.pcx":"\x01menu.pcx") //read only from hog file 44 | #else 45 | #define Menu_pcx_name (MenuHires?"menub.pcx":"menu.pcx") //name of background bitmap 46 | #endif 47 | #endif 48 | #endif 49 | 50 | extern void set_detail_level_parameters(int detail_level); 51 | 52 | extern char *menu_difficulty_text[]; 53 | extern int Player_default_difficulty; 54 | extern int Max_debris_objects; 55 | extern int Auto_leveling_on; 56 | extern int Missile_view_enabled; 57 | extern int Escort_view_enabled; 58 | extern int Cockpit_rear_view; 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /SOURCE/MAIN/MULTIBOT.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #ifndef _MULTIBOT_H 15 | #define _MULTIBOT_H 16 | 17 | #define MAX_ROBOTS_CONTROLLED 5 18 | 19 | extern int robot_controlled[MAX_ROBOTS_CONTROLLED]; 20 | extern int robot_agitation[MAX_ROBOTS_CONTROLLED]; 21 | extern int robot_fired[MAX_ROBOTS_CONTROLLED]; 22 | 23 | int multi_can_move_robot(int objnum, int agitation); 24 | void multi_send_robot_position(int objnum, int fired); 25 | void multi_send_robot_fire(int objnum, int gun_num, vms_vector *fire); 26 | void multi_send_claim_robot(int objnum); 27 | void multi_send_robot_explode(int,int,char); 28 | void multi_send_create_robot(int robotcen, int objnum, int type); 29 | void multi_send_boss_actions(int bossobjnum, int action, int secondary, int objnum); 30 | int multi_send_robot_frame(int sent); 31 | 32 | void multi_do_robot_explode(char *buf); 33 | void multi_do_robot_position(char *buf); 34 | void multi_do_claim_robot(char *buf); 35 | void multi_do_release_robot(char *buf); 36 | void multi_do_robot_fire(char *buf); 37 | void multi_do_create_robot(char *buf); 38 | void multi_do_boss_actions(char *buf); 39 | void multi_do_create_robot_powerups(char *buf); 40 | 41 | int multi_explode_robot_sub(int botnum, int killer,char); 42 | 43 | void multi_drop_robot_powerups(int objnum); 44 | void multi_dump_robots(void); 45 | 46 | void multi_strip_robots(int playernum); 47 | void multi_check_robot_timeout(void); 48 | 49 | void multi_robot_request_change(struct object *robot, int playernum); 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /SOURCE/MAIN/GAMEFONT.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | #pragma off (unreferenced) 16 | static char rcsid[] = "$Id: gamefont.c 2.3 1996/01/12 16:03:16 matt Exp $"; 17 | #pragma on (unreferenced) 18 | 19 | #include 20 | 21 | #include "inferno.h" 22 | #include "gr.h" 23 | #include "gamefont.h" 24 | 25 | //if 1, use high-res versions of fonts 26 | int FontHires=0; 27 | 28 | char * Gamefont_filenames[] = { "font1-1.fnt", // Font 0 29 | "font1-1h.fnt", // Font 0 High-res 30 | "font2-1.fnt", // Font 1 31 | "font2-1h.fnt", // Font 1 High-res 32 | "font2-2.fnt", // Font 2 33 | "font2-2h.fnt", // Font 2 High-res 34 | "font2-3.fnt", // Font 3 35 | "font2-3h.fnt", // Font 3 High-res 36 | "font3-1.fnt", // Font 4 37 | "font3-1h.fnt", // Font 4 High-res 38 | }; 39 | 40 | grs_font *Gamefonts[MAX_FONTS]; 41 | 42 | int Gamefont_installed=0; 43 | 44 | void gamefont_init() 45 | { 46 | int i; 47 | 48 | if (Gamefont_installed) return; 49 | Gamefont_installed = 1; 50 | 51 | for (i=0; i 19 | #include 20 | #include 21 | 22 | #include "error.h" 23 | 24 | #include "inferno.h" 25 | #include "object.h" 26 | #include "game.h" 27 | #include "player.h" 28 | #include "gauges.h" 29 | #include "hostage.h" 30 | #include "vclip.h" 31 | #include "newdemo.h" 32 | #include "text.h" 33 | 34 | 35 | //------------- Globaly used hostage variables -------------------------------------------------- 36 | 37 | int N_hostage_types = 0; // Number of hostage types 38 | int Hostage_vclip_num[MAX_HOSTAGE_TYPES]; //vclip num for each tpye of hostage 39 | 40 | 41 | //-------------- Renders a hostage ---------------------------------------------------------------- 42 | void draw_hostage(object *obj) 43 | { 44 | draw_object_tmap_rod(obj,Vclip[obj->rtype.vclip_info.vclip_num].frames[obj->rtype.vclip_info.framenum],1); 45 | } 46 | 47 | 48 | //------------- Called once when a hostage is rescued ------------------------------------------ 49 | void hostage_rescue() 50 | { 51 | //mprintf( (0, "Rescued hostage %d", hostage_number )); 52 | 53 | PALETTE_FLASH_ADD(0,0,25); //small blue flash 54 | 55 | Players[Player_num].hostages_on_board++; 56 | 57 | // Do an audio effect 58 | if ( Newdemo_state != ND_STATE_PLAYBACK ) 59 | digi_play_sample( SOUND_HOSTAGE_RESCUED, F1_0 ); 60 | 61 | HUD_init_message(TXT_HOSTAGE_RESCUED); 62 | } 63 | 64 | 65 | -------------------------------------------------------------------------------- /SOURCE/FIX/TEST.LST: -------------------------------------------------------------------------------- 1 | Microsoft (R) Macro Assembler Version 6.00B 08/24/93 12:17:59 2 | test.asm Page 1 - 1 3 | 4 | 5 | ; 6 | ; $Source: $ 7 | ; $Revision: $ 8 | ; $Author: $ 9 | ; $Date: $ 10 | ; 11 | ; Sample assembly-language setup 12 | ; 13 | ; $Log: $ 14 | ; 15 | ; 16 | 17 | .386 18 | option oldstructs 19 | 20 | .nolist 21 | .list 22 | 23 | assume cs:_TEXT, ds:_DATA 24 | 25 | 0000 _DATA segment dword public USE32 'DATA' 26 | 27 | 0000 24 49 64 3A 20 24 rcsid db "$Id: $" 28 | 29 | 0006 _DATA ends 30 | 31 | 32 | 33 | 0000 _TEXT segment dword public USE32 'CODE' 34 | 35 | = 0030 a = OPATTR(ebx) 36 | = 0022 b = OPATTR(rcsid[ebx]) 37 | 38 | 0000 _TEXT ends 39 | 40 | end 41 | Microsoft (R) Macro Assembler Version 6.00B 08/24/93 12:17:59 42 | test.asm Symbols 2 - 1 43 | 44 | 45 | 46 | 47 | Macros: 48 | 49 | N a m e Type 50 | 51 | @ArgCount . . . . . . . . . . . Func 52 | @ArgRev . . . . . . . . . . . . Func 53 | dbstr . . . . . . . . . . . . . Proc 54 | debug_at . . . . . . . . . . . . Proc 55 | debug . . . . . . . . . . . . . Proc 56 | extb . . . . . . . . . . . . . . Proc 57 | extdef . . . . . . . . . . . . . Proc 58 | extd . . . . . . . . . . . . . . Proc 59 | extgen . . . . . . . . . . . . . Proc 60 | extn . . . . . . . . . . . . . . Proc 61 | extw . . . . . . . . . . . . . . Proc 62 | mprintf_at . . . . . . . . . . . Proc 63 | mprintf . . . . . . . . . . . . Proc 64 | popm . . . . . . . . . . . . . . Proc 65 | pushlong . . . . . . . . . . . . Proc 66 | pushml . . . . . . . . . . . . . Proc 67 | pushm . . . . . . . . . . . . . Proc 68 | 69 | 70 | Segments and Groups: 71 | 72 | N a m e Size Length Align Combine Class 73 | 74 | _DATA . . . . . . . . . . . . . 32 Bit 0006 DWord Public 'DATA' 75 | _TEXT . . . . . . . . . . . . . 32 Bit 0000 DWord Public 'CODE' 76 | 77 | 78 | Symbols: 79 | 80 | N a m e Type Value Attr 81 | 82 | a . . . . . . . . . . . . . . . Number 0030h 83 | b . . . . . . . . . . . . . . . Number 0022h 84 | rcsid . . . . . . . . . . . . . Byte 0000 _DATA 85 | 86 | 0 Warnings 87 | 0 Errors 88 | -------------------------------------------------------------------------------- /SOURCE/2D/SELECTOR.ASM: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | 13 | .386 14 | option oldstructs 15 | 16 | .nolist 17 | include pstypes.inc 18 | include psmacros.inc 19 | .list 20 | 21 | assume cs:_TEXT, ds:_DATA 22 | 23 | _DATA segment dword public USE32 'DATA' 24 | 25 | rcsid db "$Id: selector.asm 1.5 1995/12/21 14:30:01 matt Exp $" 26 | align 4 27 | 28 | new_selector dd ? 29 | new_base dd ? 30 | new_size dd ? 31 | 32 | _DATA ends 33 | 34 | 35 | 36 | _TEXT segment dword public USE32 'CODE' 37 | 38 | ; int get_selector( void * address, int size, unsigned short * selector ); 39 | 40 | PUBLIC get_selector_ 41 | 42 | ; EAX = 32-bit base address 43 | ; EDX = Size in bytes 44 | ; EBX = &selector 45 | 46 | ; Returns: EAX = 0 if ok, otherwise, EAX = non-zero (1) 47 | 48 | get_selector_: 49 | 50 | pusha 51 | 52 | mov new_base, eax 53 | mov new_size, edx 54 | mov new_selector, ebx 55 | 56 | mov eax, 0 57 | mov ecx, 1 58 | int 31h 59 | jc failed 60 | mov ecx, new_selector 61 | mov [ecx], ax 62 | 63 | ; Set the selector's base address using DPMI 64 | mov ecx, new_selector 65 | mov bx, [ecx] 66 | mov eax, 7 67 | mov ecx, new_base 68 | mov edx, ecx 69 | shr ecx, 16 70 | int 31h 71 | jc failed 72 | 73 | ; Set the selector's size using DPMI 74 | mov ecx, new_selector 75 | mov bx, [ecx] 76 | mov ax, 08h 77 | mov ecx, new_size 78 | mov edx, ecx 79 | shr ecx, 16 80 | int 31h 81 | jc failed 82 | 83 | popa 84 | mov eax, 0 85 | ret 86 | failed: 87 | popa 88 | mov eax, 1 89 | ret 90 | 91 | _TEXT ends 92 | 93 | end 94 | 95 | -------------------------------------------------------------------------------- /SOURCE/BIOS/RBAUDIO.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _RBAUDIO_H 17 | #define _RBAUDIO_H 18 | 19 | #define RBA_MEDIA_CHANGED -1 20 | 21 | typedef struct _RBACHANNELCTL { 22 | unsigned int out0in, out0vol; 23 | unsigned int out1in, out1vol; 24 | unsigned int out2in, out2vol; 25 | unsigned int out3in, out3vol; 26 | } RBACHANNELCTL; 27 | 28 | 29 | #if defined(__NT__) 30 | extern void RBAInit(void); //drive a == 0, drive b == 1 31 | #else 32 | extern void RBAInit(ubyte cd_drive_num); //drive a == 0, drive b == 1 33 | #endif 34 | extern void RBARegisterCD(void); 35 | extern long RBAGetDeviceStatus(void); 36 | extern int RBAPlayTrack(int track); 37 | extern int RBAPlayTracks(int first, int last); //plays tracks first through last, inclusive 38 | extern int RBACheckMediaChange(); 39 | extern long RBAGetHeadLoc(int *min, int *sec, int *frame); 40 | extern int RBAPeekPlayStatus(void); 41 | extern void RBAStop(void); 42 | extern void RBASetStereoAudio(RBACHANNELCTL *channels); 43 | extern void RBASetQuadAudio(RBACHANNELCTL *channels); 44 | extern void RBAGetAudioInfo(RBACHANNELCTL *channels); 45 | extern void RBASetChannelVolume(int channel, int volume); 46 | extern void RBASetVolume(int volume); 47 | extern int RBAEnabled(void); 48 | extern void RBADisable(void); 49 | extern void RBAEnable(void); 50 | extern int RBAGetNumberOfTracks(void); 51 | extern void RBAPause(); 52 | extern int RBAResume(); 53 | 54 | //return the track number currently playing. Useful if RBAPlayTracks() 55 | //is called. Returns 0 if no track playing, else track number 56 | int RBAGetTrackNum(); 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /SOURCE/LIB/RBAUDIO.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _RBAUDIO_H 17 | #define _RBAUDIO_H 18 | 19 | #define RBA_MEDIA_CHANGED -1 20 | 21 | typedef struct _RBACHANNELCTL { 22 | unsigned int out0in, out0vol; 23 | unsigned int out1in, out1vol; 24 | unsigned int out2in, out2vol; 25 | unsigned int out3in, out3vol; 26 | } RBACHANNELCTL; 27 | 28 | 29 | #if defined(__NT__) 30 | extern void RBAInit(void); //drive a == 0, drive b == 1 31 | #else 32 | extern void RBAInit(ubyte cd_drive_num); //drive a == 0, drive b == 1 33 | #endif 34 | extern void RBARegisterCD(void); 35 | extern long RBAGetDeviceStatus(void); 36 | extern int RBAPlayTrack(int track); 37 | extern int RBAPlayTracks(int first, int last); //plays tracks first through last, inclusive 38 | extern int RBACheckMediaChange(); 39 | extern long RBAGetHeadLoc(int *min, int *sec, int *frame); 40 | extern int RBAPeekPlayStatus(void); 41 | extern void RBAStop(void); 42 | extern void RBASetStereoAudio(RBACHANNELCTL *channels); 43 | extern void RBASetQuadAudio(RBACHANNELCTL *channels); 44 | extern void RBAGetAudioInfo(RBACHANNELCTL *channels); 45 | extern void RBASetChannelVolume(int channel, int volume); 46 | extern void RBASetVolume(int volume); 47 | extern int RBAEnabled(void); 48 | extern void RBADisable(void); 49 | extern void RBAEnable(void); 50 | extern int RBAGetNumberOfTracks(void); 51 | extern void RBAPause(); 52 | extern int RBAResume(); 53 | 54 | //return the track number currently playing. Useful if RBAPlayTracks() 55 | //is called. Returns 0 if no track playing, else track number 56 | int RBAGetTrackNum(); 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /SOURCE/MAIN/COLLIDE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _COLLIDE_H 17 | #define _COLLIDE_H 18 | 19 | void collide_init(); 20 | void collide_two_objects( object * A, object * B, vms_vector *collision_point ); 21 | void collide_object_with_wall( object * A, fix hitspeed, short hitseg, short hitwall, vms_vector * hitpt ); 22 | extern void apply_damage_to_player(object *player, object *killer, fix damage); 23 | 24 | // Returns 1 if robot died, else 0. 25 | extern int apply_damage_to_robot(object *robot, fix damage, int killer_objnum); 26 | 27 | extern int Immaterial; 28 | 29 | extern void collide_player_and_weapon( object * player, object * weapon, vms_vector *collision_point ); 30 | extern void collide_player_and_materialization_center(object *objp); 31 | extern void collide_robot_and_materialization_center(object *objp); 32 | 33 | extern void scrape_object_on_wall(object *obj, short hitseg, short hitwall, vms_vector * hitpt ); 34 | extern int maybe_detonate_weapon(object *obj0p, object *obj, vms_vector *pos); 35 | 36 | extern void collide_player_and_nasty_robot( object * player, object * robot, vms_vector *collision_point ); 37 | 38 | extern void net_destroy_controlcen(object *controlcen); 39 | extern void collide_player_and_powerup( object * player, object * powerup, vms_vector *collision_point ); 40 | extern int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, int force_blowup_flag); 41 | extern void apply_damage_to_controlcen(object *controlcen, fix damage, short who); 42 | extern void bump_one_object(object *obj0, vms_vector *hit_dir, fix damage); 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /SOURCE/3D/SEGMENT.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #pragma off (unreferenced) 15 | static char rcsid[] = "$Id: $"; 16 | #pragma on (unreferenced) 17 | 18 | #include "segment.h" 19 | #include "3d.h" 20 | #include "gr.h" 21 | 22 | extern face Faces[]; 23 | extern vector Vertices[]; 24 | extern uvpair Uvs[]; 25 | extern rgb Rgbs[]; 26 | 27 | extern int Num_faces,Num_vertices,Num_uvs,Num_rgbs,Num_face_verts; 28 | 29 | extern short Face_verts[]; 30 | extern int Face_verts_free; 31 | 32 | 33 | // --------------------------------------------------------------------------------------------- 34 | // ---------- Segment interrogation functions ---------- 35 | // ---------------------------------------------------------------------------- 36 | // Return a pointer to the list of vertex indices for the current segment in vp and 37 | // the number of vertices in *nv. 38 | void seg_get_vertex_list(segment *s,int *nv,short **vp) 39 | { 40 | *vp = s->fvs; 41 | *nv = 8; 42 | } 43 | 44 | // ---------------------------------------------------------------------------- 45 | // Return a pointer to the list of vertex indices for face facenum in vp and 46 | // the number of vertices in *nv. 47 | void seg_get_face_vertex_list(segment *s,int facenum,int *nv,short **vp) 48 | { 49 | face *fp = &Faces[s->iface + facenum]; 50 | 51 | *vp = &Face_verts[fp->ivert]; 52 | *nv = fp->num_vertices; 53 | } 54 | 55 | // ---------------------------------------------------------------------------- 56 | // Set *nf = number of faces in segment s. 57 | void seg_get_num_faces(segment *s,int *nf) 58 | { 59 | *nf = s->num_faces; 60 | } 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /SOURCE/CFILE/CFILE.H: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | 15 | 16 | #ifndef _CFILE_H 17 | #define _CFILE_H 18 | 19 | #include 20 | 21 | #include "pstypes.h" 22 | 23 | typedef struct CFILE { 24 | FILE *file; 25 | int size; 26 | int lib_offset; 27 | int raw_position; 28 | } CFILE; 29 | 30 | //Specify the name of the hogfile. Returns 1 if hogfile found & had files 31 | int cfile_init(char *hogname); 32 | 33 | CFILE * cfopen(char * filename, char * mode); 34 | int cfilelength( CFILE *fp ); // Returns actual size of file... 35 | size_t cfread( void * buf, size_t elsize, size_t nelem, CFILE * fp ); 36 | void cfclose( CFILE * cfile ); 37 | int cfgetc( CFILE * fp ); 38 | int cfseek( CFILE *fp, long int offset, int where ); 39 | int cftell( CFILE * fp ); 40 | char * cfgets( char * buf, size_t n, CFILE * fp ); 41 | 42 | int cfexist( char * filename ); // Returns true if file exists on disk (1) or in hog (2). 43 | 44 | // Allows files to be gotten from an alternate hog file. 45 | // Passing NULL disables this. 46 | // Returns 1 if hogfile found (& contains file), else 0. 47 | // If NULL passed, returns 1 48 | int cfile_use_alternate_hogfile( char * name ); 49 | 50 | // All cfile functions will check this directory if no file exists 51 | // in the current directory. 52 | void cfile_use_alternate_hogdir( char * path ); 53 | 54 | //tell cfile about your critical error counter 55 | void cfile_set_critical_error_counter_ptr(int *ptr); 56 | 57 | // prototypes for reading basic types from cfile 58 | int cfile_read_int(CFILE *file); 59 | short cfile_read_short(CFILE *file); 60 | byte cfile_read_byte(CFILE *file); 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /SOURCE/2D/DISC.C: -------------------------------------------------------------------------------- 1 | /* 2 | THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 3 | SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 4 | END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 5 | ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 6 | IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 7 | SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 8 | FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 9 | CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 10 | AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 11 | COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 12 | */ 13 | 14 | #include "mem.h" 15 | 16 | #include "gr.h" 17 | #include "grdef.h" 18 | 19 | int gr_disk(fix xc1,fix yc1,fix r1) 20 | { 21 | int p,x, y, xc, yc, r; 22 | 23 | r = f2i(r1); 24 | xc = f2i(xc1); 25 | yc = f2i(yc1); 26 | p=3-(r*2); 27 | x=0; 28 | y=r; 29 | 30 | // Big clip 31 | if ( (xc+r) < 0 ) return 1; 32 | if ( (xc-r) > WIDTH ) return 1; 33 | if ( (yc+r) < 0 ) return 1; 34 | if ( (yc-r) > HEIGHT ) return 1; 35 | 36 | while(x 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "fix.h" 24 | #include "types.h" 25 | #include "gr.h" 26 | #include "key.h" 27 | #include "ui.h" 28 | 29 | #include "mouse.h" 30 | 31 | #include "mono.h" 32 | 33 | extern void InstallErrorHandler(); 34 | 35 | static int Initialized = 0; 36 | 37 | unsigned char CBLACK,CGREY,CWHITE,CBRIGHT,CRED; 38 | 39 | grs_font * ui_small_font = NULL; 40 | 41 | void ui_init() 42 | { 43 | grs_font * org_font; 44 | 45 | if (Initialized) return; 46 | 47 | Initialized = 1; 48 | 49 | org_font = grd_curcanv->cv_font; 50 | ui_small_font = gr_init_font( "pc6x8.fnt" ); 51 | grd_curcanv->cv_font =org_font; 52 | 53 | CBLACK = gr_find_closest_color( 1, 1, 1 ); 54 | CGREY = gr_find_closest_color( 45, 45, 45 ); 55 | CWHITE = gr_find_closest_color( 50, 50, 50 ); 56 | CBRIGHT = gr_find_closest_color( 58, 58, 58 ); 57 | CRED = gr_find_closest_color( 63, 0, 0 ); 58 | 59 | //key_init(); 60 | 61 | ui_mouse_init(); 62 | 63 | gr_set_fontcolor( CBLACK, CWHITE ); 64 | 65 | CurWindow = NULL; 66 | 67 | InstallErrorHandler(); 68 | 69 | ui_pad_init(); 70 | 71 | atexit(ui_close ); 72 | 73 | } 74 | 75 | void ui_close() 76 | { 77 | if (Initialized) 78 | { 79 | Initialized = 0; 80 | 81 | ui_pad_close(); 82 | 83 | ui_mouse_close(); 84 | 85 | // mouse_close(); 86 | // key_close(); 87 | 88 | _harderr( NULL ); 89 | 90 | gr_close_font( ui_small_font ); 91 | 92 | } 93 | 94 | return; 95 | } 96 | 97 | -------------------------------------------------------------------------------- /SOURCE/VGA/VGAREGS.INC: -------------------------------------------------------------------------------- 1 | ; THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX 2 | ; SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO 3 | ; END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A 4 | ; ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS 5 | ; IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS 6 | ; SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE 7 | ; FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE 8 | ; CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS 9 | ; AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. 10 | ; COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. 11 | 12 | MISC_OUTPUT = 03c2h ;Miscellaneous Output register 13 | MAP_MASK = 02h ;index in SC of Map Mask register 14 | READ_MAP = 04h ;index in GC of the Read Map register 15 | BIT_MASK = 08h ;index in GC of Bit Mask register 16 | 17 | SC_INDEX = 3c4h ;Index register for sequencer ctrl. 18 | SC_MAP_MASK = 2 ;Number of map mask register 19 | 20 | SC_INDEX = 3c4h ;Index register for sequencer ctrl. 21 | SC_MAP_MASK = 2 ;Number of map mask register 22 | SC_MEM_MODE = 4 ;Number of memory mode register 23 | 24 | GC_INDEX = 3ceh ;Index register for graphics ctrl. 25 | GC_READ_MAP = 4 ;Number of read map register 26 | GC_GRAPH_MODE = 5 ;Number of graphics mode register 27 | GC_MISCELL = 6 ;Number of miscellaneous register 28 | 29 | CRTC_INDEX = 3d4h ;Index register for CRT controller 30 | CC_MAX_SCAN = 9 ;Number of maximum scan line reg. 31 | CC_START_HI = 0Ch ;Number of start address high register 32 | CC_START_LO = 0Dh ;Number of start address low register 33 | CC_UNDERLINE = 14h ;Number of underline register 34 | CC_MODE_CTRL = 17h ;Number of mode control register 35 | CRTC_OFFSET = 13h ; CRTC offset register index 36 | 37 | DAC_WRITE_ADR = 3C8h ;DAC write address 38 | DAC_READ_ADR = 3C7h ;DAC read address 39 | DAC_DATA = 3C9h ;DAC data register 40 | 41 | VERT_RESCAN = 3DAh ;Input status register #1 42 | 43 | --------------------------------------------------------------------------------