Commit graph

111 commits

Author SHA1 Message Date
Andrei Drexler
1aeccac358 LOC_LoadFile: Fix UTF-8 BOM check 2023-01-18 23:01:50 +03:00
Ozkan Sezer
c3ef90eb36 replaced Sys_FileTime() with Sys_FileType() from uhexen2 project. 2022-10-25 10:35:20 +03:00
temx
ea4320d675 COM_LoadMallocFile_TextMode_OSPath: do not leak open file 2022-09-12 20:05:50 +03:00
Andrei Drexler
1f6888e7bc Clear startdemo list on game change
This fixes inconsistent behavior when starting a game with -ad
vs starting with id1 and using 'game ad' in the console
(since id1 has startdemos in its quake.rc file, while ad doesn't).
2022-07-31 14:02:24 +03:00
Ozkan Sezer
f86f1595f3 minor error messages / whitespace tidy-up & small stuff. 2022-04-22 17:50:02 +03:00
Andrei Drexler
8f4c5b3dfa Skip leading whitespace in Q_atoi and Q_atof
This matches the standard library and also fixes the following bug:
- load ad_sepulcher and move to an area where water is visible
- open up the console
- save waterbug
- load waterbug
Water is now invisible as long as the console is still active.

The issue stems from the fact that cvar_set is called at startup
with the arguments ("r_wateralpha", ftos(liquid_alpha)) [1],
and ftos pads its output ("  0.6"). Without skipping the leading
whitespace, Q_atof ends up returning 0, which then gets assigned
to r_wateralpha. This makes the water invisible until a stuffcmd
that sets r_wateralpha again is later received from the server.
With the console open at startup, however, the stuffcmd message
can be delayed indefinitely.

[1] 320f1cec45/world.qc (L641)
2022-01-09 01:25:50 +03:00
Ozkan Sezer
a4dcdda3d9 common.c (LOC_ParseArg): remove unused local var 'start' 2021-12-04 11:11:10 +03:00
Ozkan Sezer
081e73c709 host_cmd.c: make a lot of procedures static. 2021-10-01 11:10:04 +03:00
Ozkan Sezer
b58efad209 fix looking for QuakeEX.kpf under userdir 2021-10-01 11:02:02 +03:00
Ozkan Sezer
bf85bbb3e8 look for QuakeEX.kpf under userdir too.
Closes https://github.com/sezero/quakespasm/issues/8
2021-09-20 14:55:50 +03:00
Ozkan Sezer
e67dc8c0d1 added a safeguard, just in case.. 2021-09-05 11:37:10 +03:00
Ozkan Sezer
68c17d38f7 remove FitzTest_f - doesn't seem to test anything.. 2021-09-05 11:37:10 +03:00
Ozkan Sezer
3af9ad4e04 2021 rerelease support: read the localization file from QuakeEX.kpf
uses a customized and highly stripped down miniz version. also move
localization file reads to SDL_RWops, and update the documentation.
2021-09-01 14:00:00 +03:00
Andrei Drexler
9d7f9eac6f Fix bogus extra localization entries on Windows
Due to CRLF translation the value returned by fread in text mode can be less than the size of the file, leaving bogus data at the end of the buffer. Since the parser can already handle CRLF-terminated lines, and when reading directly from QuakeEX.kpf there would be no CRLF translation anyway, we can just open the file in binary mode.
2021-08-31 15:50:02 +03:00
Andrei Drexler
83af8d060f Add basic localized strings support for 2021 re-release
See https://github.com/Novum/vkQuake/pull/345
2021-08-29 17:11:28 +03:00
Ozkan Sezer
9f8b569f9b external vis file support 2021-08-27 14:00:32 +03:00
Ozkan Sezer
2d9eb310bc replace size_t casts to pointers with (u)intptr_t. 2021-08-10 01:04:50 +03:00
Andrei Drexler
3c8611f604 Reset pointers to sky textures on map unload/game change
This fixes a crash when loading a skyless map after one with a sky.
( From: https://github.com/Novum/vkQuake/pull/339 )
2021-08-10 01:00:02 +03:00
Eric Wasylishen
71d7d02eaf SZ_GetSpace: change overflow Sys_Error to Host_Error
this happens for maps that exceed the signon buffer and makes it a bit less annoying

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1499 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-09-12 23:12:33 +00:00
Eric Wasylishen
90e51f683a W_LoadWadFile, COM_CheckRegistered: more helpful error messages
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1476 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-08-14 04:10:32 +00:00
Eric Wasylishen
50c52ae0eb Com_game_f: try execing quake.rc automatically..
Not convinced there are any issues with this, and it solves these
problems:
- change to new gamedir without execing quake.rc and exit: the
  config.cfg in the new gamedir will be clobbered with the settings
  from the previous gamedir.
- discrepancy between -game command line arg and "game" command.

Video mode is locked during the "exec quake.rc" to prevent the mode
from changing.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1417 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-06-23 22:02:49 +00:00
Eric Wasylishen
c827ccaa66 Host_Loadgame_f: fix for arrow characters appearing in multiline messages
on Windows, a regression introduced in the Host_Loadgame_f rewrite r1398

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1405 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-05-09 00:01:41 +00:00
Eric Wasylishen
8011b3f9fd Host_Loadgame_f: rewritten version loads the whole .sav into memory
+ avoids "Loadgame buffer overflow" when loading saves from QS-Spike/DarkPlaces containing large comments
+ removes ugly } hack
+ should be a bit faster as we avoid calling fgetc for every byte

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1398 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-04-16 02:53:06 +00:00
Eric Wasylishen
43b509ba4f Add "apropos" command from QS-Spike
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1393 af15c1b1-3010-417e-b628-4374ebc0bcbd
2017-04-02 18:18:57 +00:00
Eric Wasylishen
5b21d5935f RMQ protocol (999) support, adapted from RMQEngine
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1313 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 06:15:41 +00:00
Ozkan Sezer
d8704bc2d8 common.c (MSG_ReadString): replaced MSG_ReadChar with MSG_ReadByte
to avoid potentional vulnerability (icculus.org quake2 svn rev. 180.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1240 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-08-05 14:47:25 +00:00
Eric Wasylishen
0ba423061b Add filename tab-completion for "playdemo" and "record" commands
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1219 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-05-30 02:28:58 +00:00
Eric Wasylishen
621fa18dd8 Move more spammy message from "developer 1" to "developer 2", continued:
- .ent, .lit not found in COM_FindFile (they will usually be missing, we print a message with "develoepr 1" when they are found)
- "trying to load" .ent file
- "bad chunk length"

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1214 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-05-25 18:38:37 +00:00
Eric Wasylishen
ddefff6b9e COM_FindFile: in addition to .pcx, suppress "can't find" warning for .tga textures when developer.value < 2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1212 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-05-25 02:00:06 +00:00
Eric Wasylishen
bcd429b4e3 Com_Game_f: print reminder message to player about "exec quake.rc"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1199 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-04-03 19:03:17 +00:00
Ozkan Sezer
1c26cc3c9d add some extra safety checks to pak loading
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1165 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-02-08 08:00:56 +00:00
Ozkan Sezer
b9032b7815 copyright years, general tidy-up, remove unused d_ifacea.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1059 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 08:55:46 +00:00
Ozkan Sezer
78b028cd50 revert exec'ing default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1057 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 06:15:23 +00:00
Ozkan Sezer
11c1b1f67c exec default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1052 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 11:10:22 +00:00
Ozkan Sezer
4b01a03387 applied the user directories support patch, disabled by default. 'make DO_USERDIRS=1' to enable it.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1013 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-10 07:28:28 +00:00
Ozkan Sezer
99fa5eb2a3 tighten a bit more..
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1012 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 11:50:38 +00:00
Ozkan Sezer
596628530b improve mission pack loading from cmdline and via the 'game' command:
interpret -missionpack and [-]game missionpack as the same as a new
QuakeSpasm extension.  besides, do not let loading of the mission pack
directory twice.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1011 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 10:12:30 +00:00
Ozkan Sezer
ae876c943b changes/fixes to 'game' command, to replicate FitzQuake Mark V behavior:
* make 'game' command to strip all mission pack support
* make 'game' command to accept an optional second mission pack argument,
  i.e. -hipnotic, -rogue or -quoth.
* so the new behavior does:
  game id1 --> really returns to bare id1 game, doesn't accept any mission pack arguments
  game xxx -hipnotic --> strip down to id1 game, load hipnotic and load xxx on top of them
  game xxx --> strip down to id1 game and load xxx on top of it
* additionally, some extravaganza:
  game xxx --> if the game is already xxx, but the engine was started with -hiptonic
               or -rogue or -quoth, strip down to id1 and reload xxx on top of bare id1
  game xxx -hipnotic --> if the game is already xxx, but the engine was started without
              -hiptonic, strip down to id1, load hipnotic and reload xxx on top of them


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1010 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 07:13:20 +00:00
Ozkan Sezer
d7d6ad2d05 fix a r1003 bug in COM_Game_f()
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1006 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 22:15:50 +00:00
Ozkan Sezer
717b452da0 moved Host_Game_f to common.c, made it to use COM_AddGameDirectory(). moved in-memory pak structures, searchpatch structure and searchpath global declarations to common.h. adjusted affected extra patches.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1003 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:10:33 +00:00
Ozkan Sezer
1c4c5ba254 add the com_base_searchpaths thing of qw and use it in Host_Game_f(), kill the no longer needed com_nummissionpacks, KillGameDir() and NumGames().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@998 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 18:20:47 +00:00
Ozkan Sezer
0fc8cce747 revert r988
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@993 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 09:10:27 +00:00
Sander van Dijk
39237a64d6 common.c: make plain files overrule files inside a PAK file
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@988 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 12:32:27 +00:00
Ozkan Sezer
4d32042d71 load custom quakespasm.pak from <com_basedir> instead of id1/
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@906 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 05:40:28 +00:00
Ozkan Sezer
5ad7885e70 comment out COM_DefaultExtension
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@905 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:33:05 +00:00
Ozkan Sezer
d941ee83db revert r903 and the old conback hack commits. change the engine
to load id1/quakespasm.pak for content customizations.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@904 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:28:16 +00:00
Steven
66764cfd6f Overide some old fashioned default bindings (from Eric - https://sourceforge.net/p/quakespasm/patches/17/).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@903 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-26 10:28:13 +00:00
Ozkan Sezer
53e10c7098 Avoid using COM_DefaultExtension() whenever possible: it may lead
to unpredictable results. Use a new procedure COM_AddExtension()
which appends the given extension to the path if the one it has,
if any, doesn't match. In Host_Game_f(), reject "." as the path.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@902 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-26 07:50:54 +00:00
Ozkan Sezer
a95bb25134 add new stdio replacement FS_fgetc() and use it in snd_mikmod.c.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@869 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-09-27 19:51:26 +00:00
Ozkan Sezer
5e4849c61f replace all ctype.h functions/macros and strcasecmp/strncasecmp()
by locale-insensitive versions, new header q_ctype.h.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@868 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-09-25 17:01:40 +00:00