Skip to content
This repository was archived by the owner on Aug 8, 2025. It is now read-only.

Big Update - #7

Open
remileonard wants to merge 1196 commits into
fabiensanglard:masterfrom
remileonard:master
Open

Big Update#7
remileonard wants to merge 1196 commits into
fabiensanglard:masterfrom
remileonard:master

Conversation

@remileonard

Copy link
Copy Markdown

Build System

  • Added a new top-level CMakeLists.txt to define the project, set C++ standards, and configure dependencies (SDL2, SDL2_mixer_ext, imgui, OpenGL). Subdirectories for all major components are now included for unified builds.
  • Introduced CMakePresets.json with presets for Windows (Visual Studio), Linux (GCC), and Linux (Clang), enabling easy cross-platform configuration and builds via CMake (i've been able to build the game on macos mojave, but i've got a black screen :( )
  • Usage of vcpkg for build dependencies.

Documentation

  • update existing documentation with the new information discoverd during the developpement
  • add technical documentation

Game play

  • GameFlow implementation, full conversation support including voice, load and save games (compatible with original dos version), weapon catalog, ledger, kill board.
  • New flight model with original flight dynamics data
  • Mission scripts, some mission are completable, very basic AI for the moment.
  • Virtual cockpit with HUD, radar screen and weapon screen
  • In game music with adlib emulation
  • A full debugger UI, with ingame map full details, gamestat, mission script execution, and data exploration.

File Format

  • GOG cdrom image support, just add SC.dat in the same directory as the game exe.
  • Tactical operation support
  • Model geometry for pacific strike, need to figure out what is the compression algorithm for the texture and the maps. (use a PB+ header)

and a lot more :)

@fabiensanglard

Copy link
Copy Markdown
Owner

I tried to transfer the repo but remileonard/libRealSpace already exists.

What I can do, it upload on last CL that says, the source of truth is now remileonard/libRealSpace, then archive my repo. Then you don't have to send Pull Requests, you are the source.

…iming metrics

- Added ImGui initialization and rendering logic to VRScreen.
- Implemented functions to create and manage an ImGui framebuffer.
- Introduced a debug window to display VR timing information and frame statistics.
- Updated VRTimer to maintain a consistent frame rate and manage frame timing.
- Enhanced the VRScreen class to handle ImGui rendering in both stereo and quad modes.
- Minor adjustments to existing methods for better integration with the new ImGui features.
feat(GameEngine): bind SPEC_KEY_1 and SPEC_KEY_2 to keyboard actions
fix(SCMission): prevent update processing after mission ends
…ing logic

feat(SCMission): set default team_id to enemy for newly loaded actors
fix(SCMissionActors): prevent shooting if actor is destroyed or inactive
fix(SCSimulatedObject): ignore collision checks for entities on the same team
feat(DebugStrike): display unknown bytes in the debug menu
…lity with new methods and optimizations

- Updated ByteStream to prevent reading past the end of the stream.
- Refactored Math functions to improve performance and added new rotation methods for Point2D and Vector2D.
- Introduced invertRigidBodyMatrixLocal method in Matrix for better matrix manipulations.
- Simplified rotation logic in SCCockpit by utilizing new Point2D and Vector2D methods.
- Added transformPoint method to Vector3D for improved point transformations.
- Created unit tests for new functionalities in ByteStream and Math classes.
…blishing functionality for InputMessage and EventMessage
… reset functionality

feat(SCMission): implement mission update event handling and integrate with MessageBus
…ent method and managing subscription lifecycle
…d code organization

- Moved AI actor destruction and targeting logic from SCMission::update to SCMissionActors::onMissionUpdate for better separation of concerns.
- Added onMissionUpdate method in SCMissionActors to handle mission updates and actor behavior.
- Updated LoadEntity method visibility in SCMission.h for consistency.
- Cleaned up unnecessary code in SCMission::update to enhance readability and maintainability.
- Ensured proper handling of weapon simulation and actor state updates within the new event-driven structure.
…on and improve field names

refactor(DebugObjectViewer): remove unused JDYN fields from UI display
refactor(DebugStrike): adjust JDYN field usage for updated structure
refactor(RSEntity): modify JDYN parsing to accommodate new structure and field types
refactor(SCPilot): update roll rate calculation to use new JDYN field
refactor(SCVectorPlane): change lift coefficient calculation to use updated JDYN field
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants