[quake3-bugzilla] [Bug 4339] fix up the levelShot command hack

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Mon Feb 7 13:10:11 EST 2011


https://bugzilla.icculus.org/show_bug.cgi?id=4339

/dev/humancontroller <devhc97 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|WONTFIX                     |

--- Comment #5 from /dev/humancontroller <devhc97 at gmail.com> 2011-02-07 11:38:34 EST ---
(In reply to comment #4)
> In your first post you said this bug only appears if sv_cheats is 1 AND the
> local server running is not a dedicated server, but has a client on top as
> well. So where is the problem?
No, the game is stopped in either case. However, if there is a local client
running, then the outcome may even be useful.

> I looked at your patch. Isn't there another way to fix this besides just
> removing all of the command? What is it used for anyways?
I can move the hack to a console-only command, which will allow only a local or
rconned client to put the game into an intermission state via this feature; the
command will make the game spit out some other commands, which will execute
successfully only if a client is running, and print "command not found
messages" otherwise. A patch will follow shortly.

Apparently this feature was used during development to easily make screenshots
taken from the "intermission camera location" of each map, for use in map
thumbnails. I don't see a need for it, as a thumbnail for a custom map doesn't
need to follow this convention, furthermore, such screenshots can be taken with
little effort, without the help of this hack. Allow me to quote the code
comments:

    // the clientLevelShot command is used during development
    // to generate 128*128 screenshots from the intermission
    // point of levels for the menu system to use
    // we pass it along to the cgame to make apropriate adjustments,
    // but we also clear the console and notify lines here

/*
==================
Cmd_LevelShot_f

This is just to help generate the level pictures
for the menus.  It goes to the intermission immediately
and sends over a command to the client to resize the view,
hide the scoreboard, and take a special screenshot
==================
*/

--- Comment #6 from /dev/humancontroller <devhc97 at gmail.com> 2011-02-07 13:10:04 EST ---
Created attachment 2582
  --> https://bugzilla.icculus.org/attachment.cgi?id=2582
reimplement the levelshot hack in a simpler and more secure way

Well, this is what I came up with. The levelshot command still client-to-server
command (not a console command), but it will only do anything when it is issued
by the local client (I assume this implies that both the (graphical) client and
the server modules are running).

-- 
Configure bugmail: https://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list