All notable changes to this project will be documented in this file.
- Disable Fast-Travel when Frozen during cut-screens
- Reading UseSmallFonts setting
- Improved Alt-Tab handling in FullScreen mode
- LetterBox and Video playback improvements/changes
- Optimized graphics initialization on various platforms
- HelpScreen updated
- VSync option
- Dlls
- Inventory, Loot, Merchant and ObjInvent dialogs centered
- HD FadeToBlack
- Map, NPC and Converse dialogs centered
- Credits updated
- AchievementsEngine
- Load/Save HighDPI text fix
- Stats and Awards dialogs centered
- GuardDog AI Mask fix
- Magical Mask bug
- Achievements now driven by "Titles"
- Popup position
- Pause game in Windowed MOde when inactive
- Text clearing artifacts in dialogs
- Windows 7 support fixes
- Main menu flicker
- NPC Remove HD/FullHD Fix
- Load/Save filename fix - now using TTF
- Save game bmp
- Quest and Adventure log dialogs centered
- New Launcher
- HD Border overlays
- Load and Transit dialogs centered
- D3D11 render speedup for Windowed Mode
- 4 party member slots for all resolutions
- ClipCursor fixes needed for Windowed Mode
- Initial Achievement triggers
- Windowed Mode
- Scrolls and Statistics
- Two monitor issues
- Class name and boots
- HD/FullHD Pause fix
- Russian game exit adjusted
- Removed unused and troublesome cache
- Revised FastTravel - T-key
- Hearing and Vision range adjust based on game area (HD/FullHD)
- Fn-keys removed - now only 0-9 spell hotkeys
- Russian game exit adjusted
- Hearing and Vision range adjust based on game area (HD/FullHD)
- Fn-keys removed - now only 0-9 spell hotkeys
- Transititon now working again
- Interface assets now arranged by language and generic
- Russian and Polish in-game "Say" now works on any locale of Windows
- Russian and Polish bitmap image font fixes - ANSI codepoints
- Russian game exit adjusted
- Old bug: Handle non-enabled map triggers Cursors
- Taskbars Jump Lists Close Window fixed
- Games music volume, now also used in Credits and Intro
- Close button in Launcher dialog
- Mouse wheel support in Inventory scrolls
- SmallFonts (bitmap image fonts) support changed
- Start of supporting multiple displays/monitors
- Split localized settings from generic settings
- Russian main menu fixed and aligned with other languages
- Taskbar Icon fix
- Ingame text and popup text - support different encodings
- A nasty AI helper bug in ForgetEffect - introduced by me :(
- Keys assigned as Hotkeys shown in spells panel
- Mouse wheel support in Spell list in Options dialog
- KeyEvents code isolated and rewritten
- Spell hotkeys are 0-9 but also F3-F12 works
- Screenshots are now saved in and can be grabbed with 'G'
- X-Ray back to original toggle functionality
- Old AV bug in Character.Perceptible
- Mouse wheel support in Load/Save dialog
- Barefeet in New Game dialog.
- Effects list management, that could cause hidden AVs
- Xref.db variation found - so no more meeting naked Elfs in the wood. Updated Xref.db document.
- Handle annoying I/O messages in CheckCache
- Detecting current screen resolution of primary monitor, to stop picking unsupported HW resolution.
- Small issue with language picker
- Cleaned up the folder structures for the repo and moved the SoAOS assets out. Makes tesing easier and is also more correct since they are not part of the engine but included when code was originally released.
- On demand load of resources like spells were broken.
- A problem with double entries in title.db from the SoAmigos Path v0.7 fixed.
- Character selection with only 1 character are now dressed - it is still winter.
- Using RTL boolToStr and cleanup of MouseEvent signatures.
- Support for Delphi 10.4 Sydney.
- Many try-except conversions, replaced by StrToXDef one-lines.
- .LVL map documentation - not fully complete.
- TZone and TAniFigure typed lists - so removed some casting and default properties - to improve readability and type checking.
- Items.db and Title.db documentation.
- Xref.db documentation - moved into documentation folder with POX file format documentation - both variantions described.
- Character selection. Will check for PlayerX.pox files and check if their "naked" resource file is found. Apart from just copying the Player files, most of them found here needs to be adjusted for the older versions - since resource names and locations are different :( But playing as Yeti is fun :D
- Some code has been rewritten and cleaned-up in the Character creation, but long way to go - a mess.
- Some redundant code
- All DirectX $IFDEFs, and all $IFNDEF DirectX code
- A lot of errors introduced or "missings" in regards to HD/FullHD resolution have now been fixed or resolved.
- A lot of errors in regards to "asset" variations between original game data and new game data.
- Xref.db Version1 FieldByName issue
- HighDPI scaling issue - not allowing the game to run if scaled resolution exceed actual resolution. 4K with >100% DPI.
- All "Menu" dialogs are now centered on screen, and their unit names have changed to SoAOS.Intrface.Dialogs...
- SoAOS.Data.DB unit replaces ItemDatabase.pas - TDataset-style with Locate and TField.as... notation. Also handles Xref.db version variations.
- SoAOS.Intrface.Transit replaces Transit.pas - could need more cleaning
- PartsManager and TitleManager changed to use "TDataSet"-styles - improved readability of remaining code.
- Type casting hell gone in "Transit", and code consolidated
- Much unreadable code
- Check of old DB format - used in parts - the whole "Database" thing should be rewritten
- Support for both old and new "Menu" resources
- HD resources are now added, and are used if no HD files found - so old retail releases can be played in HD/FullHD with extra new files.
- Load of BMP resource into IDirectDrawSurface
- Increased A* path finding grid - to support HD/FullHD, again based on @Rucksacksepp findings
- Game Launcher setting dialog handles old retail releases - with single language/resolution
- INI path handling supports absolute/relative an *nix paths - and cleanedup
- Game Launcher settings dialog - for Language and screen resolution changes
- All ingame Option screen resolution setting code/ui removed
- Refactor of 'WideScreen' title code - now read-only TCharacter.Vision property
- Savegames where not property compatible between screen reolutions
- Improved AI metrics based on @Rucksacksepp AoA code include in ScreenMetric records
- Adding the improvments from @Rucksacksepp AI changes done in AoA - will be default
- A few typos
- RunAway bug found by @Rucksacksepp
- Manual language selection - and color button bug hack
- MysticVision in 800x600 mode increased based on @Rucksacksepp findings - existed as a new ScreenMetric record a few hours.
- Updated README to better reflect what has been added, were it is going and differencies to the original released code.
- Moved Delay, Walking and CollisionCount to TAI
- A few POS() mishaps
- Changed all use of POS() to string helpers - syntactical sugar and recommended
- Commented more unused code - will be removed next
- Moved TFacing and helper into SoAOS.Types
- TFacing record helper
- All FacingString code
- TTokenString string helpers
- Missing License header in new files
- All old strFunctions - replaced by custom string helpers or newer alternatives
- $DODEBUG "noise" isolated
- A bit of INI parsing refactor
- ScreenMetrics includes popup rects for Original/HD/FullHD
- Popup working for Original/HD/FullHD
- Temporary fix for DDrawCompat draw.dll issue (see 2019-04-22) - fixed in newest experimental builds.
- New Tools: discontinued - and continued as POXStudio at: https://github.com/SteveNew/POXStudio
- Pure DirectX branch - cleared of IFDEFS
- Pink bug on flickering TLightZones.
- New Tools: added more actions and fixed several bugs in POX Viewer
- Included bug fixes by Rucksacksepp - on pink tile artifacts - a great thanks for finding these.
- Commented out unused Mouse pointer animation code
- Old SoAOS folder - the unfinished SDL (only Menus done)
- New Tools folder - including new cross-platform POX viewer
- POX File documentation
- Save/Load game now working again.
- Temporary fix for DDrawCompat latest ddraw.dll issue - save game/screenshot and arrow incorrect drawn due to upside-down bitmap context.
- A few digifx references
- A few units for the sake of separation
- A few TImage gone
- Cleaned out a bit of TBitmaps and wrapped some DD code.
- Most BMPs are loaded to GPU surfaces - but still too many times - so just faster not better :)
- Some VCL dependency
- Unused GIF to POX conversion code - will be back in a different form.
- Added Original/HD/FullHD option in option dialog - requires restart/activate - will leave it at that until SDL2
- HD and FullHD interface assets - SoA-styled, feel welcome to improve these - a bit of a rush job
- Cursor artifacts just introduced
- Color glitch in menu - I tried to ignore
- Replaced 4 "corrupt/missing" assets - causing out of memory errors and crashes
- A bit more spring cleaning - this time again on colors and functions
- Some VCL dependency
- Anigrp30cfg.inc file
- Added preliminary support keymappings.
- Added preliminary support for Original/HD/FullHD option
- A bit more spring cleaning - this time on colors
- Replaced winapi functions with cross-platform alternatives
- A fair part of windows-ism - Windows unit only left in DirectDraw related stuff
- Moved change log/status from readme into changelog file.
- MMTimer unit missing from project file
- Save games back to normal
- Cleaned a bit of uses and reduced compiler warnings
- Absolute vs relative path fun with initial startfile (lvl)
- All critical warnings gone - mostly cause by unicode transition
- string32 unit
- security unit
- Playable - compiled with Delphi 10.3.1 Rio, so ready for Community Editon!
- Updated readme and merge win32_d7onwards branch with master, so now Delphi 2007 is minimum.
- Stepped back. Now playable in Delphi 2007
- Unused uses clean + a bit strfunc remove - 0 Hints, 0 Warnings in Delphi 2007
- Compiles and runs in DX 10.2.3 - non-playable yet
- Character screen has glitches, but works
- Loading 90% - missing lightning/tiles
- Replaced 3 "corrupt/missing" assets
- Replaced and updated DX files - using files from unDelphiX (http://www.micrel.cz/Dx/)
- Converted source to compilable in Delphi 7, being fully playable.