Commit graph

119 commits

Author SHA1 Message Date
Shpoike
a5275c95d5 Merge remote-tracking branch 'sf/master' into qss 2021-09-03 20:19:12 +01:00
Shpoike
f9ad207c65 .pk3dir support. 2021-09-03 08:52:57 +01:00
Shpoike
be4aa218a0 Add support for directly loading the rerelease's localisation files. 2021-09-03 06:27:46 +01:00
Shpoike
9119c1d546 Merge branch 'master' of https://git.code.sf.net/p/quakespasm/quakespasm into HEAD 2021-09-03 06:27:09 +01: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
Shpoike
7ba6c4474b Merge Quakespasm's post-fork changes into QSS (rebased to make them compatible) 2021-08-31 06:43:13 +01:00
Shpoike
3ac910c32d Try to make use of win32/posix LFS for larger pk3s. Use a couple of other unsigned types for larger bsps too, now that we're supposedly able to exceed the 2gb limit on file sizes. 2021-08-31 04:59:13 +01:00
Shpoike
7bdf911d3a Handle sound flags, providing reliable+unicast flags. Also handle other sound flags+networking that only fte clients will benefit from right now. 2021-08-31 04:59:13 +01:00
Shpoike
521bc5aab4 Add a 'dir' command, to help people with figuring out which files are where. 2021-08-31 04:59:13 +01:00
Shpoike
2735d0f960 Add fte's sounds=-1,noise=filename for named music tracks instead of just numbers. 2021-08-31 04:59:13 +01:00
Shpoike
1d9e73a36f Add support for loading 24bit replacements for the original content. Add PRECACHE_PIC_WRAP(from dp, disables npot padding+scrap, we already don't otherwise clamp), and PRECACHE_PIC_TEST(from fte, for consistency). 2021-08-31 04:59:13 +01:00
Shpoike
f232be4f77 Allow search_begin to filter by package names. 2021-08-31 04:59:12 +01:00
Shpoike
bec4f4c0c5 Implement serverinfo and userinfo. Both can be read in ssqc via infokey, and via serverkey/getplayerkeyvalue in csqc. Can be changed/viewed via serverinfo/setinfo/user console commands 2021-08-31 04:59:12 +01:00
Shpoike
7a6ee08281 Add -basegame support. Update hack to hide texture failure dev-spam to include dds files. 2021-08-31 04:59:12 +01:00
Shpoike
5842eb70e8 Added search_getpackagename builtin to query which package a file is inside (flags&2 to get the gamedir of the package/gamedir too), also let the 'cvar' pseudo-cvar be queried via cvar_string. 2021-08-31 04:59:12 +01:00
Shpoike
bdfdface5b Fix for search_begin on linux. 2021-08-31 04:59:12 +01:00
Shpoike
54538a054a Menuqc support. Only tested against menusys so far. 2021-08-31 04:59:12 +01:00
Shpoike
85e9399f2f Fix support for replacementdeltas with ent counts above 32767 (in case other engines use qss as their reference for support, or if it gets bumped later). 2021-08-31 04:59:12 +01:00
Spike
3c671f325d Docs update 2021-08-31 04:59:11 +01:00
Spike
fe4b224c7d Added support for simple csqc.
This is a subset of csqc, with alternative entry points that can be invoked by compat wrappers.

Also added sv_gameplayfix_setmodelrealbox cvar. Default value of 1 matches QuakeSpasm, whereas a value of 0 matches vanilla quake's behaviour.
2021-08-31 04:59:11 +01:00
Spike
d76ca606bf All changes present in QSS-R7, plus
md3 support
quoth/etc bug fix
strzone bug fix
png/jpg replacement wall textures
rewrote mdl rendering to always use arrays, relaxing vertex+tri limits.
removed static ents limit
fixed ambient_level not working at high framerates.
2021-08-31 04:59:11 +01: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