home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Sauer Editing Help Index?

by marcpullen on 02/10/2007 16:45, 18 messages, last message: 03/04/2007 05:29, 2475 views, last view: 04/24/2024 17:41

Would anyone find something like this useful, from an editing standpoint?

http://www2.fanaticalproductions.net:8080/temp/sauerbraten_editing_help_index.htm

The idea is like most help files that come with programs, where there is an index list of commands you can run, a way to type in a partial keyword that highlights the partial match in the list, hit Enter to load the help for it. Or just browse and click manually to load the help command.

If anyone finds it useful, I can parse out all the commands from the Sauerbraten readme file editref.html or I can get with one of the coders to help list out the commands from the source code, expand the explanations, add screenshots of what the command does, show the default binding more clearly (something I can't seem to remember all the time).

It could be included in the installer or hosted on any website if it's useful enough.

Thoughts?

   Board Index   

#1: ..

by Drakas on 02/10/2007 17:36

I guess having something in the actual game would help rather than having this outside the game?

Basically, most people who edit, do so in fullscreen and are not likely to come out from there for reference ;)

Instead, I suggest making a parser for this and converting the text to compatible script for CubeScript :)

reply to this message

#2: ..

by marcpullen on 02/11/2007 20:29

I know what you mean with full screen editing. :)

I usually keep a copy of the current editing reference from the readme and ALT+TAB back and forth when I need it.

I'm not sure how to do something this interactive in game. I'll mess around with it and see how much I can get away with. The problem is I need three interactive areas that I can control from CubeScript - the menu of commands, the contents of the help box, and a search input that is not the normal console.

I wrote something that I can run on my local machine that will loop through all of the source files I have exported from CVS, and it will parse out any lines that have "COMMAND" in the line, then parse out what the input command is. Quite a lot of stuff there. Writing documentation on what they do with examples or screenshots will be a little more work though. I can tweak this later to sync up with an older help file, so I can easily add new commands.

reply to this message

#3: Re: ..

by MeatROme on 02/11/2007 21:56, refers to #2

just to be sure - something like this?
egrep -srn "[C]?COMMAND[F]?\(" src/*
and don't forget
egrep -srn "[I]?VAR[FN]?*\(" src/*

reply to this message

#4: Re: ..

by marcpullen on 02/12/2007 03:32, refers to #3

Yes. :)

reply to this message

#5: Re: ..

by marcpullen on 02/12/2007 05:25, refers to #4

This might be a bit long, but so others can see what I have from my parsing, here's my parsing list from the sauerbraten\src\engine folder (all files within). I'm not sure if I need to parse the other subfolders in the src folder, engine seems to have everything for this purpose.

It's ordered by type (COMMAND or VAR) then by the actual command or var name you can type in somewhere (console or CubeScript).

Let me know if I missed something from my parsing script.

There might be some trash in there too that doesn't belong (false positives?) like the "VAR: id" ones are from parsing "GETVAR(id, name, );".

Also please note this is from a very recent dump from the CVS source, so there are some new things most users haven't seen, like the grass commands (wait till you see that too, AWESOME).

COMMAND: !
COMMAND: !=
COMMAND: &&
COMMAND: *
COMMAND: +
COMMAND: -
COMMAND: <
COMMAND: <=
COMMAND: =
COMMAND: >
COMMAND: >=
COMMAND: ^
COMMAND: addserver
COMMAND: alias
COMMAND: altshader
COMMAND: at
COMMAND: attack
COMMAND: autograss
COMMAND: bind
COMMAND: brushvert
COMMAND: calclight
COMMAND: cancelsel
COMMAND: clearbrush
COMMAND: cleargui
COMMAND: complete
COMMAND: concat
COMMAND: concatword
COMMAND: connect
COMMAND: conskip
COMMAND: copy
COMMAND: copybrush
COMMAND: cubecancel
COMMAND: delcube
COMMAND: delent
COMMAND: disconnect
COMMAND: div
COMMAND: dropent
COMMAND: dumplms
COMMAND: echo
COMMAND: editbind
COMMAND: editface
COMMAND: editmat
COMMAND: edittex
COMMAND: edittoggle
COMMAND: entcancel
COMMAND: entcopy
COMMAND: entflip
COMMAND: entget
COMMAND: enthavesel
COMMAND: entloop
COMMAND: entpaste
COMMAND: entpush
COMMAND: entrotate
COMMAND: entselect
COMMAND: entset
COMMAND: exec
COMMAND: fastshader
COMMAND: flip
COMMAND: flipnormalmapy
COMMAND: format
COMMAND: getalias
COMMAND: getheightmap
COMMAND: gettex
COMMAND: guibar
COMMAND: guibutton
COMMAND: guicheckbox
COMMAND: guifield
COMMAND: guiimage
COMMAND: guilist
COMMAND: guiradio
COMMAND: guiservers
COMMAND: guislider
COMMAND: guitab
COMMAND: guitext
COMMAND: guititle
COMMAND: havesel
COMMAND: history
COMMAND: if
COMMAND: importcube
COMMAND: insel
COMMAND: jump
COMMAND: keymap
COMMAND: lanconnect
COMMAND: listlen
COMMAND: loadsky
COMMAND: loop
COMMAND: mapenlarge
COMMAND: mapmodel
COMMAND: mapmodelreset
COMMAND: mapmsg
COMMAND: mapsound
COMMAND: materialreset
COMMAND: md2anim
COMMAND: md3anim
COMMAND: md3link
COMMAND: md3load
COMMAND: md3skin
COMMAND: mdlambient
COMMAND: mdlbb
COMMAND: mdlcollide
COMMAND: mdlcullface
COMMAND: mdlname
COMMAND: mdlscale
COMMAND: mdlshader
COMMAND: mdlshadow
COMMAND: mdlspec
COMMAND: mdltrans
COMMAND: mergenormalmaps
COMMAND: mmodel
COMMAND: mod
COMMAND: music
COMMAND: name
COMMAND: newent
COMMAND: newgui
COMMAND: newmap
COMMAND: onrelease
COMMAND: paste
COMMAND: patchlight
COMMAND: phystest
COMMAND: pop
COMMAND: printcube
COMMAND: push
COMMAND: pushsel
COMMAND: quit
COMMAND: recalc
COMMAND: redo
COMMAND: registersound
COMMAND: remip
COMMAND: reorient
COMMAND: replace
COMMAND: result
COMMAND: rnd
COMMAND: rotate
COMMAND: savebrush
COMMAND: savecurrentmap
COMMAND: savemap
COMMAND: saycommand
COMMAND: screenres
COMMAND: screenshot
COMMAND: selextend
COMMAND: setfullscreenshader
COMMAND: setpixelparam
COMMAND: setshader
COMMAND: setvertexparam
COMMAND: shader
COMMAND: showgui
COMMAND: showtexgui
COMMAND: sleep
COMMAND: sound
COMMAND: strcmp
COMMAND: strstr
COMMAND: testcurve
COMMAND: testgf
COMMAND: texture
COMMAND: texturereset
COMMAND: toggleconsole
COMMAND: trigger
COMMAND: undo
COMMAND: updatefrommaster
COMMAND: watercolour
COMMAND: while
COMMAND: writecfg
COMMAND: writeobj
COMMAND: ||
VAR: aaenvmap
VAR: adaptivesample
VAR: allfaces
VAR: ambient
VAR: animationinterpolationtime
VAR: ati_oq_bug
VAR: ati_skybox_bug
VAR: ati_texgen_bug
VAR: brushx
VAR: brushy
VAR: bumperror
VAR: causticmillis
VAR: caustics
VAR: causticscale
VAR: convertlms
VAR: crosshairfx
VAR: crosshairsize
VAR: cursorsize
VAR: damageblendfactor
VAR: damagespherefactor
VAR: dbgts
VAR: dragging
VAR: dtoutline
VAR: dynentsize
VAR: edgetolerance
VAR: editing
VAR: emitfps
VAR: entdrop
VAR: entmoving
VAR: entselradius
VAR: entselsnap
VAR: envmapradius
VAR: envmapsize
VAR: floatvtx
VAR: fog
VAR: fogcolour
VAR: fov
VAR: fullbright
VAR: fullscreen
VAR: gamespeed
VAR: gamma
VAR: glassenv
VAR: grassanimdist
VAR: grassdist
VAR: grassfalloff
VAR: grassgrid
VAR: grassheight
VAR: grasspopup
VAR: grasssamples
VAR: grasstest
VAR: grasswidth
VAR: gridpower
VAR: guiautotab
VAR: hidehud
VAR: hidestats
VAR: hudgunfov
VAR: id
VAR: id
VAR: id
VAR: id
VAR: id
VAR: importcuberemip
VAR: invalidcubeguard
VAR: invmouse
VAR: lerpangle
VAR: lerpsubdiv
VAR: lerpsubdivsize
VAR: lightcachesize
VAR: lightcompress
VAR: lighterror
VAR: lightlod
VAR: lightprecision
VAR: loddistance
VAR: lodsize
VAR: maskreflect
VAR: maxfps
VAR: maxmerge
VAR: maxmodelradiusdistance
VAR: maxparticledistance
VAR: maxreflect
VAR: maxroll
VAR: maxtexsize
VAR: menudistance
VAR: minface
VAR: minframetime
VAR: mintexcompresssize
VAR: mipvis
VAR: moving
VAR: musicvol
VAR: numargs
VAR: nvidia_texgen_bug
VAR: octaentsize
VAR: optmats
VAR: oqdist
VAR: oqfrags
VAR: oqmm
VAR: oqreflect
VAR: oqwater
VAR: outline
VAR: particlesize
VAR: particletext
VAR: passthroughcube
VAR: passthroughsel
VAR: patchnormals
VAR: paused
VAR: printvbo
VAR: rate
VAR: reflectclip
VAR: reflectdist
VAR: reflectfps
VAR: reflectmms
VAR: reflectsize
VAR: savebak
VAR: selectcorners
VAR: sensitivity
VAR: sensitivityscale
VAR: shaderdetail
VAR: shaderprecision
VAR: showboundingbox
VAR: showcstats
VAR: showmat
VAR: showsky
VAR: showva
VAR: soundbufferlen
VAR: soundvol
VAR: sparklyfix
VAR: stereo
VAR: thirdperson
VAR: thirdpersondistance
VAR: throttle_accel
VAR: throttle_decel
VAR: throttle_interval
VAR: triggerstate
VAR: tsswap
VAR: undomegs
VAR: vacubemax
VAR: vacubemin
VAR: vacubesize
VAR: vbosize
VAR: waterfog
VAR: waterlod
VAR: waterreflect
VAR: waterrefract
VAR: waterspec
VAR: watersubdiv
VAR: wireframe
VAR: worldlod
VAR: zpass

[found a total of 311 commands/vars]

reply to this message

#6: Re: ..

by Drakas on 02/12/2007 08:56, refers to #5

Nice.
What about the fpsgame directory?

reply to this message

#7: I don't see..

by Aardappel_ on 02/12/2007 17:52

The point of such an index. The only thing that would be good is verifying the current command docs cover all those in the src, and I think Quin is on that.

reply to this message

#8: ..

by _Fanatic on 02/12/2007 18:20

The list I pasted above is just a list of commands and vars.

It will be written to plugin to the webpage I linked to in my original post up top, so mappers can look up commands and vars they can use, default key bindings, etc, in a format that is similar to most Windows help files that contain an index listing.

It's also easier to read and search in than the docs included in the package (IMO).

So the point is to help mappers get information easier and quicker, and with more information on each command.

For example, in my help index, if you were to look up the var showmat, I would have an explanation of what it is, and a screenshot showing what it looks like when set to 1 and when it's set to zero.

reply to this message

#9: Re: ..

by marcpullen on 02/13/2007 03:08, refers to #6

I can hook into all the subdirs. I'll probably have a tag in the help file indicating where it came from or where it applies to. Like RPG commands won't apply to the FPS stuff. Might be useful.

reply to this message

#10: Re: ..

by Passa on 02/15/2007 09:04, refers to #9

Pure curiousity, did you by any chance ever work on the Doom 2 engine based game hacx?

reply to this message

#11: Re: ..

by Aardappel_ on 02/15/2007 09:08, refers to #10

Marc is a doom god, as is Kurt btw. Y'all should check out their previous work, some amazing stuff.

reply to this message

#12: Re: DooM ][

by MeatROme on 02/15/2007 11:55, refers to #11

Oh, those were the days, eh?
I still remember the fun I had making my first maps with DCK (DooM Construction Kit) ... no match for "/edittoggle" though ... and of course all the practice in the world can't make up for missing talent :-P

Going Off-Topic again ...

reply to this message

#13: Re: DooM ][

by Passa on 02/15/2007 14:17, refers to #12

Heh, we need an off-topic section :P

reply to this message

#14: ..

by Aardappel_ on 02/15/2007 18:57

http://doom.wikia.com/wiki/Category:People

reply to this message

#15: Re: ..

by marcpullen on 02/16/2007 02:18, refers to #10

Yeah, I did some maps, graphics/textures, Dehacked/sprite stuff and some other general things with HacX. RIP. :)

I did maps 3, 16, and 17.

Map 3 (Lava Annex) I'm especially proud of. I pulled off some near environment changes when you destroy the lava pump machine thing (I think at least).

Map 17 (River Of Blood) just has a very cool feel to it, spooky and pretty at the same time.

Map 18 (Protean Cybex) kinda sucks. I was asked to do it at the last minute, and it needed to be like DOOM 2 map 7 (small squarish simple "boss" type of map). Best I could do on short notice.

This has some good links to my better works:

http://doom.wikia.com/wiki/Marc_%22Fanatic%22_Pullen

There are still some old screenshots on my old dusty DOOM World site too, and some other junk.

http://www.doomworld.com/fanatic/

reply to this message

#16: Re: ..

by Passa on 02/16/2007 06:17, refers to #15

Nice stuff Fanatic, HacX appears to be completely free now too on the official site, I'll check it out.

Anywho ontopic (sorry for leading you all astray :P ), I think having a whole search-able database of console commands would be useful for editing, the Sauer docs don't list every command and they don't have a search-able list of commands either.

reply to this message

#17: Update

by marcpullen2 on 02/25/2007 20:04

I updated the test page with a feed containing all the commands and vars from my parser. This is what the complete listing would look like, minus the contents of each item of course (haven't done that yet):

http://www2.fanaticalproductions.net:8080/temp/sauerbraten_editing_help_index.htm

Now I can start writing the contents of each command and include screenshots and whatnot.

This should give a better picture of what I'm trying to do with this.

I can also make the contents search-able, so if you don't know the command name, but want to see all commands that have to do with "water" or "grass", I can make that work as well (Javascript based, so you can run it locally or offline).

reply to this message

#18: ..

by marcpullen2 on 03/04/2007 05:29

I finished the source code parser so it pulls in new commands and vars, so it doesn't overwrite old entries I've already written help content for. It also backs up my current data file that stores the commands and vars and help content.

Next up is to code a basic editor for writing the help contents (a basic WYSIWYG editor that generates clean HTML), then I can start cranking out the help contents and screenshots of the commands and vars (where applicable).

Once I get this rolling, I'll update the test page I linked to at the top of this thread for those that want to give it a try.

The importer and HTML editor will pretty much be for me to use (this won't be a WIKI app), but I can release those as well if anyone is interested in seeing how it works or something. It's pretty simple Javascript stuff (sorta), no 'real' coding or program compiling type of stuff. :)

reply to this message

   Board Index   


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53870881 visitors requested 71646083 pages
page created in 0.018 seconds using 10 queries
hosted by Boost Digital