OpenLRR

From Research Realm
Revision as of 09:21, 1 October 2024 by Ringtail Raider (talk | contribs)
OpenLRR
Developer(s)trigger-segfault
Initial releaseFebruary 18, 2022; 2 years ago (2022-02-18)
Stable release
v0.0.0.7-hotfix1 / September 28, 2022; 2 years ago (2022-09-28)
Repositorygithub.com/trigger-segfault/OpenLRR
Written inC, C++
EngineGods98
Operating systemMicrosoft Windows
Platformx86
Available inEnglish
TypeReal-time strategy game
LicenseGPLv3 (OpenLRR code), MIT (decompiled code)[1]

OpenLRR is an open-source re-implementation of the 1999 real-time strategy game LEGO Rock Raiders.

Gameplay and features

As a re-implementation of LEGO Rock Raiders, OpenLRR requires a copy of the original game to already be installed on the computer, and its files must be placed in a working install folder.[2] The gameplay when running OpenLRR is largely unchanged from Rock Raiders; however, OpenLRR fixes numerous crashes, bugs, and issues found in the original game.[3] Most notably, OpenLRR adds a menu bar that allows for toggling numerous functions, including debug and cheat options.[4] Some of its changes include:

Development

Development of OpenLRR began in 2021 as a decompilation project by programmer Robert "trigger-segfault" Jordan, who wanted to look through the LEGO Rock Raiders executable assembly to figure out how the game's config file syntax functioned.[9] Jordan used Ghidra to decompile, identify, and label code from the LEGO Rock Raiders executable. The decompilation focused on the September 27 English version of the game's executable (the "Masterpiece edition") as it was considered to be the most stable and widely-used version of the game.[10][note 1] Jordan started a forum thread to post his initial findings on the website Rock Raiders United on June 17, 2021.[9] Over the next few months he continued work on decompiling and identifying all the functions, global variables, symbols, and data types in the assembly. Jordan's work was made easier by the release of the source code for the Gods98 game engine, which LEGO Rock Raiders uses, after it was discovered on hard drives formerly owned by developer Data Design Interactive.[11]

By September 3, Jordan had organized most of the game's code into a more navigable state. Using DLL injection, he was able to replace several functions in the game's executable, allowing for new functions such as controlling entities in top-down view, multi-colored crystals, and resource monitoring.[11] (Prior to this, he had released some assembly patches created in Python, including one to fix a bug with certain sounds not playing.)[12] Jordan planned to eventually build on this concept to create an open-source version of the LEGO Rock Raiders executable, similar to projects like OpenRCT2 (which Jordan had previously contributed to).[13][11] A GitHub repository for the project, now called OpenLRR, was created on September 9, 2021.[14] The first build version of OpenLRR was released on February 18, 2022.[4] Update builds builds were released during August and September 2022.[15][16] Further edits were made to its code through October 2023, though Visual Studio 2019 is required to compile these versions.

Version history

Caption text
Version Release date Release info
0.0.0.1 February 18, 2022 First Release
0.0.0.2 August 11, 2022 Random sound cue fix
0.0.0.3 August 13, 2022 Multiple sound trigger and erosion debug tooltip fix
0.0.0.4 August 25, 2022 Configurable keyboard shortcuts and cheats
0.0.0.5 September 16, 2022 True color support and command line options
0.0.0.6 September 24, 2022 Increase 3D and Radar Map resolution when scaling
0.0.0.7 September 27, 2022 Optimisations, cursor clipping, mod support, and more!

See also

Notes

  1. The English version of LEGO Rock Raiders has three known executable versions: a September 25 version, a September 27 version (commonly called the Masterpiece edition as it was the version used in LEGO Masterpiece-labeled released of the game), and an October 12 version (which includes SafeDisc protection).

References

  1. trigger-segfault (February 23, 2022). "License and copyright considerations". OpenLRR Issues (GitHub issue). Archived from the original on September 29, 2024 – via GitHub.
  2. Jordan, Robert (December 17, 2021). "Running OpenLRR". OpenLRR Wiki. Archived from the original on September 30, 2024 – via GitHub.
  3. Baraklava (13 February 2024). "A modern guide to experiencing LEGO Rock Raiders!". Reddit. Archived from the original on October 1, 2024.
  4. 4.0 4.1 trigger-segfault (February 18, 2022). "First Release". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.
  5. trigger-segfault (August 25, 2022). "Configurable keyboard shortcuts and cheats". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.
  6. 6.0 6.1 trigger-segfault (September 16, 2022). "True color support and command line options". OpenLRR (GitHub release). Archived from the original on October 1, 2024 – via GitHub.
  7. 7.0 7.1 trigger-segfault (September 24, 2022). "Increase 3D and Radar Map resolution when scaling". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.
  8. trigger-segfault (September 27, 2022). "Optimisations, cursor clipping, mod support, and more!". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.
  9. 9.0 9.1 trigger_segfault (June 17, 2021). "In-depth Look at the CFG Syntax". Rock Raiders United. Archived from the original on September 29, 2024.
  10. Jordan, Robert (December 17, 2021). "Decompiling LEGO Rock Raiders". OpenLRR Wiki. Archived from the original on July 1, 2024 – via GitHub.
  11. 11.0 11.1 11.2 trigger_segfault (September 3, 2021). "Open Source Decompilation of Rock Raiders". Rock Raiders United. Archived from the original on September 29, 2024.
  12. trigger_segfault (June 27, 2021). "Sounds good! I've actually already gotten an assembly patch working to fix this..." Rock Raiders United (comment on forum topic "In-depth Look at the CFG Syntax"). Archived from the original on September 30, 2024.
  13. Jordan, Robert (November 21, 2018). "OpenRCT2 Contributions". Trigger's Tools & Games. Archived from the original on September 30, 2024.
  14. trigger-segfault (September 9, 2021). "Initial commit". OpenLRR (GitHub commit). Archived from the original on September 29, 2024 – via GitHub.
  15. trigger-segfault (August 11, 2022). "Random sound cue fix". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.
  16. trigger-segfault (September 28, 2022). "v0.0.0.7 - Hotfix 1". OpenLRR (GitHub release). Archived from the original on September 30, 2024 – via GitHub.