Open snake-biscuits opened 2 years ago
Ideally there should be a map for each branch script also need to document the tools pipeline to make each map
Quake, GoldSrc & Source tools are open source
Other tools: CoDRadiant (per-game, have CoD4 tools) DarkRadiant GTKRadiant Hammer++ NetRadiant TrenchBroom UberRadiant (Ritual Entertainment’s Ubertools) Fix
Compiler sets may be a limiting factor, but we can build a compile.bat for each branch
Ideally use something like vbspinfo
or q3map -info
to generate a .txt statistics file on each map were possible
Games without tools will be more complex (CSO2 & Titanfall), however incomplete converters exist for CSO2
Found tools for arkane.dark_messiah_singleplayer
https://www.moddb.com/games/dark-messiah-of-might-magic/downloads/dark-messiah-might-and-magic-sdk
These are a mirror / backup of official beta tools
A Steam AppID for this SDK exists in gameinfo.txt
, might be possible to download with SteamCMD?
Haven't gotten hammer to launch just yet, operates through it's own SDK launcher.
Had similar issues with the Tactical Intervention SDK, so it could just be a me thing.
Installing on C:/
& unpacking all vpks first might work easier, ymmv
At present I don't have the hard drive space to try this out properly
Found tools for troika.vampire
https://www.moddb.com/mods/vtmb-unofficial-patch/downloads/bloodlines-sdk
These tools are Unofficial; built from HL2 Beta to get VBSP v17, then extended somewhat to match VtM:B needs
Developers can be found at Planet Vampire
Have not yet used these tools but am looking forward to communicating with devs to help them out
Ideally there should be a map for each branch script also need to document the tools pipeline to make each map
Documentation for each branch_script is coming across multiple files
docs/tools/index.md
lists links to all kind of toolsdocs/tools/compilers.md
details compilers / converters for each branch script
so far tools have been found for almost every branch_scriptdocs/tools/mapsrc.md
lists publically available .map
/ .vmf
files tests could be built withdocs/tools/tools.sc
sc-im table for tracking more detailed breakdowns of tools
e.g. bsp compile toolchain (vbsp, vrad etc.), editor formats & supported OSestests/mapsrc/Makefile
trying to allow bsp compiling via make
could get messy doing everything with one Makefile, one per game / branch_script may work better
it's not yet clear to what degree per-game compilers are interchangable within the same branch_script familyAll of this documentation is extremely WIP, but it's good enough for a first draft
Turns out a spec exists for BSPX extensions to Quake 1 bsps
Currently we have no test maps for this so can't really support it yet
Will probably just become an extra feature of QuakeBsp
(which needs to track external .lit
files now)
We should probably get some test maps custom built for edge cases 1 basic map per branch script should be good for auto-detect, but it doesn't cover every lump
Enough maps to cover every LumpClass is another challenge all it's own
monochrome.contagion
might not be distinct from valve.left4dead2
& can probably just be added to the branch script's GAME_VERSIONS
entry
Are their any other branch scripts this might apply to? AFAIK every branch script is distinct in some way, but it's worth checking...
monochrome.contagion
has been folded into valve.left4dead2
as of commit 9c0e0e3
We also need some external lump files to test how they work
These can be quite rare afaik, there aren't many in the "MegaTest" tests/maplist.py
Still standardising the format of each issue to clearly list games, tools, guide & documentation As well as a common checklist for shipping each test map:
bspinfo
compiler output (lump sizes etc.)We technically also need test maps for branches.bspx
BSPX
data can be appended to either IdTechBsp[id_software.quake2]
or QbismBsp[id_software.qbism]
Other .bsp
formats might support BSPX
https://github.com/fte-team/fteqw seems to have the best coverage, but other Source Ports support some BSPX
lumps[^qwiki]
https://github.com/eukara/freecs, https://github.com/eukara/freegunman, https://github.com/eukara/freehl & https://github.com/eukara/freesci are all mods for https://github.com/fte-team/fteqw
So clearly GoldSrc maps can be run in FTEQW
https://github.com/fte-team/fteqw/tree/hl2 also exists
Does this mean both valve.goldsrc
& valve.source
maps can include BSPX data?
I haven't studied https://github.com/fte-team/fteqw enough to say for sure
valve.source
BSPX
seems unlikely, since the PAKFILE
must be the last lump in the file (as if it was concatenated)
AFAIK BSPX
must appear after the PAKFILE
lump
BSPX
could of course include a ZIP_PAKFILE
lump to ensure the .bsp
ends with a PAKFILE
Would this have to be a duplicate though, could it interfere with bspzip
or other compile utilities?
AFAIK there are no Open-Source compilers for Source Engine titles (MRVN-Radiant's remap doesn't count)
Finding a Source Engine .bsp
with BSPX
seems extremely unlikely
BSPX
features may not even be that appealing to Source Engine mappers
DECOUPLED_LM
could be nice, but that's about it
Using anything but the stock compiler wouldn't matter for the Steam Workshop either
AFAIK Valve re-compiles maps themselves before shipping in an official update (for TF2 anyway)
[^qwiki]: quakewiki.org: FTEQW File Formats: BSPX lumps
Need to identify mapping tools / pipelines and provide test maps for as many games as possible All without distributing any copyrighted maps
branch_scripts with maps:
ace_team
arkane
gearbox
id_software
infinity_ward
ion_storm
loiste
nexon
outerlight
raven
respawn
ritual
strata
troika
utoplanet
valve
wild_tangent