Bill Currie
60ca9854aa
dead code removal
2004-03-19 21:12:12 +00:00
Bill Currie
78fd6d2513
minor cleanup of window position handling. hopefully no more window off
...
screen issues (wait for ConfigureNotify instead of MapNotify on window
creation (ConfigureNotify gives us our window position)).
2004-03-19 20:24:26 +00:00
Bill Currie
9099baeb6d
minor cleanups preparing for an overhaul
2004-03-18 06:05:59 +00:00
Bill Currie
e24cbd75e0
M_BUTTON6 and M_BUTTON7. nuff said :)
2004-03-16 04:12:28 +00:00
Ragnvald Maartmann-Moe IV
6c6047ccb8
Fix from Grievre.
2004-03-15 21:44:56 +00:00
Ragnvald Maartmann-Moe IV
29502c8f5a
Lots of optimizations, particularly for GL state changes, and tweak lighting a
...
bit more.
Also a cleanup from Grievre: Use VectorIsZero in two places in gl_mod_alias.c.
2004-03-15 21:32:19 +00:00
Ragnvald Maartmann-Moe IV
1fe06c326b
More of my experimental GL lighting tweaks.
2004-03-11 01:03:51 +00:00
Ragnvald Maartmann-Moe IV
9cd16b8dfd
Grievre's lighting patch, plus some of my own changes.
...
My changes:
Emit normals if truform is enabled.
Attempt to avoid 0,0,0 normals (makes lighting & tesselation unhappy).
Fix some (ancient) apparent bugs in GetAliasFrameVerts16().
Clamp minlight, instead of adding it.
Apply colormod as glColor, rather than adding it to emission, to prevent QSG2
issues with fullbrights.
Rearrange init code, and don't go quite as wild with responsiveness to lights.
Material & lightmode settings will need tweaking & testing to work well on all
cards. Feedback needed there.
2004-03-10 08:14:38 +00:00
Ragnvald Maartmann-Moe IV
b7df0b5278
Remove gl_doublebright, remove fractional overbrights, clean up init a bit,
...
uglify init a bit. Stuff for taniwha to look at. Nothing to see here, move
along.
2004-03-07 23:51:29 +00:00
Ragnvald Maartmann-Moe IV
58d67f9a75
Lighting init fixes.
2004-02-29 04:50:01 +00:00
Ragnvald Maartmann-Moe IV
fde6e5bf61
Reduce ifs a bit, clean up init a bit. Minor problem with gl_doublebright. LIH.
2004-02-29 01:49:41 +00:00
Ragnvald Maartmann-Moe IV
28fda91e8c
If (!var) checking for a cvar setup. Can't believe that one slipped by for so
...
long... Also set a few globals static.
2004-02-27 20:40:26 +00:00
Ragnvald Maartmann-Moe IV
44c89c1904
Optimize fullbright testing for brushes, assorted other cleanups, test for
...
functions built into current GL drivers, as well as the old extensions, and
add incorrectly rendering BGRA support.
Whee!
2004-02-24 20:50:55 +00:00
Ragnvald Maartmann-Moe IV
872498a1f0
Reorder a lot of code, removing tons of ifs. multitexture paths are a bit more
...
sane now. Also optimize QSG2 color handling, and fix some QSG2 bugs. Not that
anyone cares, nobody uses it anyways.
Should be faster, but isn't here. *grmbl*
2004-02-22 06:00:15 +00:00
Chris Ison
ca6112767c
Grievres' water HOM and mtex FB only rendering FB texture fix
2004-02-21 09:04:52 +00:00
Ragnvald Maartmann-Moe IV
5157f668ad
Fix a bunch of state leaks that made multitextured fullbrights smear the world.
...
Now just have one (known) issue with bmodels with fullbright textures not
rendering their base texture. Floating fullbrights are nifty!
Also a number of optimizations, which need wider performance testing.
2004-02-21 05:36:19 +00:00
Chris Ison
6642686e33
removal of legacy MGL block_drawing variable. Fixed window restore bug that prevented the screen from being updated.
2004-02-15 03:40:50 +00:00
Ragnvald Maartmann-Moe IV
fef9b30bd7
QF, now complete with underbrights, thanks to Grievre.
...
Play with gl_overbright and gl_doublebright. That's an order.
2004-02-15 00:02:04 +00:00
Bill Currie
64c156653f
should fix the seg on ^C early in the startup
2004-02-14 07:53:49 +00:00
Bill Currie
85a268c62f
Grievre's lightmap/fullbright multitexture patch (fbs not tested due to
...
lack of drivers supporting 3 tmus)
2004-02-14 05:10:29 +00:00
Ragnvald Maartmann-Moe IV
372b763704
Inconsequential changes.
2004-02-09 04:11:13 +00:00
Ragnvald Maartmann-Moe IV
654cc35482
Mysteriously uncommitted. Fixed.
2004-02-09 04:02:08 +00:00
Bill Currie
a45981bc6a
don't look up the gl functions until after the context has been setup, just
...
incase it affects which functions glGetProcAddress actually returns.
2004-02-06 00:58:35 +00:00
Ragnvald Maartmann-Moe IV
0e6681a069
Add QFGL_WANT, and ability to handle non-required extensions.
2004-01-28 02:49:57 +00:00
Ragnvald Maartmann-Moe IV
31aca31d17
Warn users if their system doesn't support GL_ATI_pn_triangles.
2004-01-26 03:58:19 +00:00
Ragnvald Maartmann-Moe IV
767b0c61db
Fix help for gl_tessellate cvar.
2004-01-26 00:40:31 +00:00
Ragnvald Maartmann-Moe IV
e1146a541c
TruForm support. Controlled by gl_tessellate
2004-01-26 00:13:47 +00:00
Bill Currie
283d49bd8e
first chunk of Mike Gorchak's <mike@malva.ua> QNX patches
2004-01-20 05:57:39 +00:00
Bill Currie
e154c9add5
be consistent with WIN32 and _WIN32 (now all _WIN32)
2004-01-20 03:47:27 +00:00
Bill Currie
e0567f75cc
it seems ATI's libGL needs to be loaded with global symbols in order to
...
work properly.
2004-01-09 23:37:04 +00:00
Bill Currie
acd54afff7
move to using a hash table for builtin number -> builtin lookup so sparse
...
ranges can be used efficiently. move the auto-allocated builtins to
0x10000000-0x7fffffff. should be more than enough :)
use static builtin tables ("nul" terminated) instead of a series of
function calls to add builtins to a vm. should be more memory efficient.
2004-01-06 05:51:09 +00:00
Ragnvald Maartmann-Moe IV
a87fc16d12
Whitespace.
2004-01-06 03:38:48 +00:00
Ragnvald Maartmann-Moe IV
067080296c
Futureproofing.
2004-01-06 03:38:16 +00:00
Bill Currie
e53967b346
--disable-static now works (thanks for the heads-up, raorn)
2003-12-22 20:51:08 +00:00
Bill Currie
069ee8657f
fix a typo that prevented the asm lib getting the correct flags
2003-12-22 19:59:33 +00:00
Bill Currie
3a8cfb050e
fix alpha blending in 2d mode when 3d has never been rendered
2003-09-05 06:48:03 +00:00
Bill Currie
6b036d14ed
in_mouse_accel patch from qize@gmx.net
2003-09-04 22:29:40 +00:00
Bill Currie
93327cb618
try to fix segfault caused by VID_Shutdown getting called before VID_Init
...
(error conditions).
2003-08-27 22:50:39 +00:00
Bill Currie
33a57c5a14
win32 compile fixes
2003-08-13 18:17:30 +00:00
Bill Currie
6f88e4e343
break out some duplicated code into a function and get the window coords
...
"properly" (for this mess I'm not sure I'm willing to call code:)
2003-08-04 01:28:30 +00:00
Bill Currie
556a6eae8f
fix a misplaced _
2003-07-27 20:47:36 +00:00
Ragnvald Maartmann-Moe IV
351033e8d8
Move vid_conwidth to con_width, and vid_conheight to con_height.
2003-07-27 20:20:20 +00:00
Bill Currie
855fc53709
handle alloca properly
2003-07-09 06:28:09 +00:00
Chris Ison
64f74731c5
added vid_fullscreen cvar as a CVAR_ROM. This will change once the renderer is setup to reload textures.
...
removed -window, -mode, and internal mode table and functions that strictly delt with them.
Rewrote the mode selection part of VID_Init
Altered VID_SetMode and associated functions to use data obtained from VID_Init instead of mode tables.
Also tidied up a little.
2003-06-21 00:17:32 +00:00
Chris Ison
bff8a24d12
added -conheight checking
2003-06-21 00:07:59 +00:00
Bill Currie
862e9d89c5
mindhog's fix for 32bpp x11
2003-06-17 03:11:24 +00:00
Chris Ison
d720efe1e6
fixed misplacement of menu
2003-06-16 12:31:52 +00:00
Bill Currie
6a8469df14
start working on VA support for borked GL libs
2003-05-21 21:53:21 +00:00
Bill Currie
460c8f7f0f
mindHog's qfpython patch. GIB info string event callbacks and a compile fix
...
for broken x11 headers.
2003-05-16 16:17:24 +00:00
Bill Currie
dc9d2c89da
fix various sizing issues
2003-05-07 07:10:15 +00:00
Bill Currie
e732cf591d
remove all references to OFS_* from the C code. only the macros in progs.h
...
use them now
2003-04-22 18:20:15 +00:00
Bill Currie
9a40bf2956
get the fix right
2003-04-17 00:25:55 +00:00
Bill Currie
5cb8429f04
bah, cleanup for flex versions :P
2003-04-17 00:14:13 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Brian Koropoff
e707e9bb89
Moved gib_*.h into include/ and moved the necessary declarations and struct
...
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +00:00
Bill Currie
ff577f1175
add a \n to the grab failed message
2003-04-09 16:38:17 +00:00
Bill Currie
d3b6fcbd61
revert the inappropriately complicated event code for the simpler version.
...
even that's not likely to be final
2003-04-08 19:20:48 +00:00
Bill Currie
255a7522bd
merge IN_SendKeyEvents and IN_Commands into IN_ProcessEvents
2003-04-08 18:45:12 +00:00
Bill Currie
35eb866603
kill VID_HandlePause and IN_HandlePause as they never did anything and
...
IN_ModeChanged as it's a dead prototype
2003-04-08 17:55:32 +00:00
Bill Currie
fcc069d216
more unused files
2003-04-08 17:47:43 +00:00
Bill Currie
40a73ea5c1
don't need this
2003-04-08 17:32:55 +00:00
Ragnvald Maartmann-Moe IV
6c7701a38b
Prevent bad gl_max_size settings from causing buggy drivers to freak out.
2003-03-24 20:21:24 +00:00
Ragnvald Maartmann-Moe IV
88c2735d9c
Make sprite rendering use vertex arrays, as a test for detection of vertex array support (tests only for OpenGL 1.1 or better, at the moment, no driver blacklist yet).
2003-03-20 19:58:18 +00:00
Bill Currie
aa345faf12
use the window size for the fullscreen view
2003-03-17 05:39:10 +00:00
Bill Currie
a8a8792a76
support vid_conwidth cvar (for -conwidth). while present in all targets, it
...
will only work in gl
2003-03-17 05:17:58 +00:00
Bill Currie
a8c989969d
hopefully better input grabbing state tracking
2003-03-07 22:30:15 +00:00
Bill Currie
c731afa957
hopefully fix the input grabbing (and evem more hopefully, without driving
...
Despair to ... um... ;)
2003-03-07 03:55:51 +00:00
Ragnvald Maartmann-Moe IV
f57eb911cc
Another little FIXME. (Cleanup I'll do soon, hopefully)
2003-03-03 19:32:56 +00:00
Bill Currie
be728c7b7c
Initialize p_mouse_x and p_mouse_y from the EnterNotify event so that the
...
first mouse move of the game doesn't screw up your view. Also does resonable
behaviour when entering and leaving the window.
2003-02-25 17:19:47 +00:00
Ragnvald Maartmann-Moe IV
1201f615ee
Move a test inside function, rather than repeated all over the place.
2003-02-25 06:04:42 +00:00
Ragnvald Maartmann-Moe IV
d9ed34a5fb
More video mode selection robustness improvements.
2003-02-23 20:21:06 +00:00
Bill Currie
851d203916
work towards a more secure qfs
2003-02-14 22:36:10 +00:00
Bill Currie
6a687f5e45
rename all the globals in quakefs.[ch] to be QFS_* or qfs_*
2003-02-14 19:46:07 +00:00
Brian Koropoff
3c522a83bc
Various cleanups and bugfixes. Added proper line number reporting to
...
errors. A few new builtin functions, such as slice::find and thread::list.
2003-02-14 08:06:01 +00:00
Ragnvald Maartmann-Moe IV
646f875a34
Add return value checking for in_grab. Also some dead code removal, dangling comment and white space cleanup.
2003-02-13 19:03:48 +00:00
Bill Currie
53d3252792
don't adjust the system gamma unless the window has focus. also quench an
...
internal warning (the event system can't handle shm events (doesn't seem to
need to anyway)).
2003-02-13 18:24:30 +00:00
Bill Currie
d86b431860
fix a couple of warnings
2003-02-10 03:19:54 +00:00
Ragnvald Maartmann-Moe IV
76eb7917a7
More whitespace.
2003-02-09 10:18:43 +00:00
Ragnvald Maartmann-Moe IV
5466f33dff
Whitespace, while I'm in the area...
2003-02-09 10:17:20 +00:00
Ragnvald Maartmann-Moe IV
22641c40fc
Make -sgl video mode selection much more robust. Particularly needs testing with voodoo 1 & 2, and on windows.
...
If you have problems with input grabbing, try `+set vid_fullscreen 1` or `+set in_grab 1` on the command line.
2003-02-09 10:15:20 +00:00
Bill Currie
3ab4eb6545
Arkadi's mach64 patch
2003-02-06 21:47:33 +00:00
Bill Currie
c103d77157
make SND_ClearBuffer get called directly by Block/UnblockSound and remove
...
S_ClearBuffer from the api
2003-01-31 19:55:21 +00:00
Bill Currie
570a72497f
patches from the FreeBSD ports that are still applicable
2003-01-31 18:19:55 +00:00
Bill Currie
c788a2ea57
remove a redundant call to S_Init_Cvars and call S_ClearBuffer when sound
...
is blocked and unblocked.
2003-01-31 17:56:05 +00:00
Brian Koropoff
1668dd5c1a
Whoops, missed these.
2003-01-28 22:37:34 +00:00
Ragnvald Maartmann-Moe IV
979ee7b2f8
Fix misleading comment and cvar documentation.
2003-01-28 21:31:55 +00:00
Bill Currie
c5eb7d6e94
bring back the screen saver code
2003-01-16 21:44:42 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Ragnvald Maartmann-Moe IV
e2d199cfb2
Try to open graphics at desktop bit depth, rather than 8bpp. Might explain some very grainy windows screenshots...
2003-01-12 16:58:31 +00:00
Bill Currie
9538e009b7
small bit of cleanup
2003-01-07 20:02:30 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
6b705adc31
fix a missed libasm -> libvid_asm change
2003-01-04 03:08:32 +00:00
Bill Currie
dbd5b16883
rename the convenience libs to avoid problems with libx11 vs libX11 on
...
darwin (damn case insensitive file systems :P)
2002-12-20 23:40:47 +00:00
Bill Currie
1130eed85a
make the "no mouse" error message a little more informative
2002-12-19 16:58:44 +00:00
Bill Currie
a84b6bba5d
make stuff static that can be and nuke some useless stuff
2002-12-16 23:26:14 +00:00
Bill Currie
ee868367d5
we don't currently support scitech's mgl
2002-12-16 21:57:36 +00:00
Bill Currie
d332a9f5ae
remove useless file
2002-12-16 21:09:25 +00:00
Bill Currie
86ed9e1130
add some missing ()s
2002-12-16 19:39:02 +00:00
Bill Currie
1c4b40c291
similar cleanups to vid_svgalib.c
2002-12-16 19:36:46 +00:00
Bill Currie
80146121dc
require an 8 bpp mode
2002-12-16 19:36:14 +00:00
Ragnvald Maartmann-Moe IV
4b32916298
Legibility. Whitespace. Stuff like that.
2002-12-16 19:26:53 +00:00
Bill Currie
e381d2a0fc
remove vid_mode and the mode description commands
2002-12-16 19:23:41 +00:00
Bill Currie
1311773a90
make -svga mode selection consistent with -x11 etc and also fix the mode
...
matching algo so it actually works
2002-12-16 18:50:09 +00:00
Ragnvald Maartmann-Moe IV
f053f3b70f
Whitespace. Grr.
2002-12-16 17:59:45 +00:00
Bill Currie
31969b67ad
a couple of missed cleanups from the screen merge
2002-12-12 05:12:09 +00:00
Bill Currie
bf3fa3dc76
remove some dead code and a lot of unnecessary diffs
2002-12-11 16:45:40 +00:00
Bill Currie
c158f0028b
fix gl_stub so it works again and also get the gl functions being looked up
...
properly
2002-12-10 15:30:16 +00:00
Bill Currie
92ea1de504
apply Kaare Slettnes' key name extention patch ( Closes : #62 )
2002-12-02 16:26:18 +00:00
Brian Koropoff
0f71b02fd7
Changed the name of GIB builtins from string.length to string::length, etc.
...
Made a few miscellaneous cleanups and enhancements to builtins and changed
all the GIB scripts in CVS to reflect the new naming conventions.
2002-11-11 01:57:34 +00:00
Bill Currie
aa5ad0f0f9
don't use glXGetProcAddressARB to look up the glX functions. hopefully fixes
...
the nvidea segfault
2002-11-10 23:31:19 +00:00
Bill Currie
1dfbf4ba7e
win32 compile fixes
2002-11-08 23:13:52 +00:00
Bill Currie
71e95ee26f
stop lying about responding to Delete events
2002-11-06 17:09:01 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Brian Koropoff
01a7740f1b
Added bind.get builtin that returns the command currently bound to a key.
...
Fixed gib_builtin.h to include another needed header.
2002-10-25 06:33:16 +00:00
Bill Currie
652907bc58
X overlays crash fix from Vincent Cojot
2002-10-11 21:32:17 +00:00
Bill Currie
9f7c669370
various win32 compile fixes for the latest mingw (not fully working due to
...
LPCWAVEFORMATEX)
2002-10-11 20:47:17 +00:00
Ragnvald Maartmann-Moe IV
0d28f4d63a
More whitespace.
2002-10-10 19:32:19 +00:00
Bill Currie
6917d2c1a3
fix a silly pointed out by sixk@ifrance.com
2002-10-05 02:21:44 +00:00
Chris Ison
7c9f1a51ec
Bug Fix, mouse didn't work in svga client.Fixed by closing the mouse before initing it due to vga_init initing the mouse when called
2002-09-30 23:16:20 +00:00
Bill Currie
6a96697080
use int_val instead of value for vid_fullscreen
2002-09-30 03:31:22 +00:00
Bill Currie
ecdd537183
beat sw gamma handling till GL works. after a fasion. it /looks/ like it was
...
beaten on.
2002-09-10 06:35:32 +00:00
Bill Currie
9f6f50699d
remove vid_basepal, creating vid.palette (current palette) and host_basepal
2002-09-10 03:51:10 +00:00
Bill Currie
9a577c2233
make the old keyname message a little clearer
2002-08-29 18:56:55 +00:00
Ragnvald Maartmann-Moe IV
e7f6930efa
Hacky key repeat handling, just like in_x11.c!
2002-08-29 04:00:30 +00:00
Bill Currie
e1a9cfb6f0
rename gl_max_vaelements to gl_vaelements_max
2002-08-28 07:44:58 +00:00
Bill Currie
a99329eff9
add a cvar to control the maximum vertex array size for buggy drivers.
...
defaults to 0 (no limit).
2002-08-28 01:35:50 +00:00
Bill Currie
a7380fef66
nuke msg_suppress_1 in favor of Sys_DPrintf
2002-08-27 18:05:59 +00:00
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +00:00
Bill Currie
7f5c99efdc
fix -sdl32 crashing on startup (vid_bitdepth init got lost)
2002-08-26 22:43:34 +00:00
Ragnvald Maartmann-Moe IV
9bf3ccd813
SDL-using targets are now aware if the cursor is in the window or not. in_snd_block now works for them.
...
(Also cursor hiding when in window was fixed for -sgl, already committed)
2002-08-21 06:06:05 +00:00
Ragnvald Maartmann-Moe IV
f92c2d8525
Whitespace cleanups and some cruft removal.
2002-08-21 06:00:08 +00:00
Ragnvald Maartmann-Moe IV
9d2e09feee
Whitespace.
2002-08-21 05:59:00 +00:00
Bill Currie
84afd9e299
d'oh, dunno why I did 8 bit that way, put /it/ back to the old shared buffer
...
way because it always worked and it really doesn't need the slowdown.
2002-08-21 05:15:08 +00:00
Bill Currie
be75ff490f
fix -x11 screenshots and remove some dead code
2002-08-21 04:58:47 +00:00
Bill Currie
09d89a3214
move bi_keys from csqc to pr_keys in targets allowing the server to link
...
with libQFcsqc (need a new name:P)
2002-08-21 02:25:51 +00:00
Bill Currie
6b559077dc
Nuke the screen saver code as it hasn't been needed since we stopped using
...
dga keyboard input
2002-08-21 02:10:47 +00:00
Ragnvald Maartmann-Moe IV
1489ee8648
Remove old keyboard/mouse grabber cruft.
2002-08-21 01:55:31 +00:00
Ragnvald Maartmann-Moe IV
b96617e935
Some more whitespace, plus stop unconditionally resuming cd audio and sound when focus restored.
2002-08-21 01:40:21 +00:00
Ragnvald Maartmann-Moe IV
ee7e3326e0
Merging common SDL video code into context_sdl.c, to make adding SDL features easier.
2002-08-21 00:05:27 +00:00
Ragnvald Maartmann-Moe IV
168915faed
Some header cleanup, some whitespace.
2002-08-21 00:04:35 +00:00
Bill Currie
5009213564
Move the signal handling code from video/targets/* to sys.c (I'm leaving
...
the SDL target files for Despair since he's working on the currently). Also
make progs segfault handling much more robust (and general: sigill etc too:)
2002-08-20 23:04:57 +00:00
Bill Currie
099e2739b5
various msvc fixes thanks to muzzy (hope he doesn't give up:)
2002-08-20 19:16:11 +00:00
Bill Currie
2b1fd8e8c0
fix the menu keybinding not working bug
2002-08-19 02:48:38 +00:00
Bill Currie
4b1ceb9795
hopefully take care of glGetProcAddress type once and for all :)
2002-08-16 18:29:21 +00:00
Ragnvald Maartmann-Moe IV
3b65cbc35d
Raorn's SDL_GL_GetProc support. Makes -sgl targets work again, hopefully on windows as well as linux.
...
Now just need to get key repeat, focus handling and sound blocking on focus loss working like x11 input system does, and sdl support will be in pretty good shape. And clean out all the stupid #ifdefs...
2002-08-16 07:53:11 +00:00
Ragnvald Maartmann-Moe IV
30012cc753
Fix K_RCTRL handling.
2002-08-08 05:53:58 +00:00
Bill Currie
ca92e5885f
part of the macroizing
2002-08-07 18:21:36 +00:00
Chris Ison
c6217dc7a7
fix bug where -commands where executed and command buffer could be filled when key repeated
2002-08-03 00:19:41 +00:00
Bill Currie
2ce0f2ded2
we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
...
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie
4b9382d4a8
nuke GGI_CFLAGS (never set)
2002-07-31 18:51:34 +00:00