# Jurassic Park: Trespasser A git-based fork of the Jurassic Park: Trespasser source code. ## Discord Server #### Click the banner or link below to join the server

Link: https://discord.gg/5EngSvu

## Solution Overview | 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 | ## Production Pipeline

# Sanglard, F. (2014). "Solution Overview" [list] & "Production Pipeline" [image]. Available at: http://fabiensanglard.net/trespasser [Accessed 17 Oct. 2018].