Releases: raceintospace/raceintospace
v2.0 Release
Notes:
- In Windows, Microsoft Defender SmartScreen may prevent you installing from the Downloads folder. You should be able to get around that by disabling SmartScreen in Settings, or simply moving the install file to another location before running it.
- To run the game in its original size, either run it with the -s switch, e.g. "C:\Program Files (x86)\Race Into Space\raceintospace.exe" -s (with the quotes), or set xscale 0 in the config file
- The Mac version has no music at present, but we hope to fix that with a 2.0.1 follow-up file.
- The Debian12 installer below is, as you might expect, for users of Debian 12: its C++ library is different than the one in Ubuntu 24.10.
What's Changed
BACK-END CHANGES
- Game brought over from Sourceforge to GitHub
- Versioning system converted from CVS to GIT
- Code converted from C to C++
- Code cleanup to make the game easier to modify (#623, #626, #639, #644, #645, #783, among others)
- Parts of the code brought into line with standards (#624, #783)
- Improved readability of code in spaceport animation (#800)
- Removed legacy code for compressing save games (#777)
- Vestigial copy protection code finally removed (#493)
- Images have been changed to use discrete image files rather than being embedded into the code (#51)
- Many of the data files have been converted from hexadecimal to JSON format (#3)
- We've added some JSON serialization for game data and save games. (#478)
- Deserialization of JSON files has been moved to the initialization of the game, improving its performance (#774)
- Removed redundant code in the spaceport menus that redrew the date and cash values (#773)
- The abbreviation for the sound to play in the Intelligence screens was "INTELLEG"—now "INTELLIG"
- In the config file, "altasLunar" has been corrected to "atlasLunar"
- The music files have been moved to a separate repository for copyright reasons (#420)
- Fixed several out-of-bounds memory reads in the AI and astronaut code, which may have led to inconsistent AI behavior, or doing things it shouldn't (#825)
- Removed several unused variables and renames others given nonsensical names (#846)
- Fixed some memory leaks when checking file location (#845)
- Added an optional alignment argument to the draw_string method to make text centering easier (#840)
Since transitioning to C++ on GIT, the game has been brought up to where we left off (that is, bugs introduced by the transition have been fixed).
Below are improvements that have been made over what the game offered in v.1.1.
BUG FIXES AND PROBLEMS SOLVED
LARGER ITEMS
- The game music is fixed. It used to be that each screen would play its tune, then pause, then make a very loud buzzing or play the beginning of another screen's tune, or even snatches of audio from space missions (#209)
- The duration penalty system has been fixed, and is working right for the first time ever (#246)
- This makes a final solution to what has sometimes been called the "Duration B Bug", where your first duration mission (or sometimes all of them) would be assessed a duration penalty even if you weren't skipping a level
- The newscast announcing that all manned missions will be canceled this turn no longer cancels unmanned missions as well (#164)
- 'Nauts killed in a newscast (train accident, etc.) are now removed immediately (#240)
- Before, they wouldn't be removed until the start of the following turn, making it possible for a dead crew member to fly a mission
- If you flew a Docking Duration mission and the Docking step failed, it would cancel the remainder of the mission without attempting Duration (#322)
- If you flew a Lunar Orbital LM Test and the LM Test part failed, the game didn't give you credit for having flown the Lunar Orbital, even though that part of the mission was successful. (#332)
- When the LM failed to lift off from the Moon saying "Engine explodes upon ignition. Spacecraft crew is killed." it used to kill all crew members, including the one in orbit (#476)
- If the LM lifts off from the Moon but fails to develop full thrust and makes an emergency landing back on the surface, stranding the crew, the Docking Specialist up in orbit died too (but managed to bring the capsule home anyway) (#287)
SMALLER ITEMS
- Newscast issues
- The Soviet newscast now plays the Soviet newscast music (#214)
- Starting with the CD version of BARIS, and in RIS through v.1.1, it played the US newscast music
- The Soviet music improves the timing so that the movie's video better matches the voice of the newscaster
- The newscast announcing that a storm front has blocked a launch window now specifies which pad (#169)
- Before, it had called it "the H launch facility" (since h is used as a variable).
- Issues with damaged equipment (when a component faces a Safety penalty on its next mission unless the player pays to fix it):
- There was sometimes a mismatch between newscast and actual numbers (#204, #243)
- The VAB/VIB wasn't properly reporting damage to rocket.
- The game didn't make sure you had enough cash to pay, allowing you to have a negative number of MBs (#268) [not sure if this was in 1.1]
- The newscast saying a given piece of hardware has lost x% Safety could sometimes claim it lost more than it actually had (#569)
- There was a rarely encountered bug with damaged hardware (pay xMB or lose y% Safety) where paying to fix it didn't repair the damage (#737)
- The second of the two newscasts announcing that the primary crew is sick and will be replaced with the backup crew never worked before; now it does (#286, #325)
- The newscast stating that an astronaut left to become a test pilot, or has been transferred for reeducation, instead sent them to the Hospital/Infirmary (#290)
- Fixed a delay with sound and artifacts in audio for the Soviet newscaster (#893)
- There were three newscasts which were supposed to reduce your budget by 20, 25, or 30 MBs, or by 20%, 25%, or 30% of your budget, whichever is less. Instead, if 20/25/30% was less than 20/25/30 MB, it reduced your budget to 20/25/30% of what it had been, causing your budget to drop like a rock. (#394)
- The newscast that delayed a mission on the pad used to delay missions that can't be launched next turn, such as Mars/Jupiter/Saturn flybys (fixed as part of #167)
- There was also a newscast that was supposed to increase your budget by 20MB, but the conditions under which it was allowed effectively prevented it ever happening (#397)
- When a newscast gives you three Air Force pilots, they now come with skills. They used to start out in Basic Training with 0s in everything (#541)
- Air Force Astronauts didn't show a Group. In Basic Training it was blank, and in History they showed as Group X. Now in Basic they show as Group A.F. (for Air Force). In Astronaut History they show as Group USAF; in Cosmonaut History they show as Group VVS, the abbreviation for the Soviet Air Force. (#669)
- The newscaster now no longer says R&D will be stronger/weaker for a year, since it actually lasts just one season (#284, #895)
- When the newscast reported that a recruit in Basic Training was a physical washout, it used to send them to the Hospital, then return them to service instead of turning them out (#315)
- Mission injuries that led to immediate retirement would retire someone without telling you. Now the retirement is announced in the newscast. (#568)
- The text for the newscasters' opening and closing lines now match what they say in the video.
- The Soviet newscast now plays the Soviet newscast music (#214)
- Mission Failures
- On a mission where the rocket explodes but the crew escapes thanks to the Launch Escape System pulling the capsule to safety, you still received credit for Manned Space Mission. Now you won't get credit unless the mission reaches the Reentry step. (#330)
- On a lunar landing, "Permanent communications loss with ground control. Mission is scrubbed." would ask who should be first on the Moon, but it shouldn't have because no one would be getting out. (#514)
- When the capsule's emergency-eject system has to be used, the mission would often continue right after, or say it was used successfully but all the crew shows as dead (#244)
- A launch failure on a manned mission could sometimes activate the emergency ejection system, show the capsule jetting away successfully, but then crashing. The text, however, would erroneously tell you that the capsule was pulled down by the boosters. (#725)
- Fixed a bug where a rocket suffers a major fire on the pad, destroying it; the crew survives, but without any mention of the emergency-eject system being used (#547)
- If your lunar landing failed with the message "Maneuvering failure, craft lands in rough terrain causing damage", the mission would go straight to Lunar Orbital Activities, skipping the liftoff (#505)
- A Joint lunar mission that manages to get the unmanned component into orbit would give credit for performing a manned lunar landing, even if the manned part of the mission failed. (#678)
- LM gets a catastrophic failure but the failure screen only mentions the LM pilot, not the commander. Then the Mission Review says all three crew members were killed. Yet they're still alive and well in the capsule program afterward. (#847)
- An "A-OK" failure on an LEM Thrust Test (that is, one that let the test continue successfully) used to not award you LM Point(s) for the test (#441)
- If an emergency EVA was needed to get back to the capsule after the Moon landing, the game wouldn't give you credit for the landing (#741)
- Game Crashes
- Fixed an out-of-bounds write in the VAB when reassembling hardware, which led to corrupt data and an assert failure upon autosave. (#704)
- Fixed an array overflow error th...
v.2.0beta
HOW TO INSTALL
-
Run the installer.
-
Go to C:\Program Files\Race into Space 2.0.0\bin, and Send raceintospace.exe to Desktop.
-
Edit the shortcut you just created, and set the Start in line to: "C:\Program Files\Race into Space 2.0.0\data\data"
-
Then, of course, rename the shortcut and give it an icon you like (download from https://github.com/raceintospace/raceintospace/tree/master/icons if need be)
WHAT'S CHANGED
BACK-END CHANGES
- Game brought over from Sourceforge to GitHub
- Versioning system converted from CVS to GIT
- Code converted from C to C++
- Code cleanup to make the game easier to modify (#623, #626, #639, #644, #645, among others)
- Parts of the code brought into line with standards (#624)
- Many of the data files and images have been changed to use discrete image files rather than being embedded into the code (#51)
- Vestigial copy protection code finally removed (#493)
- The abbreviation for the sound to play in the Intelligence screens was "INTELLEG" - now "INTELLIG"
- In the config file, "altasLunar" has been corrected to "atlasLunar"
Since transitioning to C++ on GIT, the game has been brought up to where we left off (that is, bugs introduced by the transition have been fixed). Below are improvements that have been made over what the game offered in v.1.1.
BUG FIXES AND PROBLEMS SOLVED
LARGER FIXES
- The duration penalty system has been fixed, and is working right for the first time ever (#246)
- This makes a final solution to what has sometimes been called the "Duration B Bug"
- The newscast that announces all manned missions will be canceled this turn no longer cancels unmanned missions as well (#164)
- 'Nauts killed in a newscast (train accident, etc.) are now removed immediately (#240)
- Before, they wouldn't be removed until the start of the following turn, making it possible for the dead crew member to fly on a mission
- If you flew a Docking Duration mission and the Docking step failed, it would cancel the remainder of the mission without attempting Duration (#322)
- If you fly a Lunar Orbital LM Test and the LM Test part fails, the game didn't give you credit for having flown the Lunar Orbital, even though the lunar orbital part was successful. (#332)
SMALLER FIXES
- On a mission where the rocket explodes but the crew escapes thanks to the Launch Escape System pulling the capsule to safety, you still got credit for Manned Space Mission. Now you won't get credit for that unless the mission hits the Reentry step. (#330)
- The newscast announcing that a storm front has blocked a launch window now specifies which pad (#169)
- Before, it had called it "the H launch facility" (since h is used as a variable).
- When a component faces a Safety penalty unless the player pays to fix it, there was sometimes a mismatch between newscast and actual numbers (#204, #243)
- The VAB/VIB wasn't properly reporting damage to rockets (where you're required to pay xMB or suffer y% Safety loss on its next mission).
- When a component faces a Safety penalty unless the player pays to fix it, it didn't make sure you had enough cash to pay, allowing you to have a negative number of MBs (#268) [not sure if this was in 1.1]
- The second of the two newscasts announcing that the primary crew caught cold and will be replaced with the backup crew never worked before; now it does (#286, #325)
- The newscast stating that an astronaut left to become a test pilot or has been transferred for reeducation instead sent them to the hospital/infirmary (#290)
- The LM failure "Engine explodes upon ignition. Spacecraft crew is killed." used to kill all three crew members instead of just the Commander and LM Pilot (#476)
- If the LM lifts off from the Moon but fails to develop full thrust and makes an emergency landing back on the surface, stranding the crew, the Docking Specialist up in orbit died too (but managed to bring the capsule home anyway) (#287)
- On a lunar landing, "Permanent communications loss with ground control. Mission is scrubbed." would ask who should be first on the Moon, but it shouldn't have because no one was getting out. (#514)
- Because of the nature of the variable for 'naut mood, after a successful mission it could roll over above 100, which would result in a very low number, potentially leading to two entire flight crews resigning out of sudden bitterness during their moment of triumph (#484)
- The newscast that delayed a mission on the pad used to delay missions that couldn't have been put back a turn (such as Mars/Jupiter/Saturn flybys).
- There were three newscasts which were supposed to reduce your budget by 20, 25, or 30 MBs, or by 20%, 25%, or 30% of your budget, whichever is less. Instead, if 20/25/30% was less than 20/25/30 MB, it reduced your budget to 20/25/30% of what it had been, causing your budget to drop like a rock. (#394)
- There was also a newscast that was supposed to increase your budget by 20MB, but the conditions under which it was allowed effectively prevented it ever happening (#397)
- When a newscast gives you three Air Force pilots, they now come with skills. They used to start out in Basic Training with 0s in everything (#541)
- In the Capsule Screen, if you tried to break an empty crew, it would tell you the crew was assigned as the backup crew for a current mission - now it says it's an empty crew (#348)
- Jupiter flybys were set to take 7 turns to arrive, the same as Saturn - now they're set to 4 like they were supposed to be (#171)
- Removed visual artifacts next to astronaut wings and medals in Astronaut/Cosmonaut History (#299, from #192)
- Better centering of astronaut wings in Astro/Cosmonaut history for those who've flown in space.
- Fixed a bug with technology transfer for the Titan/Proton rocket: the technology bonus from multiple rockets at 75%+ was not being applied (#310)
- Fixed a bug in Future Missions: if you chose a mission and proceeded to where you select a capsule or crew, then cancel - then press Continue again (either after choosing a different mission or deciding to go ahead with the same one), and you select capsule or crew, when you go back to Future Missions you find the mission canceled (#222)
- Fixed a bug in the VAB/VIB: with some payloads, the color of the rocket/booster combination wasn't changing to reflect whether it could lift the currently selected payload (#298)
- This was noticed with an XMS-2 Lunar Pass using B/Titan and a B-Kicker. When you cycled to B/TITAN, the Current Payload displayed in dark red to show that a boosted Titan couldn't lift that combo, but "B/TITAN" under Rocket still showed in white, sometimes leading the player to purchase hardware that couldn't do the job.
- Fixed an array overflow error that used to occasionally crash toward the end of the game (#40, #200)
- Fixed a bug that caused the game to crash with a black screen, if the AI can't find an available crew to send on the mission it's about to fly. This happened most often when it was flying direct ascent. (#552)
- When you're flying docking tests, the game used to get stuck sometimes at 2 DMs in your inventory. For the rest of the game you always had two docking modules and didn't have to buy them again (#319) [not sure if this was in 1.1]
- An "A-OK" failure on an LEM Thrust Test (that is, one that let the test continue successfully) used to not award you LM Point(s) for the test (#441)
- The game used to allow you to assign Duration missions with an illegally low duration (#257, #278)
- When the capsule's emergency-eject system has to be used, the mission would often continue right after, or say it was used successfully but all the crew shows as dead (#244)
- Fixed a bug where a rocket suffers a major fire on the pad, destroying it; the crew survives, but without any mention of the emergency-eject system being used (#547)
- The image for a damaged/destroyed Soviet launch pad instead showed a functioning pad with a rocket ready for launch. It now shows a damaged pad. The damaged-pad icon for the US wasn't too obviously damaged either, so now it's more so. (#412)
- BARIS allowed you to use PgUp and PgDn to scroll through the newscast more efficiently, both at the start of your turn and later in the Viewing Stand. That functionality was lost in RIS because DOS has a peculiar way of processing those keys, but it's now been restored - along with the Home and End keys.
- Mission injuries that led to immediate retirement would retire someone without telling you. Now the retirement is announced in the newscast. (#568)
- Resolved excessive astronaut/cosmonaut retirement checks to match original intent (#428)
- Resolved inconsistencies between the code and the comments when the game checks to see if people should retire.
- In recruitment, if you clicked and held on the up or down arrow, it would take 3 or 4 seconds before the list would start to scroll.
- Addressed an oversight: in recruitment, if you dismissed a candidate, the number of available spots didn't show any higher on the right. (#581)
- The number of spots to fill in recruitment now shows immediately instead of after you've selected to recruit one.
- In recruitment, the Continue button didn't look quite right when clicked on (off by 1px).
- In Preferences, the Human/AI button nestled into the world map never looked quite right on the Soviet side. Now it does. (#353)
- There were two bugs that would cause the game to do a core dump and close if your LM made a fiery impact on the lunar surface. One of them has been fixed (#501)
- When a save is loaded in the Fall, the game would create an extra new intelligence briefing. This could potentially have created an array overflow and overwriting of variables in games that were saved multiple times (#217)
- If your lunar landing failed with the message "Maneuvering failure, craft lands in rough terrain causing damage", the mission would...