Repository navigation
v0.5.0
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
extensionsneed 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.colourbranches.ieee754Float32BitFieldreversing helper
extensions.editor- parse
.map&.vmf - compare uncompiled maps to
.bsp
- parse
utilsbinaryeditorgeometryphysicstexture
NexonBsp- thanks
cso2big-endianfourCC
- thanks
BSPXlumps 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_RawBspLumpwill decompress before mapping- added
append,extend&insertmethods 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 RawBspLumpslices arebytearrays
- new barebones
- Fractured Source Engine into more branches ("solves" version conflicts of SPRP formats)
extensions.archivesrefactor- One script per-developer
- Placeholders for not-yet-supported archives
- MeruBasu
utoplanet.Apkcan extract files - Titanfall
respawn.Vpkcan list files (no extraction)
- Capturing compiler signatures
RespawnBspMRVN-Radiant signature- saved by
.save_as - parser in
extensions.compiler_signature
- saved by
- Moved
valve_physicstovalve.physics - RespawnBsp
.save_as()can now skip.bsp_lump respawn.ExternalLumpManagernow handles.bsp_lumpsaving- added
leaves_of_nodemethod to most branch scripts methodsof branch scripts are now stored indict- Moved
branches.vectortoutils.vector
Fixed
shared.Entitiesthe following silent failures are now caught by the parser- curly braces inside key values
- multi-line keys
shared.PakFilecan 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