371 lines
16 KiB
Plaintext
371 lines
16 KiB
Plaintext
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.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.
|