Skip to content

Releases: H-uru/libhsplasma

2025.11.04

04 Nov 18:57
2025.11.04
f6abd29

Choose a tag to compare

  • Fix a variety of compatibility issues with Python 3.10-3.13, and drop support for Python versions older than 3.7.
  • Expose plJPEG and plPNG utilities to Python API.
  • Expose plMipmap's JPEG cache to Python API.
  • Expose modifier target properties to Python API.
  • Explose more plClothingItem properties to Python and add index range checking.
  • Make plKey::getObj() a template function that can cast the result to an expected subclass.
  • Add plMipmap::CompressJPEG() to Python and C++.
  • Add plVehicleModifier::kNumWheels constant.
  • Add getters and setters to several C++ classes.
  • Improve support for reading and writing MQO PRP files.
  • Fix handling of waveset bounding boxes in Drawable Spans.
  • Fix plEAXListenerMod.h to not depend on internal (non-installed) EFX headers.
  • Fix plArmatureLODMod writing PRC Meshes tag twice.
  • Fix handling of plMipmap levels too small to be DXT compressed.
  • Fix ownership transfer issues in pyGUIControlMod.
  • Fix DDS data erroneously appearing in PRC when it was flagged for exclusion.
  • Fix PNG images being labelled as "DDS" in PRC.
  • Fix plMipmap JPEG decompression using the wrong channel for JPEG alpha.
  • Fix plLocation encoding issues and add unit tests.
  • Tools: Fix prpgrep not matching some objects properly.
  • Tools: Fix PrpPack not actually mapping .prd -> .prp and vice versa in constructed filenames.
  • Tools: Fix prpmod crash when passing a creatable that is not an hsKeyedObject

2024.03.07

07 Mar 19:35
2024.03.07
e043a0e

Choose a tag to compare

  • Add ptAttribLayer value support to plPythonFileMod parameters
  • Implement previously-unimplemented JPEG compression in plJPEG
  • Add methods to load JPEG and PNG streams directly into a plMipmap
  • Devirtualize open(), close(), setVer() methods in the hsStream classes
  • Remove unused destroy() method from hsThread
  • Fix: don't re-order object IDs when writing pages
  • Fix cases where object IDs were not properly preserved on read, and expose the preserveObjIds setting on the ResManager to Python
  • Fix decompression of JPEG color data to match Plasma's expected BGRA format
  • Fix incorrect base class for plLayerSDLAnimation
  • Fix macro redefinition warnings in pnSocket.cpp
  • CMake: Switch to FindPython module from CMake 3.12, and fix compatibility with Python 3.12
  • CMake: Clean up library dependencies and add namespaced library exports (HSPlasma::HSPlasma and HSPlasma::HSPlasmaNet) for targets linking against libhsplasma libraries

2023.05.08

15 Jun 20:19
2023.05.08
448ad71

Choose a tag to compare

  • Add some missing constants to PyHSPlasma bindings, and improve typing annotations for keys
  • Fix plResManager::ReadAge failure when the first page listed in the .age file doesn't exist (see H-uru/PlasmaShop#71)

2023.03.21

21 Mar 19:47
2023.03.21
5c02e85

Choose a tag to compare

  • Add a hsWindowsStream for using low-level Win32 APIs for dealing with files
  • Add an option to plResManager to preserve Object IDs during saving/loading
  • Python binding fixes/updates for plClothingItem, plSpanTemplate.Vertex, plStereizer
  • Fix compatibility issues with Python 3.9 and later
  • Fix default hsQuat constructor to produce a valid quaternion
  • Fix PRC parsing of Particle Source params

2022.05.19

19 May 16:00
2022.05.19
2327302

Choose a tag to compare

  • Fix major performance regression in 2022.05.16 release.

2022.05.16

16 May 17:58
2022.05.16
f807aa0

Choose a tag to compare

  • Drop Python 2.x support
    • Update sample python scripts for Python 3.x compatibility
  • Add support for waveset buoys
  • Add some missing APIs to various Python wrapper objects
  • Add EAX object python bindings
  • HSPlasmaNet: Implement some missing Auth messages
  • Fix Object ID issues when writing PRPs
  • Fix incorrectly marking PRPs as optimized after they've been modified
  • Fix EoA animation timing calculations
  • Fix PRC parsing issues in plSpanTemplate
  • Fix hsCompressedQuatKey64 reading and writing
  • Fix incorrect object returned from plLayerAnimation::getRuntimeCtl()
  • Fix a failure to decode ELF lines with non-UTF8 text
  • Fix missing transform matrices in plGeometrySpan PRC
  • Fix plSpan contents properties when adding/removing lights
  • Fix plGBufferGroup.getVertices() returning incorrect values in Python
  • Windows: Fix race condition in hsFileStream by avoiding libc File I/O APIs.

2021.06.08

08 Jun 22:10
2021.06.08
e435db7

Choose a tag to compare

This is the final release supporting Python 2.7

2020.08.30

29 Sep 18:38
2020.08.30
afd9c46

Choose a tag to compare

Release 2020-08-30

r1380

21 Oct 21:02
r1380
c143371

Choose a tag to compare

r1380

r1285

18 Jul 22:47
r1285
773729d

Choose a tag to compare

r1285