1. map size can be huge, but it's limited by a vis data size of 2 megabytes. vis stands for visibility. if you choose -fast during compile, it skips this process so in-game everything will be rendered all the time. you're still limited to vis size of 2 MB however.
(note: using -fast vis is OK for small maps. for big complex maps you need to do a full vis (leave VIS Options in mbuilder empty). it will then calculate the visibility tree of what you can/can't potentially see, so in-game you get better performance. to take advantage of this compile step you need to play around with structural and detail brushes in mohradiant, but if your map is small ignore it for now

)
2. to get a loading screen, you basically need to do the following steps once. for every new map you make you simply copy and edit the files so it works.
add the following folders in your pk3 file:
*\textures\mohmenu\dmloading
*\scripts
*\ui
what i do is this: I make a screenshot which is 1280x960 from the game, then I crop it so there's no healthbar and compass etc, then resize it to 1024x606, maybe add some color filter/effect and save as mydmloadingscreen.jpg and copy it into *\textures\mohmenu\dmloading\
now you need a .shader file (as you do with every custom texture).
open up notepad, paste the code below and edit
Code: Select all
mydmloadingscreen
{
nomipmaps
nopicmip
cull none
force32bit
surfaceparm nolightmap
{
map $whiteimage
}
{
clampMap textures/mohmenu/dmloading/mydmloadingscreen.jpg
}
}
make sure the path+filename to your .jpg is correct
in notepad save as "all files" mydmloadingscreen.shader
put this .shader file in the *\scripts\ folder.
now you need a .urc file which belongs in the *\ui\ folder. this file will call the shader you just made when you load your map.
open up notepad again, paste the code below and edit
Code: Select all
menu "dm/mymapname" 640 481 NONE 0 // <--- how you call on your map in-game which is determined by your mymapname.bsp
bgcolor 0 0 0 1
borderstyle NONE
bgfill 0 0 0 1
fullscreen 1
//vidmode 3
//fadein 0.5
virtualres 1
postinclude ui/loadingbar.txt
resource
Label
{
name "Default"
rect 0 248 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 248 248 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 496 248 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 496 0 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 248 0 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 0 0 256 256
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "paper"
}
resource
Label
{
name "Default"
rect 0 0 640 480
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "shadow"
}
resource
Label
{
name "Default"
rect 0 0 640 480
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.50 0.50 0.50 0.00
borderstyle "NONE"
shader "wrinkles"
}
resource
Label
{
name "Default"
rect 80 32 480 368
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "white"
}
resource
Label
{
name "Default"
rect 80 32 480 368
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "sepiaoverlay"
}
resource
Label
{
name "Default"
rect 96 48 448 336
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "mydmloadingscreen" // <--- should match your shader name (1st line of code in your shader file, not the shader's filename)
}
resource
Label
{
name "Default"
rect 76 28 64 64
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "ul_corner"
}
resource
Label
{
name "Default"
rect 500 28 64 64
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "ur_corner"
}
resource
Label
{
name "Default"
rect 500 340 64 64
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "lr_corner"
}
resource
Label
{
name "Default"
rect 76 340 64 64
fgcolor 1.00 1.00 1.00 1.00
bgcolor 1.00 1.00 1.00 0.00
borderstyle "NONE"
shader "ll_corner"
}
resource
Label
{
title "LOADING SCREEN TITLE" // <-- loading title text
name "Default"
rect 72 408 496 32
fgcolor 1.00 1.00 1.00 1.00
bgcolor 0.00 0.00 0.00 0.00
borderstyle "NONE"
font facfont-20
}
end.
make sure everything is correct
in notepad save as "all files" mymapname.urc (how you call on your map in-game which is determined by your mymapname.bsp)
put this .urc file in the *\ui\ folder.
That should do it. if it doesn't work right away, take my map's pk3 as reference, check the .shader and .urc files with yours.
now, to get this loading screen also as your scoreboard pic, do the following:
open notepad again, paste the following code and edit
Code: Select all
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "welcome to"
setcvar "g_obj_alliedtext2" "Map awesome map"
setcvar "g_obj_alliedtext3" "gametypes"
setcvar "g_obj_axistext1" "---------------"
setcvar "g_obj_axistext2" "created by me"
setcvar "g_obj_axistext3" "version 1.2.3"
setcvar "g_scoreboardpic" "mydmloadingscreen" // <<- the shader name again
level waittill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
level.script = maps/dm/mymapname.scr
level waittill spawn
end
in notepad save as "all files" mymapname.scr (same as your .bsp name) and save it in *\maps\dm\ besides your mymapname.bsp
this .scr file is the file that you use for scripting, make stuff move around, create an objective, call other scripts etc.
3. xfire is just a game server browser, you can chat with other people and join their server etc