FTEQW default dir

Discuss anything not covered by any of the other categories.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

FTEQW default dir

Post by frag.machine »

Okay, I know this is a noob question that probably was already answered, but besides being dumb I must be also blind because I searched our forums, the FTEQW site, the wiki and googled the interwebs for like half an hour and haven't found a working answer.

I want to change the default path where FTEQW writes the config files, screenshots, demos and other stuff from "C:\Users\mywindowsusername\Documents\My Games\FTEQW" to something else like "d:\games\fte" where I have plenty of space to record demos and generate some AVI.

I first tried using -basedir d:\games\fte but it behaves strangely (FTEQW shows both folders when I use the "path" console command). I alternatively tried to use -nohome just in case, but in both cases when I try to record a demo FTEQW just crashes without any useful message.

What am I doing wrong here ?
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: FTEQW default dir

Post by Spike »

-nohome explicitly disables the use of homedirs. this is what you need.

as an alternative to -nohome (and in fact quite a lot more), you can use something like the following for stand-alone games/mods.
this can actually be embedded into fteqw.exe with the -makeinstaller arg along with a new png icon, the engine will then act as an installer if it can't find any game data.
Otherwise, put it in your basedir and name it 'default.fmf' (or use -manifest to select one if you have multiple of them).

Code: Select all

//core config
game "mygame"     //alphanumeric-only internal game name to uniquely identify your mod (fs_changegame uses this to figure out basedirs etc. known games will get some defaults where needed)
protocolname "CoolGame" //this is how your mod will be identified on master servers.
name "My Cool Game v666" //human-readable free-form name for your game

//filesystem
basegame "game"  //the game paths that will always be loaded. you have have multiple of these, if you need.
basegame "*ftegame" //the * prefix means its private - hidden from networking. you don't normally need one for fte-only mods, but it can be useful for development (like keeping files the engine writes elsewhere, reducing the risk of snap-releases getting extra files).
disablehomedir 1 //prevents the use of the user's home directory.  -usehome / -nohome overrides this.

//packages and updates
package id1/pak0.pk3 0xhashdata http://localhost:27500/urlforthatpackage.pk3 //where to download required packages from. thanks to the hash you can distribute new fmf files and let the engine handle figuring out which patches are still needed. these will always be automatically downloaded. The engine will tell you if you got the hash wrong (or mouse-over the '(h)' displayed by the path command)
downloadsurl "http://localhost:27500/autoupdates.txt" //populates the menu_download package manager with stuff, including engine updates. see http://fte.triptohell.info/downloadables.php as an example.
The crashes you're getting are caused by something else.
Quite possibly the presence of an old config which is only getting read because its no longer getting overridden by a config in your homedir. Not sure what else might cause it.
Debug builds might give you a stack trace (while release builds don't try catching exceptions, and windows doesn't like telling people when things crashed any more). You should be able to find one on http://triptohell.info/moodles/ somewhere.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: FTEQW default dir

Post by frag.machine »

Thanks for the quick reply, Spike. I managed to make it work with -nohome and -game.
Also, it looks like the crash occurs when I ommit the .dem extension in the record command:

Code: Select all

record demoname
Makes FTEQW crash. However, informing the extension like this:

Code: Select all

record demoname.dem
Works, but the resulting file is renamed to demoname_dem.qwd. A funny behaviour, but oh well... Not a real problem, at least to me.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: FTEQW default dir

Post by Dr. Shadowborg »

I managed to get FTEQW working for Quake on Linux, but I'm having trouble getting Quake 2 to run.

It finds all the game content, but can't find the gamecode, any ideas whats going wrong?

EDIT: Nevermind, just realized that I had to download a copy of the gamecode and make / compile it.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: FTEQW default dir

Post by Spike »

and this is why native gamecode sucks...
Additionally, the vanilla gamecode has a few issues, like broken saved games from ASLR.
But, if you can ignore those issues, you should be able to use the same gamecode as vanilla q2. The downside being that its generally only pre-installed for win32.

I ought to include some gamecode so that it can be used on android, but that generally means maintaining it myself to some extent so I've not bothered so far.
In theory it should be possible to use yamagi's gamecode as afaik both engines retain the same vanilla game api, but I think there's some dll-renaming shenanigans required. I ought to actually try some day.
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: FTEQW default dir

Post by Dr. Shadowborg »

I hear you. If I had the time I'd probably try and make a quakec / csqc progs for Q2.

I downloaded and tried Yamagi Quake 2's gamecode, seems to work with FTE aside from the expected savegame bugs (both regular and auto). Jorg's machinegun bullets only come out one arm. (this was present in fte, even with vanilla 3.20 gamecode) Also, movies sometimes don't have sound. (maybe this is an OS / hardware issue though)

Also, rotating skyboxes don't seem to work. What skybox goodies does FTE support? Does FTE support skyportals too? How are skyboxes and skyportals supposed to be used? (Google fails me ATM)

EDIT:
Followed the instructions at http://triptohell.info/wiki/index.php/C ... or_Dummies
Just did a checkout from FTEQW's SF SVN, tried to compile it, got an error

EDIT2: Fixed it, discovered I got the wrong SVN (3000 series code). For future souls who may get lost:
https://quakewiki.org/wiki/FTEQW_Engine_Development
Proper SVN code location:
https://sourceforge.net/p/fteqw/code/HEAD/tree/trunk

Also, depending on distro, you may need to get some dev libraries. I forget which ones on the 3000 series code, after downloading from proper SVN, also needed libgnutls-dev package.

EDIT3: Got some bugs in the compiled executable: the small text (console, etc.) isn't rendering properly. Maybe I did something wrong?
http://br0gspot.files.wordpress.com/201 ... -40-40.png

GPU is Intel HD 5500, pre-built build 5133 downloaded from triptohell.info works properly.

EDIT4: Just downloaded and tried fteqw64 from http://triptohell.info/moodles/linux_amd64/ Appears to be broken the same way. :shock:
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: FTEQW default dir

Post by Dr. Shadowborg »

:arrowup: /me pokes spike with above post incase he missed it.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: FTEQW default dir

Post by Spike »

$%&^$&
too lazy to rewrite my post.
yes, I'm aware of the font issue. it should be fixed with rev 5185.

edit:
there's a new build up that should fix that font issue.
regarding skyboxes, there's a number of things you can do with glsl (yay cubemaps), but needing to write glsl kinda sucks.
you can implement skyrooms in csqc by drawing two scenes, one on top of the other (using a sky shader in the second with depth writing but no colour to avoid potential weirdness).
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: FTEQW default dir

Post by Dr. Shadowborg »

Spike wrote: there's a new build up that should fix that font issue.
Yeah, downloaded it and can confirm font issues fixed :smile:
Spike wrote: regarding skyboxes, there's a number of things you can do with glsl (yay cubemaps), but needing to write glsl kinda sucks.
Cool, glsl shaders go in /glsl/ I assume?
Spike wrote: you can implement skyrooms in csqc by drawing two scenes, one on top of the other (using a sky shader in the second with depth writing but no colour to avoid potential weirdness).
You...You can do that in csqc? :shock:

/me goes cooool

I don't suppose there are any examples to look at for doing that one?

BTW, Quake2 gamecode is now even more br0ked. I think I might try and take a stab at doing some Q2 progs.dat after all...

EDIT: distort.pk3 seems to be br0ked. I get a fragment shader compilation error.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: FTEQW default dir

Post by Spike »

you can think of renderscene as a glorified drawpic. and with post processing stuff it actually IS a drawpic...
the clearscene+setviewprop+addentity builtins are really just setup for renderscene (which is why renderscene doesn't need any of its own arguments).

Q2: I guess I need to play through it again, huh.

distort: yeah, that's the downside of custom glsl - it tends to depend upon engine internals, which is unfortunate to say the least. I still need to come up with some decent way to deal with vulkan vs gl too. :(
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: FTEQW default dir

Post by toneddu2000 »

Dr. Shadowborg wrote: Cool, glsl shaders go in /glsl/ I assume?

Spike wrote:
you can implement skyrooms in csqc by drawing two scenes, one on top of the other (using a sky shader in the second with depth writing but no colour to avoid potential weirdness).


You...You can do that in csqc? :shock:

/me goes cooool
For a briefly and dummily explanation about GLSL with csqc in FTE you can take a look at my GLSL Showreel project. Probably you'll find some useful stuff (but don't count too much on it). And.. yes with CSQC + FTE you can do the world, litterally! :biggrin:
Meadow Fun!! - my first commercial game, made with FTEQW game engine
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: FTEQW default dir

Post by Dr. Shadowborg »

Spike wrote:you can think of renderscene as a glorified drawpic. and with post processing stuff it actually IS a drawpic...
the clearscene+setviewprop+addentity builtins are really just setup for renderscene (which is why renderscene doesn't need any of its own arguments).
Cool, that gives me enough info to investigate further, thanks! :smile:
toneddu2000 wrote: For a briefly and dummily explanation about GLSL with csqc in FTE you can take a look at my GLSL Showreel project. Probably you'll find some useful stuff (but don't count too much on it). And.. yes with CSQC + FTE you can do the world, litterally! :biggrin:
Nice, I'll take a look. :wink:
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: FTEQW default dir

Post by frag.machine »

*BUMP*

Sooo... about skyrooms. I found this in FTEQW's README:
README wrote:Worldspawn Keys:

_skyfog: Controls the alpha value of fog when applied to sky surfaces, set to 0 to have sky ignore fog entirely.
_fog: Controls the default fog in the map. This field should be of the form " [alpha] [depthbias]". By default, the interpretation of density matches that of eg Quakespasm instead of other less-standard interpretations.
_waterfog: Controls the fog values when the camera is underwater (or unfortunately in slime+lava too).
_cvar_*: Allows a mapper to override any cvar value for the duration of the map.
Note: due to cvars so often being engine-specific, this should be used with caution.
_wateralpha: Overrides the r_wateralpha cvar, as well as forcing r_waterstyle 1. This typically also affects slime/lava/tele surfaces too unless those are also overriden.
_slimealpha: Sets an explicit alpha value for slime surfaces.
_lavaalpha: Sets an explicit alpha value for lava surfaces. Set to 1 to mimic hexen2.
_telealpha: Sets an explicit alpha value for tele surfaces.
_skyroom: Set to the x y z coords of the center of your skyroom. Sky surfaces will then show the skyroom in place of regular sky surfaces (sky surfaces inside the skyroom itself will render as normal).
_skyname / _sky: Overrides sky surfaces with an explicit skybox name (without needing to resort to shaders).
_skyrotate: Sets the speed at which any skybox will rotate at.
_skyaxis: Specifies an x/y/z direction around which the skybox will rotate, eg 0 0 1 will feel like a merry-go-round.
Yum! And then I tried it on a simple map test and... nothing. :sad:
Actually, none of the _sky* keys appears to make any difference.
Any directions ?
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: FTEQW default dir

Post by toneddu2000 »

It seems Spike updated yesterday skyroom stuff.
Commit [r5492]
Make sure skyrooms show only the entities inside the skyroom (disabling non-static entities if their pvs is not reliable).

Make sure q2's skyaxis/skyrotate stuff actually works properly on skyboxes.
Add a cvar to spin skyrooms too (separate from skyboxes, allowing for double spins though probably only one will be useful).
Try compile yourself v5492 and let us know of It works
Meadow Fun!! - my first commercial game, made with FTEQW game engine
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: FTEQW default dir

Post by frag.machine »

Thanks for the tip, toneddu2000!
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Post Reply