/JurassicParkTrespasser

A git-based fork of the Jurassic Park: Trespasser source code.

Primary LanguageC++

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].