Small update for the dfengine client console

Marky contributed some code that I held back for a while. Beside, the linux client needed attention.

This makes dfengine 1.03.

- configurable console height - cvar con_height, default .5 (contributed by Marky)
- added key modifiers to open the console fullscreen (alt+~) or over a few lines (shift+~) (contributed by Marky)
- fixed demo autocompletion for linux client

Download links:

Comments

Linux version

When trying this last build of dfengine on Linux (Debian Lenny x86_64) i got the following problems:

  • no sound (pbm with /dev/dsp)
  • can't switch from windowed to full-screen mode (and "shift+~" "alt+~" dont work either)

Anyway, thanks for all the work!

ps: here is the output concerning sound init:
------- sound initialization -------
Could not mmap dma buffer PROT_WRITE|PROT_READ
trying mmap PROT_WRITE (with associated better compatibility / less performance code)
/dev/dsp: Input/output error
Could not mmap /dev/dsp
------------------------------------

so any news? :), besides

so any news? :), besides happy newyear :D

yay it's coming up. If not by

yay it's coming up. If not by the end of the week this weekend.

Hiding console spam

It would be awesome to have a variable that hides needless messages; everything from "recording to demos/temp/current.dm_68." to "...loading 'scripts/arcaon.shader", "stitched 0 LoD cracks" etc.

This has already been

This has already been implemented in http://q3defrag.org/files/tmp/dfengine_pcre_test.zip

/con_filter1 "^^recording to"
/con_filter2 "^^...loading"
etc

Independent chs

I noticed if i don't draw speed, for instance:
df_drawSpeed 0

but instead use:
df_chs1_info1 23

to draw speed over crosshair, then setup a chs2 slot for "highest speed (217)":
df_chs2_info2 217

highest speed in chs2 slot is _always_ 0. Apparently when switching df_drawSpeed to 0, the chs2 slot doesn't get updated even though I draw speed elsewhere. Possible to fix this? : )

double post, soz

Sorry for double post, forgot to mention this always affects the output from issuing the command:
/stats

Max speed in stats output under df_drawSpeed 0 is always 0 as well.

that's it

Disabling the ups meter disables the speed calculation entirely in cgame (which is poor and going to be fixed).
The chs on the other hand has its own way of dealing with the player speed.

Dont forget to fix the

Dont forget to fix the checkpoint related inversion bug of the +/- display. It's a 1 min job :)

yep that's part of it

yep that's part of it

basldasd

Is it normal that I cant deactivate teleporters and jumppads by changing the options in the tricksmode menu or in the console? /df_ndm_nopad 1 for example will not turn the jumppads off.

df_mode_tricksmode

df_mode_tricksmode 0
df_ndm_nopad 1
df_ndm_noteleport 1 OR 2

1 for noteleport will disable it, 2 will make it a kill trigger

asdf

thx, i missed to set df_mode_tricksmode to zero.

Add more chsX slots! chs0,

Add more chsX slots! chs0, chs1 and chs2 aren't enough to display information on the screen as I want to :D No need for a GUI in the defrag setup, just the possibility to set it up in the .cfg and cosole :)

I have no idea whether chs#

I have no idea whether chs# are easy to duplicate. Being o3j code, chances are it is :p

more /df_ndm_timer_checkpoint's

In the next version of DeFRaG, can we have more df_ndm_timer_checkpoint's ? I think it would make for some interesting possibilities on DM maps :) One checkpoint doesn't suffice!

oh my dear, you are so right,

oh my dear, you are so right, i wanted to make some challange with more advanced ndm checkpoints like doing runmaps backwards and stuff but wasnt possible,

I'm planning to adapt the

I'm planning to adapt the checkpoints a bit, I'll look into that - although it might take more time than I'm willing to dedicate to that part right now.

Suggestions

Very nice work on Defrag cgg :-)
I have a few suggestions for a future update though.

– Checkpoint chsinfos (checkpoints, last checkpoint)
– Circle jump chsinfo
– Jumps speed difference chsinfo (instead of jumps accel)
– Additional chs' (chs2, chs3 etc.)
– Black characters without ^^0

sup gaz, any previews for new

sup gaz, any previews for new version? :)

cgg!=gaz

cgg!=gaz

Engine

Cgg, i think, need update graphics engine of q3. Add nice looking water, bump mapping, any other features.

I can find peoples, who can do it ;)

ok?

Good luck.

You will need courage :)

Sure, please do. The engine

Sure, please do.
The engine code belongs to the community.

er console,

erf, as talking of console..
id really love to have a val to filter out demo record spam in gameconsole :[

hmm

Well I've just tried adding regular expressions to the engine and con_filter1, con_filter2 etc. cvars.
Might be a tad overkill but I'll find other uses for regex in q3.
I guess I was in the mood. It's kinda experimental anyway.

well

if you feel like giving it a try:
http://q3defrag.org/files/tmp/dfengine_pcre_test.zip

You might try this in the console:
con_filter0 "^recording to"
con_filter1 "^Stopped demo."

(there's up to 9 con_filter cvars)

It's a bit tricky to use and understand.

First you have to deal with color escaping, and keep in mind that ^ in the console is actually ^^ in a config file. The filters account for that and expect proper escaping (doubled caret ^^) for the caret character ^.

You also have to realize that it doesn't work with lines but upon each call to Com_Printf().
set con_filter0 "foo"; echo this is foo bar;
will echo this is bar (without the foo part) in the console because each argument of echo results in one individual call to Com_Printf().

On the other hand: set con_filter0 "foo"; echo "this is foo bar";
would result in the entire line being stripped, as expected, because double quotes make this is foo bar one single argument to echo.

I don't know what I'm going to do with this. It's tricky and definitely overkill, but on the other hand regular expressions are quite a powerful feature to have in the engine.

awesome feature, thanks =)

Any chance of maybe extending it to..oh say...20 con_filter cvars? ...kind of funny how many things i don't care to read ;-)

again tho-this really helped to clean up my console, thx

sure

I don't see no harm.
Guess I'm going to make this feature official.

df_hideAutorecordMessages 1

I think you should just have a variable for hiding the autorecord messages, since that's what most people would want to hide anyway.

diff possible for this? I'd

diff possible for this? I'd like to give this a try on linux ;)

sure

http://q3defrag.org/files/tmp/dfengine_pcre_test.diff.gz

It's a diff against the 1.3 codebase.
It includes one fix to the way double carets ^^ are handled in the console and text fields.

Took some time

Well it took some time to get it working properly, at least on my system, but now it works nonetheless. Seems rather flawless as well, had to pass -lpcre in the Makefile however, otherwise undefined references, etc. Had one other issue but thats fixed as well. Only problem I see so far is the line that gets skipped. Instead of just not printing the line, a blank line is shown. For instance:
Issuing Command: record tempdemo

Restored: (etc etc etc

Not so much a big deal however. Works nice : D

working properly

you guys are taking it to serious. it can be solved with simple modern techniques.

Sorry I should have explained

Sorry I should have explained a bit.
You either had to build the pcre lib in the engine (as I did for windows) or have it installed on your system.

The filters are dependent on Com_Printf() calls.
It's not unusual to make multiple calls to issue one console line, eg the echo command:
void Cmd_Echo_f (void)
{
int i;

for (i=1 ; i<Cmd_Argc() ; i++)
Com_Printf ("%s ",Cmd_Argv(i));
Com_Printf ("\n");
}

or on the contrary to issue multiple lines with just one call.

Calls to Com_Printf() that issue nothing but a blank line, eg Com_Printf ("\n");, get through, unless you set up a specific filter:
con_filter0 "^$"

As I said it's overly tricky :)

nice1

hah thats ofc a nice1 :P also thought about regexp, but i have not seen any other possible usages than just that so i thought its a even bigger overkill _:p i will go try to use it for some ignore feature on the servers :P

Source?

No Sourcecode, but just an .exe? =)

You can as well do all modifications directly in the com_printf function with
if(!strncmp(msg,"string", 6)) return;
or
if (strstr(msg, "string")) return;

to either filter out lines starting with "string" or lines containing "string".

I'm enjoying my 100% spamfree console for 1 year already :)

??

And then? Setting up an iffunction for every fucking word you dont like?

?? #2

pff..and then? Setting up a con_filter "..." instead for every ****ing word you don't like? ^^

which is technically not

which is technically not solved properly.

dfwc 2008

ye it's over :) BIG thx cgg for this mod and your support with defrag .12 etc, many many things ;)

www.breakdown-hq.com/article/1947-quake-3-defrag-world-cup-2008-overall-...

runcgg1 pls?!

runcgg1 pls?!

.

Glad that you done files + history folders. Now when DFWC is end i can start to help you. Stay tuned !

- AL|EN

Dyxxx

thx =)

Glad that you done files +

Glad that you done files + history folders. Now when DFWC is end i can start to help you. Stay tuned !

aeeeeeerrrrrrr what?

aeeeeeerrrrrrr what?