Commit graph

3473 commits

Author SHA1 Message Date
Jaime Moreira
7b5f80cfc4 Rumble effects readjusted
Player pain slightly downplayed
Ambient effects can be felt from further distance
2022-11-03 15:39:00 -03:00
Jaime Moreira
1ec0a28369 Disconnecting controller hides haptic slider
CenterPrint messages must be 40 characters or lower
2022-10-24 23:46:39 -03:00
David CARLIER
0bc3ac6079 va little signature change 2022-10-23 22:27:39 +01:00
Denis Pauk
c890e59aaa Reset to default font settings instead white on black 2022-10-23 22:44:30 +03:00
Denis Pauk
66d0751caf Linux: Add color output for console
Usecase: show map name on level load.

Add colorterminal cvar for disable.

xfce4-terminal has:
 * TERM=xterm-256color
 * COLORTERM=truecolor
2022-10-23 22:44:30 +03:00
Jaime Moreira
303a627d10 Rumble workaround for SDL audio backend
Cache length is different from OpenAL, it must be greatly reduced for
a proper length to be used as the duration of the rumble effect.
2022-10-23 12:06:55 -03:00
Jaime Moreira
5a22720735 Controller Rumble / force feedback
Replaces classic "haptic" implementation, no longer available for
game controllers as of SDL 2.0.14.
2022-10-23 12:05:06 -03:00
Jaime Moreira
5c560039d8 Pause when controller is disconnected
Controller battery warnings added
2022-10-23 11:48:07 -03:00
Yamagi
1a450ef23d Add some more alignement to the video menu.
It looks better this way and is more in line with the other menus.
2022-10-23 14:56:04 +02:00
Yamagi
eab0f90289
Merge pull request #915 from devnexen/renderer_new_options
gl3/gl3es renderer display intensity/colorlight sub options.
2022-10-23 14:54:44 +02:00
Yamagi
871292934d Work around wrong palette after skiping cinematic whith developer 1.
Quake II has two palettes. One static palette used for the world and one
dynamic palette used by cinematics. Switching from the cinematic back to
the world palette is handled by putting up the loading plaque. Since a
cinematic always ends with loading somehting else this generally works.

Unfortunatly setting `developer 1` skips the loading plaque. The palette
never gets reset and the world looks like a bad LSD trip. ;) A correct
fix is complicated, because the loading plaque logic is messed up and
working by luck. Reworking the logic has a high propability breaking
corner cased exploited by mods.

Therefor take the easy route and uncoditionally switch to the world
palette when bringing up the loading plaque with `developer 1`.

Closes #925.
2022-10-23 14:50:47 +02:00
David Carlier
1a8f05b3ca gl3/gl3es renderer display intensity/colorlight sub options. 2022-10-22 21:19:28 +01:00
Daniel Gibson
690e46512e Restore stair step smoothing code for step sizes != 16
commit 93e9633382 "Port step smoothing code from r1q2." ported
r1q2 stair step smoothing for ranges that are equivalent to 8, 12 and 16
units/step.
Later in commit 7f996cc "Don't smooth half height steps" we removed
step sizes 8 and 12, because it appeared to make an elevator in hangar2
(over the water, after jump'n'run sequency) stutter.
However, in reality what made them stutter was the broken comparison
for velocity with an illegal cast, that we later fixed in
e30f82494 "Don't cast the array itself but it's content."

So now restore the smoothing for step sizes 8 and 12, which hopefully
fixes bug #923, and definitely does *not* break the elevater in hangar2.
2022-10-22 17:09:49 +02:00
Yamagi
898b87f0f4
Merge pull request #908 from 0lvin/shared_model_load
Shared model load
2022-10-19 18:58:29 +02:00
Yamagi
bd97725a3d Fix savegame backward compatibility after cfb86ac.
The steps when loading a savegame are:

1. The server loads the map.
2. Loading the map spawns all entities, i.e. their spawn func is called.
   This loads the models, precaches the sounds, etc.
3. The savegame is loaded and all the entities in the edict are replaced
   by the entities read from game.ssv.

When the monster footstep sound were added in cfb86ac, new sounds were
added to the spawn functions of most monster entities. This alters the
sound indices of all sounds precached at a later time. When a savegame
from an older version is loaded, the entities read from game.svv still
reference the old sound indices. This leads to the wrong sound getting
played.

Work around this by lazy loading the footstep sounds. Instead of loading
(precaching) them in the spawn function, load them at their first use.
This has the nice side effect of preventing the "missing sound" messages
when running without the footsteps.pkz file in baseq2/. It might lead to
short stuttering when the sound is played for the first time, though.

Closes #917.
2022-10-18 07:40:47 +02:00
Denis Pauk
b628fa9133 Share Mod_ReLoadSkins for reload images on model load 2022-10-17 22:43:40 +03:00
Denis Pauk
b2e8fbb086 Use quake style for types naming 2022-10-17 22:43:40 +03:00
Denis Pauk
f6e4f17c0a Mod_Load*: use pointer to image find 2022-10-17 22:43:40 +03:00
Denis Pauk
1dc617dee6 Mod_LoadMD2: Set max/min 2022-10-17 22:43:39 +03:00
Denis Pauk
e01e5273f8 {gl1,gl3,soft}_model.c fix const parameters 2022-10-17 22:43:39 +03:00
Denis Pauk
ae13c7e034 Share MD2/SP2 files 2022-10-17 22:43:39 +03:00
Yamagi
caab3864c6
Merge pull request #921 from BjossiAlfreds/ogg
Fixed ignoretrack0 and ogg menu option bugs
2022-10-16 18:57:35 +02:00
Yamagi
0b41a83410
Merge pull request #919 from protocultor/playerskins
Fix for crash with long player skin name
2022-10-16 18:57:16 +02:00
Jaime Moreira
f0d985dfb9 Deleted unneeded string terminators
Redundant after the usage of Q_strlcpy
2022-10-15 10:41:38 -03:00
Jaime Moreira
cc45e20bac Replaced strncpy with Q_strlcpy 2022-10-12 14:53:33 -03:00
BjossiAlfreds
e1efbecc82 Fixed ignoretrack0 and ogg menu option bugs 2022-10-12 13:42:48 +00:00
Jaime Moreira
7ca0ba4c11 Allows controller to select skin in menu 2022-10-11 17:13:26 -03:00
Jaime Moreira
b96734b9ee Skin names can have a length of 32 total
Fixes crash when entering "multiplayer" -> "player setup" menu with a skin name len > 16
Fixes "playermodels" cmd, which showed "(null)" as a final skin for every model
2022-10-11 16:58:44 -03:00
Yamagi
72ec12f8df Fix two 'comparison will always be false' warnings:
* Check the return value for `_wfullpath()`, not the returned pointer.
* Check first byte of char array, not the array itself.
2022-10-09 11:21:21 +02:00
Yamagi
658b6543ed Add fotosteps.pkz to the filelist. 2022-10-09 11:05:42 +02:00
Yamagi
4648f1f520
Merge pull request #914 from protocultor/ordered
Mods ordered by priority in menu
2022-10-09 10:50:25 +02:00
Yamagi
c5e87f5c74 Update the URL for the retexturing pack. 2022-10-09 10:47:23 +02:00
Yamagi
f03906e91f Explain were to get the optional monster footsteps assets from. 2022-10-09 10:46:49 +02:00
Yamagi
805ffac105 Give a hint that the GOG music track need a capital T on Unix.
Because Linux and Unix are case sensitive. Second half of #877.
Closes #877.
2022-10-09 10:21:23 +02:00
Yamagi
2780bf41ee Add a warning that addons need their own game.dll.
First half of #877.
2022-10-09 10:19:22 +02:00
Jaime Moreira
5c7bf732df Player skins in menu sorted alphabetically
Mods in menu are now ordered: baseq2, xatrix, rogue, ctf, the rest
2022-10-08 17:21:50 -03:00
Yamagi
746f5ad21e
Merge pull request #913 from devnexen/sdl_windowmin_pause
pause the game when window is minimized.
2022-10-08 19:44:24 +02:00
David Carlier
9298c3abc8 pause the game when window is minimized.
closes #911
2022-10-08 18:03:03 +01:00
Yamagi
75f7f7092e The always_inline does not inline the function...
...it just forces inline functions to be inlined, regardless of
restrictions.
2022-10-08 17:02:43 +02:00
Yamagi
66dcc8edf3
Merge pull request #898 from devnexen/sdl_cpupauseinstr
Sys_CpuPause uses the new SDL_CPUPauseInstruction macro if available.
2022-10-08 16:37:23 +02:00
Daniel Gibson
4d6bdcc853 If CM_LeafCluster() returned -1, don't use that as array index, fix #894
It seems to return -1 if the leaf is in the void; sometimes it
also seems to happen when you're just close to a wall, maybe due to
(mis)prediction.
ASan complains about this, but in practice it probably can't cause
issues, as the byte left to the mask array (from CM_ClusterPVS() or
CM_ClusterPHS()) will either belong to another global variable or
padding between them. Fixed it anyway.
2022-10-08 16:34:28 +02:00
Yamagi
d29e551773 Remove work around for msys2 / mingw64 not setting CC.
This was a upstream bug which has been resolved long ago. Closes #901.
2022-10-08 16:29:59 +02:00
Yamagi
434bc90fbb
Merge pull request #909 from BjossiAlfreds/collision
Prevent dead bodies from obstructing elevators
2022-10-08 15:32:23 +02:00
Yamagi
386f16ccbd
Merge pull request #907 from BjossiAlfreds/labupd
Fixed some more minor bugs in Research Lab
2022-10-08 15:26:03 +02:00
Yamagi
0b67676535
Merge pull request #906 from BjossiAlfreds/powercubes
Fix coop power cube related bugs
2022-10-08 15:24:40 +02:00
Yamagi
87e9db15a3
Merge pull request #904 from BjossiAlfreds/splashes
Fix items already in water at level start playing splash sound
2022-10-08 15:22:11 +02:00
Yamagi
ff75190541
Merge pull request #902 from BjossiAlfreds/flood
Prevent crash or memory corruption when flood_msgs is too high or too low
2022-10-08 15:21:23 +02:00
Yamagi
3222270df6
Merge pull request #900 from protocultor/delete_save
Quicksaves can be deleted from menu
2022-10-08 15:16:06 +02:00
Yamagi
294c4d1175
Merge pull request #896 from protocultor/gyro_invert
Options to invert gyro axes
2022-10-08 15:08:14 +02:00
David Carlier
f9d9577e9c fix some unitialized vars and clarify signedness on a handful of bitshift ops. 2022-10-08 15:07:02 +02:00