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 1068 commits into
fabiensanglard:masterfrom
remileonard:master
Open

Big Update#7
remileonard wants to merge 1068 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.

- Added a function to load images from a PakArchive in DebugAnimationPlayer.
- Updated the UI for the Shot Editor to improve layout and interaction.
- Removed the old Editor tab and integrated its functionality into the Shot Editor.
- Improved handling of entries in the midgame chooser, ensuring proper selection and display.
- Added functionality to edit and remove backgrounds and sprites in the Shot Editor.
- Enhanced error handling for image retrieval in RSImageSet.
- Updated SCAnimationPlayer to skip null images during frame rendering.
- Adjusted initial values for current_entry_index to -1 for better state management.
- Set the DebugAnimationPlayer to pause by default when testing midgames.
… add load/save functionality in DebugAnimationPlayer
… improve palette handling in SCAnimationPlayer
…ve DebugScreen mouse handling and menu options
…onPlayer

- Implemented character management in DebugAnimationPlayer, allowing users to add and edit characters with associated properties such as position, velocity, and appearance.
- Added a button to stop music playback in the UI.
- Enhanced the rendering logic to include character visuals during gameplay.
- Updated the DebugAnimationPlayer header to include new methods for character and shot editing.
- Refactored rendering functions in DebugUtils to improve texture handling.
- Introduced external palette usage options for MIDGAME_SHOT_BG and MIDGAME_SHOT_SPRITE structures.
- Ensured proper initialization of ConvAssetManager in DebugGame.
- Implemented the implode function for data compression in `implode.c`.
- Created header file `pklib.h` for defining constants and structures related to the compression library.
- Enhanced `RSMixer` to handle cases where music data is not found, improving error handling.
- Updated `DebugGame` to initialize asset paths and the music mixer correctly.
- Modified `RSEntity` to support decompression of images using the PKWARE decompressor, including handling of image data duplication.
- Added new methods in `RSImage` for updating image content with variable size data.
- Improved `RSMusic` to ensure safe access to music entries, preventing out-of-bounds access.
…ment in DebugGame

fix: streamline palette initialization in SCRenderer
fix: enhance error handling in ConvAssetManager and PakArchive
fix: update image flags in RSEntity parsing functions
fix: correct shape retrieval logic in RSImageSet
fix: handle PKWare decompression in SCConvPlayer
- Implemented DebugPacificStrikeMISN class for debugging missions.
- Added methods for setting missions and initializing debug components.
- Created PSMission class to manage mission loading and updates.
- Integrated PSStrike class to handle mission setup and player interactions.
- Updated CMakeLists.txt to include new source files and dependencies.
- Enhanced PSStrike to manage player weapons and cockpit initialization.
remileonard and others added 30 commits April 6, 2026 18:05
…mance

feat(SCStrike): enable 3D cockpit rendering in the runFrame method
…r RLEShape class

feat(Config): add setInt method for updating integer configuration values
feat(ByteStream): add copy constructor and assignment operator for ByteStream class
fix(FrameBuffer): optimize blit methods for better performance and clarity
feat(RSScreen): update window dimensions based on drawable size
…try and InitFromRam methods

Co-authored-by: Copilot <copilot@github.com>
…enderPitchLadder

Co-authored-by: Copilot <copilot@github.com>
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