Jump to content

xOBSE 21.5 Released


Recommended Posts

Posted

A fork of OBSE was just released with permission from the OBSE team. :)

https://github.com/llde/xOBSE/releases/tag/21.5

 

Changelog:

 

Global:
    -Compiled with vs2019.
    -Fixed example plugin compilation 
Fix:
    -Fixed a critical bug in the Event Handler System that could cause CTD when too much handlers are used.
    -Fixed GetDistance definitions
    -Fixed HasSpell to work correctly on creature actors. Also slight optimization of the function.
    -Fixed GetSelectedSpells CTD
    -Fixed Actor Override Breath System
    -GetCombatSpell don't return every spell duplicated 4 times anymore
    -Fixed tList SetAt function that could cause issue if the allocator can return less then 8 bytes
Addition:
    -Added EventHandlerExist function. 
    -Added console print for GetOBSEVersion/Revision and for Plugins detection functions
    -Added the GOG version and another Polish version to the launcher

 

They have a Discord.

xOBSE Discord

Posted

xOBSE 21.8 Released


    Global:
        - Code MSVC 2019 complaint, remove hash_map and remove va_start reference usage
        - Example plugin error message print the OBSE version as decimal instead of hex
        - Added the possibility to use the obse_launcher.exe to launch the steam version of Oblivion (EXPERIMENTAL, works under Proton)
        - Added the Polish Antology version by Cenega
        - Restructured INI handling in a centralized store.
    Fix:
        -Fixed a CTD on the OnSoulTrap handler, when using soulgems with stolen flag and other extra-data
        -Fix GetCurrentEventName returning an empty string (and other issues)
        -Fix IsReference  returning always 1 in OBSE expressions
    Addition:
        - Add GetBaseAV3/GetBaseAV3C as correct replacments of GetBaseAV2(C) functions. 
        - GetBaseAV2(C) functions are deprecated
        - IsNaked function added
    API:
        - Added more TESForm flags and decoded TESObjectCELL InvertFastTravelBeheaviour flag
        - Add shadeMe definition of Unnk1B20 structure.
        - Decoded more stuffs for TESRegion and RegionList
    Documentation:
        - Improve GetFormFromMod
        - Add  SetPlayerSkeletonPath

 

https://github.com/llde/xOBSE/releases/tag/21.8

Posted
On 10/2/2020 at 2:01 AM, sunhawken said:

Amazing , now if we can get  the OB 64x 86x

if only we can get updated ENB binaries :(

  • 1 month later...
Posted
On 9/26/2020 at 3:11 PM, Sladen2019 said:

A fork of OBSE was just released with permission from the OBSE team. :)

Curious.  How long would it be before these would be added to the OBSE official? 

 

And insofear as wishlist, there is a  con_SexChange  command which I found useful, though it does not change the face/head.  Here's hoping they update that feature too.

Posted
On 11/24/2020 at 1:46 AM, LongDukDong said:

Curious.  How long would it be before these would be added to the OBSE official? 

 

And insofear as wishlist, there is a  con_SexChange  command which I found useful, though it does not change the face/head.  Here's hoping they update that feature too.

 

Unknown when/if it will ever get added to official OBSE or replace it. It would likely take full permission from all of the original devs and they can be difficult to get in touch with. They did add a link to it on their official silverlock page. You can make requests/suggestions for features/code on the Discord. They are pretty open about it. 

Posted

A head change when you change the sex will never happen  because vanilla Oblivion can only use one head for  both genders.

OBSE would have to find out what the Blockhead plugin and Mods are doing.

 

That the gender face settings are not changed is bad.

Posted

Not a physical replacement of the head per-say.  I already know that only one head is used for both.  And the number ranges used within the game's face generator (during character creation and etc) are also the same between genders.  It is more of a controlled effect shader built into Oblivion that alters the appearance.  Of this, I was already aware.  Having its function be controlled, or the effect be updated/re-initialized with the con_SexChange is what I heard they may be working upon or is being decoded within an Oblivion-Compatible OpenMW fork right now.

  • 3 months later...
Posted

Version 22.0 is released.

 

Global:
    - Added an AppVeyor CI. Build will be pushed from AppVeyor instead of using a local build.
    - This should also fix the slow start some people are experiencing, while keeping the CRT statically linked
Fix/Changes:
    - GetByOpcode was using a linear search (O(n)) for know opcode, reimplement to constant time (O(1))
    - Add a check for parentCell in GetParentCellOwner command. Should fix a CTD when the parentCell is NULL
    - Rewrote InventoryReference and ContainerForLoop code. Should fix some memory leaks and items that weren't removed properly from the containers. Also fix a crash when iteratating the inventory in menumode while having a soultrap event handled
    -Fix an issue with GetActiveMenuElement where it wasn't working on keyboard selected elements
API:
    - Decode more arguments for RemoveItem
    - Add 10 arguments ThisStdCall
    - ExtraContainerChanges use tList for objList field, instead of rolling specialized version of a linked list everytime 
    - General fixes to tList and its Iterator class
    - Add Tile::GetContainingMenu member function, thanks @DavidJCobb
    - Some bits of PlayerCharacter from @EchoEclipse
PluginAPI:
    - Add a TasksInterface, to enqueue functions to operate on the OBSE mainloop.

 

https://github.com/llde/xOBSE/releases/tag/22.0

 

  • 2 weeks later...
Posted
On 3/27/2021 at 7:05 PM, Sladen2019 said:

Version 22.0 is released.

 

Global:
    - Added an AppVeyor CI. Build will be pushed from AppVeyor instead of using a local build.
    - This should also fix the slow start some people are experiencing, while keeping the CRT statically linked
Fix/Changes:
    - GetByOpcode was using a linear search (O(n)) for know opcode, reimplement to constant time (O(1))
    - Add a check for parentCell in GetParentCellOwner command. Should fix a CTD when the parentCell is NULL
    - Rewrote InventoryReference and ContainerForLoop code. Should fix some memory leaks and items that weren't removed properly from the containers. Also fix a crash when iteratating the inventory in menumode while having a soultrap event handled
    -Fix an issue with GetActiveMenuElement where it wasn't working on keyboard selected elements
API:
    - Decode more arguments for RemoveItem
    - Add 10 arguments ThisStdCall
    - ExtraContainerChanges use tList for objList field, instead of rolling specialized version of a linked list everytime 
    - General fixes to tList and its Iterator class
    - Add Tile::GetContainingMenu member function, thanks @DavidJCobb
    - Some bits of PlayerCharacter from @EchoEclipse
PluginAPI:
    - Add a TasksInterface, to enqueue functions to operate on the OBSE mainloop.

 

https://github.com/llde/xOBSE/releases/tag/22.0

 

These version is causing me to crash. reverted till fixed CTDS already reported on the github.

Posted

Version 22.1 Released (mainly hotfix release)

 

Fix:
- Fix a serious regression in xOBSE 22.0 where using the hotkeys functions could cause crashes (thanks @Laulajatar for report). Enhanced Hotkeys users were affected by this.
- Fix a serious regression in GetInvRefsForItem where it didn't correctly handle anymore objects with no ExtendData (for example some objects stack that should have only xCount property have the extendData completely null after reload), causing the game to crash. Enhanced Hotkeys users that were using a binded hotkey to equip bow and arrows were affected.
- Made changes to improve robustness of overall ExtendData and ExtraData usages.
- Using .0 minor revision was causing a mod with a bad obse check to fail. Using always revisions >= 1 solve this issue and should solve issues with similarly bugged mods.
- Fix an issue with GetBaseAV3 that was causing crashes

 

https://github.com/llde/xOBSE/releases/tag/22.1

  • 1 month later...
Posted

Version 22.2 Released

 

General:
    - Better message for failed plugins in case of missing or mismatched dependancies   
Changes/Fix:
    - Rewrote from scratch the input handling system of OBSE switching from the old and kludgy DInput hook to a proper OSInputGlobal hook. This should overall simplify the code, be faster and more robust, and more easily to interact with OBSE plugins in the future.
    - The above change also fix these instances were input handling routines weren't working on some system if bBackground Keyboard = 0 (Oblivion.ini)
    - Backport 3 fixes for Menu functions ignoring keyboard selection tiles, from NorthenerUI + 1 fix not covered by NUI
    - Add some Error message in the ExpressionEvaluator for Array
    - Fixed an issue were using subscript operator ([]) on a string map non existant element would succeed (and provide invalid data, testexpr would return true), now it complain with an error (and testexpr fail)
    - Added an obse.ini option to avoid suppressing testexpr error messages.
    - Fixed an issue with array loading were mod index 0 were mistakenly  seen as arrays beloging to discarded mods
    - Fix some error reporting issues were failing command weren't shown
    - Fix bad dereferencing  CommandList.end() iterator element, in exception handler.
    - Fix OnActorEquip event being sent twice when using enchantend armours or clothing
    - Improved Script diagnostics for Expression Evaluator for Commands.
API:
    - Documented a lot of the struct fields for OSInputGlobals, and documented at least some of it's member functions 
    - Removed code for older version  of Oblivion then the last version (1_2_416)
    - GetFame() is now correctly placed into Actor vtbl instead of MobileObject
    - CompareTo is now correctly in BaseFormComponent vtbl instead of being repeated in TESForm, TESModel and TesAttackDamage.  
    - Decoded some virtual functions and members on game structures, thanks to COEF and OR
PluginAPI:
    - OBSEInputInterface to allow plugins to interact with the new Input System 
    - OBSEEventInterface allow plugins to install event handlers and dispatch UDF

 

https://github.com/llde/xOBSE/releases/tag/22.2

Posted

Version 22.3 Released (Hotfix)

 

General: 
        - Updated version resources for file PE version.
    Changes/Fixes:
        - Fix regression on On{Key,Control}Down functions for scripts that weren't running every frame (BetterSaves and MigMiscellanea quicksave were broken in 22.2)
        - Add experimental support for OnKeyEvent and OnControlEvent for Event Manager
    Docs: 
        -Update docs, add OnKeyEvent and OnControlEvent

 

https://github.com/llde/xOBSE/releases/tag/22.3

Posted
10 minutes ago, Sladen2019 said:

Version 22.3 Released (Hotfix)

 

General: 
        - Updated version resources for file PE version.
    Changes/Fixes:
        - Fix regression on On{Key,Control}Down functions for scripts that weren't running every frame (BetterSaves and MigMiscellanea quicksave were broken in 22.2)
        - Add experimental support for OnKeyEvent and OnControlEvent for Event Manager
    Docs: 
        -Update docs, add OnKeyEvent and OnControlEvent

 

https://github.com/llde/xOBSE/releases/tag/22.3

What's the most stable newest version other then 21?

Posted
43 minutes ago, sunhawken said:

What's the most stable newest version other then 21?

22.3 seems completely stable so far for me and others.

  • 2 months later...
Posted

Version 22.4 and 22.4.1 Released

 

22.4

 General:
     - Added the CRC for the Unofficial Japanese Patch v15 on the top of the GOG version
 Changes/Fix:
    - Fix ExpressionEvaluator regression that caused crash in Vampire Revolution. Also  now it report the precise Command at fault.
    - Loops temporary arrays are now setted with the mod id instead of 0xFF, avoiding leaking if the script crash inside the loop.
    - Fix OnControlDown, now register correctly the control id and not the key id
    - PreLoad hook now properly get the address of the IOManager to pass to game code, This fix the missing black out fade on cell transition that was present in Oblivion vanilla
    - Restore bugged behaviour for SetAltControl required by Enhanced Economy. 
    - SetAltControl , GetAltControl and RefreshControlMap marked as deprecated
    - Added SetAltControl2 with the fixed behaviour to substitute SetAltControl
    - Compiling a script using commands marked as deprecated give a warning in CS (and an hard error in CSE pre 11 (unreleased))
    
API:
    - Some additions to BaseProcess, MobileObject and Actor vtbls.
    - Added Actor->dispositionModifier
Docs: 
    - Some documentation fixes by Laulajatar

 

22.4.1 (Hotfix)

- Fix an issue with IsCOntrolDisabled and IsKeyDisabled, were causing an issue with Bashing Reworked

 

https://github.com/llde/xOBSE/releases/tag/22.4.1

Posted
2 hours ago, Sladen2019 said:

ix ExpressionEvaluator regression that caused crash in Vampire Revolution

That's cool.  :thumbsup:  Big on the whole Vampire Mods thing, including this and Unholy Darkness. :no_mouth: I don't recall crashing with Revolution though.

 

Any news on perhaps Update3D?  Run that too many times (a lot of NPCs updating in one shot), and there is a crash.

Posted (edited)
1 hour ago, LongDukDong said:

That's cool.  :thumbsup:  Big on the whole Vampire Mods thing, including this and Unholy Darkness. :no_mouth: I don't recall crashing with Revolution though.

 

Any news on perhaps Update3D?  Run that too many times (a lot of NPCs updating in one shot), and there is a crash.

The bug might have only affected a specific version of xOBSE. About Update3D, I don't know. I just monitor for new versions and post the info here, as they have requested for the info to be spread. You should join the Discord if you have not already. Its really friendly and they accept alot of feature requests and code additions/adjustments. You dont even need the Discord application, you can just create a username/password and join through a web browser. Many people believe you need a mic or so. Its not true. In fact most activity is done via text in the chat rooms. With all of your work on Lovers mods going on, it could be a big benefit for everyone. :)

Edited by Sladen2019
Posted

Thanks for the invite.  I know of Discord (app, browser, mic, even Nitro), but I use 'this' alias only here and would be kinda worried that my long-time known user would be revealed by accident.  Computer literate for many things, but a clutz at other things. :P

Posted

I am not aware of updates. If there are some commands, like AddscriptPackage, but which would be given to the NPC forever, as if it had been given in the constructor.

  • 2 months later...
Posted (edited)

Version 22.5 Released

 

    Changes/Fix:
        - Fix for OnEventKey and OnEventControl events
        - Fix for SetHarvested 0 not being saved in the savegame
        - Fix for CopyIR function breaking Wax Key perk from Real Time Lockpicking
        - Fix for IR SetEquipped not working.
        - Containers Loop execute the associated IR delayed actions  (regression from 22.0). These last two entries fix Mig Pickpocketing mod and Break Armor.
        - Full interop with  CSE for warnings.
        - Add IsMiscItem Command
    API:
        - Full C++latest conformance.
        - Separate ExpressionEvaluator from ScriptUtils
        - Standardize PASS_COMMAND_ARGS , use macro instead of hardcoding arguments for ExtractArgs, ExtractArgsEx sometimes
    
    Docs:
        - Multiple docs fixed by @laulajatar

 

https://github.com/llde/xOBSE/releases/tag/22.5

Edited by Sladen2019
  • 3 months later...
Posted

Version 22.6 BETA Realeased
    General: 
        - Add CRC for DRM Removed Polish Version from Cenega (GOTY Deluxe/Anthology)
    Changes/Fix:
        - Fixed Use After Free  when RemoveMeIR was used with the destination container equals as the origin. Trade And Commerce Update rely on this working.
        - Add Wheel events for OnKeyEvent event handler
        - Re-add SetMouseSpeedX and SetMouseSpeedY (some mods use them)
        - Fix functionality of OBSEIOInterface, fix Blockhead WASD in character creation
        - Print xOBSE version on initialzing.
        - Fix a tList issue where removing last item of the iteration was causing the loop to not terminate.
        - Fix a potential crash where map markers with no name would cause a CTD on save load.
        - Fix multiple command issue with multibyte string. (Japanese encoding affected)
        - DeleteReference can now delete disabled clone actors-
    Addition:
        - Add SetCameraFOV2 (unbounded version of SetFOV, con_SetCameraFOV)
        - IsMajorRef,IsDiseased,  added as script and condition function.
        - GetFirstRef / GetFirstRefInCell added parameter to include deleted reference.
        - Type 90 now match only the deleted reference.
        - Added SetInvertFastTravel, IsInvertFastTravel, SetCantWait,IsCantWait
        - HasSpell, IsMajor, GetActorLightAmount added as conditional functions
        - GetDisease vanilla unimplmented function replaced with IsDiseased
    PluginAPI:
        - Added Replace to OBSECommandTableInterface
        - Bumped PluginInfo to 3

 

https://github.com/llde/xOBSE/suites/5142110771/artifacts/155084943

 

This is a BETA version. 

  • 3 weeks later...
  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...