GtkRadiant + q3map2 - problem with DDS support


(cyrial) #1

Hi guys,
I’m working with GtkRadiant lately and everything was ok until I have tried to export BSP map using q3map2 with DDS textures. As far as I know q3map2 supports DDS format. Here’s what I have

Uploaded with ImageShack.us

Have you got any idea how can I get this one to work?


(obsidian) #2

What game is this for?
What do you mean by export BSP? Compile a .map into a .bsp?
What compile switches?


(cyrial) #3
  1. My own game with my own engine
  2. Yes, compiling to BSP is failing while using DDS textures
  3. Even single “q3map2 -meta MAP” doesn’t work

(obsidian) #4

I can’t think of any reason why Q3Map2 would care if you are using DDS textures. It doesn’t normally have to read any of the texture files, it just processes the shader names. Does if compile if you temporarily replace the .dds textures with .tga files? It seems to crash when just reading your .map file, are you sure there’s nothing wrong with the map itself? My guess would be that the map file itself might be corrupt and Q3Map2 has problems reading it.


(cyrial) #5

There are no shaders at the moment while compiling and it looks strange for me.

I have:
1.dds and 1.jpg in textures catalog - compilation ok
1.dds - segfault
no textures at all - compilation ok

Here’s my MAP file

// entity 0
{
“classname” “worldspawn”
“_keeplights” “1”
// brush 0
{
( 384 320 -32 ) ( 384 -288 -32 ) ( -256 320 -32 ) Ground/1 204.8000488281 80.8421630859 0 0.2083333284 0.1979166716 0 0 0
( 384 320 -32 ) ( -256 320 -32 ) ( 384 320 -40 ) Ground/1 204.8000488281 0 0 0.2083333284 0.0026041667 0 0 0
( 384 320 -32 ) ( 384 320 -40 ) ( 384 -288 -32 ) Ground/1 431.1578369141 0 0 0.1979166716 0.0026041667 0 0 0
( -256 -288 -40 ) ( 384 -288 -40 ) ( -256 320 -40 ) Ground/1 204.8000488281 80.8421630859 0 0.2083333284 0.1979166716 0 0 0
( -256 -288 -40 ) ( -256 -288 -32 ) ( 384 -288 -40 ) Ground/1 204.8000488281 0 0 0.2083333284 0.0026041667 0 0 0
( -256 -288 -40 ) ( -256 320 -40 ) ( -256 -288 -32 ) Ground/1 431.1579589844 0 0 0.1979166716 0.0026041667 0 0 0
}
// brush 1
{
( 416 336 384 ) ( 416 320 384 ) ( -264 336 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 416 336 384 ) ( -264 336 384 ) ( 416 336 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 384 336 384 ) ( 384 336 -32 ) ( 384 320 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -264 320 -32 ) ( 416 320 -32 ) ( -264 336 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -256 320 -32 ) ( -256 320 384 ) ( 424 320 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -256 320 -32 ) ( -256 336 -32 ) ( -256 320 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
}
// brush 2
{
( 416 -288 384 ) ( 416 -304 384 ) ( -264 -288 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 424 -288 384 ) ( -256 -288 384 ) ( 424 -288 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 384 -288 384 ) ( 384 -288 -32 ) ( 384 -304 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -264 -304 -32 ) ( 416 -304 -32 ) ( -264 -288 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -264 -304 -32 ) ( -264 -304 384 ) ( 416 -304 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -256 -304 -32 ) ( -256 -288 -32 ) ( -256 -304 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
}
// brush 3
{
( -256 -328 384 ) ( -272 -328 384 ) ( -256 352 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -256 -328 384 ) ( -256 352 384 ) ( -256 -328 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -256 -288 384 ) ( -256 -288 -32 ) ( -272 -288 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -272 352 -32 ) ( -272 -328 -32 ) ( -256 352 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -272 352 -32 ) ( -272 352 384 ) ( -272 -328 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( -272 320 -32 ) ( -256 320 -32 ) ( -272 320 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
}
// brush 4
{
( 400 -328 384 ) ( 384 -328 384 ) ( 400 352 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 400 -328 384 ) ( 400 352 384 ) ( 400 -328 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 400 -288 384 ) ( 400 -288 -32 ) ( 384 -288 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 384 352 -32 ) ( 384 -328 -32 ) ( 400 352 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 384 352 -32 ) ( 384 352 384 ) ( 384 -328 -32 ) Ground/1 0 0 0 0.5 0.5 0 0 0
( 384 320 -32 ) ( 400 320 -32 ) ( 384 320 384 ) Ground/1 0 0 0 0.5 0.5 0 0 0
}
// brush 5
{
( 384 320 384 ) ( 384 -288 384 ) ( -256 320 384 ) Ground/1 204.8000488281 80.8421630859 0 0.2083333284 0.1979166716 0 0 0
( 384 320 384 ) ( -256 320 384 ) ( 384 320 376 ) Ground/1 204.8000488281 0 0 0.2083333284 0.0026041667 0 0 0
( 384 320 384 ) ( 384 320 376 ) ( 384 -288 384 ) Ground/1 431.1578369141 0 0 0.1979166716 0.0026041667 0 0 0
( -256 -288 376 ) ( 384 -288 376 ) ( -256 320 376 ) Ground/1 204.8000488281 80.8421630859 0 0.2083333284 0.1979166716 0 0 0
( -256 -288 376 ) ( -256 -288 384 ) ( 384 -288 376 ) Ground/1 204.8000488281 0 0 0.2083333284 0.0026041667 0 0 0
( -256 -288 376 ) ( -256 320 376 ) ( -256 -288 384 ) Ground/1 431.1579589844 0 0 0.1979166716 0.0026041667 0 0 0
}
// brush 6
{
( 0 328 352 ) ( 0 320 352 ) ( -136 328 352 ) Ground/1 288 384 0 0.5 0.5 0 0 0
( 24 320 184 ) ( -112 320 184 ) ( 24 320 176 ) Ground/1 240 352 0 0.5 0.5 0 0 0
( -80 200 -72 ) ( -80 200 -80 ) ( -80 192 -72 ) Ground/1 384 352 0 0.5 0.5 0 0 0
( -136 304 -32 ) ( 0 304 -32 ) ( -136 312 -32 ) Ground/1 288 352 0 0.5 0.5 0 0 0
( -144 240 64 ) ( -144 240 72 ) ( -8 240 64 ) Ground/1 304 128 0 0.5 0.5 0 0 0
( -120 288 -80 ) ( -120 296 -80 ) ( -120 288 -72 ) Ground/1 192 352 0 0.5 0.5 0 0 0
}
// brush 7
{
( 272 328 352 ) ( 272 320 352 ) ( 136 328 352 ) Ground/1 256 384 0 0.5 0.5 0 0 0
( 296 320 184 ) ( 160 320 184 ) ( 296 320 176 ) Ground/1 208 352 0 0.5 0.5 0 0 0
( 192 296 -72 ) ( 192 296 -80 ) ( 192 288 -72 ) Ground/1 192 352 0 0.5 0.5 0 0 0
( 136 304 -32 ) ( 272 304 -32 ) ( 136 312 -32 ) Ground/1 256 352 0 0.5 0.5 0 0 0
( 128 240 64 ) ( 128 240 72 ) ( 264 240 64 ) Ground/1 272 128 0 0.5 0.5 0 0 0
( 152 216 -80 ) ( 152 224 -80 ) ( 152 216 -72 ) Ground/1 336 352 0 0.5 0.5 0 0 0
}
// brush 8
{
( 272 328 352 ) ( 272 320 352 ) ( 136 328 352 ) Ground/1 256 384 0 0.5 0.5 0 0 0
( 296 320 168 ) ( 160 320 168 ) ( 296 320 160 ) Ground/1 208 320 0 0.5 0.5 0 0 0
( 152 240 -72 ) ( 152 240 -80 ) ( 152 232 -72 ) Ground/1 304 352 0 0.5 0.5 0 0 0
( 136 320 328 ) ( 272 320 328 ) ( 136 328 328 ) Ground/1 256 384 0 0.5 0.5 0 0 0
( 88 240 64 ) ( 88 240 72 ) ( 224 240 64 ) Ground/1 352 128 0 0.5 0.5 0 0 0
( -80 232 -80 ) ( -80 240 -80 ) ( -80 232 -72 ) Ground/1 304 352 0 0.5 0.5 0 0 0
}
}
// entity 1
{
“classname” “player_respawn”
“origin” “200.000000 232.000000 -8.000000”
}
// entity 2
{
“classname” “player_respawn”
“origin” “-144.000000 184.000000 -8.000000”
}
// entity 3
{
“classname” “player_respawn”
“origin” “24.000000 64.000000 -8.000000”
}
// entity 4
{
“classname” “health_medkit”
“origin” “-72.000000 -80.000000 -32.000000”
}
// entity 5
{
“classname” “health_medkit”
“origin” “160.000000 64.000000 -32.000000”
}
// entity 6
{
“classname” “health_medkit”
“origin” “-96.000000 152.000000 -32.000000”
}
// entity 7
{
“classname” “health_medkit”
“origin” “16.000000 16.000000 -32.000000”
}
// entity 8
{
“classname” “light”
“origin” “16.000000 32.000000 336.000000”
“light” “200”
“_color” “1 0.776272 0”
“spawnflags” “2”
}
// entity 9
{
“classname” “light”
“origin” “24.000000 288.000000 296.000000”
“light” “150”
“_color” “1 1 1”
“spawnflags” “2”
}

// entity 10
{
“classname” “player_respawn”
}

It looks like q3map2 is somehow checking/processing texture file, but why…


(cyrial) #6

ok, got the error

here’s the image.c source code from q3map2

WriteTGA( “C:\games\quake3\baseq3\ extures\rad\dds_converted.tga”, image->pixels, image->width, image->height );

I have created this folder and it works fine. Who the hell is giving such path without modification possibility :wink: