Build to Quake map converter

Discuss yer favorites, plug upcoming creations, or ask "how to's"
acc
Registered User
Joined: 30 Oct 2008, 17:24

28 Jul 2016, 11:57 #1

After a few test code releases and some more testing, I turned cutAlpha into a proper tool. Out of 120 maps, it only failed to convert 22 sectors (which is good enough for me to release it as a beta). There's no texture support and converted maps are still often troublesome to compile (but it's getting better). The program supports Build map version 3 to 7, which means big games (Duke Nukem 3D, Shadow Warrior, Redneck Rampage, ...) and more obscure titles (such as TekWar, Witchaven, Legend of the Seven Paladins 3D) are supported alike. QStudio/Monolith Productions used a custom map format for Blood, but it was close enough to the original Build format to also be supported: maps v6.0 (alpha leak), v6.3 (demo) and v7.0 (retail version) can be converted.



I'm going to update this link with every new release:
http://gaarabis.free.fr/_goodies/cutAlpha.rar
Beta .2- Fixed some crashes when converting Tekwar maps (mostly due to map corruption)- Fixed a bug where skipping floor conversion would crash the program- Fixed a possible endless loop bug- Added log output- Added range support (only convert sectors within a specific range)- Better, configurable walls (actual walls, no longer "diamonds")- Very early (and therefore buggy) texture "support"
Beta .3- Much better conversion ratio (no more issues with official Blood maps)- Modified parameters list (merged some options, deleted others)- Added custom rescale factor- Fixed a bug where sectors would be improperly read because the index of wall.point2 isn't i + 1 (Blood)- Fixed another bug where corrupted walls would crash the program (Tekwar)- Fixed a bug where some shapes would falsely be considered clockwise
Beta .4- Added support for Ken Silverman's GRP files (note: Powerslave's DAT files are also GRP files)- Simple geometry texturing (most faces show the proper texture, but there is no alignment or scaling)- Automatic texture extraction from ART files (proven that PALETTE.DAT and the associated ART files are available)- Changed some parameters again (sorry)Beta .5- Added support for Blood's RFF files version 2 (demo) and 3 (retail)- Added texture conversion to WAL (Quake 2), MIP, WAD2 (Quake 1), and WAD3 (Half-Life)- Better support for Quake 1 map export
[hr]New stuff! There's been so much rewriting of the code (yet there's still so much more to go), I renamed the program entirely; say hello to sectorCut. It supports all Build engine maps cutAlpha supported, but also adds Doom Engine maps and Jedi Engine maps to the list. It can still extract textures for each map converted (even though I only tested the export routine for TGA files). As I wrote in the readme, it's a little "rough around the edges", but it will be easier for me to expand upon. Get it here:http://gaarabis.free.fr/_goodies/sectorCut.rar
Release .2- New sector conversion, not perfect yet but really promising.- Fixed a bug where PAK files wouldn't be read properly.- Rewrote notification system- Renamed some parameters- Added two debug parameters
Release .3- DebugVerbose 3 now displays the entire file system.- Added support for masked walls (Doom Engine only).- Self-neighboring walls are no longer "fixed", discarded instead.- Only the closest visible vertex is used for sector splitting.- Added -Skip as a replacement for -SkipWall, -SkipCeiling, -SkipFloor.- Debug logs are now named DEBUG####.LOG
Release .4Looks like the changes in this update made Doom map conversion viable: after centering the brushes and adding an info_player_start entity, they can be compiled and launched in Kingpin; no tweaking required.- Tweaked notifications again.- Fixed Doom wall patches composition (ie. Doom's "brown144")- Rewrote wall creation (walls' thickness is constant, angles are accurate)- Added -TextureDummy
Release .5There's still a nasty brush writing bug where the program doesn't clean co-planar faces. It happens rarely and most stuff seem to work as planned.- Fixed a bug where the wrong vertex would be selected when multiple points are stacked on top of each other.- Fixed a bug where vertices standing on top of walls would cause the program to think there's no wall visible.- Fixed a bug where vertices would not be considered standing on a segment because of said segment's direction.- Added prompt for confirmation when using -DebugVerbose > 1.- Added support for compressed and animated BM textures (Dark Forces).- Tweaked warnings & errors notifications.
Release .6- Fixed a bug where some brushes would have co-planar faces.- Added bulk conversion and rewrote the whole texture extraction process to accommodate this feature.- Increased tolerance for precision loss when identifying wall order only if the sector has one loop.
Release .7:- Fixed a bug where the command line parser would get stuck in an endless loop if two parameters are identical.- Fixed a bug where loops would not always be properly tagged clockwise.- Rewrote the scaling system.- Added -WallThickness (in radiant units)- Added -MapScale- Added -MapCenter
Release .8:- Fixed -MapScale (Y would always have the same value as X).- Fixed slopes not being scaled properly.- Added support for masked walls (Build Engine).- Releasing some doc.
Image
Image
Image
Image
Image
Image
Last edited by acc on 05 May 2017, 12:54, edited 17 times in total.
Reply

kp4everadmin
Registered User
Joined: 14 Jan 2002, 06:31

02 Aug 2016, 12:50 #2

Hi,

A you planning on working towards texture support?

Mr D
Reply

acc
Registered User
Joined: 30 Oct 2008, 17:24

02 Aug 2016, 15:15 #3

Snatching Build art to TGA (or MIP, WAL, WAD, etc.) is easy, but I still need textures to be applied correctly to the geometry and that's going to require a lot of time and effort  (right now, you can extract textures manually and have a preview of where they are... more or less). I have no idea how to handle that. But I'll figure it out... eventually... I hope.
EDIT: slow progress, it's getting better as more and more surfaces are showing the proper texture, but it's still too early to work on texture alignment and scaling.
Last edited by acc on 03 Aug 2016, 19:03, edited 1 time in total.
Reply

acc
Registered User
Joined: 30 Oct 2008, 17:24

04 Jan 2017, 05:29 #4

For no particular reason, I'm toying with the idea of adding support for Doom levels (that should also cover Doom II, Doom Final, Heretic, Hexen and Strife). I kinda want to rewrite the whole code to make it cleaner too.EDIT: Damn it.
ImageImageImageImage
Last edited by acc on 06 Jan 2017, 13:10, edited 1 time in total.
Reply

kp4everadmin
Registered User
Joined: 14 Jan 2002, 06:31

07 Jan 2017, 10:04 #5

That sounds good Image
Reply

kp4everadmin
Registered User
Joined: 14 Jan 2002, 06:31

15 Mar 2017, 11:29 #6

Did you ever add support for Doom levels?
Reply

acc
Registered User
Joined: 30 Oct 2008, 17:24

04 Apr 2017, 10:21 #7

I was in the process of rewriting the whole code to support Doom textures (textures are patchworks of multiple images, which is very different from what is usually done in 3D games; Half-Life had something "somewhat" similar, but it was much easier to handle) and more importantly PWADs (Doom custom maps) but then I got side-tracked. I really would like to add another conversion method too (breaking shapes into triangles instead of extending walls like I do right now - that would prevent micro leaks and be all around more reliable). I'll get back to it though.
EDIT: the new code is going along nicely, and I added support for the Jedi Engine (Dark Forces). I still have a nasty memory leak going on somewhere (probably in one of the two routines I use to rebuild sectors for Doom & Dark Forces); it crashes at random with those games, but works fine with Build Engine-based games.
EDIT: crammed everything together, still have an issue picking the right textures for Doom & Jedi's walls, I suspect it's again from the same two routines. I thought I gave a previous update explaining the memory leak was fixed, turns out I didn't? Will likely release that new code soon.
Image
Last edited by acc on 18 Apr 2017, 22:23, edited 5 times in total.
Reply

kp4everadmin
Registered User
Joined: 14 Jan 2002, 06:31

19 Apr 2017, 22:43 #8

Hi,

The pic you posted isn't working Image

Mr D
Reply

acc
Registered User
Joined: 30 Oct 2008, 17:24

19 Apr 2017, 23:05 #9

Apologizes all around, I'm being confusing as all hell; I removed all WIP pictures I posted in the thread, but updated the first post with the new program (the five screenshots in the first post shows what converted maps look like)
Reply

acc
Registered User
Joined: 30 Oct 2008, 17:24

21 Apr 2017, 21:57 #10

Working on the new cutting system, and getting some nice results.
Image
EDIT: updated the first post, uploaded another version of sectorCut featuring the new cutting system. It's not perfect but I dig the code so far.
Last edited by acc on 22 Apr 2017, 22:24, edited 1 time in total.
Reply