Pages: [1]
  Print  
Author Topic: Gtkradiant / netradiant "Toolchain"  (Read 22760 times)
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« on: October 14, 2013, 01:38:04 pm »

Hi!

10 Years ago I used to make a map for a LAN.
Now 10 years later I would like to make a map and fail - I am pretty frustrated.

I think I am unable to configure radiant right.
Textures in Radiant that fit correctly appear 4x smaller In-Game.

What I tried:
-Install GtkRadiant from source
-Asked in #opensuse-buildservice to make a package
-Downloaded netradiant
-Tired to manually adapt config files.
-Downloaded config files 'Game Packs'.
-Asked the guys/gals in #openarenahelp

My setup:
-Linux (openSuse)
-OpenArena
-GtkRadiant 1.6.4
-netradiant 1.5.0

If someone explains me how to get from radiant-sources to a pk3 (mapping not included) I would be very glad
and will write a Tutorial on http://openarenahelp.com/category/netradiant/
- If the information are good enough to write something and possibly get others to achieve the same.


T L D R ;
Can someone explain to me how to setup a radiant for OA and how to get from a Map to a pk3 ?

greetings
L!ve*w!ng x
Logged

L!ve* is life - na na nana na
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #1 on: October 14, 2013, 01:40:55 pm »

Inb4:
I know that pk3s are zips which include
/textures
/scripts <-- 'shaders'?
/maps <--bsp goes here
/...
that are needed to display a map.
I can create bsp's too and can provide a 'sample' pk3 if needed.
Logged

L!ve* is life - na na nana na
Gig
In the year 3000
***

Cakes 48
Posts: 4237


WWW
« Reply #2 on: October 14, 2013, 02:00:03 pm »

Waiting for better answers, there are some articles in the wiki here:
http://openarena.wikia.com/wiki/Mapping_resources_%26_tutorials
http://openarena.wikia.com/wiki/Configure_GTK_Radiant_under_Linux
http://openarena.wikia.com/wiki/Configure_GTKRadiant_for_OA

Maybe some of them are outdated and should be updated.

However, NetRadiant 1.6 uses different game settings files format than the format used by GTKRadiant 1.5 and NetRadiant 1.5.
Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
Akom74
Member


Cakes 9
Posts: 906


Q3A/OA Mapper


WWW
« Reply #3 on: October 14, 2013, 02:34:30 pm »

Personally i'm using Q3Radiant202, but i suggest to use NETradiant and not GTKradiant.

Go here to get the NETradiant for OA:
http://openarena.ws/board/index.php?topic=2722.0

Wink
Logged

...sorry for my English, i'm Italian... Tongue



wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #4 on: October 14, 2013, 02:42:49 pm »


Yes, the articles are outdated for GtkRadiant.
What I really miss is a step by step instruction that is up-to-date but also better written/formated.

Some of the 'articles' just point to discussions in this forum :/

However I used some of the information, but they dont 'fetch' me where I am.
E.g. "Add ... to the shader list" -> What shader list? textfile or in settings???

I will write a howto/tutorial, but plz halp me!
Logged

L!ve* is life - na na nana na
Gig
In the year 3000
***

Cakes 48
Posts: 4237


WWW
« Reply #5 on: October 14, 2013, 02:59:32 pm »

"Shaderlist.txt" is a text file that you have to place under "baseoa/scripts" folder. It's a list of all the .shader files the editor (and the compiler) have to load when editing/compiling the map.

Example, to make it load "common.shader" and "sfx.shader" and "wing01.shader", would be a text file containing
Quote
common
sfx
wing01
(notice that the ".shader" extension is not specified in the list)

I'd like to have an exhaustive list of all OA shader files, but I haven't it now. I tried to write it once... by extracting all shader files from OA 0.8.1/0.8.5/0.8.8 packages into a folder, but then I realized I forgot some pk3 files, and I haven't redone it yet. And probably my list would have also included some shader files not really useful for mapping purposes (being used for items or characters instead).

If someone has got an exhaustive OA 0.8.8 shaderlist.txt, he may post it...

Note: if you need/use a certain texture/shader, but the editor/compiler has not loaded its shader file due to it not being listed in shaderlist.txt, may at first look correctly in-game (the game loads all shaders, ignoring shaderlist.txt), but in reality lacking more or less fundamental properties (that are elaborated during compiling instead) such as being non-solid, emitting light, etc. Hence, a good shaderlist.txt is a very important thing.
« Last Edit: October 15, 2013, 01:03:51 am by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #6 on: October 14, 2013, 03:16:10 pm »

...

Go here to get the NETradiant for OA:
http://openarena.ws/board/index.php?topic=2722.0

...

That is what I downloaded compiled and did (besides deleting the shader list).
I deleted the shader list, but still I get a lot of warnings like:
"WARNING: Couldn't find image for shader textures/e7/e7sbrickfloor"

The textures can be seen in the editor and ingame,
but the size is different! (4x smaller)

Somewhat now it is even more fucked up, see screenshots:

Ingame:


NetRadiant:


Note: I added two textures out of another package - just to for testing purposes.
Logged

L!ve* is life - na na nana na
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #7 on: October 14, 2013, 03:22:35 pm »


Note: if you need/use a certain texture/shader, but the editor/compiler has not loaded its shader file ... the shader may [be] ... lacking more or less fundamental properties (that are elaborated during compiling instead) such as being non-solid, emitting light, etc. Hence, a good shaderlist.txt is a very important thing.

Sounds like a good idea for unbugging my radiant/problem.

About the list, can I add all texture-names in my pk3s?
I can write such a script and contribute such a list.
Which pk3s should I include?

Do you think I can get such a list from another mapper?
(I know marco, inder, moixie, they may help with such a list)


P.S.:
Above: very unprofessional quoting!
Logged

L!ve* is life - na na nana na
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #8 on: October 14, 2013, 03:31:25 pm »

I just looked at the museum.shader (example map of netradiant)
and the shader file looks like this:

textures/base_floor/concfloor_rain
{
        tessSize 32
        deformVertexes normal 1 15
        {
                ...
        {
                map $lightmap
                blendFunc filter
                rgbGen identity
        }
}


I am not sure what that all means but e.g. for pul4ctf the textfile is more than 700 lines of code text.
I guess the radiant editor uses information and creates the shader files, am I right?
Logged

L!ve* is life - na na nana na
Gig
In the year 3000
***

Cakes 48
Posts: 4237


WWW
« Reply #9 on: October 15, 2013, 01:55:50 am »

What can I tell about shaders? Here's what I know:
- A shader is basically a texture (an image) with the addition of animations and/or parameters that make the surface using it something different than just plain bricks. Shaders are made of human-readable text, like small "scripts".
- A shader is like a texture: when you browse for textures in the editor, you see both "normal" textures and shaders (IIRC, there are options to show or hide shaders -showing just plain textures-, or to hide those that are not included in shaderlist.txt). IIRC, in the textures window, the texture has a border of a certain color if it's used in the map, and of another color if it's a shader (white and green? I don't remember now).
- Shader files are not created by the Radiant editor. You create them. Each .shader file can contain more shaders. Shaderlist.txt (very important text file to be placed in baseoa/scripts folder, listing shader files editor and compiler have to load, one per line) does not mention single shaders, it just mentions shader files (without specifying .shader extension) that the editor has to load.
- Each shader has got a name (path), some properties (that define if it's made of water, if it has to emit light, etc. Many of them -but not all of them- require to recompile the map for the changes to be effective.), and then one or more "stages" (that define how it looks).
In the shader code you posted, the first line is the shader path/name. Then, the "deformVertexes" property specifies that the shape of the brush[1] slightly changes (e.g. waves). Then, there are the "stages"... "lightmap" one is the one that specifies that the final look of the shader has to be lighter or darker depending from the illumination of the area (many shaders use lightmap stage, but some not: in this case, they do not look darker or lighter due to room illumination). Note: "Deformvertex" property deforms/animates the brush... to just deform/animate the texture (more common), you use specific commands in the stages instead.
- Textures without a shader have the effect to be standard "solid" surfaces, that are not animated, do not deform... they just have the lightmap stage implicitly applied.
- A shader can have the same name of the texture it uses, or a separate name. In case it uses the same name of an image file, you will see it in the editor although it would not have all its properties correctly applied unless its shader file is mentioned in shaderlist.txt. If the name of the shader does not correspond to an image file, it will be shown in the editor only if it's in shaderlist.txt. Sometimes, you may find useful to use a different name for the shader than the image, to be allowed to use both "static" and "shader-ized" version of the texture (IIRC, if the image file shares the same name with a shader, you are able to use the shader version only).
- A shader can blend (fuse) more textures using more stages (with different animations). You can use "qer_editorimage" parameter to specify which texture will be used to represent the shader in the editor (qer_editorimage has no in-game effect).
- The game loads all shaders, ignoring shaderlist.txt. However, many "properties" are elaborated at compiling time, so they may not completely work correctly (e.g. being solid although you wanted it non-solid) if the shader file was not listed in shaderlist at compiling time... or in case it has been modified after compiling. IIRC, "stages" can be altered without such problems.
- It's possible to select just a face of a brush, and apply to it a different texture/shader than the rest of the brush. Sometimes you will find this useful (e.g. with "caulk" and "nodraw" special shaders).
- In shaders, what followes a "//" is "commented out" and ignored. However, there are a few exceptions related to some "hacks" for specific video cards compatibility reasons or GLSL effects, that are threated as "comments" by older gamecode/engine and are executed by newer gamecode/engine (I just tell you a few of these exceptions exist for your information, but don't care about them right now).
- If you wanna create a fully GPLv2 compatible map with your own shaders, you can copy and modify (of course changing path/name of the shader) existing OpenArena shaders, into your own .shader file. Shaders that come with Quake III Arena are not GPL'd, so you should not start from them.
- UPDATE (I forgot to mention it before): Just like happens with maps, if you don't set sv_pure 0 before loading the map, the game will not load images and shader files that are not packaged into pk3 files! This may cause "missing textures" in game like in that screenshot from yours above (there may be other causes for "missing textures", of course).

Q3A shader manual: http://www.heppler.com/shader/
Q3MAP2 shader manual (q3map2, map compiler invoked by GTKRadiant, NetRadiant and some external tools such as Q3map2build, supports some more features than the original Q3map invoked by Q3Radiant): http://q3map2.everyonelookbusy.net/shader_manual/

Other infos, tutorials, etc:
http://openarena.wikia.com/wiki/Mapping_resources_%26_tutorials
http://openarena.wikia.com/wiki/Graphics_resources_%26_tutorials


[1] Note: "brush" is not intended as a paint brush, but as a... I don't know... polygon? In reality, more polygons are required to display a single brush... however, brushes are the base element of mapping.
« Last Edit: October 15, 2013, 07:01:11 am by Gig » Logged

I never want to be aggressive, offensive or ironic with my posts. If you find something offending in my posts, read them again searching for a different mood there. If you still see something bad with them, please ask me infos. I can be wrong at times, but I never want to upset anyone.
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #10 on: October 15, 2013, 05:04:19 am »

Thanks for those valuable information.
I think I got a much better understanding now.

I think of shaders from now on as:
"A property file that defines the properties of a texture such as:
-Deformation
-Lightning properties:Reflection/Absorption of light (during the render process)"

I will check what I can do later and post results.
Logged

L!ve* is life - na na nana na
wing0
Half-Nub


Cakes 0
Posts: 72



WWW
« Reply #11 on: October 15, 2013, 06:51:44 am »

Ok, I finally know what went wrong.

Somehow q3map2 is not being pointed to the right directory.
<smiker> from #radiant told me to run the program with param:
-fs_basepath /home/user/.openarena/ 

And it WORKED!!!!
Logged

L!ve* is life - na na nana na
Pages: [1]
  Print  
 
Jump to: