A git-based fork of the Jurassic Park: Trespasser source code.
Link: https://discord.gg/5EngSvu
Projects | Generates | Notes: |
---|---|---|
AI | Artificial Intelligence subsystem | A lot of code unused since most traits had to be disabled. |
AI Test | JP2_PC.exe | A standalone program allowing to test AI with graphics. |
Audio | Audio.lib | The audio sub-system static library featuring the "real-time Foley". |
Bug | Bugs.exe | A project concentrating all compiler errors. Since the team switched from VS4 to VS4.1 to VS4.2 to VS6.0 it was useful |
CollisionEditor | CollisionEditor.exe | Sound effects editor to test the audio engine (very powerful at the time) |
EntityDBase | EntityDBase.lib | Classes representing all objects in the game. |
File | File.lib | Abstraction classes for File and Images used to build the Groff archives. |
File Test | File | Test for the file and image abstractions. |
Game | Game.lib | Glue, triggers, Player, Gun classes. |
GeomDBase | GeomDBase.lib | The 3D representation (Geometry) of all objects defined in EntityDBase. |
GroffBuild | GroffBuild.exe | The tool in charge of gathering all game assets (3D, sounds, maps) in one GOFF file. |
GroffExp | GroffExp.dle | The DLL loaded by 3DS Max that export all data to GOFF sections. This was originally outsourced to another dev and is standalone. |
GUIApp | GUIApp.exe | A wrapper around the game. The GUI allows changing the game values at runtime for testing. Like the console allowing to change the CVAR in Quake engines. |
Loader | Loader.lib | The library loading GOFF assets to RAM. |
Math | Math.lib | The math library (features a fInvSqrt that is not as good as Quake III's InvSqrt since it uses a lookup table but also uses Newton-Raphson). |
Math Test | MathTest.exe | A few functions to test the speed of the math routines. |
Physics | Physics.lib | The pelvis heavy, penalty force-based Physic engine library. |
PhysicsTest | PhysicsTest.exe | A sandbox level where physic can be tested. |
PipeLineTest | PipeLineTest.exe | Testbed for the rendering pipeline |
Processor | Processor.dll | Uses CPUID to detect 8086, 80286, 28386 or a 80486, Pentium, K6-3and K7, Detect Floating Point Unit and CPU speed. Loaded at runtime by System project in order to set automatically details level (based on CPU Mhz). |
QuantizerTool | QuantizerTool.exe | Aborted project. Does nothing. |
Render3D | Render3D.lib | The hybrid software/Direct3D renderer. |
ScreenRenderDWI | ScreenRenderDWI.lib | Pentium, PentiumPro and K6_3D specific code ASM optimized code for scanline and cache rendering. Direct3D code. |
Std | Std.lib | Extension of STL. A horrible mess of specific containers of containers of set of hashmap. Arg. |
System | System.lib | Contains scheduler, Virtual Memory. Thread control. SetupForSelfModifyingCode (via modifying the page tables associated with the application). Many things are not used. |
trespass | trespass.exe | The game we played. |
View | View.lib | Raster to window code. Blitter, DirectDraw, Direct3D, software palette viewers. |
WaveTest | WaveTest.exe | Shell to test wave modeling. |
WinShell | WinShell.lib | win32 windows creation and management library |
Sanglard, F. (2014). "Solution Overview" [list] & "Production Pipeline" [image].
Available at: http://fabiensanglard.net/trespasser [Accessed 17 Oct. 2018].