Create an account


Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[NEED HELP] .map File Specifications

#1
I assumed it would be the same as Quake's, but looking at
http://www.gamers.org/dEngine/quake/QDP/qmapspec.html
and loading the sample map there results in absolutely nothing in Net Radiant.

But then a brush from some simple map I made in NetRadiant earlier looks like:
Code:
// brush 1
{
brushDef
{
( -16 800 208 ) ( -16 288 208 ) ( -32 800 208 ) ( ( 0.015625 0 15.5 ) ( 0 0.015625 12.75 ) ) narmorx/base-concrete05_blue 0 0 0
( -32 1328 96 ) ( -48 1328 96 ) ( -32 1328 80 ) ( ( 0.015625 0 3 ) ( 0 0.015625 0 ) ) narmorx/base-concrete05_blue 0 0 0
( -32 704 96 ) ( -32 704 80 ) ( -32 192 96 ) ( ( 0.015625 0 1 ) ( 0 0.015625 0 ) ) narmorx/base-concrete05_blue 0 0 0
( 16 368 48 ) ( 32 368 48 ) ( 16 880 48 ) ( ( 0.015625 0 14.25 ) ( 0 0.015625 4 ) ) narmorx/base-concrete05_blue 0 0 0
( -48 304 48 ) ( -48 304 64 ) ( -32 304 48 ) ( ( 0.015625 0 13 ) ( 0 0.015625 15.5 ) ) narmorx/base-concrete05_blue 0 0 0
( -48 816 80 ) ( -48 1328 80 ) ( -48 816 96 ) ( ( 0.015625 0 8.75 ) ( 0 0.015625 0 ) ) narmorx/base-concrete05_blue 0 0 0
}
}

which is way different- format deviates after 3 ()'s on the row- than
Code:
 {
 ( 128 0 0 ) ( 128 1 0 ) ( 128 0 1 ) GROUND1_6 0 0 0 1.0 1.0
 ( 256 0 0 ) ( 256 0 1 ) ( 256 1 0 ) GROUND1_6 0 0 0 1.0 1.0
 ( 0 128 0 ) ( 0 128 1 ) ( 1 128 0 ) GROUND1_6 0 0 0 1.0 1.0
 ( 0 384 0 ) ( 1 384 0 ) ( 0 384 1 ) GROUND1_6 0 0 0 1.0 1.0
 ( 0 0 64 ) ( 1 0 64 ) ( 0 1 64 ) GROUND1_6 0 0 0 1.0 1.0
 ( 0 0 128 ) ( 0 1 128 ) ( 1 0 128 ) GROUND1_6 0 0 0 1.0 1.0
}
May I get the specifications for the .map format used by NetRadiant?
doesn't seem to be covered by https://gitlab.com/xonotic/xonotic/wikis/home
and my search results are polluted by "relevant, but not quite" results.
Reply

#2
Even if Darkplaces is obviously compatible with old Quake1 maps, Xonotic uses Quake3 map format which is more modern (or less old, as you like). Oh it looks like it's my very first message on that forum, you got me. Rolleyes
This comment is licensed under cc by 4 and antecedent.
Reply

#3
Can't be right

from that link its
Code:
( 64 48 8 ) ( 64 -64 8 ) ( -64 48 8 ) NULL 0 0 0 0.5 0.5 0 0 0

( r s t ) ( u v w )( x y z )  <material name> <3 integers?> <2 floats?> <3 integers?>

From NetRadiant, it's clearly
Code:
( -16 800 208 ) ( -16 288 208 ) ( -32 800 208 ) ( ( 0.015625 0 15.5 ) ( 0 0.015625 12.75 ) ) narmorx/base-concrete05_blue 0 0 0

( r s t ) ( u v w )( x y z ) ((a b c) (d e f)) <material name> <g h i>

Where {(r s t) (u v w) (x y z)} deal with planes. {(a b c)(d e f)}, and <g h i> I didn't know.

https://github.com/DefaultUser/AssetGene...es.py#L119
Here it seems to be {(a b c) (d e f)} is something to do with rotation and scale.
Reply

#4
Oh, it looks like you are facing this BrushDef format:
https://github.com/codereader/DarkRadian...pp#L25-L38
Since the one described in that ubergames link is that Legacy BrushDef one:
https://github.com/codereader/DarkRadian...#L143-L156
I don't know why, but I always encountered that legacy format, probably because I only put my hand on old maps and they were all done with GtkRadiant?
This comment is licensed under cc by 4 and antecedent.
Reply

#5
Thanks for the response thus far. Though I was hoping for an explanation of what those fields are in a human language.
I dumped in 0's as placeholder values and what I notice is everything being blue with the exception of a few brushes.
   
Picture related, it's Static Discharge from Reflex.
I got data, 'Faces' being a struct with X offset, Y offset, X scale, Y scale, indices, and material.
Not entirely clear what I can do with them to fit the format.



In retrospection I should really stop being polite because I even included a sample of the map format I needed to output, but then the answer I get is another map format that was polluting search engine results and is extremely similar to the 'wrong answer' format I also included in the first post. This was the part when I went "fuck it, I spent too much time looking for it, lets dump 0's just so Net Radiant can read in the files".
Reply

#6
Every brush consists of several Faces.
Each face is defined by 3 Points in space, a texture/shader name, texture rotation/scale, texture offset, and 3 values for different flags. I've never found a complete list of all flags, so I have always set them to 0.
Code:
( P0_x P0_y P0_z ) ( P1_x P1_y P1_z ) ( P2_x P2_y P2_z ) ( ( RotScaleMatrix_xx RotScaleMatrix_xy TexOffset_x ) ( RotScaleMatrix_yx RotScaleMatrix_yy TexOffset_y ) ) shadername SomeFlag SomeFlag SomeFlag
My guess on what happened with the map in the picture is that radiant was not able to find the texture/shader so that it displays the "shader not found" image that is blue. You probably also set the RotScaleMatrix entries to 0 so that the image is stretched to infinite size
Reply

#7
This thread might be of interest as well.
I haven't worked with NetRadiant for quite a while,
but if I unterstand correctly, it should be possible
to switch between the texture definition formats.
Reply

#8
This is the original format though..?
Code:
reflex map version 8
global
    entity
        type WorldSpawn
        String32 targetGameOverCamera end
        UInt8 playersMin 1
        UInt8 playersMax 16
    brush
        vertices
            -256.000000 0.000000 256.000000
            256.000000 0.000000 256.000000
            256.000000 0.000000 -256.000000
            -256.000000 0.000000 -256.000000
            -256.000000 -16.000000 256.000000
            256.000000 -16.000000 256.000000
            256.000000 -16.000000 -256.000000
            -256.000000 -16.000000 -256.000000
        faces
            0.000000 0.000000 1.000000 1.000000 0.000000 0 1 2 3 0x00000000
            0.000000 0.000000 1.000000 1.000000 0.000000 6 5 4 7 0x00000000
            0.000000 0.000000 1.000000 1.000000 0.000000 2 1 5 6 0x00000000
            0.000000 0.000000 1.000000 1.000000 0.000000 0 3 7 4 0x00000000
            0.000000 0.000000 1.000000 1.000000 0.000000 3 2 6 7 0x00000000
            0.000000 0.000000 1.000000 1.000000 0.000000 1 0 4 5 0x00000000
    entity
        type PlayerSpawn
    entity
        type CameraPath
        UInt8 posLerp 2
        UInt8 angleLerp 2
    entity
        type Effect
        Vector3 position 0.000000 256.000000 0.000000
        String64 effectName internal/misc/reflectionprobe
    entity
        type Target
        Vector3 position 320.000000 256.000000 320.000000
        Vector3 angles -135.000000 30.000000 0.000000
        String32 name end
I really shouldn't have brought up the not-so relevant stuff I found in search engine...

Also how do I add a texture directory to NetRadiant, I keep getting instructions for GTK Radiant.

Append:
I just got the idea to just export to the legacy brush definitions and have Net Radiant import them that way because the current data I have fits that format better (and I'm getting more material about it). And to look at Net Radiant source code so I can see how to get
Code:
RotScaleMatrix_xx RotScaleMatrix_xy RotScaleMatrix_yx RotScaleMatrix_yy


from current data. Where in https://gitlab.com/xonotic/netradiant/tree/master
is the format converted?
(I know rotation and scale separately, but I don't know rotationscale together.)
Reply

#9
(04-07-2017, 08:04 AM)Antares* Wrote:
Code:
( -16 800 208 ) ( -16 288 208 ) ( -32 800 208 ) ( ( 0.015625 0 15.5 ) ( 0 0.015625 12.75 ) ) narmorx/base-concrete05_blue 0 0 0
What is the purpose? Since it's quite mathematical
(point)(point)(point)((StexaxiasX StexaxiasY Soffset)(TtexaxisX TtexaxisY Toffset)) texname flag flag flag
Basically ComputeAxisBase(plane.normal) creates 3d orthogonal basis and then those 2d texture vectors are considered inside it
Reply

#10
I wanted to convert another map format to the one Netradiant uses. It was already mathematical before I asked this question since vertices had to be converted to planes.
Reply

#11
Vertices to planes math is pretty trivial (and not required, i think), while converting texturing info is quite challenging
What was the source format, is the conversion still wanted?
Reply

#12
This thread is only a year old. I already got the converter going long before, but it's not as though this thread actually has a solution for a solved tag to help anyone searching for something similar.
Reply

#13
Sorry to resurrect this but I was asking myself the same question and a lot of the links above are by now dead, so I want to add this description I found, from QuArk's documentation: http://quark.sourceforge.net/infobase/sr...ce.html#bp
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  Anyway to take a .bsp and make it a .map file again? MintOX 6 11,770 10-28-2010, 02:30 PM
Last Post: MintOX
  config.cfg file tangerian 0 2,766 08-19-2010, 05:12 PM
Last Post: tangerian

Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-