New Status Quo
After almost a year and a half it's time to ship a new version
Massive changes have been made since 0.4.0
So much so I cannot help people using the old version because I forget how it works
Many systems have been either gutted or redesigned
This will probably continue in future:
- many
extensions
need some serious refactors (decompile
,diff
&editor
) - loading from & saving to files is going to change drastically in the next version
But before making those large changes we should at least ship some stable
So here it is, v0.5.0, the New Status Quo
NOTE: changes are pulled from CHANGELOG.md, which probably misses a bunch of stuff
Changelog
New
__init__
methods for all SpecialLumpClassesbranches.colour
branches.ieee754
Float32
BitField
reversing helper
extensions.editor
- parse
.map
&.vmf
- compare uncompiled maps to
.bsp
- parse
utils
binary
editor
geometry
physics
texture
NexonBsp
- thanks
cso2
big-endianfourCC
- thanks
BSPX
lumps can be parsed withbspx.BspX
Changed
- SpecialLumpClasses & GameLumpClasses refactor
- new basic
__init__
for making your own from scratch - loaded from files with
from_bytes
- new basic
- BspLump refactor
- new barebones
__init__
- maps bsp lumps with
from_header
- pulled out of streams with
from_count
lumps.create_RawBspLump
will decompress before mapping- added
append
,extend
&insert
methods toRawBspLump
BspLump.find(attr=val)
method is now.search()
- removed
.find()
method fromBasicBspLump
- allowed implicit changes (e.g.
bsp.VERTICES[0].z += 1
) __iter__
doesn't update_changes
, reducing unnessecary caching- TODO:
bsp.LUMP[::]
creates a copy & doesn't affect / share_changes
RawBspLump
slices arebytearray
s
- new barebones
- Fractured Source Engine into more branches ("solves" version conflicts of SPRP formats)
extensions.archives
refactor- One script per-developer
- Placeholders for not-yet-supported archives
- MeruBasu
utoplanet.Apk
can extract files - Titanfall
respawn.Vpk
can list files (no extraction)
- Capturing compiler signatures
RespawnBsp
MRVN-Radiant signature- saved by
.save_as
- parser in
extensions.compiler_signature
- saved by
- Moved
valve_physics
tovalve.physics
- RespawnBsp
.save_as()
can now skip.bsp_lump
respawn.ExternalLumpManager
now handles.bsp_lump
saving- added
leaves_of_node
method to most branch scripts methods
of branch scripts are now stored indict
- Moved
branches.vector
toutils.vector
Fixed
shared.Entities
the following silent failures are now caught by the parser- curly braces inside key values
- multi-line keys
shared.PakFile
can be edited.as_bytes()
correctly includes "end record", without calling.close()
Newly Supported Branches
- Genesis3D
- Id Tech 2
- Qbism
- Quake 64
- IW Engine
- Call of Duty 1 SP Demo: Burnville
- Call of Duty 1 SP Demo: Dawnville
- Source Engine
- Fairy Tale Busters (メルヘソバスターズ)
- Zeno Clash
- Titanfall Engine
- Apex Legends Season 13-18
- Apex Legends Season 18+
- Ubertools
- Star Trek Elite Force II SP Demo
Updated Support
- Quake
- Source Engine
- More dynamic reading of Static Props
- Split into more branches for Static Prop variants
- Titanfall Engine
- Split v50 into it's own branch