diff options
Diffstat (limited to 'WhatsNew')
-rw-r--r-- | WhatsNew | 512 |
1 files changed, 512 insertions, 0 deletions
diff --git a/WhatsNew b/WhatsNew new file mode 100644 index 0000000..89ec6c2 --- /dev/null +++ b/WhatsNew @@ -0,0 +1,512 @@ +This file tries to organize and describe the changes between releases. +Changes are broadly classified into the following categories: + +- New Features: These are either elements of the original games that + were first implemented in this release, or actually new capabilities + that are visible to the user. + +- Bugfixes: The removal of visible Bad Things from the code. + +- Internal Changes: The removal of invisible Bad Things from the code, + or changes in the way the program itself is structured. These are + unlikely to be of interest to you unless you plan on coding + extensions. + + Version 0.8 + ------------- + +NEW FEATURES + +- Savegames may now be given descriptive names. Savegames from 0.7 or before + will load fine, but games saved in 0.8 will not work in earlier versions. +- You can now buy fuel at the Starbase 10 at a time with PageUp and PageDn. +- F6 may be used by default to search the starmap along with slash. +- Remixes and voices can be turned on or off directly from the Setup menu, + instead of needing to drive the voice volume to zero by hand. +- A new OS/hardware compatibility layer based on SDL2 is now available. This + provides much better support for fullscreen and more efficient use of 2D + GPU acceleration. The new layer supports D3D11 on Windows, Metal on macOS + and iOS, and can even produce a proper fullscreen display on the Raspberry + Pi without X11. The original pixel-based SDL1 backend is still supported + for older or more obscure systems. + +BUGFIXES +- The Windows net installer works again and can automatically download + packages you ask for that are missing. +- Earlier versions of the code used some symbols in the include guards that + were theoretically reserved to gcc. In the intervening nine years, that + became less theoretical and the code stopped compiling. These have all now + been renamed. +- Netplay code no longer breaks when compiled on modern versions of MSVC. +- You can no longer savescum Melnorme rescues to get better deals. +- Glitches related to the Shofixti Glory Device and the Pkunk Ressurection + have been resolved. +- Various dialogue lines typo-fixed or brought into line with original +- Sound options that require a restart aren't lost if you revisit the setup + menu without restarting. +- Fixed a softlock when encountering ships in interplanetary space at + exactly the wrong place. +- Fixed incorrectly sized fuel range circle on Hyperspace map. +- Credits and acknowledgements are no longer nine years out of date and are + now at the level of detail expected of 2020-era indie games. + +INTERNAL CHANGES + +- The build system has been unified around the Linux build system. Windows + builds are built under MSYS2, and macOS supports both traditional framework + libraries or building under brew. +- SDL_image is no longer a prerequisite; libpng is now used directly. +- The save file format has changed, in part to allow namable savegames, but + also to make it easier to edit with simple tools or for independent mods + to compatibly and simultaneously extend. +- Improved documentation and code organization throughout the code. +- Removed many warnings and memory leaks. +- Dramatic streamlining of the multithreading code. +- The C-based code and build system has been modified and annotated to allow + extensions to be written in C++ if desired. + + Version 0.7 + ------------- + +NEW FEATURES + +- Added the missing bits to the no-voice versions of Mycon, Syreen and + Utwig dialogue +- New lander reports for Supox ruins and Ultron. The reports text + is new content from TFB. +- Added spoken Slylandro probe coordinates +- Remixes are now selectable from the setup menu +- Added a "safe mode", which will ignore settings. Useful if you've somehow + wrecked your configuration files. +- Added --addondir commandline option +- Added --keepaspectratio to keep correct aspect ratio when using + custom resolutions in OpenGL mode +- New addon machanism allows greater flexibility for selecting which + resource goes with which game element. +- Joystick text input improved +- Unicode strings now could theoretically support UCS-4 on all platforms +- Experimental support for Symbian S60 3rd edition +- Support for Windows CE +- Added fullscreen/windowed toggle key F11 +- Support for 3DO "ship spin" videos +- Better location description in savegame summaries +- Cancel key will now quit out of the Manifest Menu +- Error boxes on MacOSX are now actually native to the OS - no need to check + Console.app anymore. + +BUGFIXES + +- Properly account for simultaneous destruction in SuperMelee. +- Ending a battle with a simultaneous death no longer triggers an + assertion +- Druuge no longer turn hostile after attempting a salvage +- Fixed Mmrnmhrm's X-Form transformation without energy use +- Fuel and distance estimates are now more accurate +- Analog joysticks less sensitive to jitter +- Cannot talk to Ilwrath with a 'caster anymore after they die off +- Fixed enemy ships getting recrewed between encounters in HyperSpace +- Old Windows installer was horribly obsolete; fixed now. +- Fixed rendering error when entering the orbit of a shielded planet +- Fixed planet blinking when exiting scan +- Menu sounds restored after editing a control set name. +- Fixed a freeze when quickly escaping melee. +- Fixed misaligned cargo count +- Fixed a crash when filling fuel tanks over 10 +- Comm code rewrite, fixing a lot of minor annoyances +- Team configuration in netplay no longer desyncs +- Fixed Melee menu timeout when both sides are Cyborgs +- Fixed AI ship not moving on warp in +- Revert gfx settings entirely when a mode switch fails +- Fix for weird colors problem on MacOSX with SDL 1.2.14 +- Lander will no longer hang when killed on planets with a lot of + natural disasters +- Fixed crash when saving a game into the last slot while having + too many devices on board +- Fixed crashes and potential weirdness when loading savegames from + a Homeworld encounter screen +- Fixed a crash when conversing with music disabled +- Extremely busy battle sequences (Orz vs. Orz with many space marines + out, for instance) no longer introduces graphical glitches +- Fixed rendering bug that would occasionally make a ship just be solid + blue all the time +- Objects in melee made of multiple "parts" no longer jitter during zoom +- Fixed a crash on startup if uqm.cfg did not exist +- Extremely rapid key presses will no longer be lost at low framerates +- 3DO videos now work after a resolution change +- OpenGL texture loading uses surface pitch instead of screen width, + improving compatibility across older graphics cards. +- Miscellaneous conversational typo and timing fixes +- 999.9:999.9 is now reachable in HyperSpace +- Do not match singular stars when given a prefix in star search +- Fixed wrong Sa-Matra guards icons after Kohr-Ah win +- Canceling load from the main menu returns to main menu +- Gas giants can no longer have negative masses + +INTERNAL CHANGES + +- Code cleanup; many warnings removed +- Massive changes to the way the resource system works. This is + mostly interesting in that 3DO voices, 3DO videos, and 3DO music + are now addon packs like any other. +- Code reorganization; old stuff removed, new stuff better set-up +- 32-bit graphics everywhere internally. +- Refactored universe generation +- Pthread support +- Removed the 256-frame limit on .ani files + + Version 0.6 + ------------- + +NEW FEATURES + +- Netplay! You can now engage in Super Melee over the Internet. +- Key configuration is now entirely in-game. +- UQM now compiles and runs on 64-bit systems. + +BUGFIXES + +- The Quit button (F10) now works properly when used during the + introduction sequence. +- Various small fixes to text and conversation logic. + +INTERNAL CHANGES + +- The setup menu now reads all its text from the content, easing + translation. +- The MOD player for PC-style music can now be linked against an + external version of libmikmod. +- Various code cleanups and memory optimizations. + + Version 0.5 + ------------- + +NEW FEATURES + +- The Starmap is searchable! Type / then the beginning of the + constellation name, and you can tab through all possible + completions. +- New 'hq' scaler, based on Maxim Stepin's "HQ2X" scaler. See + www.hiend3d.com/hq2x.html for more details. +- Scalers can use MMX/SSE/3DNow! instructions for significant speed + improvements. The "Processor pack" is necessary for compilation of + same on VC6. +- Imported DOS versions of many graphics; these have richer palettes + and so generally look better +- There's a proper credit roll at the end of the game now. +- Superior Planet handling: topographical maps scaled far more + precisely; optional 3DO-style throbbing slave shield; planets are + finally rotating spheres instead of spotlit cylinders or rectangles. + The old PC-style "Entering Planetary Orbit..." screen is back. +- Setup Menu far more complete and easy to use, and selections made in + the Setup Menu will actually persist when you restart the program +- Added support for the Tremor Ogg Vorbis decoder (avoids floating point + math) +- Home, End and BackSpace keys work as you'd expect in text input. +- Most of the game works with Unicode properly now, and so, with proper + font characters installed, will work with non-Latin alphabets. (On + Windows, Unicode input requires a very recent version of SDL.) +- Text may be input with the joystick again, as on the 3DO. The + available characters are stored in content/lbm/joyalpha.txt. +- The intro now plays only when a new game is started. +- Color depth is now determined entirely automatically. + +BUGFIXES + +- Only SELECT and CANCEL trigger the fade-to-black at the end of a + Super Melee, solving the issue of invisible "Really Quit?" menus for + Super Melee. The "quit during fades" problem in general is still + extant. +- Many dialog, and comm animation, and general graphical fixes +- Keypress status is not reset when entering battle mode, so (for + instance) Melnorme ships can continue to charge a shot across + battles. +- The Melnorme would occasionally strip off Plot Points as part of a + fuel deal. No longer. +- Bugs in the original code prevented certain ships from properly + spawning in "uncontrolled" space. The "wilds" are now a bit wilder, + as apparently originally intended. +- Venus's atmospheric density was incorrectly corrected in the 3DO + version. It's been correctly corrected now. +- Scheduled plot events work properly, even when the game suddenly + skips ahead in time. +- Fixed version checking in unix build scripts. SDL 1.2.10 is now + recognised as newer than 1.2.9. +- Spliced communications can be safely skipped past now. +- Fixed fast escape weirdness (bug #619) +- Threading system no longer assumes that there is no thread 0; this + permits compilation on AmigaOS. +- Relative paths and fallback paths work properly now. +- Scalers now use surface pitch instead of image width - this is + reported to solve many strange display problems in non-OpenGL mode + on Macs +- Ending sequences may now be safely paused. + +INTERNAL CHANGES + +- Added the rest of devel/ and users/ documentation into MSVC .dsp + files. +- Control scheme upgraded. Old versions of keys.cfg will no longer + work. +- PNG transparency info (tRNS chunk) is now set properly, based on + info in the .ani files. +- Paletted images should render much faster now, and collisions + between mods are less likely. +- New font engine: fonts are loaded and treated as alpha-channel-only + images, with font effects handled as backing images. +- Melee works properly with alpha-channel graphics new, even when + mipmapped. +- Lander report drawing handled more sensibly now +- Binary resource indexes have been replaced with textual ones. +- All spritework is done internally in 32BPP. +- Removed MikMod i/o hacks. +- The temp files for representing star and group data are now kept in + memory instead. +- Separate config_win.h file for build.sh builds on Windows +- Lowered some animation rates to reasonable levels, lowering CPU + usage. +- Changed comm subtitle caching scheme. Should kill the "blue comm + screen" problem forever. +- Refactored setup menu code to use generic widgets. +- Cleaner build output. Set '$MAKE_VERBOSE' to 1 for old output. +- Improved dependency tracking for unix build system. "./build.sh uqm + depend" is now only needed for checking for new source files. + + Version 0.4 + ------------- + +NEW FEATURES + +- Savegame slot defaults to the last one used during this play +- PC intro and ending sequence are now present +- 3DO intro and ending movies are supported for those who have these + movies from the 3DO CD of Star Control II +- Improved slave shield graphics +- Added a new -l option to produce logfiles +- Added a new 'triscan' scaler derived from scale2x +- Made the fact that self-destructing ships grant resources more obvious +- Added a "config dir" option for holding saves and melee information +- Cocoa hooks +- Setup menu now permits configuration of some options. They do not + yet persist past program quit, though. +- Added a "--version" option +- Melee images are now based on the (richer) DOS content +- 3-step melee zooming as per the PC version is now implemented +- It is now possible to complete the game without ever allying with the + Starbase (if one is insane; this is known on the forum as "Beating The + Game Differently" - but bugs and plot elements preventing this have been + fixed or evaded under this circumstance). + +BUGFIXES + +- Fixes to the Quit Confirmation dialog +- Collisions/encounters with "invisible" fleeing ships gone +- Other ships insystem remain in proper locations after planet landing +- Fixed some keyboard "focus" problems where flight controls were + being cleared at inappropriate times, or interfering with menus +- Graphics fixes +- Subtitle timings work in the absence of oggs +- Conversation summaries with Melnorme no longer crash +- --contentdir argument may now have spaces +- $HOME isn't required for Unix systems anymore +- Fuel estimates fixed (original bug) +- Fuel usage on planet landing now correcly reported on all versions +- MOD music will play on big-endian machines under high-quality now +- Space marines die in a self-destructing Scout +- ZFP speech is properly vertically aligned now +- Various odd behaviors when loading in HyperSpace now fixed +- Quitting from the Roster screen no longer crashes +- Many dialog fixes +- The "Blue Comm Screen" problem no longer occurs +- Combat Energy computation in Outfit Flagship screen corrected +- A game crash that manifested when pausing after 85 minutes has been + corrected +- Main menu version number drawn more consistently +- Transparency bugfixes - 3DO ending credits, planets in battle +- Content packs may also be named ".uqm" - these are really still + zip files, but you can't expand them by accident. +- One may now configure a joystick without crashing the game if the + joystick is not present +- Music volume normalized throughout the game + +INTERNAL CHANGES + +- Thread system completely reworked to provide more detailed thread + information, and to prevent resource leaks +- Sound code is now virtualized and separate from game logic +- Fine-grained control of menu sounds +- Input system fully unified - all parts of the game use the same + basic structure now +- Build scripts made more robust +- Window-drawing code was lifted out of confirm.c and made more general +- Lots of debugging functions +- Unicode support for game dialogs and fonts +- Lots of code cleanups +- Documentation of more internals + + + Version 0.3 + ------------- + +NEW FEATURES + +- PC-style shipyard graphics, complete with animated power lines +- Selling ships in the shipyards has slightly different controls + that make it harder to sell ships accidentally +- Main menu displays version number +- Added a '-g' option to control gamma correction +- Planet spin has been improved +- Trilinear (mipmap-based) scaling in melee +- PC-style conversation summaries have been implemented +- Ship location display in status bar matches original more closely +- Game flags (such as AWARE_OF_SAMATRA) that were ignored by half the + game (even in the original) now are more universally available +- Oscilloscope and Mini-Map have borders now +- Commander Hayes won't let you rescue him until he's explained his + predicament +- Confirmation dialogs are now menu-based +- Positional sound effects are available for OpenAL +- Delete key works on Super-Melee team editing +- Exit key from the Main Menu will quit the game +- Quit option available in GAME menu +- New Main Menu graphics: Setup (not yet implemented) and Quit are + options at the Main Menu now +- Cubic resampling in high quality audio mode +- PC-style alien outtakes when game is completed +- 2 more ship slots in melee, as the PC Star Control 2 had. +- All the standard melee teams from the Star Control 2 PC version. +- Support for 50 savegames, instead of just 10 +- 'CREW'/'BATT' instead of icons in melee when using PC menus + +BUGFIXES + +- Text entry doesn't freeze up lander reports anymore +- VUX warps in at proper range +- Distance-based ship effects (Syreen, Slylandro, Kohr-Ah) were screen + size dependent +- Line clipping fixed +- Various communication animation glitches solved +- Various melee crashes solved +- Various race conditions eliminated +- Scaling of graphics is handled by the rendering thread now, solving + issues where the background and object scales would drift out of + sync +- Subtitle text is clipped more carefully +- Objects can no longer be scaled to total invisibility +- Various dialogue fixes +- Crossfade glitches eliminated +- Pause and Exit keys function properly everywhere +- Visit Count overflow with Yehat and Chmmr patched +- Wav loader and color transforms are now endian safe +- Menu glitches when leaving the "GAME" menu are gone +- Druuge transactions no longer baselessly increase crew cost +- Lander speed has been retimed to match 3DO +- Audio resampling works now correctly (less cracklings) +- MixSDL buffer underrun handling fixed +- Some memory leaks have been eliminated +- Fixes and speed improvements on bilinear, biadapt, biadv scalers +- Various minor graphics glitch fixes +- Crew death on planet is now counted properly in all cases +- Mouse cursor is now hidden in fullscreen mode +- Guardian in Blazer mode being drained by DOGI will no longer + result in a non-blazer Guardian with Blazer effects. + +INTERNAL CHANGES + +- Legacy graphics code stripped down tremendously, a lot of "poor + man's object orientation" has fallen away too. Many uses of + function pointers with only one possible value replaced with simple + direct calls. +- Crossfades require you to explicitly cache the screen before drawing + the transition target +- User Input code has been completely rewritten +- File I/O code has been completely rewritten +- Subtitle drawing is now cached as its own sprite; communication + screens are much less graphics intensive now +- DRAWABLE_DESC uses separately allocated arrays for its frames + + + Version 0.2 + ------------- + +NEW FEATURES + +- Planet info "coarse scan" information available and properly rendered, + either in 3DO way (symbols) or PC (text) +- 3D spinning planet in orbit window is present, with antialiasing and + phong lighting and an animated approach +- Pixel-perfect collision detection; Spathi/Mycon are thus playable, and + the game is now beatable +- Build system enhanced and generalized to handle OpenBSD and FreeBSD cleanly. +- Oscilloscope display works in communication now +- Color-shading in planet scans +- Earth with its slave shield now functions properly +- Outfit Starship and Shipyard graphics re-extracted +- Save data and temp files are put in a separate directory now +- Star sizes and colors are properly differentiated. +- Planet surface is smoothed, blurred, and randomized slightly when it's + magnified +- SIS Status window fully implemented (including gradiated fonts from PC + version) +- Dialogue "slider" shows how far along the speech is; rewind/forward works +- 'ESC' alone lets you emergency-warp-escape +- Optional PC version menus +- Preliminary support for MacOS X (needs more work) + +BUGFIXES + +- Melee screens cleaned up, SuperMelee menus work. +- Subtitles now render for all alien races +- Major editing of subtitles to match more closely the speeches +- Speech and subtitles are now synchronized properly +- Autopilot indicator doesn't take over the top of the screen anymore. +- Entering star systems on autopilot doesn't crash the system. +- Planet scan is properly erased when cancelling/landing +- Initial display of planet surface on landing is at correct position +- Spheres of influence now move correctly on the starmap +- Melnorme correctly compute the required additional credits +- Team names switching when selecting the next ship to fight in melee fixed +- Commas left dots behind on planetary reports; this is fixed +- Screen resets properly after loading/saving +- Dialog choices wrap properly +- Precursor ship crew count now placed correctly in melee +- 'Cued' color transforms in conversations occur at the right time now +- SIS correctly predicts its own fuel usage now +- Melnorme no longer give away fuel +- Flagship modules are properly aligned +- The PC soundtrack now loops correctly +- Lander upgrades were drawn incorrectly +- Autopilot now works in QuasiSpace without fuel +- Captain portraits in melee are updated properly now +- If you have over 1000 units of a resource, those numbers are properly + cleared + +INTERNAL CHANGES + +- SDL_mixer has been abandoned in favor of either OpenAL or the new + "MixSDL" library built on the basic SDL_audio routines +- Color transforms in communications are merged into the core animation + thread now, improving speed and stability +- Much more flexible handling of commandline options +- All allocated memory is allocated through 'safe' routines that abort if + the allocation fails. +- Thread library now includes condition variables +- Threads can tell the rendering thread to sleep until everything they've + requested is done +- The rendering thread has been recoded to use no heap space and to have a + far smaller memory footprint. +- Added a special #define, DCQ_OF_DOOM, which simulates severe overload + stresses. +- SAI and related scalers removed due to GPL incompatibilities; similar + algorithms reimplemented under GPL. +- Files for the intro and ending sequence have been successfully extracted +- Rendering thread routines are somewhat more modular than before +- Created a new set of graphics primitives that's much easier to use +- Only parts of the screen that actually changed are updated +- Input code rewritten entirely +- Various functions have their names changed to avoid conflicts with + core library routines on OS X + + + Version 0.1 + ------------- +Initial release. |