Commit graph

3004 commits

Author SHA1 Message Date
Yamagi Burmeister
d81768966b Use strtof() instead of strtod() to safe a case. 2016-12-17 11:27:30 +01:00
Yamagi Burmeister
bfae128a5c Use Q_strcasecmp instead of Q_stricmp().
This should be be noop but looks safer. Reported by maraakate in yquake2
issue #160.
2016-12-17 11:25:55 +01:00
Yamagi Burmeister
52fd07eb33 Add missing sanity checks to ED_ParseEdict() and ED_NewString()
This was reported by maraakate in issue #160.
2016-12-17 11:24:40 +01:00
Yamagi Burmeister
971bca9914 Send the player entity to the server when in intermission.
I don't think that this has any visible effect, but it's saver than
assume that in multiplayer all clients enter the intermission at the
same time. This was reported by maraakate in yquake2 issue #160.
2016-12-17 11:22:07 +01:00
Yamagi Burmeister
2b317075c7 Treat autoexec.cfg like every other config.
Until now autoexec.cfg was a special case. It was read several
times, whenever the 'game' cvar was altered or when the client was
restarted. But only if it was in the right directory in the right
position of the internal search path... Remove this altogether and
replace it by an ordinary 'exec autoexec.cfg' at startup.

This may break some mods that depend on an autoexec.cfg if the user has
his own version in ~/.yq2/. Such mods should use default.cfg instead.

This closes issue #163.
2016-12-13 17:03:11 +01:00
Yamagi Burmeister
68a12d4ee1 Remove multitexturing support
Multitexturing was never part of any official Quake II release. It was
added in version 3.21, which was released only in source. Over the years
many developers tried to fix multitexturing, including myself. Yamagi
Quake II had it even enabled by default for several releases... But:

  * Multitexturing is poorly implemented and **slow**
  * Multitexturing leads to render errors, for example in city3
  * Multitextring is ortogonal to the normal render path and adds a
    lot of special cases to the renderer

Remove it for good. Ciao, it wasn't a nice time. :) The last version
before this commit was at least somewhat fixed, read some of the worst
problems were fixed. If someone's ever going to resurrect it, it would
be a good idea to start at that point.
2016-12-03 09:46:08 +01:00
Yamagi Burmeister
248662ff73 Bump version number to 6.01pre 2016-12-03 09:16:02 +01:00
Yamagi Burmeister
bb54225ad9 Bump version to 6.00. 2016-12-02 16:39:02 +01:00
Yamagi Burmeister
c5a6dcf3e0 Revert 76e4017, it was a missmerge
In baseq2 there's no need to force a certain damage texture on gunners
since there's only one. Also gunners can't wear the powershield so
there's no need to turn it of.

This was noticed by Maraakate.
2016-12-02 15:51:14 +01:00
Yamagi Burmeister
f6f8394b74 Ensure that all keys are marked up when playing cinematics
Otherwise at least one key may be still marked as down causing an
immediate abort of playback. While here be a little bit paranoid
and clean up key states when focus is gained. In theory that's a
no-op.
2016-11-08 17:37:24 +01:00
Yamagi Burmeister
2f3f31f507 Remove an unused variables, forgotten in the last commit 2016-11-07 19:34:56 +01:00
Yamagi Burmeister
f41f96e899 Use correct texture coordinates when drawing the video
When the video is scaled through OpenGL we can just throw it on our
vertexes and everything's alright. But when we're softscaling the video
we must consider that the videos size doesn't really match the vertex
size...
2016-11-07 18:52:24 +01:00
Daniel Gibson
051be8285d Fix (text in) videos (for GPUs supporting NPOT textures)
especially in the intermission videos, the text looked broken, as parts
of the characters were missing.
This is because Draw_StretchRaw() converts the 320x240 video frame into
a 256x256 texture, without doing proper interpolation (just skipping
some pixels instead).
Now, if the GPU supports non-power-of-two texture sizes, the video
frames are uploaded as textures in their original size.

(Also fixed a harmless typo in common.h)
2016-11-06 23:44:54 +01:00
Yamagi Burmeister
5e5217e549 Fix a rare crash in flyer.c with self->enemy being NULL
This crash was found by DanielGibson, he even guessed the right fix
without having a usable coredump. ;) In boss1.bsp Macron is waiting for
the player, despawning as soon as the player moves to him. After that
the player needs to press 2 buttons, each button triggers 3 flyers. If
the player is fast enough, the first bunch of flyers may spawn before
macron is despawned. Now there's a small chance that a flyer decides to
attack macron... If Macron despwans at the the next frame, self->enemy
is set to NULL (Macron is gone) but nevertheless flyer_fire() is called.

The correct fix would be to call flyer_fire() before Macron despawns,
but that's hard to impossible. So take the easy route and check if
self->enemy is not NULL.
2016-11-04 19:22:33 +01:00
Yamagi Burmeister
548c217da8 Fix wrong monster count in city3.bsp
In city3.bsd ("Upper Palace") a hidden and unaccessible room next to the
security pass exists. In this room a grenate launcher and a pack of
grenates can be found. When the room is entered, two floaters are
triggered nearby. This can never happen, so the player is unable to
reach the goal of killing 75 monsters. Quirk around this by lowering
the total number of monsters by 2.

This bug has been known for a long time:
- http://quake2.weiel.net/2004/Aug/26/01150ca0bb36a5f46c9cb0b154aeb8d8.html
- https://groups.google.com/forum/#!topic/alt.games.quake2/W7jdIIHthrw
- http://www.quake3world.com/forum/viewtopic.php?f=3&t=4733
2016-11-04 19:12:39 +01:00
Yamagi Burmeister
882297c33e Fix monsters blocking when not on ground entity
This bug was "fixed" by id with removing two lines in the ground entity
check. When cleaning up the game I added them back... I don't know if
it's really correct to just remove them, but let's try it. This fixes
issue #157.
2016-10-31 11:51:07 +01:00
Yamagi Burmeister
aa897e3965 Make OSTYPE and ARCH user defineable.
The old implementation had two problems:

  * OSTYPE and ARCH are systemwide defines, overriding them may break
    the global libc headers. This is a theoretical problem, I've never
    seen it in praxis.

  * Not all system set ARCH correctly when building in a chroot env.
    For example on Linux ARCH is set to x86_64 when building in an
    i386 chroot. Now the user can do something like "make YQ2ARCH=i386"
    to get things right.
2016-10-24 18:02:17 +02:00
Daniel Gibson
5d440bbb00 Make debris SOLID_NOT, fixes #154
In lower mines you can drop a rock onto a tank by using a lever.
This was broken, the rock exploded instead of dropping, because debris
is spawned and that debris was solid.
Now the debris is not solid anymore (like it was up to
b4d16ab6b3
"Some additions to last commit:") and it works again
2016-10-24 17:27:57 +02:00
Yamagi Burmeister
a0a34e0a35 When an invalid muzzle flash offset is send, just return.
The original client crashed (or survived by pure luck) when muzzle
flash offsets >210 were send. Our fix was to bail out, but that broke
some buggy mods... So just return and print an optional debug message.

This fixes issue #153.
2016-10-23 18:36:43 +02:00
Daniel Gibson
10a8dfa388 Fix typo in ai_checkattack() leading to monsters running in place
this fixes #151
2016-10-23 17:55:04 +02:00
Yamagi Burmeister
7f996cc29e Don't smooth half height steps
This step height is used by several evelators, leading to stuttering due
to misspredictions. Additionally half height steps weren't smoothed by
the synchronous client.
2016-08-29 19:58:47 +02:00
Yamagi Burmeister
31c564a030 Setting the window position was unsupported for years. 2016-08-18 18:58:18 +02:00
Yamagi Burmeister
073d6ef837 Unify gl_cull and gl_nocull. 2016-08-18 18:25:23 +02:00
Yamagi Burmeister
b36e60e097 Remove gl_anisotropic_available. It's unnecessary... 2016-08-18 18:19:02 +02:00
Yamagi Burmeister
87f9084df1 Clamp overbright bits in warping surfaces to 1.
They oversaturate otherwise.
2016-08-17 21:12:52 +02:00
Yamagi Burmeister
1bbd8c04ff I think that steps between 94 and 98 are wrong, remove them.
Predicting these steps leads to a heavily stuttering elevator in
hangar1. I think that steps between 94 and 98 can't appear on stairs, so
just remove them. If I'm wrong we need a hack to the hack ontop of the
hack... ^^
2016-08-17 21:03:36 +02:00
Yamagi Burmeister
6ff41e6b2f Remove unused and broken functions for writing files. 2016-08-16 20:14:41 +02:00
Yamagi Burmeister
9af1af55a5 Allow reading player models from pak / pk2 / pk3 / zip files.
This fixes #119. As always I've chosen the least invasive way to solve
this problem. Trying to open players/$model/trix.md2 is hack, but solves
the problem without changes to filesystem.c and it's API.
2016-08-16 19:58:22 +02:00
Yamagi Burmeister
fb7c79c93b Be a tough boy and set cl_async to 1 2016-08-15 21:37:09 +02:00
Yamagi Burmeister
58d1fa02bc Switch overbright bits off by default to get the classic look 2016-08-15 21:36:33 +02:00
Yamagi Burmeister
88244bd4a4 Unbreak SDL 1.2 build. 2016-08-14 16:46:07 +02:00
Yamagi Burmeister
4d9d555d8e When vsync is enabled, cap the desired rfps.
With vsync enabled the render times of consecutive frames can diverge.
The first frame arrives right at the next display frame and is rendered
without waiting time. The next frame has to wait 20ms. The leads to some
problems with the move prediction if the client is asynchronous. Fix
this by capping the desired frame rate at the display refresh rate. Also
make sure that the network framerate is never higher then the renderer
framerate.

With the commit the timing is always correct:
* With no limit as much frames as possible are rendered. In this case
  rfps > nfps and everything's good.
* With vsync enabled rfps > nfps or rfps == nfps is given. Also rfps
  will never exceed the display refresh rate.
* On slow hardware either rfps > nfps or an implicit rfpc == nfps is
  given.
2016-08-14 16:35:48 +02:00
Yamagi Burmeister
0ba7614739 Use nanosleep() instead of a busy wait loop.
This cuts the cpu time requirements in half. Windows has no equivalent
for nanosleep(), so keep the busy loop.
2016-08-14 12:50:27 +02:00
Yamagi Burmeister
98683cbc31 Render the first frame right after the start.
Otherwise we would wait several client frames. This is a cosmetic change
without any visable effect.
2016-08-14 12:50:21 +02:00
Yamagi Burmeister
93e9633382 Port step smoothing code from r1q2.
While the bugfix in a6f4a3b made the steping prediction working for
stairs, elevators are still stuttering. r1q2s code solves this problem
and is a little bit faster. Use it instead.
2016-08-14 12:45:16 +02:00
Yamagi Burmeister
f16928f2cf Implement a better hack for warping surfaces regarding lightning.
The old hack was sufficient for classic rendering, but break with
gl_overbrightbits enabled. See the inline comment for details.
2016-08-13 12:18:31 +02:00
Yamagi Burmeister
d6136cbba5 Bump cl_maxfps to 60.
Yesterday I chose setting cl_async to 0 since I saw some movement
changed with the async client enabled. Especially when clipping against
bevels the game started to stutter and there were small rendering
problems. After some debugging I realized that it is caused by slight
inaccuracies in the move prediction. When cl_maxfps is too low, the
movement error between two render frames becomes to big, leading to
misspositions. There're two ways to solve this problem:

* Processing more client frames. Most async clients I've looked on
  process 60 or even 90 render frames. I chose to stay at 60 since
  I was unable to see differences with higher rates.

* Changed to pmove.c and the pmove_t struct. Some multiplayer focused
  clients go that way. But there's a very high of breaking singleplayer
  movement and pmove_t is part of the server <-> game API. Additionally
  the network code must / should be altered. So this is unsuitable for
  YQ2.

Please note that there's still a change in movement. Before 4ae8706 and
when cl_async is set to 0 movement is dependend on the render framerate.
At low framerate bevel clipping isn't working too good, at high
framerates prediction causes physics changes like the famous 125hz bug.
With cl_async set to 1 the network framerate is stable, leading to a
more consistant behahiour.
2016-08-13 12:17:31 +02:00
Yamagi Burmeister
070d94ec77 Add a cvar cl_async, off by default.
Most (all?) clients implement the synchronous and the asynchronous
client by seperate code pathes. Instead of doing that we force the
asynchronous path to process one network frame for each render frame.
2016-08-11 19:36:42 +02:00
Yamagi Burmeister
a6f4a3b309 Don't predict one frame too far.
We're missusing the current frame to pass data from the input subsystem
to the movement prediction without a server frame. While we can use the
current frame for the movements itself, it's not finished and thus
unsuitable for stair step prediction. Also oldframe is determined
wrongly. As a result the player "jumps" over stairs.
2016-08-11 19:11:33 +02:00
Yamagi Burmeister
a9853ae44e Remove more dead cvars. 2016-08-11 19:07:08 +02:00
Yamagi Burmeister
02725785dd Apply gl_overbrightbits to dynamic lightmaps.
Without this the dynamic lightning is too dark in contrast du the rest
of the world when gl_overbrightbits is 2 or even 4.
2016-08-08 21:06:59 +02:00
Yamagi Burmeister
347cdb7f81 Some more fixes to gl_overbrightbits in non multitexturing case.
- Apply overbright bits only to static lightmaps and not dynamic ones.
- Apply overbright bits to alias models.
2016-08-07 10:39:22 +02:00
Yamagi Burmeister
f8ac496b69 Bump version number to 6.00pre 2016-08-07 10:14:07 +02:00
Yamagi Burmeister
a6d77401ba Remove now unused variable 2016-08-07 10:12:56 +02:00
Yamagi Burmeister
5f4d4e533f Apply gl_overbrightbits only to full lightmap chains.
I think / guess / *fingers crossed* that this fixes the different
brightness levels between normal and multitexturing mode reported
in #147.
2016-08-06 19:21:34 +02:00
Yamagi Burmeister
f064c76eb2 Remove dead cvars and support code 2016-08-06 18:41:57 +02:00
Yamagi Burmeister
cd61504af8 gl_config.mtexcomb should depend on gl_config.multitexture 2016-08-06 18:28:02 +02:00
Yamagi Burmeister
dd36eee0f1 Apply gl_overbrightbits only at lightmaps, not normal textures. 2016-08-06 18:11:10 +02:00
Yamagi Burmeister
38a72e018a Implement gl_overbrightbits in non multitexturing mode
This is still slighty broken, looks the overbright bits are applied in
both R_DrawGLPoly() and R_DrawGLPolyChain(). Fix to come.
2016-08-06 17:06:37 +02:00
Yamagi Burmeister
a2400bc145 Clamp gl_overbrightbits to 0, 1, 2 or 4.
Most (all?) GPUs / OpenGL implementation doen't support more
2016-08-06 15:39:46 +02:00
Yamagi Burmeister
698e2a26ba Switch GL_ARB_texture_env_combine to our new probing logic 2016-08-06 15:32:08 +02:00
Yamagi Burmeister
5840bd570b Use vertex arrays in R_RenderLightmappedPoly.
This is done for normal surfaces only. To change SURF_FLOWING surfes I
need to find such a surface somewhere in the game...
2016-08-06 15:25:54 +02:00
Yamagi Burmeister
bcde80834f Probe GL_ARB_multitexture with our new proping logic
And rename gl_ext_multitexture to gl_multitexture.
2016-08-06 15:15:18 +02:00
Yamagi Burmeister
dafc41f509 Switch GL_ARB_texture_non_power_of_two to our new probing logic.
While at it rename R_Upload32Old to R_Upload32Soft.
2016-08-06 10:37:24 +02:00
Yamagi Burmeister
2e7166b157 Probe GL_EXT_texture_filter_anisotropic with our new logic 2016-08-06 10:18:58 +02:00
Yamagi Burmeister
43c9970772 Switch GL_EXT_paletted_texture to the new probing logic 2016-08-06 10:08:17 +02:00
Yamagi Burmeister
9f0b5d067b Use GL_ARB_point_parameters instead of GL_EXT_point_parameters.
While here switch GL_ARB_point_parameters to a new probing logic and
rename the Cvar to gl_pointparameters.
2016-08-06 09:50:16 +02:00
Yamagi Burmeister
4057376993 GL_EXT_compiled_vertex_array is unused. Remove it.
At can be added back, if it's ever needed.
2016-08-06 09:35:08 +02:00
Yamagi Burmeister
0967f051d8 Require OpenGL 1.4 2016-08-06 09:32:20 +02:00
Yamagi Burmeister
e4751e8c44 Use OpenGL multitexturing extensions to implement multitexturing...
This is a slighty revised version of id Software original code. Icculus
code may have some advantages on broken drivers or underpowered GPUs.
Today it's just a performance hook. This is a first step in fixing #147.
2016-08-05 18:38:48 +02:00
Yamagi Burmeister
2baf97bdf6 Throttle the client to 1000 FPS.
This is more than enough for everyone and prevents wasting CPU time.
Without this change as many client frames as possible are rendered,
Quake II uses a complete core.
2016-08-05 07:49:47 +02:00
Yamagi Burmeister
7ea4db4ace Remove now unused function CL_SendCommand(). 2016-08-04 21:29:30 +02:00
Yamagi Burmeister
d15f5d5b97 Make sure CL_UpdateWindowedMouse() is called.
Without this the automatic mouse grab is not working.
2016-08-04 21:28:17 +02:00
Yamagi Burmeister
a70cc2d923 Switch the refresher to vertex arrays
This is based on work submitted by Scott "pickle" Smith. It's said that
vertex arrays are somewhat faster and more compatible than the old way.
This may remove support of some very, very old GPUs like the Riva128.
2016-08-04 21:11:31 +02:00
Yamagi Burmeister
4dcdb0dc17 Force GL_LIGHTMAP_FORMAT instead of gl_tex_solid_format.
This is more less cosmetics since gl_tex_solid_format == GL_RGB and
GL_LIGHTMAP_FORMAT == GL_RGBA. No measurable FPS change on Nvidia and
Intel. Based upon the OpenGL ES patch by Scott "pickle" Smith.
2016-08-04 21:11:31 +02:00
Yamagi Burmeister
275271c647 Always specify the alpha channel.
This is based upon the original OpenGL ES patch by Scott "pickle"
Smith. This change gives about the same frame rate on an 750TI but
about 3% more frames on an Ivy Bridge IGP with Mesa3D...
2016-08-04 21:11:31 +02:00
Yamagi Burmeister
4ae8706d22 Make the client asynchronous, e.g. decouble net and refresh frames.
This is largely based upon the cl_async 1 mode from KMQuake2, which in
turn is based upon r1q2. The origins of this code may be even older...
Different to KMQuake2 the asynchonous mode is not optional, the client
is always asynchonous. Since we're mainly integrating this rather
fundamental change to simplify the complex internal timing between
client, server and refresh, there's no point in keeping it optional.

The old cl_maxfps cvar controls the network frames. 30 frames should be
enough, even Q3A hasn't more. The new gl_maxfps cvar controls the render
frames. It's set to 95 fps by default to avoid possible remnant of the
famous 125hz bug.
2016-08-04 17:36:42 +02:00
Yamagi Burmeister
fa4eacc976 At OpenAL shutdown don't do not stop only the stream chan but all chans.
I'm not quite sure if this really makes a difference. But it's the only
idea I have regarding several "Quake II hangs at shutdown when OpenAL is
run with Pulseaudio backend" bugs.
2016-08-04 09:21:33 +02:00
Yamagi Burmeister
978eec1a8d Add an explicit fflush() when writing the config.
Yes, fclose() flushes the stream and yes, this is unnecessary. But I've
seen at least two times partial written configs on Win 10. :(
2016-08-04 09:07:47 +02:00
Yamagi Burmeister
f291693c59 Quit the game if a SDL_QUIT event is received. 2016-07-18 10:11:54 +02:00
Yamagi
7cb455459a Merge pull request #144 from smcv/source-date-epoch
savegame: ensure that BUILD_DATE is defined
2016-07-05 19:37:56 +02:00
Simon McVittie
38ff49e480 savegame: ensure that BUILD_DATE is defined
The game code does not include common.h, so it needs to redo this
part for builds without SOURCE_DATE_EPOCH, where BUILD_DATE will
not have been passed in from the outside.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-07-05 18:29:54 +01:00
Yamagi
5323873476 Merge pull request #143 from smcv/link-libopenal
Optionally link libopenal at compile time
2016-07-05 19:13:57 +02:00
Yamagi
0da70104e2 Merge pull request #142 from smcv/source-date-epoch
Override __DATE__ from SOURCE_DATE_EPOCH if set
2016-07-05 18:50:31 +02:00
Simon McVittie
5887a9e79e Optionally link libopenal at compile time
In Linux distributions, having the executable depend on the right
libraries and arrange for them to be installed is straightforward,
and there's a lot of infrastructure for tracking which library
version a particular executable needs, including making sure we have
a version that contains all of the symbols that were used. Loading
libopenal at runtime defeats that infrastructure.

The ability to substitute a different-but-compatible libopenal,
or operate with reduced functionality without libopenal, might
still be desirable for generic/portable binary releases.

The CMake build system already linked the executable to
${OPENAL_LIBRARY} anyway, so it is already a hard dependency in that
build system.
2016-07-01 09:44:00 +01:00
Simon McVittie
c00707d449 Override __DATE__ from SOURCE_DATE_EPOCH if set
For deterministic/reproducible builds (where the same source and
toolchain can be verified to produce the same binary, allowing
maliciously substituted binaries to be detected) it is desirable to
take the software's idea of the build date from the build system;
otherwise, the real-time clock at the time of building affects the
result, making it non-reproducible.

SOURCE_DATE_EPOCH is a distribution-neutral specification for how
to do that. It is meant to be set by meta-build systems such as
dpkg or RPM, using a date/time that is already part of the source code,
for example the date of the latest git commit, the date in
the package's debian/changelog, or the date in the RPM spec file.

See https://reproducible-builds.org/specs/source-date-epoch/ for the
specification of SOURCE_DATE_EPOCH, or https://reproducible-builds.org/
for more information on reproducible builds in general.
2016-07-01 09:41:23 +01:00
Simon McVittie
92668ca6b1 Fix spelling errors detected by lintian
Based on a patch by Fabian Greffrath against an earlier version of
yquake2.
2016-07-01 09:38:54 +01:00
Yamagi Burmeister
6d38cc8609 Bump version number to 5.35pre 2016-06-25 11:03:48 +02:00
Yamagi Burmeister
bb8be981d5 Bump version number to 5.34 2016-06-25 10:22:18 +02:00
Yamagi Burmeister
5a384c79b1 Switch from an arch whitelist to an "all archs are supported" approach.
The old whitelist was a leftover from the early days of YQ2. It should
run on most / all architectures, as long SDL supports them. As suggested
by smcv in issue #138 generate the OSTYPE and ARCH defines by the build
system instead of hardcoding it.

Savegame compatibility is provided by bumping the savegame version. Old
savegames are compared against the old OSTYPE and ARCH defined, new ones
against the new defines. This compatibility code should be removed
somewhere in the distant future.
2016-06-11 09:23:10 +02:00
Daniel Gibson
da6ad6953d Use software gamma for OSX, fix #134
Hardware gamma is broken, especially in fullscreen, and a Mac user told me
that setting HW/screen gamma on OSX is a bad idea anyway, because it resets
the monitor calibration.
The game /should/ look ok with vid_gamma 1 (if your display is configured
properly), but if you think it's too dark set it a bit higher and do
vid_restart.
2016-05-28 16:04:07 +02:00
Yamagi Burmeister
6f64efbd17 Disable gl_ext_multitexturing by default.
Multitexturing was enabled by default in 0f7b422. It gives a small but
on todays hardware neglectable performance boost, but caused several
problems over the years. For example gl_showtris doesn't work with it
and there's at least one render glitch in city3.bsp.
2016-05-01 09:01:39 +02:00
Yamagi Burmeister
b4d16ab6b3 Some additions to last commit:
- SOLID_BBOX seems to be more correct.
- Make debris SOLID_BBOX, too.
2016-04-29 17:40:33 +02:00
Daniel Gibson
07477e0f75 Make gibs solid so they move with conveyor belts etc, like in fact2
not sure if this has any drawbacks, seems to work good so far.

No idea why id apparently deactivated this at some point, maybe to
optimize performance?
2016-04-16 21:04:32 +02:00
Yamagi Burmeister
eaee1d71d5 Rename cl_stereo* cvars to gl_stereo*.
They're renderer cvars, not client cvars.
2016-04-07 17:01:09 +02:00
Yamagi Burmeister
238ccb8adf Fix warnings with clang after the stereo merge 2016-04-07 16:57:32 +02:00
Valery Guskov
f6c596c1c5 better default configuration for 3d 2016-04-04 23:57:59 +03:00
Valery Guskov
9693004afb removed unused variable 2016-04-04 23:57:08 +03:00
Valery Guskov
248bebeca6 unncecessary newlines 2016-04-04 22:41:27 +03:00
Valery Guskov
d09c942b52 added pause changes from stereo-quake 2016-04-04 22:25:53 +03:00
Valery Guskov
45d3dd0a2f fixed loading display
i guess
2016-04-04 20:55:17 +03:00
Valery Guskov
135fb021e5 fixed viewports a bit 2016-04-04 19:33:18 +03:00
Valery Guskov
294a4dfbb9 cleaning up
removed non-minimal changes from porting stereo-quake
2016-04-04 00:25:20 +03:00
Valery Guskov
2e87216abf Revert "ported meatball crosshair"
This reverts commit 1e6f016fca.
2016-04-04 00:11:03 +03:00
Valery Guskov
bfa212f6ba correct models provide skin path 2016-04-03 19:26:16 +03:00
Valery Guskov
b3bea99597 added new code for 3d crosshair
original meat can be thrown out
2016-04-03 00:26:35 +03:00
Valery Guskov
1e6f016fca ported meatball crosshair
copied from http://www.quakewiki.net/archives/qdevels/quake2/12_1_98.html
2016-04-02 01:24:14 +03:00
Valery Guskov
b662cb9979 added split view basic support 2016-04-01 16:22:28 +03:00
Valery Guskov
0f8bda3c33 first attempt at porting separation support
ported from stereo-quake
http://www.benryves.com/products/stereoquake
2016-04-01 08:51:11 +03:00
Daniel Gibson
7f7ba1870b Bump version to 5.34pre 2016-01-30 20:03:33 +01:00
Daniel Gibson
50fe9cfdbc Bump version to 5.33 2016-01-30 19:48:00 +01:00
Daniel Gibson
703cec74e7 Fix fix for not sending Char_Event to console when not opened
turns out the if the console is opened while no game is currently
running, cls.key_dest is not key_console but still key_game.
Changing it to key_console in those cases blows up in interesting ways.
So in Char_Event() we send events to the console in those cases.
2016-01-30 18:43:32 +01:00
Daniel Gibson
4a762c0002 Don't send Char_Event to Console if it isn't opened 2016-01-30 17:46:34 +01:00
Daniel Gibson
0fb8d80507 Small improvements to input code 2016-01-30 17:46:34 +01:00
Daniel Gibson
dc155cca9c Workaround for better AZERTY-Keyboard support
The first row of AZERTY-Keyboards (used in France and Belgium) doesn't
have numbers as keys but ², &, é, ", ', (, -, è, _, ç, à, ), =
(with small differences between France and Belgium).
For some of those keys we don't have keycodes - and neither does SDL2.
See also https://bugzilla.libsdl.org/show_bug.cgi?id=3188

As a workaround, just map those keys to 1, 2, ..., 9, 0 anyway, as those
are keys Quake2 already knows (and those chars are printed on the keys
too, for typing they're reachable via shift).
This workaround only works for SDL2, as SDL1.2 doesn't have scancodes
which we need scancodes to identify the keys.

While at it I unified handling of SDL_KEYDOWN and SDL_KEYUP, the code
is almost identical anyway, apart from one bool argument to Key_Event().

We track this problem in #81
2016-01-30 17:46:34 +01:00
svdijk
31ffb96614 Console: Adjust line length based on scale 2015-12-19 20:36:25 +01:00
svdijk
5c54521199 Screen: Clamp scale to a minimum of 1, except for the HUD 2015-12-19 20:34:02 +01:00
svdijk
54b6d276b2 Screen: Make SCR_Get*Scale() callable before SCR_Init(). 2015-12-19 20:18:17 +01:00
svdijk
354d2ff789 Menu: Some alignment fixes for scaled menus 2015-12-13 11:48:02 +01:00
Daniel Gibson
ca4bab172e Make "no such (old)frame" warnings developer-only
those "problems" don't really matter, so don't spam the console with
it (unless you've enabled developer messages).

"Fixes" https://github.com/yquake2/xatrix/issues/7
2015-12-12 20:17:40 +01:00
svdijk
3e5ac1c15a Draw: Also don't lerp crosshairs 2015-11-24 14:19:16 +01:00
svdijk
0880bef8c8 Draw: Handle "nolerp" of console characters through a cvar 2015-11-24 14:16:18 +01:00
svdijk
44969748fb HUD: Fix centering of scaled crosshair 2015-11-20 22:04:27 +01:00
svdijk
712016783b UI scaling: Clamp the scale to avoid "over-scaling"
This clamps the UI scale, limiting the relative size of the UI
elements to what they would be at scale 1 in a 320x240 resolution.
Allowing bigger scales is not useful, and would make it possible
for the user to shoot him-/herself in the foot by setting a
"too big" UI scale value in the menu. (Since this would mess up
the menu, it could be hard te recover from for a casual user.)
2015-11-20 18:47:08 +01:00
svdijk
9964b2f3df q2icon.xbm: Make this a bit more like the new icon 2015-11-18 20:52:19 +01:00
svdijk
4194ff24dd q2icon64.h: Recreated to have the same margins as the source SVG 2015-11-18 19:58:08 +01:00
svdijk
8a9741dd89 Videomenu: Minor optimization to GetCustomValue for subsequent calls 2015-11-16 22:23:15 +01:00
svdijk
8d7f4a74e6 Videomenu: Simplify uiscale initialization 2015-11-16 19:26:46 +01:00
svdijk
a6b3bfd35a qmenu.c: Some whitespace changes for consistency. 2015-11-16 19:18:50 +01:00
svdijk
de8c50bcb9 Videomenu: Make the "custom" value handling less error prone. 2015-11-16 19:11:00 +01:00
svdijk
1804fad355 Videomenu: Add integer scaling options up to 6x 2015-11-09 22:14:45 +01:00
svdijk
e92b54990d Videomenu: Also include crosshair_scale in the ui scale option 2015-11-09 22:09:48 +01:00
svdijk
8d9cdc0768 Videomenu: Limit the ui scale option to integer values
Fractional values look ugly. If people really want this they can set this from the console, we won't "advise" it from the menu.
2015-11-08 18:20:54 +01:00
svdijk
0cdf927d3e Default the various scale variables to "-1" (automatic) 2015-11-08 12:48:27 +01:00
svdijk
64d4e8e619 Videomenu: Change the HUD scale option to a more generic UI scale option 2015-11-08 12:46:38 +01:00
svdijk
dae3de4b73 Videomenu: Don't mess up custom hudscale setting upon "apply" 2015-11-08 11:15:36 +01:00
svdijk
57c494cfd6 Fix compiler warning in stb_image.h 2015-11-05 19:51:22 +01:00
svdijk
97f9494400 Windows: Use a relative path for the icon. 2015-11-04 21:08:25 +01:00
svdijk
ec9657134f Windows: icon.rc is a source file, so move it to the source directory. 2015-11-04 21:05:30 +01:00
Daniel Gibson
4cbe5f25e0 Fix volume of looped sounds in OpenAL backend, fixes #111
AL_PlayChannel() is only called by AL_AddLoopSounds() and
S_IssuePlaysound() - but only the latter set a volume there.
Because of that, loopsounds weren't hearable anymore after the last
commit which removed adding s_volume to all volumes in AL_PlayChannel().
This is fixed by setting the volume for looped sounds in
AL_AddLoopSounds() as well.
Looped sounds don't seem to have a customizable volume and are always
played at full volume (the volume is only changed by distance, but
OpenAL does that automatically).
2015-11-02 01:48:52 +01:00
Daniel Gibson
4e13e3ee69 Uncouple s_volume from raw samples (Ogg playback and cinematics) 2015-11-01 18:02:22 +01:00
Daniel Gibson
fd31e0060d Remove CD music enable box and introduce OGG volume slider in menu
The CD music enable / disable box wasn't used by many users for two
reasons: CD music playback needs a CDROM drive with analog output.
Such drives aren't available for at least 10 years. And CD music is
unsupported with SDL2. A OGG volume slider is much more usefull.
2015-11-01 17:45:09 +01:00
Daniel Gibson
12604bebe9 Change version to 5.33pre, changes for arbitrary length version strings
Con_DrawConsole() assumed that the version string was always 21chars
long, we changed it to allow longer strings with other lenghts.
In Unix main() we changed the code for underlining
"Yamagi Quake II $version" with === so the underlining is as long
as the underlined string.
2015-11-01 17:15:10 +01:00
Yamagi Burmeister
92d48735f5 Bump version number to 5.32 2015-10-31 16:54:04 +01:00
Yamagi Burmeister
4b7b29c339 Don't stop the filesearch if the first try fails.
It was a wrong (and maybe stupid) assumption, that the config dir
(~/.yq2) is always the first element of the search path. When there's
at least one pak file in the config dir, it's added at a random
location. Work around this by probing all directories. This fixes
issue #107.
2015-10-28 07:41:58 +01:00
Yamagi Burmeister
7058052aea It's 'filename', not 'name'.
Pointyhead to: Yamagi
2015-10-28 07:31:06 +01:00
Yamagi Burmeister
1d709e5e27 Move file name check to prevent spurious "refusing to download messages
Moving the check under the "do we have the file localy" check prevents
spurious "Refusing to download a path with .." messages with some game
data. The tank commander skin is one example. This change has no
security impact since FS_LoadFile() just opens and closes the file.

While at it tighten the condition to prevent pathes with colons (this
condition is added at the server side, too) and pathes starting with
slashes and dots.
2015-10-27 17:38:28 +01:00
Daniel Gibson
17e791e528 shut up GCC warning about memset with 0bytes in Con_CenteredPrint()
yeah, if l<0 memset would have be called with length 0, which does not
really matter but was easily to prevent by only doing it if l>0.
2015-10-25 22:39:06 +01:00
Daniel Gibson
951fc2ffb7 Prettier Windowicon when using SDL2
for some reason this doesn't work properly with SDL1.2, so we keep
the old code for that.
2015-10-25 17:55:41 +01:00
Daniel Gibson
5ee1136ab5 Fix duplicate input through an activated keypad.
When the keypad was activated key presses were processed twice.
Once as a normal char event and once as a key event (not marked
as special). The key event to console character translation
function turned the key event into a second character...
2015-10-25 17:34:28 +01:00
Yamagi Burmeister
7456daf65f Do not display baseq2 savegames in mods / addons
The savegame list is generated by calling FS_FOpenFile() for each
possible savegame name. When a file handle is returned the savegame
exists, otherwise the savegame slot is empty. But FS_FOpenFile()
searches in every directory known to the VFS. If a savegame file
isn't found in $moddir but in baseq2, the file in baseq2 is opened
and a baseq2 savegame is displayed in the mods / addons savegame menu.

The fix is compromise between a clean solution and invasiveness:

- Refactor FS_FOpenFile() to include FS_FOpenFileRead(). FS_FOpenFile()
  was used only to open read only files, limit its's possibilities to
  do exactly that.
- Introduce a new flag "gamedir_only" to FS_FOpenFile(). When true
  only the gamedir directories are searched and not other directories
  like baseq2.
- Change all callers to FS_FOpenFile()s new signature.
- Use the new gamedir_only flag to limit the searchpath for savegames
  to the gamedir.
2015-10-25 16:44:22 +01:00
Yamagi Burmeister
2e82fe85fd Remove a bunch of unused VFS functions. 2015-10-25 08:48:19 +01:00
Simon McVittie
c20dbc7dac If SYSTEMWIDE, override the default basedir instead of adding a path
This makes it behave a little more like -basedir in Quake 1 and
fs_basepath in ioquake3.

This lets "+set basedir" take precedence over the SYSTEMDIR,
which is useful if you have the demo and full-game data installed
in different base directories to be able to test the demo for
regressions.
2015-10-23 19:30:42 +02:00
Yamagi Burmeister
de5849caf5 Reset gibsthisframe and lastgibframe at map change
Without this change the conditionals at g_misc.c:199 and 381 wouldn't
trigger until level.framenum reach it's previous value, resulting in
much to few debris or gibs being thrown. This fixes #104.

Many thanks to maraakate for the analysis and the idea how to fix it.
2015-10-23 19:24:52 +02:00
Yamagi
3c71ac6a08 Merge pull request #103 from mackron/brightness_fix
Apply gl_overbrightbits to regular meshes.
2015-10-23 15:06:38 +02:00
David Reid
3e0773fee4 Don't apply gl_overbrightbits to regular meshes when it's set to 0.
This should now be consistent with walls.
2015-10-23 09:39:54 +10:00
David Reid
33ad02b0d0 A couple more fixes to menu scaling.
Relates to issue #87. This should be the last commit for the menu scaling.
2015-10-22 22:06:48 +10:00
David Reid
dc53635f46 Fix alignment in the Multiplayer -> Player Setup menu.
Relates to issue #87.
2015-10-22 21:41:58 +10:00
David Reid
585e7dbfda Fix alignment in Multiplayer -> Join Network Server -> Address Book menu.
Relates to issue #87.
2015-10-22 21:04:45 +10:00
David Reid
490c5c15a3 Fix alignment in the key bindings menu.
Relates to issue #87.
2015-10-22 20:52:41 +10:00
David Reid
c623d5639c A bunch of alignment fixes to menus.
So far, fixed menus include:
 - Multiplayer
 - Multiplayer -> Start Network Server
 - Multiplayer -> Start Network Server -> Deathmatch Flags
 - Options
 - Video Options

Related to issue #87.
2015-10-22 20:36:41 +10:00
David Reid
fc33d5df64 Fix incorrect positioning of centered strings when scaling is applied.
This partially address issue #87.
2015-10-22 18:08:46 +10:00
David Reid
a856002772 Apply gl_overbrightbits to regular meshes.
This addresses issue #54. This commit also removes a couple of redundant OpenGL calls.
2015-10-22 16:26:44 +10:00
Daniel Gibson
1977570b17 Make sure not all OpenAL sources are relative, fix #100
OpenAL sources are reused in Quake2, so if a source has once been used
for a sound coming from the view entity, it'd stay relative, unless
told not to.

So now I set source's AL_SOURCE_RELATIVE to AL_TRUE or AL_FALSE in
AL_PlayChannel(), depending on the source coming from the player or not.

Thanks a lot to Tommi Teistelä for identifying the problem and pushing
me in the right direction!
2015-10-19 18:20:47 +02:00
Yamagi Burmeister
87ed67fd3d Revert "Cleanup vector math"
This reverts commit 123e409a2e.

This commit breaks several float calculations in subtiles ways. For
example grenates drift to the left. In fact, it's another example why
I'm so hesitant to merge anything that's not a fix for a clearly
reproducable bug. This fixes #99.
2015-10-19 18:20:47 +02:00
Daniel Gibson
5232088b02 Don't allow binding the "console keys" (^, ~, `) or Escape
should hopefully fix #93, which seemed to be caused by ^ and ` being
bound to toggleconsole in default.cfg (as shipped with Q2) *and*
in code, so it'd be called twice and cancel each other out.

It even warns if someone tries to bind those keys and includes an ugly
hack to *not* warn when it's done in default.cfg, to minimize confusion.
2015-10-19 18:20:47 +02:00
Sean Dwyer
159a3b8607 Add a cvar to switch behavior when misc track 0 is requested
OGG_OpenName(): add ogg_ignoretrack0 cvar to set whether we respect
default playback behaviour when track 0 is requested to be played via
standard cd audio playback.

Submitted by: ewe2
2015-10-19 18:18:44 +02:00
Yamagi Burmeister
123e409a2e Cleanup vector math
This work was submitted by Dmitry Antipov. We stick to macros instead of
inline functions since they're in line with the rest of the code base.
This patch removes several unused functions and tranfers most of the
rest into macros.
2015-10-01 15:47:37 +02:00
Yamagi Burmeister
432fdc271b Send view entity sounds from (0,0,0) and mark them AL_SOURCE_RELATIVE.
This was suggested by kcat at https://github.com/kcat/openal-soft/issues/19
This may fix #88.
2015-09-24 19:02:35 +02:00
Yamagi Burmeister
eba4ce95d4 Rename SCR_GetScale() to SCR_GetDefaultScale() 2015-09-14 19:23:44 +02:00
Yamagi Burmeister
f2e53e657b Fix crosshair_scale
The crosshair_scale cvar was broken a long time ago at Icculus Q2 or
even back at it. The fix is easy... This is part of issue #87.
2015-09-14 19:05:08 +02:00
Yamagi Burmeister
72a22b8915 Remove unreachable code 2015-09-09 08:23:23 +02:00
Yamagi Burmeister
0eb660609b Bump the version number to 5.31 2015-09-08 17:08:08 +02:00
Yamagi Burmeister
8da7a40142 FS_SetGamedir: reject "." as game directory. also reject empty string.
Submitted by: Ozkan Sezer
2015-09-03 20:35:09 +02:00
Yamagi Burmeister
8e61ccecca Remove unneed GetGameAPI() prototype.
Based upon a patch submitted by: Ozkan Sezer
2015-08-24 18:04:24 +02:00
Yamagi Burmeister
bd025ae5c5 Fix an off-by-one in memmove() call in SV_Map()
Submitted by: Ozkan Sezer
2015-08-24 18:02:08 +02:00
Yamagi Burmeister
c0fac70763 Cbuf_Execute: do not change 'i' if it overflowed sizeof line.
Submitted by: Ozkan Sezer
2015-08-24 18:00:57 +02:00
Yamagi Burmeister
a4d0d89720 Fix several potential security vulnerabilties
Submitted by: Ozkan Sezer
2015-08-24 17:58:19 +02:00
Yamagi Burmeister
5ad7b1e72d Fix several printf in the client.
Submitted by: Ozkan Sezer
2015-08-24 17:52:57 +02:00
Yamagi Burmeister
cfefe0c00c Fix a divinely dumbassed mistake of global 'i' and 'corners' variables.
Submitted by: Ozkan Sezer
2015-08-24 17:48:54 +02:00
Yamagi Burmeister
19cf5a63c7 Info_RemoveKey: use memmove instead of strcpy for overlapping memory areas.
Submitted by: Ozkan Sezer
2015-08-24 17:47:18 +02:00
Yamagi Burmeister
c17126278e SV_Physics_Pusher: fix the 'memory corrupted' check
Submitted by: Ozkan Sezer
2015-08-24 17:43:22 +02:00
Yamagi Burmeister
91245e3b70 Fix several printf format string errors in games' code
Submitted by: Ozkan Sezer
2015-08-24 17:42:01 +02:00
Yamagi Burmeister
126eb09a1e Fix missplaced brackets in boss32.c
Bad braces were added back in 2001 in icculus.org/quake2:
http://svn.icculus.org/quake2/trunk/src/game/m_boss32.c?r1=2&r2=26

Submitted by: Ozkan Sezer
2015-08-24 17:35:09 +02:00
Yamagi Burmeister
565f7f6e67 Let the Makefile generate a game.dynlib on OS X
This should have been done years ago, .dynlib is the canocial extension
for libraries on OS X. In a broader sense this simplifies the CMake
build system a little bit, since CMake enforces .dynlib for OS X
libraries.
2015-08-12 18:55:35 +02:00
Bradley Clemetson
2d20c5c801 Compiles on Linux with OpenAL support, SDL1/2 support.
Added build options for Zip/Ogg/OpenAL (On if available)
2015-08-10 22:55:01 -07:00
Bradley Clemetson
e55f7e7aeb
Now builds fully on OS X 2015-08-08 20:19:03 -07:00
Yamagi Burmeister
22a321d462 Fix animated textures on transparent surfaces
As Jack Whitham noticed [0], animated textures freeze at their first
frame if they're on a transparent surface. This can be seen in base3
(Com Centre), for example. At least for the OpenGL renderer this is
caused by the fact that the animation chain is never forwarded if the
texture is bound to a transparent surface. The fix is to do exactly
that...

I can only speculate why the animations on transparent surfaces were
never used / implemented. Maybe performance issues or it was just
forgotten.

0: http://blog.jwhitham.org/2015/04/more-fun-with-floating-point-numbers.html
2015-06-22 21:10:25 +02:00
Yamagi Burmeister
7ddbedc9c5 Enable hudscaling by default
The default value is now -1 aka "auto". If someone wants to disable it
hew can do so in the menu.
2015-06-06 20:56:39 +02:00
Yamagi Burmeister
50ad12ce13 Add a video menu entry to set the HUD scaling factor 2015-06-06 20:45:05 +02:00
Daniel Gibson
b5d810e5d8 Merge pull request #74 from yquake2/fix-max_ospath
Set MAX_OSPATH to 4096 for !Windows + Fixes for that
2015-05-31 18:28:57 +02:00
Daniel Gibson
d19cace026 Set MAX_OSPATH to 4096 for !Windows + fixes for that
sounds easy, right?
Except some genius decided to save CVAR_LATCH cvars in buffers of
MAX_OSPATH length into savegames.. so just changing MAX_OSPATH
breaks savegame compatibility.
Fortunately, this assumption only matters in SV_WriteServerFile() and
SV_ReadServerFile() so I worked around it by introducing a
platform-specific LATCH_CVAR_SAVELENGTH (because MAX_OSPATH was 256 on
Windows but 128 on other systems..)
2015-05-23 02:02:27 +02:00
Daniel Gibson
e62776fa08 global console-history instead of per-mod history 2015-05-22 23:42:23 +02:00
Daniel Gibson
c79257b5d8 Don't save consecutive duplicate commands to console history
.. I don't want to scroll through 20x /quit in the history..
2015-05-22 23:36:56 +02:00
Daniel Gibson
1ce9bdba51 Implemented a persistent, per game/mod console history
it's saved in $HOME/.yq2/$mod/history.txt

While I was at it, I made the max number of lines in the history
configurable at compiletime by introducing a NUM_KEY_LINES #define
2015-05-20 14:59:32 +02:00
Daniel Gibson
41ea8879e7 Fix bug with high velocities in vents in 32bit builds, fix #71
See https://github.com/yquake2/yquake2/issues/71
and https://github.com/yquake2/xatrix/issues/4

In ClientThink(), the float value ent->velocity[i]*8 is saved into
a short and if the value is too big for a short, in 32bit gcc builds
the short is set to SHRT_MIN, resulting in the player being pressed
down instead of up.
Now we put the result in a 32bit int first (which should be big enough)
and assign the int to the short. This still overflows, but with -fwrapv
at least in a defined way (most probably the same way the original
binaries did).

And while I was at it, when the game lib is loaded, it prints the date
it was built, this is especially interesting for our Win32 binaries.
2015-05-17 18:52:18 +02:00
Daniel Gibson
4e547feb2c *Really* support K_CAPSLOCK, K_COMMAND, K_POWER, K_PAUSE
we had constants for them in keyboard.h, but no mappings to name strings in
keynames[] in cl_keyboard.c, so they couldn't be bound.
2015-05-10 02:32:27 +02:00
Daniel Gibson
0b9ac6cb99 Fix "mark keys up when focus is lost" code, fixes #68
It didn't build on SDL1.2 (I though we tested that?!) and didn't work
with SDL2 either.

Now it builds and actually works with both SDL1.2 and 2.0
2015-04-14 00:51:38 +02:00
Daniel Gibson
e6646fb1e4 Bumped version to 5.30 2015-04-11 21:16:47 +02:00
Daniel Gibson
3cd9c76052 Fix fucking misleading comment in FS_AddGameDirectory()
that's not for *numbered* pak's, but all paks starting with "pak"!
2015-04-11 21:04:37 +02:00
Daniel Gibson
544a464eea Implement gamedata loading from binary path
even if $PWD is not the same path as the executable is in, the game
will look for game data in directories next to the executable.
2015-04-11 20:11:42 +02:00
Yamagi Burmeister
d2f7d27ad0 In case of focus loss, mark all keys up
Daniel is more or less sure that a stuck Alt key can occure if the user
switches through several windows by Alt-Tab. That sounds resonable,
because the keyup event for Alt may happen when the focus is not on
Quake II. In that case SDL2 misses it and for Quake II the key stays
down. Solve this by capturing the focus loss event and mark all keys
as up.
2015-03-31 21:23:04 +02:00
Yamagi Burmeister
aff37eda16 Make sure that no key is being marked down
It's apparently not enough to clear key repeats, we'll need to clear
the down states too. Without this Alt stays pressed after toggeling
fullscreen trhough Alt-Enter.
2015-03-30 21:22:55 +02:00
Yamagi Burmeister
02156e03ec Fix fullscreen switch on Alt-Enter
Switching to fullscreen through a SDL2 call is nice, but the renderer
needs to be reinitialized. Without it some things will break, for
example the gamma setting.
2015-03-30 20:57:32 +02:00
Yamagi
06834d1fb5 Merge pull request #65 from Jarvik7/OSX
OSX
2015-03-29 19:14:56 +02:00
jarvik7
150fb8b132 Remove old OS X cruft
This isn’t actually being used.
2015-03-29 12:22:40 +09:00
Daniel Gibson
a96218eb0a Simplify the mouse grabbing/relative mouse mode magic
basically, tell SDL each frame if you want stuff grabbed or not
+ make sure to ungrab when destroying window (e.g. on vid_restart)
2015-03-27 18:56:16 +01:00
Yamagi Burmeister
c1f5f62382 Remove the SDL.h even in !DEDICTED_SERVER builds
It was used for SDL on APPLE only. I just missread the code. :(
2015-03-20 17:45:57 +01:00
Yamagi Burmeister
531ee80ab4 We need to apply the lightmap.
This fixes #61. The issue was found and patched by ppsspp-gamer.
2015-03-20 17:41:52 +01:00
Yamagi Burmeister
177b424ba1 Remove Mac OS X support
No, this is not a rage quit but the result of a long discussion. There
are several reasons for us to drop OS X support:

- OS X support was always more or less hacky. For example is was never
  really integrated into the build system and some features like the
  OpenAL sound backend never worked well.
- The OS X support never grew into the new world based upon SDL2.
- It was broken since at least Lion which was released 4 years ago.
- None of the developers has a Mac or plans to buy one. Supporting
  a software for a platform not used by the developers is more or
  less impossible.
- And despite several appeals no one from the OS X community ever
  stept up and send patches.

Removed are:
- Makefile support
- The OpenAL quirks
- The Cocoa bindings
- The framworks

Not removed is:
- Savegame support
- Memory management support
- Platform detection
- OpenGL and SDL includes

So, if someone steps up and does a modern, fully integrated port based
upon SDL2 we're happy to merge it back. The requirements are:
- It must be a clean port, without any hacks
- Full build system integration must be provided
- The port must be maintained even after it was merged. At every release
  binaries must be build, API / ABI changes with new OS X versions must
  be tracked.
2015-03-20 17:33:46 +01:00
Daniel Gibson
47cde06e27 Use stb_image for retexturing support, also support png, no more libjpeg
Retexturing support is now always on (you can still switch it off with
the gl_retexturing  CVAR), as we don't have the additional libjpeg
dependency anymore.

stb_image is used for tga, jpg and the newly supported png, so the
old tga and jpeg loading code has been removed.

I furthermore cleaned up the somehow messy and possibly slightly broken
retexturing selection code in R_FindImage()
2015-03-20 17:33:37 +01:00
Yamagi Burmeister
046ae5c7eb Bump version number to 5.24 2015-03-13 17:59:14 +01:00
Daniel Gibson
6983d5dc3c R_Screenshot(): Write "yq2" image ID
because we can.
This should hopefully work around problems in old versions of gdk-pixbuf
that mistook TGAs without image ID as microsoft .ICO
2015-02-28 21:26:13 +01:00
Christoph Oelckers
d60dfa63bc - only #define GL constant if not already present (most likely only a problem on Windows.) 2015-02-28 20:31:07 +01:00
Christoph Oelckers
0d9a96bcc8 We have 2015 now so restricting textures to 256x256 seems a bit silly on modern hardware.
Check and use GL_ARB_texture_non_power_of_two and use it if present to allow using all textures unscaled. This makes a huge visual improvement since most skins are not power-of-two textures.

Conflicts:
	src/client/refresh/header/local.h
2015-02-28 20:31:07 +01:00
Yamagi Burmeister
104fd04e55 Boot the whole bloody anykeydown mess back in place.
Okay, I tried to solve this issue the gentle way. But apparently it's
not enough to track if a key is down. We must consider if the key is
just down or if it's already repeating... Therefor raise the white flag
and just put the original logic back in place. This may fix issue #57.
2015-01-31 11:23:32 +01:00
Yamagi Burmeister
3eca8d4e32 Use the same Sys_Microseconds() output for all CMDs
When we're building command we must make sure, that all command for
one keystroke will have the timestamp in microseconds. If that's not
the case the command may end up in differend server frames, breaking
things subtile. This may be part of bug #57, but I'm not sure.
2015-01-31 11:18:41 +01:00
Yamagi Burmeister
75280b4be8 Increase anykeydown
If we don't do this the special button state BUTTON_ANY is never
generated and the player can't leave the intermission. This fixes
bug #57.
2015-01-30 17:54:27 +01:00
Yamagi Burmeister
9bda84299c Mark all keys as "up" when the refresher is restarted
This is a less intrusive variant of the old Key_ClearState() function.
When the refresher is restarted or the menu is left, this function is
called to mark all keys as "up". That works around some corner cases
where a key is still marked "down" and thus the first stroke is detected
as a repetition.
2015-01-28 20:55:28 +01:00
Yamagi Burmeister
08f78ec3b5 Set SDL_EnableUNICODE() right after the window is created
This works around a bug in SDL 1.2 were the SDL_EnableUNICODE() state is
reset to false after the window is reacreated. Setting it in the render
backend ensures that no keystrokes are lost. This fixes #56.
2015-01-28 20:42:42 +01:00
Yamagi Burmeister
403d26d520 Process only keys between ASCII 32 and 126 as char events
This fixes bug #55 which ensued from special keys processed as char
and key events if SDL 1.2 was used.
2015-01-21 17:38:21 +01:00
Yamagi Burmeister
59ac327aba Solve some layer violations
- Handling of key combinations like Alt + Return or Shift + Escape
  clearly belong into the frontend. Now that the client won't clear
  the keystates any more it's save to handle them there.

- The 'force_centerview' command belongs into the client move stuff.
  I guess it was part of the backend sinces it messes with mouse
  handling. Since the renderer is now part of the client that's not
  necessary anymore.

- One can argue that +mlook and -mlook belong into client move stuff,
  too. But since we need there calculations in the backend anyway,
  leave things like they are.
2015-01-18 09:31:37 +01:00
Yamagi Burmeister
30fa1c5407 Use character events for some input subsystems
Until now Quake 2 used keysyms aka key events for everything, including
the console and the chat window. Since key events don't reflect if the
shift key is pressed, Quake 2 needed to convert the lower case chars to
upper case char through a hardcoded table. That lead to the problem that
the keyboard layout was utilised for lower case characters only.

Solve this long standing problem by refactoring both the input backend
and the frontends Key_Event() funktion to use character events for most
input subsystem. Character events are generated by SDL and send the
real character.

An example:
- On german keyboards shift and . is : but Quake 2 generated <.
- Now a character event with : is generated and used.

There are at least 3 disadvantes by this approach:
- The backend needs to tell the frontend if a normal character (ASCII
  32 to 126) or a special character is send. Only normal characters can
  be treated as character events.
- There may be some differences between the binding of a key seen
  through the console and seen by the game. If you have a german
  keyboard and bind :, the game may not react to :. This can be worked
  around by editing the config file.
- Users may need to rebind some keys.

Please note that Quake 2 can handle ASCII characters only!
2015-01-18 09:30:53 +01:00
Yamagi Burmeister
db10e0db87 Untangle the input system from the refresher
In the old times the refresher was a stand alone DLL. For performance
reasons and to avoid laggy input parts of the input system were
implemented in this DLL. Now that the renfresher is part of the main
binary and initialized at client startup we can remove most of the
abstractions between input system, refresher and client. Also the
input system can be treated as a normal subsystem.

Changes:
- Untangle the VID_* stuff and the IN_* stuff. The functions
  called by function pointers in in_state are now called directly
  and 'struct in_state' was removed.

- Remove input.h and rename the appropriate backend functions.
  There's no longer a need for an abstraction layer between the
  input backend and the input frontend.

- Move input initialization and shutdown into CL_Init(), like it's
  already done for all other subsystems.

- Remove Key_ClearStates(). I'm pretty sure that's a left over from
  the old Win 9x backends and unnecessary.

- General cleanup.
2015-01-16 18:23:39 +01:00
Daniel Gibson
5e33152f6a One entity shooting another should work even if friendly fire is off
In rogue's RHANGAR1 the turret didn't blow up the ceiling when friendly fire
was off, because in ClientTeam() both entities were set to "" (no team),
but OnSameTeam() just did a strcmp() instead of checking this special
case (no team).
We check this now and thus it works. Hooray.
I also refactored ClientTeam() to take the buffer instead of using a
static one and to be static (it's only called by OnSameTeam() anyway).

The savegame table entry for this function was invalid, but it doesn't
need to be saved anyway, so I just deleted it from the table.
2014-11-30 17:58:18 +01:00
Yamagi Burmeister
47634e64e8 Rename the 'ogg volume' functions to 'ogg enable'
These functions never set the OGG volume, the just enables or disabled
OGG playback. Rename them to match their purpose.
2014-10-25 09:40:13 +02:00
Yamagi Burmeister
4d5cb5686d Rename the "cdvolume" functions to "cdenable"
Historicaly this functions were used to adjust the cd music volume. In
YQ2 they were converted to enable or disable the cd music. Change their
name to match their current purpose.
2014-10-25 09:31:44 +02:00
Yamagi Burmeister
7742cd4893 Fix indention 2014-08-24 10:26:50 +02:00
Yamagi Burmeister
bffed68b2c Simplify preprocessor magic and fix dedicated server build 2014-08-24 10:24:05 +02:00
Yamagi
637aae9021 Merge pull request #50 from bibendovsky/lpf
Fix underwater sfx in demos
2014-08-23 16:42:07 +02:00
bibendovsky
120bb86458 Simplify PM_CalculateWaterLevelForDemo 2014-08-18 19:21:45 +03:00
bibendovsky
74c8c60e38 Turn off underwater sfx on disconnect 2014-08-17 18:58:26 +03:00
bibendovsky
1a514560da Fix underwater sfx in demos 2014-08-03 19:32:56 +03:00
Yamagi Burmeister
0ac4fdccfc A comparision "array != NULL" is always true 2014-08-03 11:10:22 +02:00
Yamagi Burmeister
f6a48b44bf Use the correct abs() flavor 2014-08-03 10:49:33 +02:00
Yamagi Burmeister
c0b27a8bb4 Revert "OpenGL-ES converstion"
This reverts commit 70eef55ab5.

It was premature to merge this commit into HEAD. Maybe we'll try again
one day, but only if a complete and fully working patch with build
system integartion is provided.
2014-08-03 09:34:32 +02:00
Rohit Nirmal
77492cd2f1 Fix some typos. 2014-07-30 20:58:09 -05:00
Yamagi Burmeister
5a7950683d Rewrite COM_FileExtention()
COM_FileExtension() was parsing strings from beginning to end, bailing
out as soon as '.' was found and treating everything thereafter as the
file extension. That behavior caused problem with relatives pathes like
models/monsters/tank/../ctank/skin.pcx. The new implementation uses
strrchr() to determine the last '.'.

This fixes issue #48. The bug was introduced in e07294b which replaced
hand rolled code with COM_FileExtention().
2014-07-24 21:03:00 +02:00
Yamagi Burmeister
3fc549ca42 Implement scaling of several non-menu elements
- The loading plaque
- The pause plaque
- The "Quit Screen"
2014-06-24 19:39:18 +02:00
Yamagi Burmeister
af70f276a9 Implement scaling of the menu
This commit has some drawbacks:
- It's rather hacky. The Quake II menu is crap and was never intended
  to be scaled. My approach was to add scaling to most of the generic
  functions and handle all the special cases in the non generic parts
  of the menu. A better solution would require to rewrite at least
  parts of the menu. And like it's said in qmenu.c: I won't do that.
- Some menu elements are aligned to the right, others to the left. In
  many places magic numbers are used to align elements by hand. This
  makes it very hard to impossible to implement a scaling logic which
  works in all situations. With this approach most menus look good up
  to at least a scaling factor of 3. Especially the "Player Setup"
  menu is very problematic at small disalignements are unavoidable.

Please note, that only the menu system itself is scaled. Some elements
like the the "Quit Screen" or the loading plaque are still missing. They
will be done in a later commit.
2014-06-24 19:39:10 +02:00
Yamagi Burmeister
2795088e86 Initialize the screen handling code before the renderer
This change is needed to break a otherwise fatal cycle:
- The renderer calls VID_MenuInit()
- VID_MenuInit() calls SCR_GetMenuScale()
- SCR_GetMenuScale() relies on gl_menuscale which is still
  uninitialized at this time.
2014-06-24 19:11:53 +02:00
Yamagi Burmeister
97139029b0 Implement gl_menuscale 2014-06-24 19:11:46 +02:00
Yamagi Burmeister
61667bd03d Decouple gl_hudscale and gl_consolescale 2014-06-23 08:09:01 +02:00
Yamagi Burmeister
869ce24922 Hide console scaling behin gl_consolescale
With this change it's possible to scale the HUD but not the console.
And vice versa.
2014-06-21 18:54:57 +02:00
Yamagi Burmeister
074891a8a2 Implement gl_hudscale for the console
After this change the HUD scaling is applied to the console and notify
messages. This was requested by many users.
2014-06-21 18:17:12 +02:00
bibendovsky
c1a3526a67 Add underwater sfx for SDL backend 2014-06-16 08:45:39 +03:00
bibendovsky
1dc71dbd97 Remove static keyword on some variables (these actually not static)
Caused by 1e52d35e84
2014-06-13 15:43:34 +03:00
bibendovsky
e4bb8b25a3 Fix compiling under Visual C++ when OggVorbis playback enabled 2014-06-13 14:07:56 +03:00
bibendovsky
8a28470a7a Enable TGA sky textures when retexturing is disabled 2014-06-10 10:45:49 +03:00
bibendovsky
1e52d35e84 Do not update mouse cursor position when paused, in menu, etc 2014-06-10 10:43:53 +03:00
bibendovsky
5d4c165b19 Stop Visual C++ to complain about uninitialized variable 2014-06-10 10:42:44 +03:00
bibendovsky
1ee09e3c20 Fix compiling under Visual C++ 2014-06-10 10:35:28 +03:00
bibendovsky
a53f321bed Use proper API to get pointers to OpenAL EFX extensions 2014-06-10 10:23:43 +03:00
Yamagi Burmeister
6c3fb38721 Merge remote-tracking branch 'opengles/master'
This integrates the backends for the pandora, gcw and gph written by
Scott "Pickle" Smith. Only the code itself is supplied, but no build
system integration.
2014-06-09 14:37:09 +02:00
Yamagi Burmeister
a0e7c67597 Bump version to 5.23 2014-05-08 17:24:09 +02:00
svdijk
013ad4aa45 screen: simplify SCR_GetHUDScale. 2014-05-08 04:12:39 +02:00
svdijk
9ae8192f04 video: revert commit 97e149ba9e, implement a better fix for this. 2014-05-07 18:21:12 +02:00
svdijk
6ced6809c6 savegame: update gamefunc_{decs,list}.h, for completeness sake. 2014-05-06 22:03:08 +02:00
svdijk
2b66ce0372 screen: move the SCR_DrawCrosshair declaration to the header. 2014-05-06 19:55:43 +02:00
svdijk
1d81f2e2b6 screen: auto-scale the HUD when gl_hudscale < 0. 2014-05-06 19:45:11 +02:00
svdijk
9be6a7ec46 videomenu: minor tweak regarding the aniso filtering option. 2014-05-05 18:31:08 +02:00
svdijk
092e7e1888 SCR_ExecuteLayoutString: also apply scale to xl and yt to avoid overlap. 2014-05-04 21:07:23 +02:00
svdijk
d823940370 Also apply gl_hudscale cvar to the inventory. 2014-05-04 21:05:56 +02:00
svdijk
ba16e501d2 videomenu: minor cvar ordering change. 2014-05-04 20:47:52 +02:00
svdijk
4e8a5565a9 videomenu: remove obsolete options, some cleanup. 2014-05-04 20:44:29 +02:00
svdijk
af852ea5bd videomenu: add an "aniso filtering" option. 2014-05-04 20:26:12 +02:00
svdijk
97e149ba9e video: avoid artefacts when resizing the viewsize when paused. 2014-05-04 16:05:32 +02:00
svdijk
6b79e31d8d videomenu: correct the "screensize" slider range. 2014-05-04 13:39:05 +02:00
svdijk
a7edd7c466 video: apply changes to gl_anisotropic immediately. 2014-05-01 21:20:00 +02:00
svdijk
3bb9f49f19 videomenu: readd 16x MSAA option, check what we got after setting mode. 2014-05-01 20:52:25 +02:00
Daniel Gibson
7ace8c9116 Implementing gl_hudscale cvar to scale the HUD
because it's so small in high resolutions and I'm an old man with bad
eyes.
2014-04-25 21:24:26 +02:00
svdijk
a2b6f1b7af videomenu.c: remove unsupported "16x" option from MSAA list. 2014-04-20 03:12:13 +02:00
svdijk
a0ca33901e videomenu.c: minor fix regarding the multisampling option. 2014-04-19 13:00:12 +02:00
svdijk
0973c1de10 videomenu.c: consistent capitalization. 2014-04-17 20:25:39 +02:00
svdijk
5b6f351e67 refresh.c: some minor tuning/cleaning. 2014-04-17 20:14:42 +02:00
svdijk
04c5b881a2 Video menu: add msaa option. 2014-04-16 22:47:23 +02:00
svdijk
d089159ab9 VID: Implement a fallback when MSAA is not supported. 2014-04-16 21:51:36 +02:00
svdijk
ec8edb5d3b Video menu: add vsync option. 2014-04-12 15:03:40 +02:00
svdijk
4d201b3ff0 OpenAL: fix lagging audio when leaving the menu. 2014-04-12 14:27:10 +02:00
svdijk
3d2ff6795d R_ScreenShot: set GL_PACK_ALIGNMENT to 1 for glReadPixels. 2014-03-30 17:30:58 +02:00
svdijk
1fd8a853d1 R_ScreenShot: add another sanity check. 2014-03-30 16:32:36 +02:00
svdijk
ded9ed51ea R_ScreenShot: abort if malloc fails. 2014-03-29 19:52:24 +01:00
svdijk
e86aabc949 Menu: make sure spincontrols don't start out of range. 2014-03-29 18:50:48 +01:00
svdijk
219882dafa Make default video mode consistent, some comment/whitespace changes. 2014-03-28 21:12:15 +01:00
svdijk
503eefc301 Simplify the mouse grabbing/relative mode setting code. 2014-03-26 21:13:07 +01:00
svdijk
5338566852 Fix broken mouse release while in menu/console. 2014-03-26 20:51:02 +01:00
svdijk
69661e7cbd Implement a different workaround for when SDL_SetRelativeMouseMode() doesn't work.
This fixes the "stuttering mouse" reported in issue #38.
2014-03-26 20:34:19 +01:00
Yamagi Burmeister
5ce3a266e9 Force OpenGL path for light primitives
This fixes a long standing and until now unnoticed bug with negative
colored dynamic lights. Since we never set the OpenGL renderer as out
renderer, remaining softrenderer code was executed and the corresponding
effects never rendered. This manifested itself in missing darkness
around the "gravity well" in rogue.
2014-02-12 19:39:23 +01:00
Yamagi Burmeister
37dd396f36 Bump version to 5.22 2014-02-08 10:14:24 +01:00
Yamagi Burmeister
d0d81cf3ac Revert "Define HAVE_BOOLEAN on Windows"
This reverts commit 5e1419e6ba. It was a
bad idea, breaking 64 bit compatiblity on Windows. It should have never
been committed...
2014-01-28 08:13:21 +01:00
Yamagi Burmeister
eb879bb9b6 Rename VERSION to YQ2VERSION to prevent collisions
Newer jpeg versions (I guess starting with 9) define an macro
"VERSION", colliding with ours. While wie could #undef it, take
the less hacky route and rename it.
2014-01-27 18:14:36 +01:00
Yamagi Burmeister
5e1419e6ba Define HAVE_BOOLEAN on Windows
Without this define newer versions of jpeg define a type "bool" as char,
while the MinGW headers define it as "unsigned short". Automake should
have detected that, but...
2014-01-27 17:28:59 +01:00
Yamagi Burmeister
93b38c6312 Define macros needed by 26bbfea.
The code used build fine on my workstation, since Mesa3D has the
required macros since ever. But on Windows gl.h is still limited
to OpenGL 1 (really?).
2014-01-27 17:26:33 +01:00
Yamagi Burmeister
26bbfead45 Add support for MSAA.
MSAA was a long wanted and often requested feature. Just set set the
desired number of samples with gl_msaa_samples and do a vid_restart.
This code is based upon work done in Hecatomb.
2014-01-26 09:53:10 +01:00
Yamagi Burmeister
825a53009a Provide a workaround if SDL_GetRelativeMouseState() is disfunctional
On some systems SDL_SetRelativeMouseMode() can fail under several
circumstances. For example:
 - Security software is blocking acces to raw input.
 - XInput 2 is unavailable.
 - SDL2s configure script has messed up.
Detect those situations and reposition the mouse manually to the
window center after having read it's current state. This fixes
issue #34 an #35.
2014-01-25 15:46:55 +01:00
Yamagi Burmeister
68d3da29e8 Destroy the window after the GL context.
The GL context is bound to a window, so destroy it before the window and
not after it. While here update the header comment.
2014-01-23 17:23:16 +01:00
svdijk
98a83e2322 Minor input grabbing cleanup. 2014-01-11 19:01:04 +01:00
svdijk
b33c895d56 Whitespace 2014-01-05 20:32:18 +01:00
svdijk
50e1bf16fe Fix key-repeats in the console (for instance the backspace key) 2014-01-05 20:22:34 +01:00
Yamagi Burmeister
84a1766702 Merge input backend init and keyboard init
Now that the refresher is part of the client, there's no need to init
the backend before the refresher and the keyboard after it.
2014-01-05 18:58:52 +01:00
Yamagi Burmeister
e8239291a7 Remove unnecessary IN_Close()
Having a special function to close the input devices is unnecessary. The
backend should close them at shutdown, when IN_BackendShutdown() is
called.
2014-01-05 18:53:03 +01:00
Yamagi Burmeister
18733b68ce Do not allow input devices to write to command buffer
Input devices should send key events and nothing more. The ability to
add commands into the input buffer was used by the joystick code
(removed long time ago) and as a dirty hack to work around limitations
of DirectInput.
2014-01-05 18:51:27 +01:00
Yamagi Burmeister
f80e02ffd9 Refactor the SDL input backend once again.
- Remove the keyq. This linked list was used to work around limitations
  of the good, old DirectInput API. It's not necessary with SDL.
- Inline some functions to others where apropriate and remove unused
  or unnecessary functions.
- Reorder functions into groups.
- Update comments.

This commits still misses necessary changes to the frontend. They'll be
done in subsequential commits.
2014-01-05 18:40:24 +01:00
svdijk
7111f735f7 Fix a (harmless) off-by-one in a SDL_VideoDriverName() call 2014-01-05 17:44:29 +01:00
Yamagi Burmeister
a6b911a9a8 Bump version number to 5.21 2014-01-01 11:25:36 +01:00
Yamagi Burmeister
be14aea08d Add an signal handler for SIGINT and SIGTERM
This allows the user to shut the client down by pressing ctrl-c in it's
terminal or by sendig SIGTERM.
2014-01-01 11:17:28 +01:00
Yamagi Burmeister
fd1e55d18d Do not set the FPU to single precision on Windows
We had dual precision since ever on 64 bit unixoid systems and it "just
worked". So there should be no reason to still force Windows down to
single precision.  The performance impact should be negligible.
2013-12-31 13:18:05 +01:00
Yamagi Burmeister
8102e1a021 Move entitycmpfnc() to cl_view.c an reimplement it
This function is only used in cl_view.c, so no need for external
declaration. Reimplement it in a sane and on all platform 64 bit
clean way. This allows us to finally remove the horible INT macro.
2013-12-31 12:47:18 +01:00
Yamagi
78b974d3ca Merge pull request #28 from alericoveri/qgl_cleanup
QGL renundancy cleanup
2013-12-31 03:14:55 -08:00
Daniel Gibson
3afe57b8f2 Fix #29 by simplifying mouse button handling
Pressing two mouse buttons at the same time didn't work properly, only
one had effect, e.g. when pressing LMB to walk forward and RMB to shoot
(when bound like that...)

Not sure why that was, but the old mouse button handling (inherited from
the super-old win32 backend where it was supposed to work around bugs in
WinAPI or whatever, where sometimes there were two mouse button presses
in one event or something) was unnecessarily complicated anyway so I
replaced it with something simpler.
2013-11-26 19:22:29 +01:00
Alejandro Ricoveri
1cfb5c67d5 QGL renundancy cleanup
Despite QGL is only handling GL extensions, there was a little code renundancy.
QGL_EXT_Reset sets all extension pointers to NULL.
2013-11-22 08:17:34 -04:30
Yamagi Burmeister
64a39ce09e Bump version number to 5.20 2013-11-14 18:13:35 +01:00
Yamagi Burmeister
0f9dcba9ed Apply some cleanup to the input backend
Make non global functions static, give some better names to variables,
remove unneccessary special cases and remove some superflous functions.
Form most - if not all - users this changes should be a no-op.
2013-11-10 10:10:43 +01:00
Yamagi Burmeister
e7ac0653b2 Merge branch 'sdl2' 2013-11-09 13:21:39 +01:00
Scott Smith
70eef55ab5 OpenGL-ES converstion
Specific device options for pandora, gcw, gph
2013-10-12 12:31:20 -04:00
Yamagi Burmeister
82f3fa84a9 Use "directsound" as sounddriver when using SDL2 on Windows 2013-10-12 12:13:33 +02:00
Yamagi Burmeister
5c5a9beba5 Rename CreateWindow() to CreateSDLWindow()
CreateWindow() is a symbol internal to Windows. We can't use it in out
code or it will collide.
2013-10-12 11:07:05 +02:00
Yamagi Burmeister
5e85fbc8b9 Allow arbitrary screen sizes.
Without this change the width of the render windows was required to be a
multiple of 8, making it unable to use strange resolutions like 1366x768.
This change is based upon an idea submitted by "tmcp" in pull request
27.
2013-10-12 09:29:19 +02:00
Daniel Gibson
d1ca122955 Add -DSDL2 for Win32/OSX support (untested), print SDL2 usage on startup
The quake2 binary now gets -DSDL2 in the CFLAGS, so Win32/OSX can
use different #include paths accordingly.
This is also (ab)used to print which SDL version is used on startup.
Don't use this for anything else, use
#if SDL_VERSION_ATLEAST(2, 0, 0)
instead.

I haven't tested building on/for Win32 or OSX, there may be more
work to do.

Furthermore I added Copyright-Info about CalculateGammaRamp()
in refresh.c (it's from SDL2)
2013-09-01 14:19:33 +02:00
Daniel Gibson
628dff77a8 Clean up + improve setting gamma via xRandR
* save gamma on start and restore on exit
* handle errors
* Restore SDL1.2 compatibility
2013-09-01 03:18:21 +02:00
Daniel Gibson
9af707c7a0 use xrandr for x11gamma (still hacky) 2013-08-27 21:54:48 +02:00
Daniel Gibson
d6dbd6497e Set gamma with SDL2 2013-08-27 19:57:14 +02:00
Daniel Gibson
a83f1c8ff0 SDL2: Fix Icon 2013-08-27 01:16:05 +02:00
Daniel Gibson
997be0dcd1 Fixes for SDL2
* Fix input issues (mouse-wheel and mouse input)
* SDL2 is not default anymore in the Makefile (use WITH_SDL2=yes)
* If SDL2 is enabled, CD audio is disabled (SDL2 doesn't support
  that - use OGG/Vorbis instead)
* Small fix to make it compile with SDL1.2 again
2013-08-26 23:55:34 +02:00
Daniel Gibson
51b7607548 SDL2 support (mostly)
Makefile is adjusted, it compiles and works mostly, but
* For some reason (bug in SDL_GetRelativeMouseState() ?)
  mouse input doesn't work properly.. it seems to be bound
  to window borders, even if input is grabbed
* some keys can't be used anymore because there's no SDLK_*
  for them anymore (gotta find out if this is important)
* Maybe some of the changes need cleanup
2013-08-26 00:55:31 +02:00
svdijk
ee03e7f03a simplify the input grabbing code 2013-07-30 20:13:49 +02:00
Yamagi Burmeister
005fea6c94 Call GLimp_GetProcAddress directly 2013-07-27 08:50:20 +02:00
Yamagi Burmeister
88bd357231 Remove support for old SGI Opengl extensions
Those extensions have become part of ARB about 15 years ago and most if
not all video cards still in use should support the ARB versions. I
believe that at least parts of this code were disfunctional.
2013-07-27 08:47:28 +02:00
Yamagi Burmeister
ad52c5c888 Rename all qgl* functions top their OpenGL counterparts
This removes the need to define the old qgl function names to the
official OpenGL names. The OpenGL functions are now called directly
without any abstraction.
2013-07-27 08:47:21 +02:00
Yamagi Burmeister
ecc4302f94 Alter Makefile and header pathes following the refresh move
With this change the "refresh" make target doesn't any longer exists.
It was merged into the "client" target. One will need a "make clean"
before building yQ2 after this change.
2013-06-15 10:37:11 +02:00
Yamagi Burmeister
8a17f20e64 Move refresher to client/refresh
This is the more appropriate place now that the refresher is merged into
the client
2013-06-15 10:37:11 +02:00
Yamagi Burmeister
85571cfc56 Only cleanup the GL context if OpenGL was initialized 2013-06-15 10:37:11 +02:00
Yamagi Burmeister
9af9f54f36 Remove QGL pointers
This is a manual merge of Hecatomb Q2 ref b8952d5. Manual since git
couldn't do an automerge for some reasons... Notable changes are:
- QGL function pointers are removed, libGL is linked directly
- The OpenGL log framework is removed. It was disfunctional
- The gl_driver cvar is finaly gone
This change is currently untested on Windows and OS. There should
be no problems but a better Makefile integration of libGL is needed.
2013-06-15 10:37:11 +02:00
Alejandro Ricoveri
2b0974822c Client refactoring
Some stuff being reordered
2013-06-15 10:37:11 +02:00
Alejandro Ricoveri
3e45c5e363 Refresh API refactoring
Analog functions of the former refexport_t are now public for the client
to access.
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
6686b875cc vid.c refactoring
VID_LoadRefresh with no parameters
VID_LoadRefresh doesn't need a DLL name (because there isn't one)
Rename reflib_active to ref_active
Reference to client input callbacks
All declarations are at the beginning of the file
Full reimplementation of VID_Shutdown
VID_Shutdown does all the refresher cleanup
Reimplementation of VID_FreeReflib
Implementation of VID_LoadRefresh
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
8e69d9dc5c Remove vid_ref cvar
Normally setting gl_mode cvar would result in VID_LoadRefresh because
of vid_ref being "modified". After removing vid_ref out of the picture
it will "modify" vid_fullscreen to replicate the same behaviour.

Variable "name" (who used to hold refresh dll name) is now left unused

All references to vid_ref cvar has been taken out ...
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
35e1792c91 Input backend refactoring
Get rid of input backend function pointers + some code cleanup that is no longer necessary
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
a7f02a5b0e The refresher is linked statically into the client, no more 'ref_gl.so'. 2013-06-15 10:27:30 +02:00
svdijk
55d6a601c9 Fix default video mode.
Revert "The default video mode is 5 (640x480). Spotted by svdijk."
This reverts commit a76d7d5cfb.
2013-05-28 20:42:57 +02:00
svdijk
1251fde6e4 credits 2013-05-24 18:21:11 +02:00
Yamagi Burmeister
033550cd59 Bump the version number to 5.11 2013-05-20 19:14:29 +02:00
svdijk
9564b7b55e fix aspect ratio menu option 2013-05-19 18:42:44 +02:00
svdijk
1d0f979bf9 Q_strlcat minor bugfix 2013-05-18 21:07:52 +02:00
svdijk
5692388da1 cleanup Com_sprintf, minor tuning 2013-05-18 19:01:23 +02:00
svdijk
6472514c8f Lets not do the last two commits just before 5.11
Revert "change several strcat calls to Q_strlcat calls"
This reverts commit ab879f1bc7.

Revert "change (v)sprintf calls to (v)snprintf calls"
This reverts commit b46e210d76.
2013-05-18 18:59:39 +02:00
svdijk
ab879f1bc7 change several strcat calls to Q_strlcat calls 2013-05-17 22:25:18 +02:00
svdijk
b46e210d76 change (v)sprintf calls to (v)snprintf calls 2013-05-17 21:50:31 +02:00
svdijk
be63c7f198 note to self: always compile before you commit 2013-05-13 21:39:53 +02:00
svdijk
a5044a93eb make sure svs.demofile is set to NULL after closing it 2013-05-13 21:26:58 +02:00
svdijk
662229a568 fix FS_FOpenFileWrite, also make FS_FOpenFile{Write,Append} open in binary mode 2013-05-13 21:17:55 +02:00
svdijk
f5a44ff5ae remove unnecessary fileHandle_t typecasts 2013-05-13 21:11:52 +02:00
svdijk
2ad4255187 fix sv.demofile/svs.demofile type/treatment 2013-05-13 21:00:50 +02:00
svdijk
4bef586e67 remove unnecessary fileHandle_t typecasts 2013-05-13 18:49:16 +02:00
svdijk
b08fbb7cbf replace remaining strncat calls with memcpy calls 2013-05-13 18:38:37 +02:00
svdijk
8fad0a9008 change some more (mostly wrong) strncpy calls to Q_strlcpy calls 2013-05-12 20:25:00 +02:00
svdijk
c469a97b36 fix typo 2013-05-11 15:29:02 +02:00
svdijk
7c1d2b4219 fix incorrect typecasts in FS_* calls 2013-05-11 15:22:27 +02:00
svdijk
e07294b6b1 replace most strncpy calls (several of them wrong) by Q_strlcpy calls 2013-05-11 14:44:36 +02:00
svdijk
4682c888f0 replace strncat calls by Q_strlcat calls 2013-05-11 13:24:13 +02:00
svdijk
a26892cb90 add Q_strlcpy and Q_strlcat 2013-05-11 13:19:52 +02:00
svdijk
392c04bc1d some sanity check commenting 2013-05-11 12:57:50 +02:00
svdijk
8869b0542d rename strlwr to Q_strlwr 2013-05-11 12:46:49 +02:00
svdijk
cd54f56b36 some more boundary checking 2013-05-08 20:16:23 +02:00
svdijk
3c62c2be5a ogg/cda: move defaults from yq2.cfg to engine 2013-05-08 20:06:53 +02:00
svdijk
1c431e14ac make the load/save statusbar a bit more informative 2013-05-08 20:01:44 +02:00
svdijk
9803652781 some strncpy/strncat fixes 2013-05-07 21:46:46 +02:00
svdijk
d4c5960f8f help/score updates: fix typo 2013-05-04 14:47:02 +02:00
Yamagi
b58b78714b Merge pull request #23 from alericoveri/osx-aluwf
AL_InitUnderwaterFilter wasn't being compiled conditionally
2013-04-28 08:46:42 -07:00
svdijk
27b3d27584 sdl: fix key repeat (SDL_EnableKeyRepeat was called too early) 2013-04-28 12:38:53 +02:00
svdijk
fa9548fcad M_Popup: some more tuning 2013-04-28 12:31:51 +02:00
Alejandro Ricoveri
1c84805c1f AL_InitUnderwaterFilter wasn't being compiled conditionallyi 2013-04-27 17:21:15 -04:30
svdijk
8e1bb70932 M_Popup: align the same as the old popups 2013-04-26 18:55:23 +02:00
svdijk
082c2d454f cinematics: minor rewriting of cin_force43 behaviour 2013-04-24 20:33:12 +02:00
svdijk
695e0a9a16 cinematics: fix video mode changing during cinematic playback 2013-04-22 20:51:59 +02:00
svdijk
3c6a57129e cinematics: force 4:3 aspect ratio (new cvar cin_force43) 2013-04-22 20:44:47 +02:00
svdijk
b9deabd86a videomenu: fix CUSTOM_MODE 2013-04-21 18:44:50 +02:00
Yamagi Burmeister
277c2b9567 Use the same default volume on all platforms again
Testing showed that after the last round of sound changes FreeBSD is the
only platform with distorted sound when s_volume is set too high. I'm
pretty sure that it's caused by a bug in the OSS backend of openal-soft.
I'll need to analyze this more and maybe write a problem report. Since
FreeBSD users should be experienced enough to lower the volume when
there are problem (there's a FAQ in our README!), use the same default
volume on all platforms.
2013-04-21 12:02:38 +02:00
Yamagi Burmeister
3ac88e1bda Rename snd_wav.c to wave.c to get in line with other files 2013-04-21 11:32:20 +02:00
Yamagi Burmeister
84020e4d8e Rename snd_vorbis.c to ogg.c. This name is more appropriate 2013-04-21 11:30:07 +02:00
Yamagi Burmeister
fb7b97d868 Minor cleanups to snd_vorbis.c
- Remove any forward declarations
- Tightens checks for SDL
2013-04-21 11:27:31 +02:00
Yamagi Burmeister
78ce1e491c Rename snd_al.c to openal.c 2013-04-21 11:19:01 +02:00
Yamagi Burmeister
1d6aaca68e Whitespace cleanup 2013-04-21 11:14:00 +02:00
Yamagi Burmeister
a1f5ccfcac Update header comment 2013-04-21 11:13:26 +02:00
Yamagi Burmeister
92be8c75e3 Rework volume handling 2013-04-21 11:06:18 +02:00
Yamagi Burmeister
b9e71913ae Restructure and refactor snd_al.c 2013-04-21 10:40:00 +02:00
Yamagi Burmeister
e5505f90d7 Rename snd_dma.c to sound.c. yq2 never used DMA. 2013-04-20 15:09:57 +02:00
Yamagi Burmeister
957e4d4735 Whitespace cleanup 2013-04-20 15:06:47 +02:00
Yamagi Burmeister
242a62384c Update header comment 2013-04-20 15:06:15 +02:00
Yamagi Burmeister
b9a62ff34b Cleanup snd_dma.c 2013-04-20 15:01:31 +02:00
Yamagi Burmeister
720db15de9 Cleanup local.h of the sound system 2013-04-20 14:20:58 +02:00
Yamagi Burmeister
d9cd053461 Whitespace cleanup 2013-04-20 13:48:21 +02:00
Yamagi Burmeister
910dc421c6 Update file header and comment 2013-04-20 13:47:15 +02:00
Yamagi Burmeister
ef7c85bbcd yq2 never had a dma based soundengine. Let's call it just "sound". 2013-04-20 13:40:54 +02:00
Yamagi Burmeister
b45876ffdd Refactor the SDL part of S_Update() into the backend 2013-04-20 13:32:58 +02:00
Yamagi Burmeister
d9643e8b76 Refactor the SDL part of S_RawSamples into the backend 2013-04-20 13:16:40 +02:00
Yamagi Burmeister
2c356d142e Refactor the SDL part of S_LoadSound into the SDL backend 2013-04-20 10:26:31 +02:00
Yamagi Burmeister
0c93ecbddb Print the number of OpenAL sources in the backend 2013-04-20 10:26:19 +02:00
Yamagi Burmeister
cbecc5b2dc Retire snd_mem.c and integrate it into snd_dma.c and the backends 2013-04-20 09:19:59 +02:00
Yamagi Burmeister
3989ff73b2 Retire snd_mix.c and incorporate it into the SDL backend 2013-04-20 09:03:47 +02:00
Yamagi Burmeister
35ba5b0de1 Move all generic function used only by the SDL backend into it
Additionally rename those function to SDL_ prefix and refactor
them a little.
2013-04-20 08:40:53 +02:00
Yamagi Burmeister
f1ce0c0c00 Move all SDL backend function to the SDL backend and use SDL_ as prefix 2013-04-20 08:02:13 +02:00
svdijk
20110faeed Some minor cleanup/tuning/commenting 2013-04-14 18:46:08 +02:00
svdijk
4465d7e045 menu: some style syncing between savegame/server listing 2013-04-14 16:17:00 +02:00
svdijk
d297b97c12 menu: Rework the save/load menu a bit using M_Popup (get rid of excessive green) 2013-04-14 16:13:58 +02:00
svdijk
f9cda84d6e menu: Use M_Popup for the server search message 2013-04-14 16:07:37 +02:00
svdijk
1d86145f7f menu: Use M_Popup for the sound system restart message 2013-04-14 16:03:59 +02:00
svdijk
5daee97e2a menu: Add a generic popup function M_Popup 2013-04-14 14:49:45 +02:00
svdijk
aae7de19c4 Use some safer offset values for gl_zfix, and default to 0
(Since it seems to cause unwanted artifacts with some drivers)
2013-04-07 19:07:16 +02:00
Yamagi Burmeister
9def7d908f Silence another 2 gcc48 warnings due to creative array usage
This is nearly the same case as in 1bee58840d and should be a no-op.
2013-04-07 13:54:24 +02:00
Yamagi Burmeister
1bee58840d Silence a gcc48 warning due to some "creative" array usage
To my understanding this code and the old code do exactly the same, this
one is just more readable. Therefor this change should be a no-op.
2013-04-07 13:43:17 +02:00
svdijk
41d89c7171 Whitespace 2013-03-24 18:12:14 +01:00
svdijk
346d9873f0 Fix double server entries in multiplayes menu.
Also display netadr in statusbar instead of in the list (lowres compatible).
2013-03-24 18:08:06 +01:00
svdijk
77c9cb7e05 Update savegame tables (forgot them in the previous commit) 2013-03-23 12:30:48 +01:00
svdijk
5ed89a0373 Move some functions to a better place 2013-03-23 11:40:54 +01:00
svdijk
6f6c9a1aae Fix help computer and inventory updates when already opened 2013-03-20 20:21:53 +01:00
svdijk
909e69462f Fix a typo in a function prototype in game.h 2013-03-19 21:42:48 +01:00
svdijk
d07735b831 Rewrite the Shift+Escape code a bit (somewhat cleaner) 2013-03-18 19:37:26 +01:00
svdijk
317355f7ca Minor rewriting. 2013-03-17 21:32:50 +01:00
svdijk
e49693bec4 Make cmdlist and cvarlist alphabetically ordered. 2013-03-17 18:16:02 +01:00
svdijk
8b28e3d0df Make Shift+Escape toggle the console. 2013-03-17 17:31:00 +01:00
svdijk
f36f708b24 Unbind default bindings before loading stored bindings (new cvar cfg_unbindall) 2013-03-16 22:49:48 +01:00
svdijk
7637d32f6f Work around the z-fighting on some baseq2 maps (new cvar gl_zfix) 2013-03-16 16:47:57 +01:00
Yamagi Burmeister
d9519cee61 Remove an unneccessary check.
This check involved an uninitialized pointer, so it never worked. It
could lead to crashes in some situations, especially when clients tried
to reconnect after a manual map change on the dedictated server.
2013-03-10 12:08:58 +01:00
Yamagi Burmeister
e1903dd925 Change some qglTexParameterf to qglTexParameteri
Scott S. pointed out that some the qglTexParameterf calls should be
qglTexParameteri. I don't know if all this changes are correct (I'm
an openGL noob) but they shouldn't make thinks worse and "works for me".
2013-03-10 10:20:42 +01:00
Citramonum
3e56938aa9 Update vid.c
Fix a typo in 1280x960 graphic mode parameters.
2013-03-09 21:06:06 +04:00
Yamagi
2300a547a8 Merge pull request #19 from JayWalker512/stupid-laptop-res
Added support for 1366x768 laptop resolution in video menu. This will break existing configs one again if a mode of 1440x900 or higher is used.
2013-01-20 03:08:00 -08:00
Yamagi Burmeister
56d920162e Reduce default volume to 0.3 on non-linux-platforms
If the volume is set too high the OpenAL backend preamplification leads
to overdriven sound samples. It's not quite understandable to me why
that only happen on platforms other than Linux (maybe a bug in OpenAL?)
and there's not much we can do against it besides reducing the volume.
As the side note: Simmilar behavior can be seen at least in ioQ3 and
dhewm3...
2013-01-20 12:01:10 +01:00
Yamagi Burmeister
bc5c308684 Add a cvar "s_openal_maxgain" to clamp AL_GAIN
This cvar is a last resort if all other measures to prevent overdriven
preamplifation fail. Setting it to lower value than 1.0 limits the
overall dynamic range, so sound quality is lost. This is especially
hearable when low volume samples are encountered, like the shotgun
combined with the silencer.
2013-01-20 12:01:10 +01:00
Yamagi Burmeister
1f5012aec3 Calculate the AL_GAIN by s_volume and don't set a global AL_GAIN 2013-01-20 12:01:10 +01:00
Yamagi Burmeister
548bbeb129 Pass raw "float" volume to OpenAL
The client uses float values between 0.0 and 1.0 to represent the volume
of sound samples. This is the range required by OpenAL. But the generic
part of the sound system multiplied the raw float value with 374 and
clamped it to a full integer. That worked by luck withth the OpenAL
backend but broke at least the silencer powerup. Solve this problem by
adding a new field "float oal_vol" to the channel_t struct and use it to
pass the raw float value to OpenAL.

This fixes issue #18
2013-01-20 12:00:29 +01:00
Brandon Foltz
d6feeeff8d Added support for 1366x768 laptop resolution in video menu. 2013-01-18 14:59:44 -05:00
Yamagi Burmeister
2890dafbda Divide effect volume by 3 when using the OpenAL backend
Since OpenAL 1.15 AL_GAIN has much more weight than before. That leeds
to overdriven effect samples unless the volume control is set to a very
low level. With this change volume can be set to a high level without
distorting. But there's one problem. A division by 2 is to low to rule
distortion out and by 3 the game is a little bit quieter than before. A
value of 2.5 would be optimal but is not applicable since the volume is
represented by an integer. I've choosen 3 to be aon the save side.

As a side note: This problem was very less worse on Linux than on
Windows and FreeBSD. Maybe Linux guys need to pump there volume up
to compensate this work-around.
2013-01-06 17:09:30 +01:00
Yamagi Burmeister
2ee5937fa3 Bump version number to 5.10 2012-12-30 17:46:22 +01:00
svdijk
0f985d3e45 Cleanup the keybindings menu code. 2012-12-29 18:21:46 +01:00
svdijk
4f5ba24003 Some more load/save menu tuning (better QMF_GRAYED use). 2012-12-29 17:18:30 +01:00
svdijk
83037ace88 Some load/save menu tuning. 2012-12-29 17:16:53 +01:00
svdijk
74f244801f Fix game saving on page 2(+).
Fixes issue #16.
2012-12-26 09:30:16 +01:00
svdijk
bcc6f62b61 Make the Load/Save menu multi-page (support low-res). 2012-12-09 17:57:00 +01:00
svdijk
e78a18c5ca Fix the "help computer" keybinding option; some whitespace cleanup. 2012-12-09 17:56:47 +01:00
Joshua Scoggins
7116d7e90a Fixed a bug in src/common/header/common.h with respect to ia64
I had written #elif define __ia64__ instead of #elif defined __ia64__

This has been fixed.
2012-11-30 20:34:35 -08:00
Joshua Scoggins
a578fff56a Extended the arch check in src/client/header/client.h to include ia64
For ia64 it's necessary to define int as long long instead of long int. I know
this for a fact because pointers that were encoded as long int in my LLVM and
CLIPS bridge would fail horribly when passed out of clips back into LLVM. long
long fixed it.
2012-11-30 20:30:28 -08:00
Joshua Scoggins
df4c4dd9dd Added ia64 to the ARCH define 2012-11-30 20:21:28 -08:00
Joshua Scoggins
dc0f2ec779 Added the ia64 cpustring 2012-11-30 20:20:44 -08:00
svdijk
0fe5d4f610 Make sure that the crashlog actually gets written. 2012-11-17 15:31:12 +01:00
svdijk
1dd083cd7d COM_Parse: Fix buffer overflow in long quoted strings. 2012-11-17 15:28:45 +01:00
svdijk
561add00a8 cl_main:CL_UpdateWindowedMouse() optimization. 2012-11-16 20:30:59 +01:00
Yamagi Burmeister
a76d7d5cfb The default video mode is 5 (640x480). Spotted by svdijk. 2012-11-14 21:12:21 +01:00
svdijk
247e2baa3a More mouse grab/release tuning. 2012-11-14 21:08:07 +01:00
Ilia Zhirov
46c77400e2 fixed build on pre ansi c89 compilers 2012-11-14 14:49:40 +06:00
svdijk
823753dec9 Some minor restructuring and cleanup. 2012-11-07 21:15:18 +01:00
svdijk
1c0934f462 Game cleanup. 2012-11-07 21:10:48 +01:00
svdijk
eb8a2d792f Minor console mouse release tweak. 2012-11-05 21:33:44 +01:00
svdijk
8c8fba7421 Refresher cleanup. 2012-11-05 21:33:35 +01:00
Yamagi Burmeister
82275f636e Merge branch 'master' of github.com:yquake2/yquake2 2012-11-04 18:52:27 +01:00
Yamagi Burmeister
d263e896cf Use an enum for "qboolean" on OS X
Defining "qboolean" to something other than an enum changes the size of
some structs. That in turn breaks compatiblity with mods that use the
enum define. With this change the addons (tested with xatrix and rogue)
are running on OS X. Many thanks to my sister for lending me her
Macbook.
2012-11-04 18:47:15 +01:00
Yamagi Burmeister
5c217771cb Use correct include path on OS X
This path matches the libjpeg.framework we'll use to build the
binary releases.
2012-11-04 09:23:25 +01:00
Yamagi Burmeister
86ca73754d Silence a compiler warning on OS X 2012-11-04 09:18:37 +01:00
svdijk
7be7f6831f backends/sdl/input.c: only call SDL_WM_GrabInput() when needed. 2012-10-30 20:36:29 +01:00
svdijk
64632bbc3b client/cl_main.c:UpdateWindowedMouse(): release mouse in menu. 2012-10-30 20:36:23 +01:00
svdijk
76e3480ccb Some rewriting of windowed_mouse setting, in preparation of releasing the mouse in the menu. 2012-10-30 20:36:15 +01:00
svdijk
a1adac8ba9 client/menu/menu.c: make ConsoleFunc() consistent with cl_console:Con_ToggleConsole_f(). 2012-10-30 20:36:10 +01:00
Ricardo Garcia
74beca0d11 Add "horplus" cvar to get Hor+ behavior with default FOV
If "horplus" is set, the "fov" cvar is interpreted as the horizontal FOV
in a 4:3 screen, and is adapted automatically to the current screen
aspect ratio accordingly. If not set, use the old Vert- approach.

In addition, "horplus" can also be set from the video menu by selecting
the "Auto" option for aspect ratio, which also resets the FOV value to the
standard 90 degrees.

Finally, add a 5:4 aspect ratio (1280x1024) and correct the 16:9 angle
slightly.
2012-10-28 10:20:46 +01:00
Yamagi Burmeister
a79b705c13 Make cl_maxfps persistent 2012-10-06 09:15:32 +02:00
Yamagi Burmeister
687ca61dfa Fix gl_swapinterval 2012-10-06 09:14:12 +02:00
Yamagi Burmeister
943c29804c Add the SDLMain SDL wrapper, needed for OS X 2012-09-14 11:46:22 +02:00
Yamagi Burmeister
e9c5c3ca8e Add savegame defines for OS X 2012-09-14 11:32:42 +02:00
Yamagi Burmeister
ba10009aa5 Add support for Mac OS X
These are the code changes and Makefile changes necessary to build and
run Yamagi Quake II on Max OS X. OS X 10.6 or higher is required, older
version may work but we cannot guarantee it. The documentation will be
added in another commit. This patch was contributed by W. Beser, I made
only some small cosmetical changes.
2012-09-14 11:21:02 +02:00
Yamagi Burmeister
dd6ed24104 Bump version number to 5.00 2012-09-03 14:34:51 +02:00
Sander van Dijk
1f2452e7a6 src/game/g_weapon.c: Some sanity check changes. 2012-08-28 17:05:31 +02:00
Yamagi Burmeister
7958767922 Blaster shots shall not explode at the skybox 2012-08-26 15:38:00 +02:00
Yamagi Burmeister
4a81e58128 Okay, do the last commit acutally right... damage can be NULL. 2012-08-26 14:57:28 +02:00
Yamagi Burmeister
8819ad1c9a Fix a too strict sanity check in void blaster_touch()
This sanity check caused a too early exit of the function if the player
stood directly in front of a wall and fires the blaster or hyper
blaster. Therefor the wall impact effect wasn't drawn. This commit
fixes issue #6. Many thanks to svdijk for narrowing this problem down to
somewhere between 3.00 and 4.00.
2012-08-26 10:24:55 +02:00
Yamagi Burmeister
ed22ca81c2 Silence a warning with the upcoming Clang 3.2 2012-08-22 14:25:32 +02:00
Jonathan Gray
1f9d6084b6 OpenBSD port 2012-08-18 09:53:03 +02:00
Jonathan Gray
22fa99b713 test SIN6_LEN not __FreeBSD__ for sin6_len 2012-08-12 13:40:43 +10:00
Sander van Dijk
f292c1e22d Fix custom resolution handling in the video menu. 2012-08-06 14:04:12 +02:00
Yamagi Burmeister
602dd1af6f Connect non-base OpenGL function by calling wglGetProcAddress() on Windows
This is necessary since non-base OpenGL functions can't be connected by
calling the standard GetProcAddress() on Windows. To archive this the
old qwglGetProcAdress() is renamed into GetProcAdressGL() and a new
function pointer qwglGetProcAdress is introduced. On unixoid System it's
NULL and on Windows connected to wglGetProcAddress(). If it's NULL the
system wide function is called, if not the function Pointer is used.
2012-08-03 15:14:45 +02:00
Yamagi Burmeister
739590e639 Do not hide library loading errors behind "developer" 2012-08-03 15:13:58 +02:00
Sander van Dijk
3d4bbe6c31 Fix aspect menu options. 2012-08-03 08:05:09 +02:00
Yamagi Burmeister
efd1ddb1c5 Initialze vid_gamma 2012-08-02 15:33:42 +02:00
Yamagi Burmeister
8141380030 Allow to set the aspect ratio via the menu 2012-08-02 15:18:58 +02:00
Yamagi Burmeister
de9dda7432 Restart the refresher when certain values are changed via the menu 2012-08-02 14:59:51 +02:00
Yamagi Burmeister
f1420ffe75 Use correct default mode 2012-08-02 14:47:18 +02:00
Yamagi Burmeister
3ab4e58df5 Cleanup the video menu, remove support for different refresher 2012-08-02 14:39:33 +02:00
Yamagi Burmeister
c6eaf5c876 Mobe LIBGL makro to common.h and replace all hardcoded libGL calls with it 2012-08-02 14:06:32 +02:00
Yamagi Burmeister
751d39fb50 Update the file header comments 2012-08-02 14:00:04 +02:00
Yamagi Burmeister
8d0dfd2c30 Merge vid.c into 1 generic file 2012-08-01 16:54:09 +02:00
Yamagi Burmeister
f89bb3265e Combine qgl.c glwindow.h into one generic file 2012-08-01 15:51:39 +02:00
Yamagi Burmeister
e5f70fcf40 Merge qal.c into one generic file for all platforms
To archive this, 3 new functions Sys_GetProcAddress(), Sys_LoadLibrary()
and Sys_FreeLibrary() were added to abstract the library loading code
into a platform independend API.
2012-08-01 14:54:18 +02:00
Yamagi Burmeister
399c581f06 Move src/windows to src/backends/windows 2012-08-01 14:12:05 +02:00
Yamagi Burmeister
3fb8492398 Move src/unix to src/backends/unix 2012-08-01 13:58:10 +02:00
Yamagi Burmeister
c5bf1e8c93 Move src/sdl to src/backends/sdl 2012-08-01 13:47:32 +02:00
Yamagi Burmeister
3918d3ba34 Change the VERSION number from float to string
Using a float number as version number is a bad idea. Correct this long
standing problem by changing it to a string. If we ever want to compare
version numbers, 2 integer constants "MAJOR_VERSION" and "MINOR_VERSION"
should be added.
2012-07-27 08:57:52 +02:00
Yamagi Burmeister
b52336850f Reformat the client 2012-07-22 15:34:45 +02:00
Yamagi Burmeister
7bbfa01a87 Fix a unlogical statement 2012-07-22 12:51:53 +02:00
Yamagi Burmeister
6f719f4c7b Reformat the refresher 2012-07-21 14:09:45 +02:00
Yamagi Burmeister
b1ddebf552 Update "unzip" to version 1.01h
This update brings some minor bugfixes, especially for big endian
platforms and LLP64 systems like 64 bit Windows. The support for
encrypted ZIP archives was removed. This is a no-op change, since
there was no way to pass the password to uncrypt. Without the
uncrypt code Yamagi Quake II can be distributed in some countries
with special laws for cryptographic software. The LICENSE was
updated to the most recent version of the INFO-ZIP license.
2012-07-21 12:02:39 +02:00
Yamagi Burmeister
9288513e86 Reformat and cleanup of the server 2012-07-21 10:06:07 +02:00
Yamagi Burmeister
dbed2fa053 Clear display buffer before shutting the refresher down 2012-07-10 15:02:42 +02:00
Yamagi Burmeister
de3da4ba70 Check for gamex86.dll if game.dll wasn't found
This change allows the usage of old mods without renaming their game
lib. This is applied to windows only because the few Linux mods out
there are broken since a long time due to incompatible changes in libc
and the kernel. Requested by Victor Sergeevich.
2012-07-09 15:54:20 +02:00
Yamagi Burmeister
7ac71db523 Merge branch 'cleanup'
Conflicts:
	src/common/header/common.h
	src/common/header/shared.h
	src/common/misc.c
	src/unix/main.c
	src/unix/system.c
2012-07-09 14:35:37 +02:00
Yamagi Burmeister
ae99562741 Seed the game PRNG at startup 2012-06-26 14:31:01 +02:00
Yamagi Burmeister
fd44d3078f Fix path length limitation (pointed out by Daniel) 2012-06-24 18:11:55 +02:00
Yamagi Burmeister
590baaa3e9 Remove some potential harmfull "long"
While the use of "long" was harmless in this case, it's unnecessary and
we try to keep Quake II free from longs.
2012-06-22 09:44:26 +02:00
Yamagi Burmeister
c80954a65e Remove support for qhost
qhost was a proprietery management application for Quake II dedicated
servers. Since we don't know if the code is still working and most
likely no one uses it anymore, remove it. This war requested by Daniel.
2012-06-22 09:06:27 +02:00
Yamagi Burmeister
0353f6fc42 Remove support for partitial installations
This was requested by Daniel. While partitional installations were
working, they are another distinction between Linux and Windows and
useless. Everyone should have the ~350MiB for a full installation.
And full installations are much faster.
2012-06-22 08:49:12 +02:00
Yamagi Burmeister
b96d247db3 Create homedir before redirecting stdout and stderr 2012-06-21 09:26:37 +02:00
Yamagi Burmeister
2df1f31683 Enable qconsole.log by default 2012-06-20 13:52:47 +02:00
Yamagi Burmeister
4fe877b5f6 Do not print the client build options when starting q2ded 2012-06-20 13:49:06 +02:00
Yamagi Burmeister
b3f09db95c Print build options at startup 2012-06-20 13:40:49 +02:00
Yamagi Burmeister
8558a6af11 DO not redirect the stdout and stderr when running as dedicated server 2012-06-20 13:40:49 +02:00
Yamagi Burmeister
847128cb76 Close stderr and stdout at shutdown 2012-06-20 13:40:49 +02:00
Yamagi Burmeister
5d85a66fed Print console messages and errors to stdout 2012-06-20 13:40:49 +02:00
Yamagi Burmeister
984badffa0 Remove unused function Sys_Warn() 2012-06-20 13:40:48 +02:00
Yamagi Burmeister
74e6993d6f Remove unused function Sys_Printf() 2012-06-20 13:40:29 +02:00
Yamagi Burmeister
1a748adaa5 Remove the "nostdout" cvar
The "nostdout" cvar was only existent on unixoid platform and
disfunctional. Since the stdout putput is very helpfull when
debugging things, just remove it.
2012-06-20 13:40:10 +02:00
Yamagi Burmeister
229e13e6f4 Redirect stdout and stderr into files 2012-06-20 13:39:18 +02:00
Yamagi Burmeister
c0e9a6f045 Make Quake II compatible with unicode directory names
This changes employs a horrible hack to connect the ASCII Quake II to
the UTF-16 WinAPI. The path to "My Documentes" is read in UTF-16, then
converted to a old "DOS style path" with 8.3 characters. This DOS path
has by convention no UTF-16 characters in it and can be converted into
a normal ASCII string. This ASCII string is the path used by Yamagi
Quake II. The conversion logic will fail if the "Windows to DOS
filename transistion" is deactivated in the registry (it's on by
default). In that case no homedir is used and the "Windows Roaming
Mechanism" kicks in.
2012-06-20 13:39:18 +02:00
Yamagi Burmeister
e1f338f59b Reformat the headers 2012-06-18 10:46:31 +02:00
Yamagi Burmeister
e3690bcaab Bump version number to 4.90
This is done to distinguish the upcoming "Yamagi Quake II - Windows Test I"
from the normal 4.21 version.
2012-06-18 09:51:59 +02:00
Yamagi Burmeister
63cdbff0e3 Merge branch 'windows' into cleanup 2012-06-14 12:30:52 +02:00
Yamagi Burmeister
7b54f3d668 Merge branch 'master' into windows
Conflicts:
	src/client/sound/snd_al.c
2012-06-14 12:27:09 +02:00
Yamagi Burmeister
61b10f12da Fix a crash when entering water with s_openal = 0 2012-06-14 12:24:29 +02:00
Yamagi Burmeister
341014eda0 Merge branch 'scanbuild' into windows 2012-06-14 12:18:15 +02:00
Yamagi Burmeister
73e6dc6307 Revert "Convert random() to randk() and crandom() to crandk()"
This reverts commit 12ce981d64.
2012-06-14 12:12:57 +02:00
Yamagi Burmeister
060235e7dd Merge branch 'windows' into cleanup
Conflicts:
	src/common/filesystem.c
	src/sdl/input.c
	src/sdl/refresh.c
	src/unix/system.c
2012-06-11 11:21:16 +02:00
Yamagi Burmeister
2c0148bab5 Enlargen MAX_OSPATH to 256 on Windows
This is necessary due to the extrem long homedir-pathes in some Windows
localizations. While it would be nice to have the same value on all
platform it would break existing savegames and don't think that it's
worth that.
2012-06-11 10:25:12 +02:00
Yamagi Burmeister
47707a728e Use Windows headers on Windows 2012-06-11 10:18:44 +02:00
Yamagi Burmeister
e70067ceba Refactor the "home"-path finding logic into own functions
With this change the homedir is no longer selected in the filesystem,
but in platform dependend functions. This allows us to use WINABI calls
for selection, resulting using the apropriate diretory on localized
versions of Windows XP.
2012-06-11 09:55:54 +02:00
Yamagi Burmeister
e8eea857e4 Fix another buffer overflow, this time when writing the config.cfg
This overflow is a problem on all platforms but manifested itself
especially on a german Windows XP due to it's long profile path.
2012-06-10 18:45:14 +02:00
Yamagi Burmeister
6c2f97927e Add a missing brace twisting the logic of the Windows XP check 2012-06-09 11:42:35 +02:00
Yamagi Burmeister
87e62a3724 Reformat 2012-06-08 13:01:56 +02:00
Yamagi Burmeister
26b15dbe07 Reformat 2012-06-08 12:23:01 +02:00
Yamagi Burmeister
9ad40b2a17 Cleanup and reformat. 2012-06-07 15:40:58 +02:00
Yamagi Burmeister
ac6748e7d2 Merge the collision model back into one file 2012-06-07 15:04:45 +02:00
Yamagi Burmeister
d12f0c642f Recombine the message handling back into one file 2012-06-07 14:33:09 +02:00
Yamagi Burmeister
e0faf784a6 Move stuff from common/common/ to common/ 2012-06-07 13:54:08 +02:00
Yamagi Burmeister
56aff1dc89 Recombine the command parser in one file
Spliting it into several files seemed logical but in retrospect it was
a bad idea, unnecessary complicating the code.
2012-06-07 13:35:33 +02:00
Yamagi Burmeister
16e57ede33 Fix some indention issues 2012-06-06 18:06:08 +02:00
Yamagi Burmeister
39677c1b0f Fix a potential buffer overflow 2012-06-06 17:55:37 +02:00
Yamagi Burmeister
d8e35b82c7 Reformat the sound system code
caedes and some other people will probably kill me for this, but I'm the
idiot who has to maintain the code. And that's much easier if it's in a
readable und writeable state.
2012-06-06 11:13:07 +02:00
Yamagi Burmeister
51cc3369b1 Provide an optimized case for mixing 16 bit / 2 chan sound
With sound quality "high" nearly all sound is provided as 16 bit PCM
with 2 channels. Since most players use this setting, provide an optimed
case for it. This should also solve the cracking due to overshot
soundbuffers, which was especially noticeable on Windows. This changes
only effects the old SDL soundbackend and not OpenAL.
2012-06-06 10:34:36 +02:00
Yamagi Burmeister
15400b2133 Use memset() instead of array magic 2012-06-06 10:02:55 +02:00
Yamagi Burmeister
272b897919 Reformat snd_mix.c 2012-06-06 09:58:06 +02:00
Yamagi Burmeister
f5233db0b2 Add IPv6 support for Windows
This is essentially a port of unix/network.c to windows.
2012-06-06 09:48:48 +02:00
Yamagi Burmeister
0c74a1af75 Create profile in Documents instead of AppData 2012-06-05 14:28:34 +02:00
Yamagi Burmeister
d17d996dc5 Import Sys_Mkdir() into the refresher 2012-06-05 14:19:29 +02:00
Yamagi Burmeister
7715592aaa Write config data in AppData
Under Windows all config data is written to %USERPROFILE%\AppData\
Local\YamagiQ2. To archive this code was added that translates Windows
pathes with backslashes into Unix pathes with normal slashes.
2012-06-05 12:52:44 +02:00
Yamagi Burmeister
0b9ec45eb7 Remove leftovers from the softrenderer 2012-06-05 10:54:47 +02:00
Yamagi Burmeister
de3e53069f Remove Alt-Tab handling. It's done by SDL 2012-06-05 10:50:24 +02:00
Yamagi Burmeister
a55d717a80 Replace atoi() with strtol() in Windows code 2012-06-05 10:46:15 +02:00
Yamagi Burmeister
af83f80dff Add header guards to new headers 2012-06-05 10:42:30 +02:00
Yamagi Burmeister
28be8cda8e Work around the missing _controlfp prototypes in MinGW 2012-06-05 10:29:20 +02:00
Yamagi Burmeister
58c3b22c8a Add platform defines for Windows 2012-06-05 10:17:01 +02:00
Yamagi Burmeister
ca18af254e Remove Sys_AppActivate()
This code is unnecessary because SDL handles all activation events,
brings the Window into foreground, etc.
2012-06-05 10:11:29 +02:00
Yamagi Burmeister
21ab0de692 Remove support for the Windows clipboard
This was just broken and rewriting it is not worth the efford
2012-06-05 10:09:24 +02:00
Yamagi Burmeister
d1008a564d Port OpenAL to Windows and enable it by default 2012-06-05 09:57:30 +02:00
Yamagi Burmeister
4021087a38 Make the SDL sounddriver selectable via s_sdldriver
This is necessary since the default "waveout" driver on windows is
incompatible to Quake II (due to too big output buffers) and "dsound"
can't be forced since it's not available on some installations. The
default driver is choosen by platform:

Windows -> dsound
FreeBSD -> dsp
Linux   -> alsa
2012-06-05 09:03:46 +02:00
Yamagi Burmeister
2629f908ae Initialize randk() and startup 2012-06-04 16:24:37 +02:00
Yamagi Burmeister
ea02b14ca7 Poke the input subsystem at every frame to process events 2012-06-04 13:51:46 +02:00
Yamagi Burmeister
6b650e9ea7 Initialize the input backend 2012-06-04 13:40:23 +02:00
Yamagi Burmeister
6b7bc06074 opengl32.dll is the default gldriver on Windows 2012-06-04 13:13:14 +02:00
Yamagi Burmeister
27de5f3a6f Fall back to opengl32.dll if the gldriver couldn't be loaded 2012-06-04 13:10:12 +02:00
Yamagi Burmeister
5523cc8de2 Use correct name to query the refresher 2012-06-04 12:52:54 +02:00
Yamagi Burmeister
51869fbc9d Add qgl.c for Windows
This file was taken from ioQuake2 and altered for inclusion in Yamagi
Quake II.
2012-06-04 12:42:55 +02:00
Yamagi Burmeister
0d46fed529 Add Windows stuff
This code was taken from ioQuake2 and altered for inclusion in Yamagi
Quake II
2012-06-04 12:41:29 +02:00
Yamagi Burmeister
d0146dc4d5 Hide native JPEG and TGA loading functions behind RETEXTURE 2012-06-04 12:40:58 +02:00
Yamagi Burmeister
b42f208fd0 Include windows.h in refresh/header/local.h 2012-06-04 12:26:49 +02:00
Yamagi Burmeister
0365c93138 Add glwindow.h for Windows
This file was taken from ioQuake2 and altered to work with Yamagi Quake
II
2012-06-04 12:08:18 +02:00
Yamagi Burmeister
b8792c7fc0 Use correct SDL include path under Windows and hide X11 stuff 2012-06-04 11:52:07 +02:00
Yamagi Burmeister
51ca0ca673 Define missing OpenGL extensions for Windows
While this is not the 100% correct way, it's much cleaner than just
importing th whole header files.
2012-06-04 11:46:08 +02:00
Yamagi Burmeister
86f89fce22 Implement vid.c for Windows
This file was taken from ioQuake2 and modified to work with Yamagi Quake
II. It may not be perfect yet, but should be good enough to the client
up and running.
2012-06-04 11:09:43 +02:00
Yamagi Burmeister
5d272eeab8 strsep() is a FreeBSDism. Switch over to strtok(). 2012-06-04 10:53:55 +02:00
Yamagi Burmeister
a4609fc42b Use correct include pathes to SDL under Windows 2012-06-04 10:02:01 +02:00
Yamagi Burmeister
7d3b9a5c00 Ignore errors of AllocConsole()
This errors are harmless and thrown when the process is already attached
to a console. Since the dedicated server is a console application the
console is created by Windows at startup...
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
4e37958b63 Stub Sys_Init() for Unix and call it while initializing 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
32dc525124 Stub NET_Init() for Unix and call it while initializing 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d2177bb618 Open binary files in mode "rb" instead of "r"
This subtile bug didn't show on unixoid platforms, but led to problems
on Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
991ff17f1b Implement Sys_GetCurrentDirectory() 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
1a3b54b27e Move glob.c and glob.h to common
We need glob_match() for Windows
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
280a432161 Comment Sys_AppActivate() since cl_hwnd will be ported later 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
f3bead4f6b Add Windows network functions in network.c
This file was taken from ioQuake2 and refactored to match Yamagi Quake
II. It would be nice to have IPv6 support and to remove the old IPX
cruft, but that happen now.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
0b226ce838 Include ctype.h and silence some warnings 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
263156bda7 Implement system depended file handling
Those functions were taken from ioQuake2 and refactored to match Yamagi
Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
bd1070eff2 Remove FS_DeletePath() and Sys_Rmdir()
Thise functions where added with the filesystem rewrite but never used.
Removing them saves us from implementing Sys_Rmdir() for Windows.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
a6f22f0f5a Implement Sys_Milliseconds
This function was taken from ioQuakeII and refactored to match Yamagi
Quake II
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
05f7e37c77 Add memory handling functions in mem.c
This code was taken from ioQuake2, refactored into an own file and
altered for the inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
e8d44459a4 Use correct types and remove unused variables 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
d9560b4020 Hide calls to CL_Shutdown() behind !DEDICATED_ONLY 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
8ca30adf46 Do not set the FPU state
This is a workaround for a MinGW bug and should be resolved before the
first CFT is released. A TODO item was added in a preceding commit.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
39ae083340 Remove DirectX variables 2012-06-04 09:13:30 +02:00
Yamagi Burmeister
1782c5ab30 Add winquake.h
This header containts Windows specific stuff. It was taken from ioQuake2
and cleaned up for inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
f0e23f199d Add resource.h
This is the "Windows resource file", required by every Windows
application
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
0eb042555b Add conproc.c and the coresponding header
conproc.c implements support functions for the console windows used by
the dedicated server. It was taken from ioQuake2 and cleaned up for the
inclusion in Yamagi Quake II.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
4adc6a2ca2 Add windows/system.c
This files contains most support functions for windows and the main
loop. It was taken from Icculus Quake II and cleaned up. This early
version may still have bugs.
2012-06-04 09:13:30 +02:00
Yamagi Burmeister
ce3d61ef61 Remove unused Sys_CopyProtect stup 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
cac409b116 Remove old setuid() magic 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
66c6122bbb Back out if Quake II is run as root or if eUID != rUID
This is a sanity check to prevent stupid users from running Quake II as
root or as a setuid binary. Quake II is such a mess that running it as
root or setuid is just reckless.
2012-06-04 09:13:29 +02:00
Yamagi Burmeister
83e069feb2 Abort if the clipplane is NULL. 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
e11a15308b Use Com_Error instead of Sys_Error 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
9823a23a91 Initialize sounds[] to avoid garbage branch conditions down below 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
1deb069085 Remove dead assignments 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
afd2f4538c Return in case of possible overflow 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
41a704a13e Do not turn stack address into a global variable 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
36a41f9746 Prevent a divion by zero 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
b1dfcb7aff Convert random() to randk() and crandom() to crandk() 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
9f45bd38f2 Ensure that pseudo random numbers are always >0 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
35e5bbb48b Convert rand(), crand() and frand() to randk(), crandk() and frandk() 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
99520d1331 Implemented the new random generator in shared.h instead of common.h 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
28c200a2e8 Implement crandk() and frandk() and remove old functions 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
253373dbda Seed the new PRNG at startup 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
056f4d287b Add rand.c, an implementation of G. Marsaglia KISS PRNG 2012-06-04 09:13:29 +02:00
Yamagi Burmeister
edae2b0473 Change atof() to strtod() 2012-06-04 09:13:28 +02:00
Yamagi Burmeister
e9c90e16a9 Change atoi() to strtol() 2012-06-04 09:13:28 +02:00
Yamagi Burmeister
0aa75f8704 Explicit cast 2012-06-04 09:13:28 +02:00
Yamagi Burmeister
9ec98a79d2 Fix a potential buffer overflow 2012-06-04 09:12:59 +02:00
Yamagi Burmeister
60dfaee439 Remove old setuid() magic 2012-06-02 16:46:25 +02:00
Yamagi Burmeister
f28e005e1e Back out if Quake II is run as root or if eUID != rUID
This is a sanity check to prevent stupid users from running Quake II as
root or as a setuid binary. Quake II is such a mess that running it as
root or setuid is just reckless.
2012-06-02 16:33:12 +02:00
Yamagi Burmeister
deaeac42b7 Abort if the clipplane is NULL. 2012-06-02 13:40:49 +02:00
Yamagi Burmeister
6cafb22a9c Use Com_Error instead of Sys_Error 2012-06-02 13:31:20 +02:00
Yamagi Burmeister
42da811355 Initialize sounds[] to avoid garbage branch conditions down below 2012-06-02 13:29:08 +02:00
Yamagi Burmeister
6befae2ffd Remove dead assignments 2012-06-02 13:21:22 +02:00
Yamagi Burmeister
bf02575b1e Return in case of possible overflow 2012-06-02 13:18:33 +02:00
Yamagi Burmeister
ef3c9bf620 Do not turn stack address into a global variable 2012-06-02 13:06:12 +02:00
Yamagi Burmeister
4ece3714aa Prevent a divion by zero 2012-06-02 12:56:07 +02:00
Yamagi Burmeister
12ce981d64 Convert random() to randk() and crandom() to crandk() 2012-06-02 12:30:20 +02:00
Yamagi Burmeister
fc2d67bac1 Ensure that pseudo random numbers are always >0 2012-06-02 12:11:14 +02:00
Yamagi Burmeister
40ff7a6b09 Convert rand(), crand() and frand() to randk(), crandk() and frandk() 2012-06-02 11:55:12 +02:00
Yamagi Burmeister
a0ccf86660 Implemented the new random generator in shared.h instead of common.h 2012-06-02 11:32:45 +02:00
Yamagi Burmeister
effc7b3c35 Implement crandk() and frandk() and remove old functions 2012-06-02 11:22:54 +02:00
Yamagi Burmeister
7bd1392a5a Seed the new PRNG at startup 2012-06-02 10:59:43 +02:00
Yamagi Burmeister
97f7ba0610 Add rand.c, an implementation of G. Marsaglia KISS PRNG 2012-06-02 10:56:40 +02:00
Yamagi Burmeister
881b935b65 Change atof() to strtod() 2012-06-02 10:33:28 +02:00
Yamagi Burmeister
67dbe816c9 Change atoi() to strtol() 2012-06-02 10:24:52 +02:00
Yamagi Burmeister
fc679896f5 Explicit cast 2012-06-02 09:07:20 +02:00
Yamagi Burmeister
32fe0ba21f Prevent a buffer overflow. 2012-06-01 18:13:30 +02:00
Yamagi Burmeister
f9837b9130 Initialize variables (they may be used uninitialzed further down below) 2012-06-01 17:59:00 +02:00
Yamagi Burmeister
0d8f990d14 Ensure that variables that point to data on the stack are cleared 2012-06-01 17:20:05 +02:00
Yamagi Burmeister
0e1520d29a Remove dead code and assignments 2012-06-01 17:05:40 +02:00
Yamagi Burmeister
e9605e8a8b Use AL_BUFFERS_QUEUED at stream shutdown. 2012-05-26 12:03:01 +02:00
Yamagi Burmeister
492b7c1a2b Convert whitespace indentation to tabs 2012-05-26 12:00:48 +02:00
Yamagi Burmeister
28c4edfd69 Clear buffers before deleting the sources
This fixes a very long lasting shutdown procedure which made it look
like Quake II freezed. Especially on slow machines it was a problem.
2012-05-26 11:37:47 +02:00
Yamagi Burmeister
37132d8ac9 Bump version number to 4.21 2012-05-26 09:45:57 +02:00
Daniel Gibson
cf41d61d72 Add OpenAL to printed Client build options 2012-05-17 15:06:45 +02:00
Daniel Gibson
62d76b3d40 Fix segfault when s_openal=0 but USE_OPENAL=1
If the game was compiled with openal support (USE_OPENAL is defined),
but it's disabled via cvar (set s_openal 0) there could be segfaults
when calls to openal where done anyway, because the check
if(sound_started == SS_OAL) was forgotten.
This is fixed now.
2012-05-17 14:47:05 +02:00
Yamagi Burmeister
5bf1ee670d Fix s_show when OpenAL is used 2012-05-12 15:11:17 +02:00
Yamagi Burmeister
aff51633d0 Add a sanity check against buffer overflows to S_BuildSoundList 2012-05-12 14:46:13 +02:00
Yamagi Burmeister
4a414b588e Fix a buffer overflow in AL_AddLoopSounds
This fixes a crash in mine4.bsp and most likely some other problems.
The bug was reported by "mxmvasilyev0 [at] gmail [dot] com" and tracked
as Github issue #1.
2012-05-12 14:42:15 +02:00
Yamagi Burmeister
b6325d7858 Remove unused variables and dead code (patch submitted by Christoph
Mallon)
2012-04-30 10:02:58 +02:00
Christoph Mallon
ab034114b4 Whitespace fixes. 2012-04-30 08:25:59 +02:00
Daniel Gibson
ebccfc63df Remove need to link against libopenal
libopenal is loaded with dlopen() and for all used alBla and alcBla functions
there are function pointers (just like thee qgl stuff for OpenGL).
Thus there's no need to link against libopenal on compile-time.

There were a few occurences of "normal" openal functions (al* instead of qal*)
- they are fixed now.

This allows to use a yquake2 version compield with WITH_OPENAL=yes to be used
on systems that have no libopenal installed (the standard SDL sound backend
will be used then).
2012-04-29 15:24:14 +02:00
Yamagi Burmeister
4203bed129 Bump version number to 4.20 2012-04-29 08:08:21 +00:00
Daniel Gibson
965fedf9ae It's X11GAMMA with 2 "m". 2012-04-28 20:04:24 +00:00
Daniel Gibson
2b7ef996ed Fall back to "libGL.so.1" if gl_driver set in (default) config fails 2012-04-28 20:02:15 +00:00
Daniel Gibson
632bd0a776 Enforce "C" lokale, this time correctly
Now when some braindead alsa/ladspa plugin calls setlocale(LC_ALL, "") the 
locale is (still) set to "C" and not some other locale that may fsck up printf
and scanf formats
2012-04-28 19:39:36 +00:00
Daniel Gibson
669a78de12 Compiletime options in Makefile overwritable from console
And a small fix that shuts up a compiler warning
2012-04-28 19:38:07 +00:00
Daniel Gibson
53d54b1f23 Merge OpenAL branch 2012-04-28 15:58:50 +00:00
Daniel Gibson
31f9af817f Last fixes and cleanups for OpenAL support
* New license header in snd_al.c
* README fixes
* Fix printing of used OpenAL device
* Cleanup in snd_al.c
2012-04-28 15:44:14 +00:00
Yamagi Burmeister
c62e5ac85b - Implement AL_UnqueueRawSamples() and use it to stop the Vorbis playback
imediatly
- Increase Vorbis buffers to 64. 24 were to few
2012-04-27 14:06:08 +00:00
Yamagi Burmeister
2b6389a471 Filter sound samples (not the music) when under water 2012-04-27 13:55:45 +00:00
Yamagi Burmeister
1a0b4ebad5 Do not set / enable / show the s_openal CVAR if the binary is build
without OpenAL support. OpenAL is enabled in the default Makefile and if
it's disabled, it's shown at startup.
2012-04-27 12:00:22 +00:00
Yamagi Burmeister
905b31a918 Integrate OpenAL into the options system 2012-04-25 10:09:30 +00:00
Yamagi Burmeister
a388254252 Fix a missmerge 2012-04-25 10:09:16 +00:00
Yamagi Burmeister
2c3c203097 Merge out new options framework from the trunk 2012-04-25 09:57:17 +00:00
Yamagi Burmeister
38943b3573 Print build options at startup 2012-04-25 09:50:06 +00:00
Yamagi Burmeister
048f680701 Hide ZIP support behind ZIP 2012-04-25 09:12:02 +00:00
Yamagi Burmeister
92da6ed580 Hind retexturing support behind RETEXTURE 2012-04-25 08:59:40 +00:00
Yamagi Burmeister
03015a686b Hide music playback from CD behind CDA 2012-04-25 08:53:25 +00:00
Yamagi Burmeister
9d60a5de6a Hide OGG/Vorbis support under OGG 2012-04-25 08:24:38 +00:00
Yamagi Burmeister
f836cef4c4 Rename qal_api.c to unix/qal.c and qal_api.h to unix/header/qal.h.
Both files are platform dependend and won't work on non unixoid
platforms.
2012-04-24 14:20:01 +00:00
Yamagi Burmeister
bf6d491af3 - Refactor AL_SoundInfo() into the platform dependent
QAL_SoundInfo().
- Use QAL_SoundInfo() to print the OpenAL infos 
  at startup and by the "soundinfo" command.
- Implement printing of all available OpenAL
  devices at startup and by the "soundinfo"
  command.
2012-04-24 14:07:33 +00:00
Yamagi Burmeister
79c137254a Rework qal_api.c and qal_api.h:
- Reformat to match "our" coding style
- Unroll all unreadable macros
- Remove the use of goto
2012-04-24 13:22:05 +00:00
Yamagi Burmeister
4ff4bf09e9 Merge the trunk back into the openal branch. 2012-04-23 14:09:33 +00:00
Yamagi Burmeister
479aae4a9c *gna* This \n got lost on the way 2012-04-23 13:57:36 +00:00
Yamagi Burmeister
90d0811185 Delete all OpenAL sources at shutdown 2012-04-23 13:55:25 +00:00
Yamagi Burmeister
134878e996 - Some more minor style cleanup
- Much improved startup log messages
2012-04-23 13:44:12 +00:00
Yamagi Burmeister
678e50bf8d Raise the volume of a positioned sample by 384 instead of 255 when using
OpenAL. This makes them much more distinguishable from the background
music.
2012-04-23 13:23:47 +00:00
Yamagi Burmeister
3bce2a212a - Use a better way to calculate the number of buffers
used by OGG/Vorbis. 24 buffers are enough for smooth
  and stutter free playback and ensure, that OGG_Stop()
  is effective nearly immediately.
- Change C99 comments to C89, since snd_vorbis.c is
  a C89 file. Caedes will beat me for this :/
2012-04-23 07:59:39 +00:00
Daniel Gibson
3d7013e12b Fix: Cvar_Get needs a string as default value, not an int.. 2012-04-22 20:28:41 +00:00
Daniel Gibson
8bfc61b564 Introduce s_openal to enable/disable OpenAL
And fix possible dangling else problem in that code
2012-04-22 20:27:02 +00:00
Daniel Gibson
efd85a76c6 Updated paintedtime in OpenAL mode so shotgun sounds right
probably fixes other issues as well.
2012-04-22 20:14:56 +00:00
Daniel Gibson
65914b342d Allow DMA/SDL sound in OGG_Stream when compiling with USE_OPENAL 2012-04-22 17:59:03 +00:00
Yamagi Burmeister
e388a425b4 Enable OGG/Vorbis playback in OpenAL mode. 2012-04-22 17:50:15 +00:00
Daniel Gibson
04fd7f2cda OpenAL Streaming Sound stuff
from zeq2, but adapted/stripped down for our needs.

Videos work (for me), music does not (yet)
2012-04-22 15:59:18 +00:00
Daniel Gibson
6384b850f1 Remove redundancy 2012-04-22 15:57:59 +00:00
Daniel Gibson
f4d5040a73 Add OpenAL stuff to Makefile, make it compile and work (no streaming sound yet)
It works \o/
It's still hacky so it needs more work.
And streaming sound (OGG music, sound from videos) is still missing.
2012-04-22 00:24:50 +00:00
Yamagi Burmeister
fc32d16d42 Print
- OS
- CPU
- byte ordering
at startup
2012-04-19 13:33:48 +00:00
Yamagi Burmeister
179ec5538e Move strlwr() into shared.c and don't link main.c into the refresher 2012-04-19 13:22:50 +00:00
Yamagi Burmeister
a7aa1e93c0 Rename misc.c to main.c 2012-04-19 13:14:03 +00:00
Yamagi Burmeister
8930dc512f Enforce "C" locale 2012-04-19 13:11:00 +00:00
Yamagi Burmeister
b6bb97e223 - add support for big endian CPUs
- enable the build on SPARC64
- add runtime-requirements for SPARC64
- bump version number to 4.10
2012-04-16 06:54:48 +00:00
Daniel Gibson
7e0a44825e OpenAL support, from Q2Pro
Copied and adapted (hopefully) all relevant code from Q2Pro.
Did some small refactorings when needed.

Still TODO:
* Adapt Makefile
* OGG support when using OpenAL
* A cvar that switches between OpenAL and DMA/SDL
* Actually compiling and testing this stuff ;)
2012-04-15 02:58:01 +00:00
Yamagi Burmeister
bedb5fb573 Reenable gamma via SDL. The upstream bug was fixed with SDL 1.2.15 2012-03-30 09:11:32 +00:00
Yamagi Burmeister
9339d89bdf Provide backward compatiblity with libjpeg v6 2012-03-12 10:15:22 +00:00
Yamagi Burmeister
bb9126ae43 Convert GetPCXInfo and GetWalInfo into void functions 2012-03-12 10:00:07 +00:00
Yamagi Burmeister
643cb93e5f Reformat pcx.c 2012-03-12 09:56:27 +00:00
Yamagi Burmeister
57b06a8bcf Implement retexturing for PCX files 2012-03-12 09:54:04 +00:00
Yamagi Burmeister
d0133509e1 Provide the gl_retexturing CVAR to switch retexturing off. Default is
"1", retexturing enabled.
2012-03-12 09:31:33 +00:00
Yamagi Burmeister
48a0d6a50d - Reformat wal.c
- Add a file header to wal.c
2012-03-12 09:23:44 +00:00
Yamagi Burmeister
1cc06e2841 Reformat the JPEG loader 2012-03-12 09:21:19 +00:00
Yamagi Burmeister
7db2d76833 Import the Quake III Arena TGA loader and replace out implementation
with it. The Q3A is about ~40% faster and supports more types of TGA
files, including bottom to top encoded images.
2012-03-12 09:16:59 +00:00
Yamagi Burmeister
43fcc8eb99 Scale the replacement textures to the size of the original texture 2012-03-12 08:53:22 +00:00
Yamagi Burmeister
9edf27f103 Reactor yesterdays work 2012-03-12 08:11:22 +00:00
Daniel Gibson
1d8109cbbc Work in progress version of the retexterung support. The next step is to alter
r_LoadPic, so that it accepts realwidth and realheight as additional arguments 
and uses them to manipualte image after uploading it into the vram.
2012-03-11 19:01:49 +00:00
Daniel Gibson
441c988b31 - Add JPEG support
- Refactor call to LoadTGA so it returns image_t * directly
2012-03-11 16:50:57 +00:00
Yamagi Burmeister
2b2e996dda Make windowed_mouse CVAR_USERINFO 2012-03-08 11:33:58 +00:00
Yamagi Burmeister
042ec93bfe Rename r_lefthand to gl_lefthand to match the other renderer cvar. This
is a noop, since this is an internal cvar to exposed to the user.
2012-03-08 11:30:30 +00:00
Yamagi Burmeister
1f3ce73a75 Add gl_farsee (by Richard Allen) 2012-03-08 11:24:45 +00:00
Yamagi Burmeister
3dbd925c34 Remove a unnecessary \n 2012-02-29 20:58:37 +00:00
Yamagi Burmeister
8ff3880457 But our head even deeper into the users anus 2012-02-29 20:56:51 +00:00
Yamagi Burmeister
75df000d27 Flesh the message printed by the signal handler more out and print the
compiler used to create the binary.
2012-02-29 20:54:31 +00:00
Yamagi Burmeister
c7eac16467 Tell the user to include the executable image 2012-02-28 20:24:33 +00:00
Yamagi Burmeister
d87328293c Add a CHANGELOG entry 2012-02-27 11:33:32 +00:00
Daniel Gibson
b70dc11672 - Fix memory leaks in the server start menu by not
creating the maplist each time it's called, but
  preserve it across several calls.

- Fix M_PushMenu a second time by taking a corner
  case into account when the requested menu is 
  opened and on the stack but not on top.
2012-02-26 20:21:40 +00:00
Daniel Gibson
32377a6b57 Fix crash when opening menu twice via hotkeys
Now this closes the menu again, faking toggling behaviour
2012-02-26 18:58:48 +00:00
Yamagi Burmeister
04f5ff9523 Bump version number to 4.03 2012-02-17 08:18:25 +00:00
Yamagi Burmeister
6b2ef052ef Add a comment about GL_POINT_SMOOTH on Mesa3D 2012-02-12 16:53:41 +00:00
Yamagi Burmeister
35493a49b4 Print the version number in the window title 2012-02-09 16:56:24 +00:00
Yamagi Burmeister
f8a9f6ead4 - Define the values for point parameters in qgl.h. They should be
set by the OpenGL implementation somewhere in gl.h but apperently
  the values are sometimes wrong...
- AND the particle color with 0xFF. This is a no-op with most
  OpenGL implementations but may help Mesa3D. Suggest by
  "hukaru" on IRC.
2012-02-09 16:30:17 +00:00
Yamagi Burmeister
0f7b422ded - Switch multitexturing by default to 1
- Switch paletted textures (8 bit textures) to 0
2012-02-09 15:13:51 +00:00
Yamagi Burmeister
cf7d2645cc Fix gl_ext_multitexturing set to 1 2012-02-09 15:11:35 +00:00
Yamagi Burmeister
4b1c43e98a Do not call the low level function to create a directory, but the
filesystem internal high level API function. While here remove a
debug printf().
2012-02-07 12:25:32 +00:00
Yamagi Burmeister
146450c3e0 Bump version number to 4.02 2012-01-08 16:44:45 +00:00
Daniel Gibson
f75ea6203b Add return 0 in main() 2012-01-07 23:43:16 +00:00
Yamagi Burmeister
642cf678c0 Bump version to 4.01 2011-12-26 08:48:54 +00:00
Yamagi Burmeister
8a5dde5372 Try to recover to gl_mode 4 if the choosen mode could not be set.
This is just another hack to help stupid (mostly Ubuntu) users
and imo completly unnecessary.
2011-12-06 13:50:06 +00:00
Yamagi Burmeister
2320693f6a Change the default mode 4 aka "640x480". This should be saver than 3 aka
"640x400"
2011-12-06 13:26:12 +00:00
Yamagi Burmeister
7eee82d981 Add a quirk for the broken intermission in fact1 2011-11-11 11:47:17 +00:00
Yamagi Burmeister
184bbee145 Do not alter the existing info_player_start, create a new one instead 2011-10-24 10:08:02 +00:00
Yamagi Burmeister
a01bcd5972 Fix manual loading of some maps:
- create an unnamed info_player_start when necessary
- increase the fixup radius of the coop-connector to 550
- some formation improvemens
- add SP_CreateUnnamedSpawn to the savegames and break them again
2011-10-24 09:26:58 +00:00
Yamagi Burmeister
034e72dced Add a comment for the last revision 2011-10-23 21:02:55 +00:00
Yamagi Burmeister
ef85571d07 Fix coop startup points in case that the map was loaded via console 2011-10-23 20:34:17 +00:00
Yamagi Burmeister
55f51eb680 Add support for anisotropic filtering 2011-10-17 10:43:48 +00:00
Yamagi Burmeister
0a9585ee1b Make socket reusable 2011-10-17 10:07:50 +00:00
Yamagi Burmeister
8f04a73f86 Add \n to all error strings 2011-10-17 10:03:45 +00:00
Yamagi Burmeister
d511ed7b03 Add 1280x960. This is the "native" resolution for 19" 4:3 CRTs. 2011-10-15 16:27:19 +00:00
Yamagi Burmeister
07ed4c8b5a Make the client and server IPv6 aware 2011-10-15 16:18:26 +00:00
Yamagi Burmeister
75e9f6cf85 Prevent a deadlock when trying to open the menu while connecting 2011-10-13 14:01:40 +00:00
Yamagi Burmeister
77de60f274 Fix a rare crash by nullpointer 2011-10-13 13:16:59 +00:00
Yamagi Burmeister
1d6872caa7 Use the actual RIGHT fix -_- 2011-10-13 12:27:17 +00:00
Yamagi Burmeister
4db397a9c6 Add a missing negiator, resulting in skyboxes not hurting the player 2011-10-13 12:08:14 +00:00
Yamagi Burmeister
2e223c4f0a Add a missing malloc. Without this adding a non-numbered pak would
delete all other paks, resulting in an endless loop
2011-10-11 18:42:36 +00:00
Yamagi Burmeister
4ab909892f Fix a brainfart (do not show deathmatch items in coop) 2011-10-11 09:51:39 +00:00
Yamagi Burmeister
133ac1e5d6 Fix comment 2011-10-11 09:20:29 +00:00
Yamagi Burmeister
13d1ab9bc1 Add 1440x900 and 1920x1080 resolutions 2011-10-10 08:37:35 +00:00
Yamagi Burmeister
cc9f4590c3 Really add signalhandler.c 2011-10-10 07:53:34 +00:00
Yamagi Burmeister
60a2ca3eb9 Add a signal handler to the client 2011-10-10 07:51:16 +00:00
Yamagi Burmeister
d4a60e7b77 - Add yq2.cfg to the code, an example to stuff/ and metion it in the
README
- Rename tools/ to stuff/
2011-10-09 17:55:10 +00:00
Yamagi Burmeister
6c250e40da Rename the config dir to ~/.yq2 2011-10-09 16:59:28 +00:00
Yamagi Burmeister
db9de69884 - Bump savegame version
- Bump client version
2011-10-09 16:56:33 +00:00
Yamagi Burmeister
24b5f7fe97 Remove ctf/ from Makefile and simplify it. 2011-10-09 16:55:23 +00:00
Yamagi Burmeister
69b465fb1e Move game one dir up 2011-10-09 16:12:53 +00:00
Yamagi Burmeister
fb56085d0d Move ctf/ into it's own subproject. 2011-10-09 16:11:15 +00:00
Yamagi Burmeister
038b7f0126 Remove target_actor and misc_actor. They were never fully implemented
and unused
2011-10-09 16:08:49 +00:00
Yamagi Burmeister
27b41e697a Move player.h to misc/ 2011-10-09 15:58:20 +00:00
Yamagi Burmeister
f4cc8ff99d Correct description 2011-10-09 15:52:10 +00:00
Yamagi Burmeister
36f279fe83 cleanup tank/ and add sanity checks 2011-10-09 15:51:52 +00:00
Yamagi Burmeister
321eef5ec0 cleanup supertank/ and add sanity checks 2011-10-09 15:51:43 +00:00
Yamagi Burmeister
4f1c803c9a cleanup soldier/ and add sanity checks 2011-10-09 15:51:19 +00:00
Yamagi Burmeister
98d026c97d cleanup parasite/ and add sanity checks 2011-10-09 15:51:02 +00:00
Yamagi Burmeister
7040761a4c cleanup mutant/ and add sanity checks 2011-10-09 15:50:37 +00:00
Yamagi Burmeister
0f907646db cleanup misc/ and add sanity checks 2011-10-09 15:50:23 +00:00
Yamagi Burmeister
75821cba17 cleanup medic/ and add sanity checks 2011-10-09 15:50:07 +00:00
Yamagi Burmeister
9f8610d806 cleanup insane/ and add sanity checks 2011-10-09 15:49:44 +00:00
Yamagi Burmeister
5369804a6f cleanup infantry/ and add sanity checks 2011-10-09 15:49:04 +00:00
Yamagi Burmeister
71dca0bc24 cleanup hover/ and add sanity checks 2011-10-09 15:48:48 +00:00
Yamagi Burmeister
e589731fa1 cleanup header/ and add sanity checks 2011-10-09 15:48:36 +00:00
Yamagi Burmeister
7442bb1b98 cleanup gunner/ and add sanity checks 2011-10-09 15:48:03 +00:00
Yamagi Burmeister
fbf51542fb cleanup gladiator/ and add sanity checks 2011-10-09 15:47:46 +00:00
Yamagi Burmeister
41e0b6dfdd cleanup flyer/ and add sanity checks 2011-10-09 15:47:30 +00:00
Yamagi Burmeister
ea92ba9fe6 cleanup float/ and add sanity checks 2011-10-09 15:46:59 +00:00
Yamagi Burmeister
1cc82146a2 cleanup flipper/ and add sanity checks 2011-10-09 15:46:18 +00:00
Yamagi Burmeister
caf17d1c3e Cleanup chick and add sanity checks 2011-10-07 16:05:30 +00:00
Yamagi Burmeister
c08a7e1bbe Rework brain and add sanity checks 2011-10-07 07:23:31 +00:00
Yamagi Burmeister
c64d346e7f Rework boss3 and add sanity checks 2011-10-07 06:47:52 +00:00
Yamagi Burmeister
3576645846 Rework boss2 and add sanity checks. 2011-10-07 06:20:34 +00:00
Yamagi Burmeister
cf2fb96cce Rework berserker and add sanity checks 2011-10-07 06:09:55 +00:00
Yamagi Burmeister
7274f27131 Let ctf use the files in common/ 2011-10-06 09:13:56 +00:00
Yamagi Burmeister
feaa8a6f21 Move q_shared.c, q_shared.h and m_flash.c into common/ 2011-10-06 08:52:26 +00:00
Yamagi Burmeister
77130008cc Revert CTF macro stuff 2011-10-06 08:04:42 +00:00
Yamagi Burmeister
91ffbf0ba5 Reorder game files 2011-10-06 07:54:45 +00:00
Yamagi Burmeister
bc8a06bdd4 Roll the ctf crap back. It won't work this way, since some low level
parts of the code (g_local.h) differ too much. We need a better 
solution...
2011-10-05 19:57:25 +00:00
Yamagi Burmeister
c958563b2b Merge the uncommented rest of the CTF code and fix the Makefile 2011-10-05 18:46:23 +00:00
Yamagi Burmeister
293e360333 COmmit what we have so far. CTF is still broken 2011-10-05 17:28:30 +00:00
Yamagi Burmeister
a729ad3701 - Add header guards
- Bring the CTF files over
2011-10-05 16:33:04 +00:00
Yamagi Burmeister
56b41dd705 Merge generic parts of ctf/ with baseq2/. This should have any impact on
the baseq2/ source path.
2011-10-05 15:30:11 +00:00
Yamagi Burmeister
0bd9096f7f Integrate caedes systemwide installation patch 2011-10-04 19:29:40 +00:00
Yamagi Burmeister
b9d907f7ea Fix a bug introduced in r663 2011-10-04 16:46:51 +00:00
Yamagi Burmeister
9300c3c7e4 Use a better bounding box for rotating brush models. 2011-10-04 16:31:28 +00:00
Yamagi Burmeister
58f1ec91cd Fix the rare "SZ_GetSpace: overflow" bug, triggered by too much gibs or
debris
2011-10-04 16:02:31 +00:00
Yamagi Burmeister
9047d873ab Do not use the bodyqueue in single player 2011-10-04 15:49:22 +00:00
Yamagi Burmeister
b1b2815b66 Add file headers 2011-10-04 15:30:03 +00:00
Yamagi Burmeister
169145bf80 Reject savegames from another game.so 2011-10-04 15:16:43 +00:00
Yamagi Burmeister
bd5d37c06d Fix radius damage, broken in r660 2011-10-04 13:18:41 +00:00
Yamagi Burmeister
89f808185d Remove an unused variable 2011-10-04 13:12:50 +00:00
Yamagi Burmeister
8ba8373440 Commit the cool, amazing and outresolving savegame
system. Savegames don't break anymore when the
game.so is recompiled or changed. :)
2011-10-04 13:02:52 +00:00
Yamagi Burmeister
7258574e7f Add some comments to empty functions 2011-10-04 07:42:28 +00:00
Yamagi Burmeister
212aed50e5 Remove the last "static" function in the game code 2011-10-04 07:38:38 +00:00
Yamagi Burmeister
e1f2b10d5e Rework q_shared.* and add sanity checks 2011-10-03 17:04:35 +00:00
Yamagi Burmeister
aa9f0cce93 Cleanup of g_local.h 2011-10-03 16:28:11 +00:00
Yamagi Burmeister
f3ca824048 Rework p_weapon.c and add sanity checks 2011-10-03 16:02:22 +00:00
Yamagi Burmeister
1f95708b3d Add sanity checks to p_view.c 2011-10-03 15:38:43 +00:00
Yamagi Burmeister
6d96faf298 Cleanup of p_view.c, first step 2011-10-03 15:26:23 +00:00
Yamagi Burmeister
daaaebe859 Rework p_trail.c and add sanity checks 2011-10-03 09:06:32 +00:00
Yamagi Burmeister
8c084636f8 Rework p_hud.c 2011-10-03 08:35:27 +00:00
Yamagi Burmeister
0f1de339c2 Add file header and remove static keywords 2011-10-03 08:22:14 +00:00
Yamagi Burmeister
68d82aa2b5 Rework p_client.h again and add sanity checks. 2011-10-03 08:19:44 +00:00
Yamagi Burmeister
b768cea818 Rework g_wepon.c and add sanity checks 2011-10-02 09:02:03 +00:00
Yamagi Burmeister
e9220c468a Rework g_utils.c and fix the removal of some entity classes 2011-10-02 08:33:36 +00:00
Yamagi Burmeister
6a105cf71d Rework g_trigger.c, add sanity checks and a bugfix for cases in which a
monster spawns in a trigger_hurt.
2011-10-01 11:10:57 +00:00
Yamagi Burmeister
6d5c445ca5 Rework targets and add sanity checks. Add a new mapquirk for fact2 by
KMQuake2 and trigger activators via cross level triggers. While this 
is unused by baseq2 some editors supported this and thus some custom
maps may use it.
2011-10-01 09:34:28 +00:00
Yamagi Burmeister
04dbcffa03 Rework g_svcmds.c and add sanity checks 2011-10-01 08:47:41 +00:00
Yamagi Burmeister
74ff11850b Rework g_spawn.c, add sanity checks and plug a memory
leak. Honor the COOP-Flag of item, this should be 
unused by the main game data but maybe some mappers
used it.
2011-10-01 08:36:02 +00:00
Yamagi Burmeister
e426e7ab82 Rework g_phys.c again. Port some minor bugfixes from Lazarus 2011-09-30 10:08:10 +00:00
Yamagi Burmeister
f17cd52aa1 Make static functions normal 2011-09-30 09:06:48 +00:00
Yamagi Burmeister
2b4f223566 Rework g_monster.c again and add sanity checks. Some minor
bugs were fixed too:
- Comment two lines back in which were removed by id. They
  SEEM to bee correct
- Slime shouldn't destroy dead monsters (this was lost some 
  versions ago)
2011-09-30 09:04:35 +00:00
Yamagi Burmeister
f1d3040cde Rework g_misc.c again and add sanity checks. Fix the rare crash at
biggun exit (code ripped from "sculler"). Fix suddenly disapearing black
hole generator model.
2011-09-29 14:04:36 +00:00
Yamagi Burmeister
7f5431c51a Make functions non static (for new savegame code) 2011-09-28 20:13:41 +00:00
Yamagi Burmeister
45194cad7e Rework g_main.c 2011-09-28 16:38:01 +00:00
Yamagi Burmeister
717bdcd658 Rework g_items.c again and add sanity checks 2011-09-28 16:26:41 +00:00
Yamagi Burmeister
9c25987531 Rework g_func.c again, add sanity checks and comments. 2011-09-28 08:59:35 +00:00
Yamagi Burmeister
e8b7868eef Small bugfixes 2011-09-28 06:35:37 +00:00
Yamagi Burmeister
5e924e2f96 Add the license header back 2011-09-28 06:20:21 +00:00
Yamagi Burmeister
bf692e5bc2 Clean g_combat.c up again and at a myriad of sanity checks 2011-09-27 20:03:00 +00:00
Yamagi Burmeister
cda35b691f Add even more santiy checks to g_cmds.c 2011-09-27 18:01:29 +00:00
Yamagi Burmeister
7dff3c1423 Add many, many sanity checks 2011-09-27 17:40:46 +00:00
Yamagi Burmeister
da9ba25067 Add a sanity check to prevent a potential crash 2011-09-27 16:08:55 +00:00
Yamagi Burmeister
313008eb19 Rework g_cmds.c again 2011-09-27 15:59:09 +00:00
Yamagi Burmeister
0dd8410cb0 Rework g_chase.c again 2011-09-27 15:25:38 +00:00
Yamagi Burmeister
c40fd329cd Basic rework and cleanup of g_ai.c 2011-09-27 15:16:40 +00:00
Yamagi Burmeister
3214807ebf Revert r605 2011-09-27 14:34:26 +00:00
Yamagi Burmeister
f77683e60a Sort grenates into a linked list 2011-08-16 10:19:20 +00:00
Yamagi Burmeister
c196b662b6 Small fixups to grenates and rockets 2011-08-16 09:54:22 +00:00
Yamagi Burmeister
76e4017dea Small fix of skin replacement 2011-08-16 09:38:13 +00:00
Yamagi Burmeister
672266241c Initialize some variables 2011-07-02 08:34:02 +00:00
Yamagi Burmeister
0aa45e9736 Fix some warnings with clang 2011-06-27 14:40:16 +00:00
Yamagi Burmeister
54eec20990 Behebt einen potentiellen Nullpointer beim Herausfinden, ob der Spieler
vor einem Monster steht.
2011-01-23 14:40:50 +00:00
Yamagi Burmeister
f9fbe8d380 - Nutze 1024 Samples bei 44 kHz. Dies macht Q2 mit dem
Pulseaudio-Schrott kompatibel.
- Mache s_khz im Frontend und Backend kompatibel
2011-01-23 09:37:30 +00:00
Yamagi Burmeister
c7dc7eb62f Fly hinzugefügt 2011-01-11 17:45:00 +00:00
Yamagi Burmeister
bff20f6b7c Nächter Soundpatch von Ozkan:
- Adds a "float volume" argument to snd_dma.c:S_RawSamples()
	so that ogg can use it too
  - That S_RawSamples now has a volume argument, the
    cinematics now honor the volume adjustment instead of 
    playing at full volume all the time even if volume is
	zeroed                                                                               
  - Moves endianism handling from S_RawSamples to codec
    level                                                         
  - Fixes an issue of S_RawSamples with 8 bit stereo samples
	(not seen/tested with q2 but with my uhexen2)
  - Other minor adjustments
2010-12-20 09:56:37 +00:00
Yamagi Burmeister
f5f5c0d2ca Korrigiere Endianism im Vorbis-Code 2010-12-03 09:45:49 +00:00
Yamagi Burmeister
4b6c561acc Erweitere Vorbis-Unterstützung:
- Support für Big-Endian Pamps (läuft yQ2 auf sowas überhaupt?)
 - Unterstützung für 22khz Vorbis-Dateien (ermöglicht es die
   Wave-Dateien aus den Pags in Vorbis zu konvertieren, wenn man denn
   drauf steht.)
 - Unterstützung für Mono-Dateien (Sinnvoll für Handhelds)

Patch von: Ozkan Sezer
2010-11-30 10:28:20 +00:00
Yamagi Burmeister
b282f41093 Begrenze cl_maxfps per Default auf 95 2010-11-27 11:56:50 +00:00
Yamagi Burmeister
e57aba66c1 Man sollte strncmp() auch richtig anwenden 2010-11-27 11:19:59 +00:00
Yamagi Burmeister
8af8dd1559 Stoppe Ogg-Playback, wenn Track 0 gefordert wird 2010-11-27 10:45:09 +00:00
Yamagi Burmeister
ec4c519053 Fasse 2 if zusammen (by caedes) 2010-11-27 08:05:35 +00:00
Daniel Gibson
365ded42db fixed mremap() usage on linux 2010-11-26 21:57:14 +00:00
Yamagi Burmeister
7c21154ff7 Versionsnummer auf 3.00 2010-11-26 18:42:19 +00:00
Yamagi Burmeister
d05e5272dd Überarbeite sv_world.c 2010-11-26 08:36:57 +00:00
Yamagi Burmeister
8a80e54c0b Räume sv_user.c auf 2010-11-26 08:30:12 +00:00
Yamagi Burmeister
d899229399 Überarbeite sv_send.c 2010-11-26 08:20:11 +00:00
Yamagi Burmeister
cb0159014d Connectionless server commands in eine eigene Datei 2010-11-26 08:12:50 +00:00
Yamagi Burmeister
5973a3c8e9 Räume sv_main.c auf 2010-11-26 07:33:49 +00:00
Yamagi Burmeister
6c2ae15351 Räume sv_init.c auf 2010-11-26 07:22:46 +00:00
Yamagi Burmeister
c49f21c9d0 Räume sv_game.c auf 2010-11-26 07:13:42 +00:00
Yamagi Burmeister
ca69a68868 Benenne sv_ents.c in sv_entities.c um 2010-11-25 16:52:44 +00:00
Yamagi Burmeister
7d71a7c2ee Räume sv_ents.c auf 2010-11-25 16:44:50 +00:00
Yamagi Burmeister
e35544ed52 Bennene sv_ccmds.c in sv_cmd.c um 2010-11-25 16:39:19 +00:00
Yamagi Burmeister
5ddb6ab6a1 Den Server-Savegame-Code in eine eigenen Datei 2010-11-25 16:36:27 +00:00
Yamagi Burmeister
bc2e6b671d Überarbeite sv_ccmds.c 2010-11-25 16:22:55 +00:00
Yamagi Burmeister
a25b89c54a Lizenzsheader und Guard für server.h 2010-11-25 16:20:12 +00:00
Yamagi Burmeister
58eae60830 Header-Cleanup Teil II 2010-11-25 16:00:56 +00:00
Yamagi Burmeister
bc58c04af4 server.h aufräumen, Stufe 1 2010-11-25 15:55:06 +00:00
Yamagi Burmeister
3c7426f836 Verschiebe server.h in ein Unterverzeichnis 2010-11-25 15:46:36 +00:00
Yamagi Burmeister
ff360644fc Löse das Verzeichnis client/console auf 2010-11-25 15:32:39 +00:00
Yamagi Burmeister
b859cec1e2 Löse das Verzeichnis client/input auf 2010-11-25 15:28:41 +00:00
Yamagi Burmeister
491386e243 Entferne einige Tasten aus der Wiederholungssperre 2010-11-18 16:13:00 +00:00
Yamagi Burmeister
a6f25f3220 Erweitere die Input-Keye auf 128 Tasten 2010-11-18 15:52:06 +00:00
Yamagi Burmeister
f3ec32343a Handle auch das Loslassen von tasten 2010-11-18 15:46:25 +00:00
Yamagi Burmeister
aa9877826c Unnütze Variable entfernt 2010-11-16 11:43:06 +00:00
Yamagi Burmeister
e98ad4b925 Entferne ein unnötiges Anpassen von s_khz 2010-11-01 15:54:56 +00:00
Yamagi Burmeister
758d82fe4c Deregistriere ogg_init und ogg-shutdown 2010-11-01 15:48:01 +00:00
Yamagi Burmeister
46e378c6d4 Fixe einen schweren Bug, bei dem andere Maustasten nicht ausgelesen
wurden, wenn Maus 1 gedrückt war
2010-11-01 15:24:25 +00:00
Yamagi Burmeister
435ae096e4 Repariere einen Bug, durch den Area Portals zum Teil nicht getriggert
wurden
2010-10-30 07:40:44 +00:00
Yamagi Burmeister
4ece83cd3c Sortiere die Liste der uns bei Tab-Vervollständigung vorgeschlagenen
CVAR
2010-10-28 07:30:42 +00:00
Yamagi Burmeister
66ac4643cb Überarbeite das Sound-Menü 2010-10-28 06:28:11 +00:00
Yamagi Burmeister
f0fa091fde s_khz per Default auf 44 2010-10-28 05:57:13 +00:00
Yamagi Burmeister
7c6551dc0f Einen kleinen Bug gefixt, der zu Soundclipping führte 2010-10-28 05:56:20 +00:00
Yamagi Burmeister
ec979fb4f5 Headerguards 2010-10-27 13:24:41 +00:00
Yamagi Burmeister
44b65d8ab2 Simple Kommandovervollständigung für die Konsole 2010-10-27 13:12:20 +00:00
Yamagi Burmeister
4c09036741 Fixe einen falschen Cast unter Linux 2010-10-25 15:58:19 +00:00
Yamagi Burmeister
6db456587c Schreibe das Hardwaregamma auf X11 um :) 2010-10-25 15:57:39 +00:00
Yamagi Burmeister
6e13a06b06 Betaversion des neuen Gamma-Codes 2010-10-25 14:18:04 +00:00
Yamagi Burmeister
95d7d43695 Füge Overbrightbits ein 2010-10-25 13:21:52 +00:00
Yamagi Burmeister
40a91572e0 Baue Texturen auf Basis ner Palette wieder ein 2010-10-25 12:55:59 +00:00
Yamagi Burmeister
6847b33cb5 Füge Multitexturing ein. Dies funktioniert (natürlich) nicht mir Mesa3D 2010-10-25 12:33:55 +00:00
Yamagi Burmeister
8b3002b1dd Benenne alle r_ CVAR in gl_ um 2010-10-24 08:50:01 +00:00
Yamagi Burmeister
4f8d7137c4 Repariere vid_restart 2010-10-24 08:34:40 +00:00
Yamagi Burmeister
0bca8c4f55 Fixe den Mausfilter 2010-10-23 10:55:53 +00:00
Yamagi Burmeister
07fe1862c7 s/grap/grab/g 2010-10-23 10:19:02 +00:00
Yamagi Burmeister
b48a3d3c73 Benenne windowed_mouse_always in in_grap um 2010-10-23 10:16:25 +00:00
Yamagi Burmeister
8c3179f50e . vor \n -_- 2010-10-23 10:11:15 +00:00
Yamagi Burmeister
d0e90edcdf Hier sind zwei "static" falsch 2010-10-23 10:07:22 +00:00
Yamagi Burmeister
fa23a3e516 Ein Versuch Screenshots zu ermöglichen ohne den halben Client in den
Renderer linken zu müssen
2010-10-23 09:52:39 +00:00
Yamagi Burmeister
7fc1f607c9 Benenne gl_warp.c in r_warp.c um 2010-10-23 08:55:28 +00:00
Yamagi Burmeister
c4fe0d7b56 Benenne alle Funktionen in gl_warp.c konsistent 2010-10-23 08:53:36 +00:00
Yamagi Burmeister
a5346cbfbe Benenne gl_scrap.c in r_scrap.c um 2010-10-23 08:33:44 +00:00
Yamagi Burmeister
4681d0a417 Prototype R_Upload8 2010-10-23 08:31:21 +00:00
Yamagi Burmeister
4d647257fa Benennen gl_rsurf.c in r_surf.c um 2010-10-23 08:28:39 +00:00
Yamagi Burmeister
c79abc2c98 Benennen alle Funktionen in r_lightmap konsistent 2010-10-23 08:27:01 +00:00
Yamagi Burmeister
4c9536e400 - Benenne alle Funktionen in gl_rsurf um
- Lightmaps in ne eigene Datei
2010-10-23 08:24:28 +00:00
Yamagi Burmeister
d6acc3b4ea Bennene gl_rmisc in r_misc um 2010-10-23 07:21:53 +00:00
Yamagi Burmeister
cbc6e22c6f gl_rmisc in Sachen Funktionsnamen aufgeräumt 2010-10-23 07:19:40 +00:00
Yamagi Burmeister
d1aaaf06b0 Lizenzheader 2010-10-23 06:58:56 +00:00
Yamagi Burmeister
de91dbe5b0 Benennen gl_rmain.c in r_main.c um 2010-10-23 06:56:02 +00:00
Yamagi Burmeister
0677833560 Fixe die gemeinsamen Symbole von Client und Refresh 2010-10-23 06:54:05 +00:00
Yamagi Burmeister
3679d302db Benennen die Funktionen in gl_rmain.c konsistent 2010-10-23 06:29:01 +00:00
Yamagi Burmeister
05cef57735 Benennen gl_model.c zu r_model.c um 2010-10-23 06:13:38 +00:00
Yamagi Burmeister
f7d69a8a86 Benennen die Funktionen in gl_model.c konsistent 2010-10-23 06:10:23 +00:00
Yamagi Burmeister
2de15c4a73 Bennene gl_mesh.c in r_mesh.c um 2010-10-22 09:29:09 +00:00
Yamagi Burmeister
0b206b07e9 Bennene alle Funktionen in gl_mesh.c von GL_ auf R_ um 2010-10-22 09:26:47 +00:00
Yamagi Burmeister
139ecd30f4 Bennene gl_lights.c zu r_lights.c um 2010-10-22 09:23:44 +00:00
Yamagi Burmeister
5e57fbbc43 Benenne alle Funktionen in gl_light zu R_ um 2010-10-22 09:22:01 +00:00
Yamagi Burmeister
d59ab83f0d Benenne gl_image.c zu r_image.c um 2010-10-22 09:18:23 +00:00
Yamagi Burmeister
cb49061a4c Behebe ein wenig Fallout vom letzten Commit 2010-10-22 09:17:19 +00:00
Yamagi Burmeister
7563c221f4 Benenne alle GL_ Funktionen in gl_images.c in R_ um 2010-10-22 09:12:38 +00:00
Yamagi Burmeister
3989b43035 Bennene gl_draw.c in r_draw.c um 2010-10-22 08:48:01 +00:00
Yamagi Burmeister
1d0bbf537c Lizenzheader und Headerguards 2010-10-22 08:45:31 +00:00
Yamagi Burmeister
cb881567a0 Überarbeite die restlichen Header 2010-10-22 08:41:16 +00:00
Yamagi Burmeister
9fbebbe35c Überarbeite local.h und reiße noch mehr Graka-Müll der 90er raus 2010-10-22 08:34:01 +00:00
Yamagi Burmeister
cc67d82cfa Reformatiere die Konstanten 2010-10-22 08:24:29 +00:00
Yamagi Burmeister
4d0c89c728 Entferne spezielle Lightmaps für 90er Jahre Grafikkarten 2010-10-22 08:20:49 +00:00
Yamagi Burmeister
fdae318fba - Räume gl_warp.c auf
- Zeichne die Skybox nicht mit verringerten pixmips
2010-10-22 08:13:03 +00:00
Yamagi Burmeister
5543cc6f0a Entferne ne doppelte Konstante 2010-10-22 08:04:31 +00:00
Yamagi Burmeister
7ad0d3db7c Räume gl_rmisc.c auf 2010-10-22 07:51:25 +00:00
Yamagi Burmeister
11e1987d94 - Räume gl_rmain.c auf
- Reiße diversen Müll irgendwelcher 90er Jahre Grakas raus
2010-10-22 07:49:17 +00:00
Yamagi Burmeister
8647d97aeb Kommentar angepasst 2010-10-21 08:21:13 +00:00
Yamagi Burmeister
0e2f4364fb md2 file format in ne eigene Datei 2010-10-21 08:19:32 +00:00
Yamagi Burmeister
719b958688 sp2 in eine eigene Datei 2010-10-21 08:16:27 +00:00
Yamagi Burmeister
ac31b9efa8 Räume gl_model.c ein weiteres Mal auf 2010-10-21 08:12:50 +00:00
Yamagi Burmeister
b8526fe6ae gl_mesh ein weiteres Mal aufgeräumt 2010-10-21 08:04:45 +00:00
Yamagi Burmeister
88ecb77a51 gl_lights.c fertig 2010-10-21 07:55:41 +00:00
Yamagi Burmeister
2921a25059 Beende gl_image.c 2010-10-21 07:51:49 +00:00
Yamagi Burmeister
70f14e4fa5 wal in eine eigene datei 2010-10-21 07:44:15 +00:00
Yamagi Burmeister
b94c471a24 tga in eine eigene Datei 2010-10-21 07:38:33 +00:00
Yamagi Burmeister
7d54bf6e41 PCX in ne eigene Datei 2010-10-21 07:35:45 +00:00
Yamagi Burmeister
56f27f1e3a Scrapping in ne eigene Datei 2010-10-21 07:29:20 +00:00
Yamagi Burmeister
cbbf7a7eee Repariere durch Wände scheinende Lichter teilweise 2010-10-20 11:52:50 +00:00
Yamagi Burmeister
fd6cb0e770 Überarbeite gl_lights.c 2010-10-20 09:15:50 +00:00
Yamagi Burmeister
3373b3bbfa Überarbeite gl_image.c 2010-10-20 09:02:21 +00:00
Yamagi Burmeister
7c3b6fa412 Räume gl_draw.c ein weiteres Mal auf 2010-10-20 08:49:28 +00:00
Yamagi Burmeister
18676a1e7d Formatiere die Shutdown-Nachrichten neu 2010-10-20 06:10:33 +00:00
Yamagi Burmeister
18bac1177a Überarbeite cd.c 2010-10-20 05:59:21 +00:00
Yamagi Burmeister
ca1f64c016 Behebe das Problem, dass CL_Shutdown() rekursiv ein weiteres Mal
aufgerufen wird. Danke an caedes für das entgödeln.
2010-10-19 16:21:02 +00:00
Yamagi Burmeister
09c87ea0cc Reformatiere die Startup Ausgabe 2010-10-19 13:34:08 +00:00
Yamagi Burmeister
0b7a5f23fb Und noch ne Lizenz 2010-10-19 12:47:13 +00:00
Yamagi Burmeister
045eb8dc15 Kommentare für den neuen Code 2010-10-19 12:46:15 +00:00
Yamagi Burmeister
829f986109 Überarbeite das Render-Backend 2010-10-19 12:43:11 +00:00
Yamagi Burmeister
0e7a9957e9 Löse qgl/ und vid/ auf 2010-10-19 09:17:18 +00:00
Yamagi Burmeister
5af05f7d81 Repariere die Cursortasten im Menü 2010-10-19 09:03:27 +00:00
Yamagi Burmeister
c9b7cfb21e Ein wenig mehr aufgeräumt 2010-10-19 08:44:12 +00:00
Yamagi Burmeister
7edacb5638 - Reiße das Clipboard raus, funktionierte eh nicht
- Entferne weiteren toten Code
2010-10-19 08:34:59 +00:00
Yamagi Burmeister
68135136bc Vereinfache den Code ein wenig 2010-10-19 08:30:02 +00:00
Yamagi Burmeister
1807604001 Räume das neue SDL Input Backend auf 2010-10-19 08:25:47 +00:00
Yamagi Burmeister
aabf1567ae Lösche das alte Low Level Input Backend 2010-10-19 07:30:58 +00:00
Yamagi Burmeister
ae415fe03d Verschmelze beide Low Level Input Backends in eine Datei 2010-10-19 07:29:20 +00:00
Yamagi Burmeister
010aa5b498 Ein neues Inputsystem in SDL. Das ist alles noch sehr Alpha... 2010-10-19 07:14:05 +00:00
Yamagi Burmeister
c53b967fb0 Füge misc.c auch wirklich ein 2010-10-18 16:11:09 +00:00
Yamagi Burmeister
baf6349ff1 strlrm() und main() in eine eigene Datei 2010-10-18 16:06:40 +00:00
Yamagi Burmeister
24b4cc5baa Binde den Header korrekt ein 2010-10-18 15:17:31 +00:00
Yamagi Burmeister
f78eb87c3c Bennene posix/ nach unix/ um, da dies irgendwie treffender ist 2010-10-18 15:08:13 +00:00
Yamagi Burmeister
d65849f64d Überarbeite refresh.c 2010-10-18 14:56:30 +00:00
Yamagi Burmeister
d47136eb52 Überarbeite menu.c und reiße den Softrenderermüll raus 2010-10-18 14:23:07 +00:00
Yamagi Burmeister
714f013511 Benenne refresh/ zu qgl/ um 2010-10-18 14:01:34 +00:00
Yamagi Burmeister
d2d760bba3 Verschiebe die Header und das Icon in Unterverzeichnisse 2010-10-18 13:53:10 +00:00
Yamagi Burmeister
5de333d5d9 Räume glwindow.h auf 2010-10-18 13:42:12 +00:00
Yamagi Burmeister
7330801e9e Bennene abi.c in input.c um 2010-10-18 13:37:52 +00:00
Yamagi Burmeister
814f1cc201 Räume abi.c auf 2010-10-18 13:34:35 +00:00
Yamagi Burmeister
bf1cb56842 Ordne posix/ neu 2010-10-18 13:28:14 +00:00
Yamagi Burmeister
e272d1e3e2 Räume posix.h auf 2010-10-18 13:20:57 +00:00
Yamagi Burmeister
9a750b4e4e Bennene posix.c zu hunk.c um 2010-10-18 13:19:17 +00:00
Yamagi Burmeister
1ad221b667 Räume posix.c und system.c auf und fixe einige Abartigkeiten 2010-10-18 13:04:28 +00:00
Yamagi Burmeister
00dd2eb4af Überarbeite glob/ 2010-10-18 07:18:23 +00:00
Yamagi Burmeister
5d2d2ab83b Stopfe ein Speicherleck 2010-10-18 07:11:56 +00:00
Yamagi Burmeister
4c14053424 Überarbeite den low leven network code 2010-10-18 06:31:35 +00:00
Yamagi Burmeister
785af02361 Selten spielte nach "load" OGG nicht. Das ist nun repariert 2010-10-14 07:58:35 +00:00
Yamagi Burmeister
e69506dd19 Stoppe Musik bei disconnect 2010-10-14 07:33:20 +00:00
Yamagi Burmeister
deecd6543c - Copyright und Lizenz eingefügt
- Einige Kommentare
2010-10-14 07:26:09 +00:00
Yamagi Burmeister
7ebccb34d4 - Formatiere Code neu
- Einige Änderungen für mehr Robustheit
- Vereinfache Code und reiße überflüssigen Müll raus
2010-10-14 06:59:42 +00:00
Yamagi Burmeister
ebe4cb1b45 - Formatiere Code neu
- Vereinfache Code
2010-10-14 06:29:53 +00:00
Yamagi Burmeister
90101b4dec - Formatiere Code neu
- Vereinfache Code
2010-10-14 06:23:35 +00:00
Yamagi Burmeister
a8a61f0234 - Vereinfache Code
- Reformatiere
2010-10-14 06:14:35 +00:00
Yamagi Burmeister
2b405405dc - Formatiere neu
- Vereinfache Code
2010-10-14 06:08:10 +00:00
Yamagi Burmeister
86e7ecb0f4 Das SDL Soundbackend komplett reimplementiert. 2010-10-13 21:04:59 +00:00
Yamagi Burmeister
dc930150cf Und noch ein paar Dinge mehr am Sound gemacht 2010-10-13 18:00:39 +00:00
Yamagi Burmeister
f20f8bddf4 Einige fixes für das Soundsystem 2010-10-13 17:07:29 +00:00
Yamagi Burmeister
67ef502a93 - Reduce sounds to 96
- Increase com_maxfps to 120
2010-10-01 16:11:00 +00:00
Yamagi Burmeister
030a5eee08 Verschiebe unzip nach common 2010-09-01 08:58:58 +00:00
Yamagi Burmeister
c2e06a2682 - qcommon.h -> header/common.h
- qfiles.h -> header/files.h
2010-09-01 08:45:26 +00:00
Yamagi Burmeister
858dee9747 Silence a compiler warning 2010-09-01 08:27:44 +00:00
Yamagi Burmeister
c5796a8db1 msg_* in ein eigenes Verzeichnis 2010-09-01 08:25:09 +00:00
Yamagi Burmeister
0636b586d3 Verschiebe com_* in ein eigenes Verzeichnis 2010-09-01 08:17:37 +00:00
Yamagi Burmeister
511aa3bb69 Verschiebe cmd_* in ein eigenes Verezichnis 2010-09-01 08:04:13 +00:00
Yamagi Burmeister
f0f12c0492 cm_* in ein eigenes Verzeichnis 2010-09-01 07:41:37 +00:00
Yamagi Burmeister
a390cc589f Reformat of qfiles.h 2010-09-01 07:32:05 +00:00
Yamagi Burmeister
581389bdee Formatiere qcommon.h neu 2010-09-01 07:15:53 +00:00
Yamagi Burmeister
de3f3d5125 Reformat pmove.c 2010-08-31 14:22:39 +00:00
Yamagi Burmeister
e6052d6a48 Rename net_chan.c to netchan.c 2010-08-31 09:45:59 +00:00
Yamagi Burmeister
a42518434c Reformat of net_chan.c 2010-08-31 09:43:51 +00:00
Yamagi Burmeister
ee120a0bf0 Reformat md4.c 2010-08-31 09:29:06 +00:00
Yamagi Burmeister
a497787aab Add zone.c 2010-08-31 09:21:48 +00:00
Yamagi Burmeister
be13ad94f0 Rename common.c to misc.c 2010-08-31 09:20:26 +00:00
Yamagi Burmeister
d979579d73 Add zone.h 2010-08-31 09:17:42 +00:00
Yamagi Burmeister
a0f1467882 SPlit the zone malloc into an own file 2010-08-31 09:08:30 +00:00
Yamagi Burmeister
88393d6cd6 Header guard for crc.h 2010-08-31 09:07:30 +00:00
Yamagi Burmeister
6379c981f8 SPlit the common argument processing into an own file 2010-08-31 09:03:32 +00:00
Yamagi Burmeister
6c81165985 Split the server side memory management into an own file 2010-08-31 08:58:46 +00:00
Yamagi Burmeister
e72bd4af00 Split the message reading and preprocessing into an own file 2010-08-31 08:52:40 +00:00
Yamagi Burmeister
a3e2a52535 Split the Message IO into an own file 2010-08-31 08:48:11 +00:00
Yamagi Burmeister
2ec78c2df7 SPlit the client/server-stuff into an own file 2010-08-31 08:40:45 +00:00
Yamagi Burmeister
a54576c9ce Rename files.c to filesystem.c 2010-08-31 08:28:51 +00:00
Yamagi Burmeister
e9fe63a98c Move crc.h to the headers and use it 2010-08-31 08:24:54 +00:00
Yamagi Burmeister
b7e402c9a7 Zweite Stufe des Reformat 2010-08-31 08:20:43 +00:00
Yamagi Burmeister
0811be484c Erste Stufe des Cleanup 2010-08-31 07:52:19 +00:00
Yamagi Burmeister
eac7640229 Versionsnummer auf 2.99 2010-08-03 15:21:41 +00:00
Yamagi Burmeister
d5aa0ab0bd Rename the cmd_* stuff once more 2010-08-03 15:15:56 +00:00
Yamagi Burmeister
620ce70ec7 Split cmodel.c into multiple files 2010-08-03 15:12:04 +00:00
Yamagi Burmeister
88c511f270 Spalte cmd.c in Eintzeldateien 2010-08-03 14:06:20 +00:00
Yamagi Burmeister
4cc6b8103d anorms.h in common.c integriert 2010-08-03 13:29:51 +00:00
Yamagi Burmeister
3615d25a51 cmodel.c zuende aufgeräumt 2010-08-03 13:27:02 +00:00
Yamagi Burmeister
6e22db340d Erste Hälfte von cmodel überarbeitet 2010-08-03 12:56:56 +00:00
Yamagi Burmeister
33cae82140 cmd.c überarbeitet 2010-07-14 09:40:11 +00:00
Yamagi Burmeister
cabcc18e97 Entferne das caedes 2010-07-13 19:48:46 +00:00
Yamagi Burmeister
c483dc2c26 Yamagi Q2 Credits 2010-07-13 19:00:16 +00:00
Yamagi Burmeister
0c020c4ee4 Intelligentere Deafults:
rate 8000 ist mehr als ausreichend bei allem, was kein Modem mehr ist.
s_mixahead 0.14 ist besser als 0.2, außer man will ein leichtes soundlag
cl_maxfps auf 60. Das reicht und verhindert bugs
2010-07-13 18:42:12 +00:00
Yamagi Burmeister
b554afa486 Headerguqards für den Client 2010-07-13 18:30:43 +00:00
Yamagi Burmeister
787686a976 Dateiheader neu formatiert und "particles.h" entfernt 2010-07-13 18:19:42 +00:00
Yamagi Burmeister
6fd3a53119 Die Reste vom Joystick entfernt 2010-07-13 18:04:07 +00:00
Yamagi Burmeister
185063f1a9 Voice over Network weitergehend kommentiert 2010-07-13 08:54:23 +00:00
Yamagi Burmeister
c8927b0cee Mehr Sounds 2010-07-13 08:48:09 +00:00
Yamagi Burmeister
afc0a66495 Noch mehr Kommandobackups für shcnelle Maschinen 2010-07-13 08:46:25 +00:00
Yamagi Burmeister
f16ba343cc s_primary war windows only 2010-07-13 08:44:06 +00:00
Yamagi Burmeister
517e0f366c Besser 128 CMD-Backups 2010-06-22 16:06:04 +00:00
Yamagi Burmeister
0c961f00bf CL_ParseMuzzleFlash* zu CL_AddMuzzleFlash* umbenannt 2010-06-22 15:38:09 +00:00
Yamagi Burmeister
7841c910ca Die letzten Header neu formatiert und in Sachen Komponenten aufgeräumt 2010-06-22 15:33:23 +00:00
Yamagi Burmeister
65230953f0 Erster Schritt im Aufräumen des Headers 2010-06-19 19:58:06 +00:00
Yamagi Burmeister
33cae7f36a console.h in ein eigenes Verzeichnis 2010-06-19 19:24:58 +00:00
Yamagi Burmeister
8fc77edad0 qmenu.h in ein eigenes Verzeichnis 2010-06-19 19:21:16 +00:00
Yamagi Burmeister
b73a9c782c Die Input-Header in ein eigenes Verzeichnis 2010-06-19 19:18:14 +00:00
Yamagi Burmeister
9c8a60bba6 keys.c -> keyboard.c 2010-06-19 19:14:38 +00:00
Yamagi Burmeister
c81863ef71 snd_local.h -> header/local.h 2010-06-19 19:10:31 +00:00
Yamagi Burmeister
3007608a22 Benenne snd_ogg.c in snd_vorbis.c um 2010-06-19 19:06:37 +00:00
Yamagi Burmeister
82b038590d Die Sound-Header in ein eigenes verzeichnis 2010-06-19 19:04:39 +00:00
Yamagi Burmeister
8925af9878 Den Wave-Code in eine eigene Datei 2010-06-19 18:59:33 +00:00
Yamagi Burmeister
1c7ef236f9 sound.h reformatiert 2010-06-19 18:54:45 +00:00
Yamagi Burmeister
01e870b794 snd_loc.h umbenannt zu snd_local.h 2010-06-19 18:51:28 +00:00
Yamagi Burmeister
fe587b7148 weitere Dateien des Soundsystems neu formatiert und kommentiert 2010-06-19 17:04:32 +00:00
Yamagi Burmeister
0c4a7d291f snd_dma überarbeitet was die Kommentare und die Formatierung betrifft 2010-06-19 08:47:14 +00:00
Yamagi Burmeister
2d6df87745 Das Menü-System in Sachen Formatierung und Kommentaren aufgeräumt 2010-06-19 08:15:18 +00:00
Yamagi Burmeister
17db361754 das client seitige input-system neu kommentiert und formatiert 2010-06-19 07:35:36 +00:00
Yamagi Burmeister
a80fc2949c Die Konsole in Sachen Formatierung und Kommentaren aufgeräumt 2010-06-19 07:15:35 +00:00
Yamagi Burmeister
179b5d541c cl_inv.c -> cl_inventory.c 2010-06-18 19:49:58 +00:00
Yamagi Burmeister
e1d165b942 Einige Kommentare wieder ein (by caedes) 2010-06-18 19:47:24 +00:00
Yamagi Burmeister
4c6be8421a Zwei Kommentare wieder rein 2010-06-18 18:07:56 +00:00
Yamagi Burmeister
0afa0b8fef Eine Funktion von cl_view.c nach cl_screen.c verschoben 2010-06-18 16:50:27 +00:00
Yamagi Burmeister
852de0452d cl_tent.c zu cl_tempentities.c umbenannt 2010-06-18 16:47:10 +00:00
Yamagi Burmeister
d32f2e60a3 - cl_scrn.c zu cl_screen.c umbenannt
- Einen Header für cl_tent.c
2010-06-18 16:45:44 +00:00
Yamagi Burmeister
cfb7b19620 Einen Header für cl_scrn.c 2010-06-18 16:41:26 +00:00
Yamagi Burmeister
b517aa921a cl_pred.c in cl_prediction.c umbenannt 2010-06-18 16:37:12 +00:00
Yamagi Burmeister
d76da3b2ed cl_pred.c einen Header verpasst 2010-06-18 16:36:15 +00:00
Yamagi Burmeister
d7900e6333 Den Download-Kram aus cl_parse.c nach cl_download.c 2010-06-18 16:34:07 +00:00
Yamagi Burmeister
974aeeea41 cl_newfx.c auf andere Dateien verteilt und entfernt 2010-06-18 16:28:25 +00:00
Yamagi Burmeister
ca2cbd5da6 Den Autodownload-Code in eine eigene Datei 2010-06-18 16:15:33 +00:00
Yamagi Burmeister
286f180e08 Den generischen Netzwerkkram in eine eigene Datei 2010-06-18 16:07:51 +00:00
Yamagi Burmeister
7f27895864 - cl_stereo* endgültig entfernt
- Heute funktionieren TCP-Stacks meist
2010-06-18 15:52:39 +00:00
Yamagi Burmeister
8731796ce1 Ein Dateiheader und die ungenutzten cl_stereo* cvar raus 2010-06-18 15:47:54 +00:00
Yamagi Burmeister
0598956e3e Und noch einen Dateiheader 2010-06-18 15:44:38 +00:00
Yamagi Burmeister
01233dc151 Einen Dateiheader 2010-06-18 15:43:38 +00:00
Yamagi Burmeister
ca7d174d57 Benenne cl_fx.c nach cl_effects.c um 2010-06-18 15:41:29 +00:00
Yamagi Burmeister
04a2137f81 Verschiebe die Partikel aus cl_fx.c nach cl_particles.c 2010-06-18 15:38:54 +00:00
Yamagi Burmeister
5708130e49 Verschiebe generisches Lichthandling aus cl_fx.c in eine eigene Datei 2010-06-18 15:27:55 +00:00
Yamagi Burmeister
0f8b8df645 cl_ents.c nach cl_entities.c umbenannt 2010-06-18 15:16:31 +00:00
Yamagi Burmeister
a9e5b055c2 Einen Dateiheader 2010-06-18 15:14:54 +00:00
Yamagi Burmeister
600c232d1c Entity-Parsing nach cl_parse.c verschoben 2010-06-18 15:12:58 +00:00
Yamagi Burmeister
ca2e9c48e7 cl_view.c neu kommentiert und formatiert 2010-06-18 15:01:18 +00:00
Yamagi Burmeister
7f86a17ddf cl_tent.c neu kommentiert unf formatiert 2010-06-18 14:51:25 +00:00
Yamagi Burmeister
bb0ff2c6f5 cl_scrn.c aufgeräumt und neu durchkommentiert 2010-06-18 14:25:50 +00:00
Yamagi Burmeister
769f15a318 Reformat und Überarbeitung der Kommentare für cl_parse.c 2010-06-18 13:58:31 +00:00
Yamagi Burmeister
3b220229ec cl_newfx.c neu durchformatiert und die Kommentare geprüft 2010-06-18 13:44:08 +00:00
Yamagi Burmeister
e4fcb87983 cl_main.c neu formatiert, die Kommentare aktualisiert und eine Refrenz
auf die Zeit vor SDL entfernt.
2010-06-18 08:33:12 +00:00
Yamagi Burmeister
a463c1e44b cl_inv.c reformat und in Sachen Kommentaren aufgeräumt 2010-06-18 07:48:31 +00:00
Yamagi Burmeister
9aeacdc2be cl_input.d in Sachen Kommentare aufgeräumt 2010-06-17 15:24:17 +00:00
Yamagi Burmeister
f65ec5eff8 Den Zufallsgenerator wieder raus 2010-06-17 15:11:51 +00:00
Yamagi Burmeister
9447523700 rand.c sollte man besser einfügen 2010-06-17 14:35:21 +00:00
Yamagi Burmeister
06099868fb frand() und crand() ersetzt und kleinere änderungen in cl_fx.c 2010-06-17 14:26:04 +00:00
Yamagi Burmeister
f3ce546a5d Neuer mtrand() Zuvallszahlengenerator, welcher wesentlich bessere
Zufallszahlen als der rand() der meisten libc bietet. Nutze ihn gleich
in cl_ents.c und cl_fx.c. Dies macht das Partikelverhalten mehr
Windows-Like
2010-06-17 13:49:19 +00:00
Yamagi Burmeister
1d278afff0 Ein überflüssiges Makro weg 2010-06-17 12:38:53 +00:00
Yamagi Burmeister
aba2082afa cl_fx.c in Sachen Kommentaren aufgeräumt und sauber kommentiert 2010-06-17 07:17:09 +00:00
Yamagi Burmeister
6669ab3643 strtok ist seit Jahren durch strsep ersetzt. Es ist schneller und
besser.
2010-06-17 06:59:33 +00:00
Yamagi Burmeister
d84f0fce34 Noch zwei tabs entfernt 2010-06-17 06:27:32 +00:00
Yamagi Burmeister
7fdd07f51e In cl_ents.c die Kommentare und die Formatierungen aufgeräumt 2010-06-17 06:24:27 +00:00
Yamagi Burmeister
d6eabc3ccf Das Konzept der Schleife macht den Code lesbarer. Dies ist keine
funktionale Änderung
2010-06-17 05:52:57 +00:00
Yamagi Burmeister
a43af52578 Kommentare und Formatierung von cl_cin aufgeräumt 2010-06-17 05:43:01 +00:00
Yamagi Burmeister
95586850e4 -DBROKEN_GL durch ein CVar ersetzt 2010-05-22 06:58:09 +00:00
Yamagi Burmeister
ab803809ee Erhöhe Versionsnummer auf 2.11 2010-02-20 08:13:09 +00:00
Yamagi Burmeister
91b84e1aac Einen Nullpointer-Check auf den Skin. Fixt einen Crash in rogue, wenn
Dateien fehlen.
2010-02-20 07:48:37 +00:00
Yamagi Burmeister
be1c483597 Behebt einen ekligen crash unter Ubuntu. 2010-02-19 20:53:55 +00:00
Yamagi Burmeister
19c63a4903 Fixe Blendings und Kickangles. Ein Wunder, dass diesen seit letztem März
vorhandenen Bug niemand gefunden hat.
2010-02-02 19:58:52 +00:00
Yamagi Burmeister
66725c11e5 Allways Run ist nicht überschreibbar -> also zurück
freelook muss auch dem renderer beigepult werden
2010-02-01 15:23:57 +00:00
Yamagi Burmeister
413ed9f6d1 Freelook und Always Run in Standardeinstellung ein 2010-02-01 15:10:50 +00:00
Yamagi Burmeister
c7d5882fe1 22kHz Sound als Standardeinstellung 2010-02-01 15:09:47 +00:00
Yamagi Burmeister
bdc0d76219 32 Bit Texturen als Standard 2010-02-01 15:04:46 +00:00
Yamagi Burmeister
976c3f371c Es ist OpenGL 1.4 2010-02-01 15:00:45 +00:00
Yamagi Burmeister
e6d371bd9d Wenn Video auf Video folgt, wie z.B. beim Start von Xatrix, kann es bei
Abbruch des ersten Videos dazu kommen, dass 2 Videos parallel laufen.
Das ist extrem PITA, daher immer wenn geladen wird das Video abbrechen.
2010-02-01 14:56:34 +00:00
Yamagi Burmeister
c13b2f9bbe Ein zu kleines array gefixt :/ 2010-02-01 12:55:06 +00:00
Yamagi Burmeister
c3dcd1c1fa Behebt einen Absturz beim Levelwechsel, wenn zuvor OGG/Vorbis
deaktiviert wurde.
2010-01-28 21:11:46 +00:00
Yamagi Burmeister
0c127815f2 Der gleiche cl_gun == 2 und fov > 91 Fix wie im Hauptspiel für CTF und
beide Addons.
2010-01-28 20:59:40 +00:00
Yamagi Burmeister
bcdd802eca Wenn cl_gun == 2, zeige die Waffe nicht, selbst wenn das fov > 91 ist.
Extra für caedes :P
2010-01-28 20:49:03 +00:00
Yamagi Burmeister
a0b35be8b7 No-Op Änderung, entfernt nur sinnlosen Code. Gesehen von caedes 2010-01-28 16:56:29 +00:00
Yamagi Burmeister
37741b756c Fixe einen Bug, der beim Aufräumen des Icculus-Source von mir eingebaut
wurde. Diese Zeile war dort kommentiert, wurde von mir aber
unkommentiert, wahrscheinlich ein Flüchtigkeitsfehler. Durch sie wurde
versucht in eine Animation zu springen, die kein Einsprungspunkt ist. Er
wartete ewig auf das Beenden der Animation, der Gegner deadlockte.
Dieser Bug ist auch in Xatrix enthalten.
2010-01-28 11:08:10 +00:00
Yamagi Burmeister
7fbe1e6a24 Wenn eine Datei nicht gefunden wurde, schmieren wir nicht ab.
Stattdessen ignorieren wir dies erst einmal, geben die Fehlermeldung und
laufen in Rihe weiter.
2010-01-27 19:20:18 +00:00
Yamagi Burmeister
ffd7ff5bb9 Speicher ist billig. Daher viel, viel, viel mehr Filehandles, um das
Problem mit "out of range" endlich totzuschlagen.
2010-01-27 14:29:14 +00:00
Yamagi Burmeister
eb96b14262 Wenn ~/.quake2 nicht existiert, legen wir es an. Dies ist eine
Regression, die in 2.00 eingefügt wurde. Ohne Verzeichnis speichert er
schlicht nicht und das ist nicht gut.
2010-01-18 15:08:21 +00:00
Yamagi Burmeister
d59744effc windowed_mouse_always gibt mit 0 immer frei, bindet mit 1 immer und
arbeitet mit 2 nun automagisch
2010-01-09 08:23:36 +00:00
Yamagi Burmeister
2a82db9509 windowed_mouse_always zum permanenten Freigeben der Maus 2010-01-08 16:05:18 +00:00
Yamagi Burmeister
315f07cae7 Benenne _windowed_mouse und windowed_mouse um 2010-01-08 15:47:16 +00:00
Yamagi Burmeister
62a82f103d Die Modeliste einmal neu geordnet. Verlangt u.U. eine neue Config, aber
ist das mein Problem?!
2010-01-08 15:38:19 +00:00
Yamagi Burmeister
7f20626edb Menüsupport für caedes r_mode -1 2010-01-08 15:22:49 +00:00
Yamagi Burmeister
f6f5fd88a4 Update 2010-01-08 14:46:17 +00:00
Yamagi Burmeister
cea384c8f5 caedes Patch für freie Auflösungswahl. Läuft noch nicht. 2010-01-08 14:19:29 +00:00
Yamagi Burmeister
6c689a2f3f _windowed_mouse muss an den Renderer übergeben werden können 2010-01-05 12:10:18 +00:00
Yamagi Burmeister
5f94e1186c Versionsnummer auf 2.10 2010-01-05 11:54:56 +00:00
Yamagi Burmeister
c1094db726 Unlocke die Maus, wenn Konsole offen 2010-01-05 11:53:59 +00:00
Yamagi Burmeister
588db0e4cd Deutlich mehr Filehandles, dies sollte sporadische Abstürze der Spiele
und Mods verhindern. Sie benötigten mehr, als wir boten.
2010-01-05 08:56:58 +00:00
Daniel Gibson
76e767cb3d Standardmäßig libGL.so.1 statt libGL.so nutzen. 2009-11-21 11:07:08 +00:00
Yamagi Burmeister
2a96ab56b9 Ein logkfehler. 1 ist falsch, es muss loop heißen 2009-10-28 16:31:07 +00:00
Yamagi Burmeister
0be2be20f1 64 statt maximal 32 Dateien. Brauchen wir für Zaero 2009-10-06 16:02:02 +00:00
Yamagi Burmeister
de3268494c Einen Hack für kaputte Mesa-Installationen 2009-10-06 15:17:45 +00:00
Yamagi Burmeister
afce443234 Die "Playing $file" Meldung weg. Sie nervt 2009-10-06 15:12:06 +00:00
Yamagi Burmeister
b8bdcfb342 Version hoch auf 2.00 2009-10-04 14:00:56 +00:00
Yamagi Burmeister
56db1f4bfa So, Mausgreifen funktioniert 2009-10-04 13:46:52 +00:00
Yamagi Burmeister
f5b5514568 hardwaregamma geht nun 2009-10-04 13:37:37 +00:00
Yamagi Burmeister
8ef2d63866 Erlaube die Anzeige der Waffe im Widescreen-Mode und mache dies Default 2009-10-04 12:32:44 +00:00
Yamagi Burmeister
9543454fd8 Makefile überarbeitet
Neue README
2009-10-04 12:20:37 +00:00
Yamagi Burmeister
12146ebd76 Und OpenGL Palette raus. Kaum eine Grafikkarte hat noch ne
Hardwarepalette. War auch nur von Icculus eingefügt worden.
2009-10-04 10:58:42 +00:00
Yamagi Burmeister
6a901a2baa BROKENGL um GL_EXT_point_parameters ist nun unnötig, da
Mesa3D den Bug behoben hat
2009-10-04 10:30:03 +00:00
Yamagi Burmeister
4b896d104e Den Multitexture-Krams raus. Das wurde von Icculus reingefrickelt und
funktionierte eh nie wirklich. Sprich, war mit -DBROKENGL abgeschaltet
2009-10-04 10:27:55 +00:00
Yamagi Burmeister
1538852650 Eine Warnungen ruhiggestellt 2009-10-04 09:42:02 +00:00
Yamagi Burmeister
09d0000fa9 Savegames-Menü geht wieder 2009-10-04 09:34:29 +00:00
Yamagi Burmeister
e4818d35d5 Speichern funktioniert nun wieder. Das Menü spinnt aber noch 2009-10-04 09:26:46 +00:00
Yamagi Burmeister
7fdf2a7c4d Weitere Filesystem-Fixes 2009-10-04 08:10:43 +00:00
Yamagi Burmeister
18fd45bb82 Warnings ruhiggestellt 2009-10-04 07:06:21 +00:00
Yamagi Burmeister
21168ea8ed Noch einige Bugs durch das neue Dateisystem behoben 2009-10-04 06:57:04 +00:00
Yamagi Burmeister
e39af72d14 Bugfixes, damit die Demos wieder gehen. Kommt morgen noch mehr nach. 2009-10-03 17:26:02 +00:00
Yamagi Burmeister
a417bed9fc Config aus dem Home einlesen 2009-10-03 16:37:41 +00:00
Yamagi Burmeister
137c9ce5d7 Man sollte auch alle Dateien mergen... 2009-10-03 16:08:34 +00:00
Yamagi Burmeister
b6f5dadf4c Merge in den Trunk:
- OGG/Vorbis Support
 - pk3 Support (ungetestet)
2009-10-03 16:06:45 +00:00
Yamagi Burmeister
caa63853c3 - Linux CD Patch by caedes
- Bump auf 1.05
2009-06-14 16:00:34 +00:00
Yamagi Burmeister
9e865704fa Versionbumb 2009-06-08 16:07:56 +00:00
Yamagi Burmeister
3185425b4a Diese Datei war anscheinend einfach beim Reorganisieren vergessen worden 2009-06-08 15:37:34 +00:00
Yamagi Burmeister
058d8de80f So, auch der Fallout des Umbennens des Spiels ist nun behoben 2009-04-10 13:39:58 +00:00
Yamagi Burmeister
1afe9624e0 OK, das Spiel umbenannOK, das Spiel umbenanntt 2009-04-10 13:35:30 +00:00
Yamagi Burmeister
26d79b1eba OK, baut wieder 2009-04-10 13:33:15 +00:00
Yamagi Burmeister
a14f184058 OK, Umbenennung, zweiter Schritt 2009-04-10 13:11:49 +00:00
Yamagi Burmeister
26d1d98122 posix/sdl nach sdl verschoben 2009-04-10 12:59:47 +00:00
Yamagi Burmeister
327c0352d2 Einen üblen Soundcrash entfernt 2009-03-10 20:29:15 +00:00
Yamagi Burmeister
674b138af9 Nummer 1.02 2009-03-10 17:37:46 +00:00
Yamagi Burmeister
0505ea55a9 Der Sound soll auch ohne rumeditieren mit Alsa laufen 2009-03-10 17:36:01 +00:00
Yamagi Burmeister
6e2f0cd5c1 Buildfix für Linux 2009-03-10 16:52:46 +00:00
Yamagi Burmeister
f08984684d Dies ermöglicht es Spiele auch unter i386 zu starten 2009-03-10 16:02:05 +00:00
Yamagi Burmeister
84032eee3d OK, dies ist dann hoffentlich die final : 2009-03-09 18:04:50 +00:00
Yamagi Burmeister
e7b1488f74 Spielmode hard+ ins Menü gepackt 2009-03-09 17:46:56 +00:00
Yamagi Burmeister
5fd890afb4 Ein letzter Cleanup 2009-03-09 17:23:18 +00:00
Yamagi Burmeister
e57d94a3fe Renderstring angepasst 2009-03-09 17:18:29 +00:00
Yamagi Burmeister
273995acad CTF ist nun aufgeräumt 2009-03-09 17:12:35 +00:00
Yamagi Burmeister
a7e02622ba OK, nun funktioniert CTF auch 2009-03-09 16:37:47 +00:00
Yamagi Burmeister
5b2431ad95 So, das Spiel baut nun fehlerfrei und ist fertig :) 2009-03-09 15:46:42 +00:00
Yamagi Burmeister
09775372f9 Zweiter Teil des r1q2-Schmansch 2009-03-09 15:05:11 +00:00
Yamagi Burmeister
98da72c23e r1q2-gamefixup, erster teil 2009-03-09 14:33:49 +00:00
Yamagi Burmeister
ed9b900d03 Spiel weiter aufgeräumt 2009-03-06 17:00:49 +00:00
Yamagi Burmeister
6e1348ca8b Erster Teil des Game-Cleanup 2009-03-05 19:59:49 +00:00
Yamagi Burmeister
4dbc8439a2 Capture the Flag Source eingefügt 2009-03-05 16:37:26 +00:00
Yamagi Burmeister
feb7865fca Quake II Spiel baut nun 2009-03-05 16:34:42 +00:00
Yamagi Burmeister
3456cf24cf - Support für SUN Solaris ist raus
- -DOPENGL ist tot
2009-03-05 15:37:46 +00:00
Yamagi Burmeister
6b265935f9 Windows Support rausoperiert 2009-03-05 15:33:31 +00:00
Yamagi Burmeister
70c91952ae Im Menü ist der Softwaremode nicht mehr auswählbar 2009-03-05 15:26:46 +00:00
Yamagi Burmeister
08d6d32591 Den Softrenderer nicht mehr beachten 2009-03-05 15:14:43 +00:00
Yamagi Burmeister
112cb48660 Erster Versuch das Rendermenü anzupassen 2009-03-05 15:03:56 +00:00
Yamagi Burmeister
0b97c8a113 Support für Softrenderer entfernt 2009-03-05 14:57:36 +00:00
Yamagi Burmeister
f1bbae900e Grundlegende Restrukturierung des Renderer-Code 2009-03-05 14:51:44 +00:00
Yamagi Burmeister
0453361bbc Renderer aufgeräumt 2009-03-05 13:08:47 +00:00
Yamagi Burmeister
9f7cd534ff Ersten Teil des Renderers aufgeräumt 2009-03-05 12:42:43 +00:00
Yamagi Burmeister
3f8d6e2dd7 Den Plattformabhängigen Teil des Renderes aufgeräumt 2009-03-05 12:22:54 +00:00
Yamagi Burmeister
6d09a9fbbf -DBROKEN_GL Flag eingebaut 2009-03-05 11:55:47 +00:00
Yamagi Burmeister
f789e1178b Und nun die Render-ABI 2009-03-05 11:45:23 +00:00
Yamagi Burmeister
ea7a8549f2 OK, etwas reorganisation 2009-03-05 11:06:52 +00:00
Yamagi Burmeister
b379ca57c7 Nun baut der Mist 2009-03-05 11:03:08 +00:00
Yamagi Burmeister
6e446955f8 Ein erster Schritt in Richtung eines bauenden Renderers 2009-03-05 09:47:10 +00:00
Yamagi Burmeister
d2435d0c2f Den Code des Icculus OpenGL Renderer eingefügt 2009-03-05 09:07:55 +00:00
Yamagi Burmeister
871936b72a Eine Umbenennung, bau nun mit -Werror 2009-03-05 09:03:26 +00:00
Yamagi Burmeister
533590e384 Versionbump :) 2009-03-04 16:44:47 +00:00
Yamagi Burmeister
675192bd21 Damit ist - bis auf einen Testlauf - das Aufräumen
des Clients und Server für POSIX beendet
2009-03-04 16:24:55 +00:00
Yamagi Burmeister
7784426a43 Den rest von Linux aufgeräumt 2009-03-04 16:15:53 +00:00
Yamagi Burmeister
e5594a69ed Weitere Umbenennungen, einige Dateien
aufgeräumt
2009-03-04 16:04:40 +00:00
Yamagi Burmeister
1f5cc55e76 posix.c aufgeräumt 2009-03-04 15:56:39 +00:00
Yamagi Burmeister
72ffefd940 q_shlinux.c in posix.c umbenannt 2009-03-04 15:53:41 +00:00
Yamagi Burmeister
e1b8aed4c8 Verzeichnisstruktur angepasst 2009-03-04 15:50:05 +00:00
Yamagi Burmeister
ef896a4ebd Einige Dateien des Linux-Ports aufgeräumt 2009-03-04 15:36:32 +00:00
Yamagi Burmeister
7e1778b106 Dedicated-Client Trennung ist nun bis auf den
plattformabhängigen Teil beendet
2009-03-04 15:24:29 +00:00
Yamagi Burmeister
c2bb9ccc32 Neue Makefile und ein vergessenes Ding gefixt 2009-03-04 15:12:31 +00:00
Yamagi Burmeister
2ce739fde8 So, nun auch der Common-Teil auf die Trennung
von Server und Client vorbereitet
2009-03-04 14:29:56 +00:00
Yamagi Burmeister
2bcdff7d54 Und die letzte Warnung raus 2009-03-04 13:52:49 +00:00
Yamagi Burmeister
9c3b11561e Machen wir es ein wenig eindeutiger 2009-03-04 13:48:28 +00:00
Yamagi Burmeister
ea789d8d97 Ein Teil der Arbeit, um den Dedicated Server ohne
Client bauen zu können
2009-03-04 13:41:07 +00:00
Yamagi Burmeister
106e62f78a iDas Netzwerkprotokoll repariert 2009-03-04 13:13:00 +00:00
Yamagi Burmeister
f60b40b4a3 "Index: overflow" Error beseitigt 2009-03-04 13:06:17 +00:00
Yamagi Burmeister
71d8526080 Crashfix :D 2009-03-04 13:01:55 +00:00
Yamagi Burmeister
95e2727f60 sv_world aufgeräumt 2009-03-04 12:50:40 +00:00
Yamagi Burmeister
7746edd0e4 sv_user aufgeräumt 2009-03-04 12:17:42 +00:00
Yamagi Burmeister
916afa9532 icl_send aufgeräumt 2009-03-04 11:53:52 +00:00
Yamagi Burmeister
bb096c3bf1 sv_game aufgeräumt 2009-03-04 11:42:41 +00:00
Yamagi Burmeister
b87710666d sv_init aufgeräumt 2009-03-04 11:13:16 +00:00
Yamagi Burmeister
593fae8d6b sv_game aufgeräumt 2009-03-04 10:36:26 +00:00
Yamagi Burmeister
a12b0b4e87 Server Entities repariert 2009-03-04 09:54:44 +00:00
Yamagi Burmeister
1ff18a81e8 sv_ccmds.c gefixt 2009-03-04 09:38:39 +00:00
Yamagi Burmeister
310cf9ee77 Zwei Warnungen durch Casts behoben. Damit bauen Client und
Common nun mit -Werror durch.
2009-03-04 09:03:08 +00:00
Yamagi Burmeister
fc95927daa Hier war es keine gute idee die PARANOID checks zwingend
zu machen. Also raus damit.
2009-03-04 08:54:06 +00:00
Yamagi Burmeister
2ab3f2d12c cmodel.c war kaputt. 2009-03-04 08:49:16 +00:00
Yamagi Burmeister
4865a9679e Und die QFiles 2009-03-03 20:07:32 +00:00
Yamagi Burmeister
b2a69d0795 Mehrere Dateien aufgeräumt 2009-03-03 19:24:19 +00:00
Yamagi Burmeister
fa00a0b699 cvar aufgeräumt 2009-03-03 18:47:33 +00:00
Yamagi Burmeister
7680cdb4e4 icommon.c aufgeräumt 2009-03-03 18:31:15 +00:00
Yamagi Burmeister
8a85550ea7 Client Models durchgesehen 2009-03-03 18:03:19 +00:00
Yamagi Burmeister
78f5147161 cmd.c aufgeräumt 2009-03-03 17:51:37 +00:00
Yamagi Burmeister
b66c5ba461 Kleinere Fixes 2009-03-03 17:38:06 +00:00
Yamagi Burmeister
05e630158a Dateien des Clients neu angeordnet 2009-03-03 13:43:32 +00:00
Yamagi Burmeister
69d3d61d5f Bug (Überlauf?!) in der Konsole behoben 2009-03-03 12:48:32 +00:00
Yamagi Burmeister
11758fa473 Den sowieso nur noch optionalen Assemblercode rausgeschmissen.
Heutige Computer sind alle so schnell, dass der Gewinn nahe Null
sein dürfte. Vielleicht ist er durch bessere Compiler sogar
negativ. Außerdem ist der Krams nicht portabel, er läuft
nur unter Winows auf i386 CPUs.
2009-03-03 11:42:37 +00:00
Yamagi Burmeister
5ddc0f5fab snd_mix.c aufgeräumt 2009-03-03 11:32:55 +00:00
Yamagi Burmeister
5c221e74c0 snd_mem.c aufgeräumt 2009-03-03 11:12:26 +00:00
Yamagi Burmeister
1c161a9930 sind_dma.c aufgeräumt 2009-03-03 11:00:08 +00:00
Yamagi Burmeister
ca7ab15c1c qmenu aufgeräumt 2009-03-03 10:34:25 +00:00
Yamagi Burmeister
4095d26cb6 Das Menü aufgeräumt 2009-03-03 10:04:07 +00:00
Yamagi Burmeister
e2517990b7 iKeyhandler repariert 2009-03-03 08:53:33 +00:00
Yamagi Burmeister
21378405a0 Hatten wir doch glatt nenn Overflow drin *hust* 2009-03-03 00:20:21 +00:00
Yamagi Burmeister
a0c41046ae q_shared.h zurückrollen 2009-03-03 00:18:16 +00:00
Yamagi Burmeister
9ff8b0c6e4 Nun q_shared-c zurückrollen 2009-03-03 00:17:07 +00:00
Yamagi Burmeister
e9889d363a Das Ausrichten war eklig, aber nun gehts alles :) 2009-03-03 00:02:39 +00:00
Yamagi Burmeister
8b459392e9 iNächster Version der Uhrzeit 2009-03-02 23:42:57 +00:00
Yamagi Burmeister
7d1abd30a9 Jaja, es ist spät 2009-03-02 23:21:55 +00:00
Yamagi Burmeister
01ce24b755 Ein Versuch ne Uhr in die Konsole zu bekommen 2009-03-02 23:20:48 +00:00
Yamagi Burmeister
6ee69efa1e So, cl_view beendet 2009-03-02 22:53:33 +00:00
Yamagi Burmeister
2d16edd841 cl_view Grundaufräumarbeiten 2009-03-02 22:27:59 +00:00
Yamagi Burmeister
ccd0d1b8b2 Dies Gefummel mit "invalid baselines" behoen 2009-03-02 22:23:23 +00:00
Yamagi Burmeister
9d8dbb94d2 Das war ein wenig viel des Guten, nun tut es 2009-03-02 22:13:15 +00:00
Yamagi Burmeister
73b70ecb62 Temporäre cliententities aufgeräumt 2009-03-02 21:39:50 +00:00
Yamagi Burmeister
b26cfcf31c Schauen wir mal die dumme Konsole in die Pötte zu bekommen 2009-03-02 20:50:59 +00:00
Yamagi Burmeister
9f3c237bcc Screenhandler ausgebessert 2009-03-02 20:41:42 +00:00
Yamagi Burmeister
15eb33d9d4 OK, die erste Fassung des Screenhandlers 2009-03-02 20:09:10 +00:00
Yamagi Burmeister
3ef53c4e6b Prediction-Code aufgeräumt 2009-03-02 19:27:04 +00:00
Yamagi Burmeister
6ca313230f cl_parser aufgeräumt 2009-03-02 18:42:57 +00:00
Yamagi Burmeister
61b0a4c456 Mit dieser kleinen Aenderung koennen wir hoffentlich wieder Maps laden 2009-03-02 18:16:46 +00:00
Yamagi Burmeister
edc384973f cl_newfx.c beendet 2009-03-02 18:08:59 +00:00
Yamagi Burmeister
e78381ea17 Erste Stufe des Aufräumens von cl_newfx.c 2009-03-02 17:28:25 +00:00
Yamagi Burmeister
b45c62dbbc Das Inventar aufgeräumt 2009-03-01 21:56:05 +00:00
Yamagi Burmeister
958586f909 So, das Ding nun noch aufgeräumt 2009-03-01 21:50:16 +00:00
Yamagi Burmeister
a88f51c34c Zurück auf Icculus 2009-03-01 21:23:46 +00:00
Yamagi Burmeister
5a86784a95 Ein Versuch cl_input zu modernisieren 2009-03-01 21:06:44 +00:00
Yamagi Burmeister
e548206c18 Den Entityhandler überarbeitet 2009-03-01 11:40:49 +00:00
Yamagi Burmeister
92f0046ad6 cl_fx.c aufgeräumt 2009-02-28 18:07:02 +00:00
Yamagi Burmeister
88f5c7cfdd cl_ent.c aufgeräumt. Dazu Bugfixes aus r1q2 übernommen
und etliche potentielle Typenfehler behoben
2009-02-28 17:39:51 +00:00
Yamagi Burmeister
5ee8f8909c Überflüssige Zeile entfernt 2009-02-28 16:22:35 +00:00
Yamagi Burmeister
80c4bf995b Der Versuch den Icculus Quake II Client einmal aufzuraeumen.
Bei dieser initialen Version handelt es sich um den blanken
Client ohne Renderer und Server und Spiele. Ueberfluessige
Sourcedateien wurden geloescht, einige Dateien so verschoben,
dass sich eine sinnvolle Verzeichnisstruktur ergibt. Zudem wurde
eine neue Makefile erstellt.
2009-02-28 14:41:18 +00:00