UniqueOne Posted June 12, 2016 Posted June 12, 2016 Here is our new enhanced Q3MAP2 alternative. It is made for the Warzone mod, but since it will work for any JKA, I have decided to release it here for you all to make use of. LATEST DOWNLOAD - 20-Nov-2016 update (updated). wzmap-win64.zip 17-Nov-2016 update. wzmap-win64.zip 05-Jul-2016 update. wzmap-win64.zip 15-Jun-2016 update. Features: * Limits are much, much, higher. You can now make gigantic maps that are highly detailed at the same time. * Can compile Warzone trees directly into your BSP. This BSP will still work outside of Warzone if you include warzone's tree assets in your PK3 file. - Currently only supports the tropical climate. Others will be added later. - To compile trees into your map, you need to: 1. Compile your map without trees (no need to do vis or light passes). 2. Load your map in Warzone mod. 3. Use the /genfoliage command in Warzone to make a <mapname>.foliage file. You can set density, etc with the command. /genfoliage gives usage info. 4. Move the generated <mapname>.foliage file to your .map directory. 5. Compile your map again. 6. Enjoy your map with trees. * Much better looking UI, with color, and more information displayed and real time percentage bar displays. You now have a much better idea of when the job will finish. - Note: "-v" (verbose) switch on the command line is no longer needed. * Fixed a bunch of issues that could cause corruption of the BSP, errors, or crashing. * Experimental: -nodetailcollision feature which disables creation of collision planes for detail brushes. * Spherical Ambient Occlusion on light runs. - Spherical-based ambient occlusion technique (dirtmapping mode 2 and 3), old dirtmapping 0 and 1 was cone-based. - Dirtmap parameters for new mode works differently: gain sets additive brighten effect on sharp corners, scale darkens enclosed areas. - New: worldspawn keys: _ao, _aoMode, _aoDepth, _aoDepthExponent, _aoGain, _aoGainMask, _aoScale, _aoScaleMask. New: -dirtscalemask, -dirtgainmask, -dirtdepthexponent - New: q3map_aoScale controls ambient occlusion intensity (both gain and scale). - New: q3map_aoGainScale controls ambient occlusion gain intensity. - New: "_ao" key (same as _dirty), _aoGain, _aoScale, _aoMode, _aoDepth. * Compiled with intel math and parallel libraries for more speed. * Based on vortex's BloodMap, so nearly all of his added functionality should also work with JKA. More info here: https://github.com/paulvortex/BloodMap * Still does everything Q3MAP2 does and is completely compatible. Here is a screenshot of the console window: Here is some screenshots of trees baked into a BSP (running in Warzone). Archangel35757, Teancum, Exmirai and 15 others like this
Futuza Posted June 13, 2016 Posted June 13, 2016 I'm guessing this is step one in making your new map format you were talking about?
UniqueOne Posted June 13, 2016 Author Posted June 13, 2016 I'm guessing this is step one in making your new map format you were talking about? Hmm more of a workaround for the crappy limitations of the BSP format... But we will see.
Archangel35757 Posted June 13, 2016 Posted June 13, 2016 what about OpenSceneGraph? it is for real-time simulations and can read Quake3 BSP files.
ensiform Posted June 13, 2016 Posted June 13, 2016 Some of these things could probably be backported into the main radiant's version of q3map2. Archangel35757 likes this
UniqueOne Posted July 5, 2016 Author Posted July 5, 2016 New version uploaded in the main post. New stuff:* You can now do procedural addition of geometry to your maps. This is similar to what many new games use to add details (see below for more info).* Procedural geometry system can use up to 64 models. This could be increased if required.* Nearly all the really slow parts of the code are now fully multi-threaded.* Various bug fixes. Procedural Geometry. I have extended the old "forest" system used to add trees to maps, to also be usable for any other sorts of models. There is a now a simple .ini format file that you can create for your map and place with the .map file before you compile to:* Specify what models to use.* Specify what scale to use for each model.* Specify if each model should only be used on low-slope surfaces (you set the max angle in degrees for this object type).* Specify a buffer zone radius around each model. Other models will not be added within this zone.* Specify a minimum distance between usage of each model type. No other model the same will be placed within this radius. eg: set it to bigger radius then map and it will only add 1 of that object. Here is an example config file that I have been using to test the system...[GRASS] // Only used by warzone mod... grassImage0=models/warzone/foliage/maingrass grassImage1=models/warzone/foliage/maingrass grassImage2=models/warzone/foliage/maingrass seaGrassImage=models/warzone/foliage/seagrass [TREES] // Over-all model scale multiplier... treeScaleMultiplier=1.0 // Per-model filenames... treeModel0=models/map_objects/vjun/vrock2.md3 treeModel1=models/map_objects/vjun/vrock2.md3 treeModel2=models/map_objects/warzone/standingstones2.md3 treeModel3=models/map_objects/rift/crystal_floor.md3 treeModel4=models/map_objects/rift/crystal_floor.md3 treeModel5=models/map_objects/rift/crystal_floor.md3 treeModel6=models/warzone/trees/uqpalm1.md3 treeModel7=models/warzone/trees/uqpalm2.md3 treeModel8=models/warzone/trees/uqpalm3.md3 treeModel9=models/warzone/trees/giant1.md3 treeModel10=models/warzone/trees/anvilpalm1.md3 treeModel11=models/warzone/trees/manfern.md3 treeModel12=models/warzone/trees/willow.md3 treeModel13=models/map_objects/vjun/vbridge.md3 treeModel14=models/warzone/trees/uqbigtree2.md3 treeModel15=models/map_objects/rift/crystal_floor.md3 // Per-model vertical offsets... treeZoffset0=-4.0 treeZoffset1=-2.0 treeZoffset2=-48.0 treeZoffset3=0.0 treeZoffset4=0.0 treeZoffset5=0.0 treeZoffset6=-512.0 treeZoffset7=-128.0 treeZoffset8=-128.0 treeZoffset9=-64.0 treeZoffset10=-64.0 treeZoffset11=-64.0 treeZoffset12=-64.0 treeZoffset13=192.0 treeZoffset14=-64.0 treeZoffset15=0.0 // Per-model scales... treeScale0=1.0 treeScale1=0.5 treeScale2=1.0 treeScale3=1.3 treeScale4=1.0 treeScale5=2.0 treeScale6=5.0 treeScale7=5.0 treeScale8=5.0 treeScale9=4.0 treeScale10=4.0 treeScale11=4.0 treeScale12=4.0 treeScale13=1.0 treeScale14=4.0 treeScale15=1.4 // Per-model maximum slope... treeForcedMaxAngle0=0 treeForcedMaxAngle1=0 treeForcedMaxAngle2=18.0 treeForcedMaxAngle3=0 treeForcedMaxAngle4=0 treeForcedMaxAngle5=0 treeForcedMaxAngle6=0 treeForcedMaxAngle7=0 treeForcedMaxAngle8=0 treeForcedMaxAngle9=0 treeForcedMaxAngle10=0 treeForcedMaxAngle11=0 treeForcedMaxAngle12=0 treeForcedMaxAngle13=18.0 treeForcedMaxAngle14=0 treeForcedMaxAngle15=0 // Per-model buffer ranges... treeForcedBufferDistance0=0.0 treeForcedBufferDistance1=0.0 treeForcedBufferDistance2=256.0 treeForcedBufferDistance3=0.0 treeForcedBufferDistance4=0.0 treeForcedBufferDistance5=0.0 treeForcedBufferDistance6=0.0 treeForcedBufferDistance7=0.0 treeForcedBufferDistance8=0.0 treeForcedBufferDistance9=0.0 treeForcedBufferDistance10=0.0 treeForcedBufferDistance11=0.0 treeForcedBufferDistance12=0.0 treeForcedBufferDistance13=512.0 treeForcedBufferDistance14=0.0 treeForcedBufferDistance15=0.0 // Per-model distance from same type ranges... treeForcedDistanceFromSame0=0.0 treeForcedDistanceFromSame1=0.0 treeForcedDistanceFromSame2=8192.0 treeForcedDistanceFromSame3=0.0 treeForcedDistanceFromSame4=0.0 treeForcedDistanceFromSame5=0.0 treeForcedDistanceFromSame6=0.0 treeForcedDistanceFromSame7=0.0 treeForcedDistanceFromSame8=0.0 treeForcedDistanceFromSame9=0.0 treeForcedDistanceFromSame10=0.0 treeForcedDistanceFromSame11=0.0 treeForcedDistanceFromSame12=0.0 treeForcedDistanceFromSame13=8192.0 treeForcedDistanceFromSame14=0.0 treeForcedDistanceFromSame15=0.0 ... and here's a few screenshots of how a map looks with added randomized models. ent, SomaZ, Sentra and 5 others like this
Archangel35757 Posted July 5, 2016 Posted July 5, 2016 any update on the bloodmap alpha-blending and what that looks like in your warzone mod?
UniqueOne Posted July 6, 2016 Author Posted July 6, 2016 any update on the bloodmap alpha-blending and what that looks like in your warzone mod? I had a look at the code for it, and honestly have no idea how it is supposed to be used. The code does not seem to match up to the pictures of it shown on the bloodmap site.
Fuse294 Posted July 11, 2016 Posted July 11, 2016 Holy...that first screenshot looks amazing! MB2 Beta Tester / MB2 FA Assistant Dev
Szico VII Posted July 12, 2016 Posted July 12, 2016 * Limits are much, much, higher. You can now make gigantic maps that are highly detailed at the same time Would you be able to elaborate?Might try this for compiling some of my WIPs Stoiss and Archangel35757 like this
Archangel35757 Posted July 12, 2016 Posted July 12, 2016 * Limits are much, much, higher. You can now make gigantic maps that are highly detailed at the same time Would you be able to elaborate?Might try this for compiling some of my WIPs@@UniqueOne -- derived it from Vortex's BloodMap enhanced q3map2... https://github.com/paulvortex/BloodMap ..I think these are some of the numbers: MAX_MAP_MODELS 4096 (was 1024)MAX_MAP_BRUSHES 65536 (was 32768)MAX_MAP_PLANES 2097152 (was 1048576)MAX_CUST_SURFACEPARMS 1024 (was 64) Szico VII likes this
UniqueOne Posted July 13, 2016 Author Posted July 13, 2016 @@UniqueOne -- derived it from Vortex's BloodMap enhanced q3map2... https://github.com/paulvortex/BloodMap ..I think these are some of the numbers: MAX_MAP_MODELS 4096 (was 1024)MAX_MAP_BRUSHES 65536 (was 32768)MAX_MAP_PLANES 2097152 (was 1048576)MAX_CUST_SURFACEPARMS 1024 (was 64) Oh, I went way beyond those limits with WzMap. MAX_MAP_BRUSHES 1048576MAX_MAP_PLANES 67108864 MAX_MAP_NODES 8388608 (was 262144)MAX_MAP_BRUSHSIDES 15728640 (was 1048576)MAX_MAP_LEAFS 8388608 (was 131072)MAX_MAP_LEAFFACES 8388608 (was 1048576)MAX_MAP_LEAFBRUSHES 8388608 (was 262144)MAX_MAP_PORTALS 8388608 (was 131072) MAX_MAP_DRAW_SURFS 2097152 (was 262144)MAX_MAP_DRAW_VERTS 67108864 (was 8388608)MAX_MAP_DRAW_INDEXES 67108864 (was 8388608) MIN_WORLD_COORD -524288 (was -65536)MAX_WORLD_COORD 524288 (was 65536) Really the only limits are in the game itself and game ram usage now. I believe the artists should be the ones to choose how much complexity they want from their work, not arbitrary built-in limitations. It is possible to generate maps that base game won't be able to load (eg: base game probably will not like maps bigger then -65536 -> 65536. It will probably load them but stuff will not work right). I have pushed it as far as possible and allowed for almost anything to be compiled, mappers will need to find the limits of what their mods or basejka can allow depending on what they are using. Warzone has been patched to allow for much higher limits, and OpenJK could easy be patched (already pointed out to Xycaleth how he can easy allow for the majority of the new limits). So, yeah... Get out there and make what you want to make... and watch it compile faster then ever before with the multi-threading I have also added to most of the code ... add trees and extra details (rocks? imperial shuttles here and there? whatever you want...) semi-automatically to save you time and make the maps look better. You control the limits, no longer let them control you... hehe DarthDementous, Stoiss, Archangel35757 and 2 others like this
Szico VII Posted July 13, 2016 Posted July 13, 2016 I wonder if that lightmap compilation issue is fixed?(The one where if you had a lot of lighting and used complicated things like -samples 3 and low _lightmapscales the whole map would come out borked from a lighting view with odd shaders everywhere)
UniqueOne Posted July 13, 2016 Author Posted July 13, 2016 I wonder if that lightmap compilation issue is fixed?(The one where if you had a lot of lighting and used complicated things like -samples 3 and low _lightmapscales the whole map would come out borked from a lighting view with odd shaders everywhere) Hmm. Not sure. If it was something to do with a limit, then possibly.
Ramikad Posted July 13, 2016 Posted July 13, 2016 MIN_WORLD_COORD -524288 (was -65536)MAX_WORLD_COORD 524288 (was 65536) Woah, if the assumption that 64 units = 1.80 m, that makes maps potentially 29 km wide.
Szico VII Posted July 13, 2016 Posted July 13, 2016 Hmm. Not sure. If it was something to do with a limit, then possibly.I suspect it was a problem with q3map2 not being able to keep all the calculations in its memory properly
afi Posted July 13, 2016 Posted July 13, 2016 Woah, if the assumption that 64 units = 1.80 m, that makes maps potentially 29 km wide. But you'll hit the game's limits on basejka anyway. And even if you can run it, it doesn't mean that you'll get decent fps
UniqueOne Posted July 13, 2016 Author Posted July 13, 2016 I suspect it was a problem with q3map2 not being able to keep all the calculations in its memory properly If this is the case then it quite possibly might fix the issue. Needs to be tested I guess.
TomsRocc Posted August 24, 2016 Posted August 24, 2016 Any chance of a version compatible with processors that don't support F16C functions, or will we just have to recompile on our own?
UniqueOne Posted August 24, 2016 Author Posted August 24, 2016 Any chance of a version compatible with processors that don't support F16C functions, or will we just have to recompile on our own? Try this exe. You might still need the other files from the original archive.WzMap.zip
UniqueOne Posted October 24, 2016 Author Posted October 24, 2016 @@UniqueOne - Any updates?I fixed a few bugs in the q3map2 code a few days ago, but have not done much else with wzmap recently. Been busy working on the mod code. Smoo and Archangel35757 like this
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now