Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for game Indiana Jones and the Infernal Machine, Refactor Code, and Introduce New Features #6

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

smlu
Copy link

@smlu smlu commented Jul 6, 2024

This pull request enhances the project with comprehensive support for Indiana Jones and the Infernal Machine game assets, introduces new features including a virtual file system for asset loading and new shaders, and includes various code fixes. It also includes significant refactoring and restructuring of the existing codebase.

Changes Made:

  • Added support for game Indiana Jones and the Infernal Machine
  • Refactored MAT parser to support 16 bit, 24 bit and 32 bit textures (Infernal Machine)
  • Refactored JKL parser:
    • Added support for NDY version 2 and 3 (Infernal Machine)
    • Parse all sector parameters.
  • Fixed imported Thing object orientation
  • Fixed 3DO mesh node orientation
  • Sector & 3do model meshes are now built with per face mesh (aka submeshes).
    Every sector surface face texture also now defines own material using Sith shader.
    Globally shared atlas texture was removed.
  • Fixed mesh triangulation to use original algo.
  • Added vertices intesities & surface extra light color to 3DO mesh and sector mesh
  • Set sector extra light color to sector mesh and 3DO models
  • Set sector tint to sector mesh and 3DO models
  • Changed mesh texture mapping
  • Removed atlas shaders
  • Added new Sith shaders
    • Implemented rendering of ceiling sky
    • Implemented shaders to replicate original game engine lighting.
  • Added support for double-sided faces
  • Restructured files and codebase
  • Refactor GobManager to VirtualFileSystem
  • Added AssetStore for loading game resources
  • Fixed imported 3DO model vertex normals
  • Added support for loading SPR files and creating sprite Things
  • Refactored PlayerMouselook and add support for 3rd person view camera
  • Added point light to the sector when average light params are set (Infernal machine)
  • Fixed building 3DO model mesh when polygon face UV idx is out of range
  • Fixed the order of directory search fro mat files
  • Same thing objects are not cached & reused anymore
  • Added 3rd person camera view option
  • Fixed 3DO model insert offset
  • Added RigidBody component to all Actor & Player game objects
  • Set game object collision based on collide template parameter (capsule collider or mesh collider)
  • Load all Thing objects
  • Added in-editor gizmos for "ghost" objects (objects with no 3D models)

image

Changes:
- Adds support for game Indiana Jones and the Infernal Machine
- Adds virtual file system (VFS) for loading game assets from bundle files (GOB) and from file system
- Refactors and restructures code: adds sith modules, loading of full level mesh, etc.
- Adds editor menu to load level directly into editor (SithEditor.cs)
- Adds new shaders that replicate the original engine rendering (diffuse, gouraud) and shader for rendering ceiling sky
- Implements original triangulation algorithm
- Adds support for 16 & 32 bit MAT files
- Adds support for v2.3 3DO files
- Refactors texture caching
- Implements loading of sprites
- Fixes imported Thing & 3DO node orientation
- Adds in-editor gizmos for Things without visual representation
- Adds options to edit some of the level components in editor (e.g.: change sector light)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant