Skip to content

Releases: HybridEidolon/psobbaddonplugin

v0.3.4

08 Jun 00:13
Compare
Choose a tag to compare

v0.3.4

Fixed

  • Fixed a crash where systems running Windows XP may be unable to parse wide strings from memory. (@stephencwillis)
  • Fixed an issue where the stack trace emitted from the Lua error handler would emit the stack from the error handler's context rather than the context of the traced call. (@stephencwillis)
  • Save and restore the FPU state when entering Lua code rather than initializing the FPU at launch. This fixes a bug where Recons would occasionally fail to leave their spawning state and be stuck untargetable in mid-air, and possibly other subtle arithmetic bugs.

v0.3.3

13 May 00:06
Compare
Choose a tag to compare

v0.3.3

Added

  • pso.read_mem_str(addr, len) - Read a block of memory into a Lua string. This is likely to be more performant, but you will have to use string.byte on the characters yourself and bit ops to compose larger integers, floats, etc.

v0.3.2

10 May 02:40
Compare
Choose a tag to compare

v0.3.2

Added

  • pso.set_sleep_hack_enabled(enabled): true to patch the frame
    limiter to use Sleep(1) and reduce CPU usage dramatically. This
    tweak will cause Ephinea to instantly close the game. Sorry! It's
    out of our control.
    The game normally calls Sleep(0) to yield to
    other threads, but Windows does not guarantee that the process
    gives up its timeslice. Using 1 millisecond is enough to get the
    desired effect without skewing timing. Since this doesn't work on
    Ephinea, there is no built-in UI to enable it.

v0.3.1

06 May 01:47
Compare
Choose a tag to compare

v0.3.1

A minor release to clean up clutter in PSOBB installations.

Changed

  • The location of imgui.ini and imgui_log.txt have moved to the addons
    directory.

v0.3.0

05 May 23:51
Compare
Choose a tag to compare

v0.3.0

This release focuses on creating a resilient addon registration
interface that is compatible with the existing Lua module system. It
adds several new utilities for addon developers and a way for addons to
depend on other addons.

Added

  • pso.base_address is the base address of the psobb.exe module. Added
    for addon resilience when running on servers with modified psobb.exes.
    However, this does not mean the plugin works with compressed
    executables: decompressed executables are still required.

  • pso.list_addon_directories returns a list of the directories in
    addons/ as an array table. It is used in psointernal for loading
    addons.

  • pso_on_init, pso_on_present, pso_on_key_pressed,
    pso_on_key_released, pso_on_log, and pso_on_unhandled_error
    are all new low-level global functions that can be set to define the
    addons/ behavior entirely. You don't need this unless you want
    to completely change the plugin's behavior.

  • util.underscore package adds several utility functions,
    particularly for functional programming. You can use it like any other
    Lua module:

    local __ = require('util.underscore')
    local mapped = __.map({1, 2}, function(v) return v+4; end)
    -- mapped = {5, 6}
    
  • New addon registration process. Your addon module's init.lua should
    export a table with a __addon key. See the example for details.
    Directories under addons/ do not have to export this key if they
    are simply regular Lua modules; they will not show up in the addon
    list and not be able to register hooks.

  • Basic unit testing for Underscore utility library.

Changed

  • Addon hook API is overhauled. Most logic is done in pure Lua in place
    of C++. With this, also comes a change to the way hooks are
    registered. Please see the new addon_examples/HelloWorld path in
    the source.
  • All existing addons before this release are broken and must be
    updated to the new API.
    After this release, the addon registration
    interface will be mostly stabilized and future releases will not
    break old addons (hopefully).
  • Core UI has been rewritten in pure Lua.

Removed

  • on_ functions have all been removed from the pso global table.

v0.2.1

23 Mar 19:30
Compare
Choose a tag to compare

0.2.1

No changes have been made to the plugin itself, this is just a release
test for AppVeyor.

Added

  • AppVeyor continuous integration builds.

Unsigned byte memory read fix

13 Dec 00:24
Compare
Choose a tag to compare

This update "breaks" compatibility with 0.1.0 by ensuring read_mem yields numbers of the range 0 to 255 rather than -127 to 127. This was the intended behavior.

Initial public release

12 Dec 03:01
Compare
Choose a tag to compare

Minimum viable product.