Releases: Lehona/LeGo
LeGo 2.8.0
- Add convenient way for save/load-persistent strings and floats:
PM_BindString
andPM_BindFloat
, analogously:PM_BindInt
- Double the amount of possible handles to 4294967295
- Provide
self
in AI-functions - Add more AI-functions for instances
- Allow to now hook external engine functions
- Support function arguments/return values for engine hooks
- Escape/unescape extended ASCII characters
- Allow manual hiding of Bars
- Set alpha values properly for both views of Bars
- Fix negative protection values after Trialog
- Increase compatibility of hooks
- Fix View_Open when called every frame
- Check handle validity in Talents
- Simplify HookDaedalus and move local jumps safely
- Fix memory leak in PermMem
- Clean up data stack in between FrameFunction calls to avoid stack overflow
- Remove warning during
PM_Reset
- Remove obsolete safety check in Anim8
- Do not create talent when merely checking for a buff
- Do not create buff list when not desired (
Buffs_DisplayForHero == False
)
When updating from a previous version, please take note of the commit message aeea75a.
LeGo 2.7.1
Hotfix to remember the last screen resolution across saves for updating the bars.
LeGo 2.7.0
- Auto-update bars with screen resolution
- Auto-hide bars in menus and dialogs (following playerstatus)
- Add function
Bar_Resize
to resize existing bars - Add pixel-based equivalents
Bar_MoveToPxl
andBar_ResizePxl
- Add GameTimer-based equivalent
FF_ApplyOnceGT
- Improve initialization for mods that add LeGo later on, i.e. not with a new game
- Improve virtual-pixel conversion accuracy, i.e.
Print_ToVirtual
andPrint_ToPixel
are now more accurate - Fix crash on loading unknown classes, instances and functions in PermMem (classes/instances are skipped, functions are replaced with empty ones)
- Fix potential data stack corruption by checking the return type of
ForEachHandle
callbacks - Fix potential data stack corruption in
_Buff_check
and_Anim8_Loop
- Fix crash after deleting Buffs, Buttons and Anim8 objects during their respective foreach-loops
- Fix deletion of Anim8 objects (delete leftover A8Commands when deleting their parent A8Head)
- Fix initialization of Trialoge by adding
LeGo_AI_Function
dependency (thanks to LootaBox) - Fix swapping of NPC visuals in Trialoge (thanks to Marek and Umfi)
- Fix visual bug with
Buff_ApplyOrRefresh
- Fix potential bug in
Buff_Has
- Fix
on_leave
function call inButton_Deactivate
by pushing missing function argument - Remove Buttons array and make Buttons handling foreach-based (thanks to blood4ng3l)
LeGo 2.6.0
- Buffs on the Hero now fade out visually over time. This behaviour can be deactivated in
Userconst.d
. It may impact performance. - Buffs are now hidden when the player interface is hidden, e.g. in dialogs.
- Anim8 now uses the ingame timer, i.e. it's paused when a menu is open.
- Added functions to change the individual texture of bars (Thanks to KarolWojtasiuk)
- Added
Q_Peek(queue)
, to peek at the next element of a queue - Added some miscellaneous functions, trigonometry related
- Fixed an issue with FFs if they had their delay set to 0 and were using the ingame timer.
- Fixed
oCNpc_RemoveFromSlot
for Gothic 1 - Fixed a crash in
Render.d
(Thanks to bogu9821)
LeGo 2.5.1
- PermMem: Critical fix in quick saves for correct loading of handles
- TimerGT: New timer that only runs during the game and is paused when any menu is open
- FrameFunctions: New functions for the TimerGT, new function for removing all FF that point to a specific function (thanks to the Dirty Swamp mod team!)
- Buffs + Anim8: Now use the TimerGT
- Buffs: New constant (
Buffs_DisplayForHero
) inUserConst.d
that allows showing or hiding icons for the player - Anim8: Small fixes and a new on-remove-function that acts like a destructor for anim8 objects
- Talents:
Npc_FindByID
now returns0
if no NPC was found - Buttons:
Button_Move
is now fixed - DialogGestures: Fix for resetting animations
- HookEngine: Data stack is now cleared in-between function calls
- Talents: Talents arrays won't be automatically created anymore when simply checking for it with
TAL_GetValue
- Interface: Simplifying the PrintScreen-Fix (was very slow when using
PrintScreen
a lot) - HookDaedalus: NEW! See wiki (German language only).
- Bloodsplats: Damage perceptions will no longer be overwritten, s.t. you may register your own damage perception functions along side the Bloodsplats
- ConsoleCommands: When entering
LeGo
into the game console (given the ConsoleCommands package is initialized) the LeGo version as well as all active LeGo flags will be returned in human-readable format. This information is also sent to the zSpy on initialization of LeGo (screenshot). - Separate G1 and G2 header files (more information below)
To simplify the installation of LeGo, there are now separate SRC files for Gothic 1 and Gothic 2: Header_G1.src
and Header_G2.src
, respectively. When updating to this version, remember to update the respective entry in your Gothic.src
.
Unfortunately, the package "Buffs" has not been promoted out of its experimental state. We appreciate any feedback from people who are already using it!
LeGo 2.5.0
- Gothic 1 support (except for experimental packages)
- Hooks have been reworked (allow recursive hooks, backup global instances and secure data stack)
- Draw3D, see wiki (German language only)
- ConsoleCommands are no longer written to game saves, but kept for the duration of the session
- It can now be checked whether hooks are active (and they may be removed, not recommended)
- New functions to replace and disable engine functions
- NPCs are no longer stuck after trialogs (thanks to Cryp18Struct)
- Level change is now correctly detected every time (sure...)
- New List functions (List_AddFront*)
- New View function (View_AddTextColored)
- Minor fixes on Anim8, Bloodspats, Interface, zCViewText and arrays
Because of the Gothc 1 compatibility, the files EngineAdr_G1.d or EngineAdr_G2.d now need to be removed when installing LeGo for Gothic 2 or Gothic 1, respectively. There is an attempt to warn users when they forget to do this, but there's not much we can do in terms of error messages.
LeGo 2.4.0
- The constant LeGo_Version has been updated to reflect the version number (rare enough to be worth a mention!)
- Various "magic numbers" have been moved to EngineAdr.d
- Fixed two warnings that would pop up during save/load
- Minor changes to increase portability to G1
- ConsoleCommands! See wiki
Buffs and Render still experimental.
LeGo 2.3.7
v2.3.7 LeGo 2.3.7
LeGo 2.3.6
- Fixed an error that prevented parsing in Names.d
- Fixed a bug concerning initialization order (happened if you never created a handle during startup)
- Fixed a small bug in View.d (thanks to mud-freak)
- Changed MEM_SetUseInstance() to expect a zCPar_Symbol* instead of a symbolID.
Note: Although I fixed a bug with the buffs, both Buffs.d and Render.d are not yet included in LeGo_All.
LeGo 2.3.5
v2.3.5 LeGo 2.3.5