Commit Graph

2986 Commits

Author SHA1 Message Date
Zack Middleton 4006358492 Fix spawn/freed entity logic (specifically harvester skulls)
- Actually use the second 'force' pass in G_Spawn when out of
available slots.
- Make G_EntitiesFree return qtrue if we can open a new slot.
(Only used when spawning Harvester skulls.)

Fixes not spawning Harvester skulls when there are no 'open freed
slots', but we have other slots available to open.
2017-06-02 22:11:52 -05:00
Zack Middleton 4227d97958 Make Team Arena win logic handle more game types/blue team
The Team Arena menu uses red team for single player but q3_ui
(and mods could) use blue. Also handle all the game types, not
just the ones used by Team Arena. Fixes FFA and Team DM.
2017-06-02 22:07:27 -05:00
Zack Middleton 4506ebd5d7 Fix joining team when starting local team play server
AKA fix joining team in Team Arena single player. Though it also
affects starting Q3 skirmish in team dm or ctf modes.
2017-06-02 21:07:30 -05:00
Zack Middleton bd067540f5 Fix hitch when opening Team Arena find friend menu
Opening the find friend menu in the Team Arena server browser
hitches due to trying to resolve blank host names.

In UI_BuildFindPlayerList() status requests that are initial or
completed state or have timed out get reset. This means it starts
with MAX_SERVERSTATUSREQUESTS (16) blank host names. So just ignore
them in UI_GetServerStatusInfo().
2017-06-01 18:54:28 -05:00
Zack Middleton 0a19ae0306 Fix levelshot displayed in Team Arena server browser
Levelshot was not updated when server list was initially loaded or
server list was sorted.
2017-06-01 18:03:24 -05:00
Zack Middleton 2091a2e2d5 Fix favorite servers player count message in Team Arena UI
The console message "1 servers listed in browser with 2 players."
would count clients multiple times when viewing favorite servers.

When viewing favorite servers in Team Arena UI, servers are added
to list before getting ping response. Each time UI checked pings
and inserted server it incremented the player count.
2017-06-01 17:24:07 -05:00
Zack Middleton 6b5674e6bb Fix filtering favorite servers in Team Arena UI
Filter favorite servers based on cached server info and new info
instead of only the cached info.

If cached server info is filtered out, don't add it to server list
but wait for getinfo response before marking server as invisible.
2017-06-01 17:24:07 -05:00
Zack Middleton 0b853a659a Make Team Arena server list sub-sort clients by max clients
The player column in Team Arena UI lists clients and max clients
in format of "clients [maxclients]". When sorting by clients the
max clients is ignored which results in player column being
disorganized.

When servers have the same number of clients, sort based on max
clients. Otherwise client sort is sub-sorted based on order of
getinfo responses (ping).
2017-06-01 17:24:06 -05:00
Zack Middleton 2bbe178bc8 Replace constant value with UIAS_GLOBAL1 2017-06-01 17:24:06 -05:00
Zack Middleton e8f092637c Automatically get initial Internet servers in Team Arena UI
Having to manually request the list, with two buttons (get new
list, refresh list) is somewhat confusing. Also since it looks
like there are no servers, users might not try to figure out
how to get the server list.

The first time viewing a master server list in Team Arena UI,
automatically request a new server list. After that the cache
will be available with a timestamp of the last refresh time.
I think this will make it easier to understand how the menu
works.

This may cause unneeded updating of the server cache because the
last refresh timestamp is per-fs_game but the server cache is
shared by all games. This will only occur once for each game
though so it's not a big concern.
2017-06-01 17:24:06 -05:00
Zack Middleton f6f2710f94 Make server browser default to Internet
The default use to be local. In q3_ui you have to press spacebar or
wait for scan to time out before you can switch to Internet.
2017-06-01 16:58:21 -05:00
Zack Middleton 973e0a7e9c Refresh master server address cache every 24 hours
Resolve master server addresses every 24 hours instead of keeping
result forever. Don't clear sv_master[1-5] cvar if the address fails
to resolve; it might work later.
2017-05-30 18:33:15 -05:00
Zack Middleton 8a50e2aa09 Don't repeat alt+enter key event
Holding alt+enter should not continuously toggle fullscreen mode.
2017-05-29 16:41:03 -05:00
Zack Middleton 024a8842bd Fix compiling debug code for writing VoIP data 2017-05-29 09:54:39 -05:00
Zack Middleton bc2f45508d Fix dllHandle possibly being uninitialized in Sys_LoadDll 2017-05-26 10:50:56 -05:00
Eugene C c259e7cba3 Fix comment 2017-05-25 09:44:18 +01:00
ec- 566fb0edfc Allow unaligned load/store in QVM interpreter/x86 compiler
constructions like (dataMask & ~3) was used to protect against out-of-bound load/store when address is 4-byte closer to dataMask
 but at the same time it effectively cut low address bits for ALL load/store operations which is totally wrong in terms of conformance to ALLOWED (i.e. generated by q3lcc from C sources) low-level operations like packed binary data parsing
2017-05-25 09:44:18 +01:00
Zack Middleton abce15055c Fix compiling Mac OS 10.5 Universal App Bundle
Need to be able to specify minimum Mac OS X version outside of the
Makefile to avoid conflicting CFLAGS.
Moved -mmacosx-version-min LDFLAGS into the Makefile.
Moved -arch x86_64 from OPTIMIZEVM to CFLAGS to fix linker errors
(previously make-macosx-ub.sh passed it to CFLAGS manually).
2017-05-24 15:50:44 -05:00
Zack Middleton 3b0a862290 Merge pull request #256 from WolfWings/patch-4
...too much MISSIONPACK ifdeffery.
2017-05-24 13:44:35 -05:00
Zack Middleton 80c3e503d9 Merge pull request #254 from WolfWings/patch-1
Redundant #ifndef MISSIONPACK block
2017-05-24 13:44:20 -05:00
Zack Middleton 2c225a5a2b Merge pull request #199 from UniQP/typos
Fix some typos in comments
2017-05-24 13:41:15 -05:00
Zack Middleton 66365a3a85 Merge pull request #198 from UniQP/deadvariable
Remove dead variables
2017-05-24 13:40:53 -05:00
Zack Middleton eecc8326a0 Save connect and playdemo argument before calling CL_Disconnect()
Save argument instead of using a pointer to cmd token memory that
might be overwritten when Cmd_TokenizeString() is called.

No known method for causing the issue without engine changes.
Cmd_TokenizeString() is called by FS_PureServerSetReferencedPaks()
in CL_Disconnect() but it's not an issue because the string is
blank.

Thanks @mickael9.
2017-05-24 12:46:25 -05:00
Zack Middleton 351e8f84d2 Merge pull request #270 from mickael9/unused-warning
Don't include (mission)pak_checksums in standalone build
2017-05-24 12:26:55 -05:00
Zack Middleton 70af7e673f Check for truncated paths in Sys_LoadDll
Check for truncated paths which could allow loading a library with
a non-standard extension. Also provides a better message for why a
valid library with a long path would fail to load.
2017-05-24 10:28:59 -05:00
Zack Middleton 05858d30e8 Don't load libraries with non-standard file extensions
Also don't allow writting files ending in a library extension such
as ".so.0" or ".dylib.0".
2017-05-24 10:28:46 -05:00
Zack Middleton fbada2caf6 Fix compiling when KEY_WOW64_32KEY is missing from system headers 2017-05-24 10:01:19 -05:00
Zack Middleton f4739e9c4d Rename (already updated) opusfile-0.5 to opusfile-0.8 2017-05-23 11:47:27 -05:00
Zack Middleton 7139094355 Update opusfile from 0.5 to 0.8 2017-05-23 11:47:27 -05:00
Zack Middleton ef8ad54421 Rename (already updated) opus-1.1 to opus-1.1.4 2017-05-23 11:47:27 -05:00
Zack Middleton 853110d5d4 Update opus from 1.1 to 1.1.4
Define FLOAT_APPROX in Makefile and misc/msvc12/quake3.vcxproj.
2017-05-23 11:47:26 -05:00
Zack Middleton 67bfe8f8d6 Rename (already updated) libvorbis-1.3.4 to libvorbis-1.3.5 2017-05-23 11:47:26 -05:00
Zack Middleton bba263d634 Update libvorbis from 1.3.4 to 1.3.5 2017-05-23 11:47:26 -05:00
Zack Middleton d87bd792c3 Rename (already updated) libogg-1.3.1 to libogg-1.3.2 2017-05-23 11:47:26 -05:00
Zack Middleton 04fc72899a Update libogg from 1.3.1 to 1.3.2 2017-05-23 11:47:26 -05:00
Zack Middleton e3ec11d42a Remove unused libspeex 2017-05-23 09:13:54 -05:00
Zack Middleton 148d54bf54 Remove libspeex from README 2017-05-23 09:05:38 -05:00
SmileTheory c65d2c2657 Add vao cache for static surfaces.
Remove support for draw range elements, multi draw arrays, world vao creation, surface merging.
2017-04-28 02:13:25 -07:00
Zachary J. Slater 127464ed19 Delete NotToDo
This is also an antiquated notion.
2017-04-19 16:28:55 -10:00
Zachary J. Slater ca7e12cfe2 Delete BUGS
This was a thing?
2017-04-19 16:24:02 -10:00
Zack Middleton 729766150f Don't start a vote after vote passed for map change
Processing a callvote command after a vote passed to change maps but
has not been executed yet will result in 1) map change immediately
happening 2) after new map loads players have vote HUD messages but
Game VM doesn't have a vote in progress. The phantom vote status will
only be removed if players start a new vote or run vid_restart.

The underlying issue is that a second callvote sets vote config
strings but a map change is executed before they are sent to clients.
Resulting in clients getting "cs" reliable commands with the config
string changes _after_ the map change. Out of sync config strings.

Even if the underlying issue was fixed, the second vote would be lost.
So it's best to not force a map change to happen immediately anyway.

Reported by Tobias Kuehnhammer.
2017-04-12 18:29:17 -05:00
Tim Angus 300f06ce8d Merge pull request #288 from maxcrofts/list-pk3dir-mods
Improve FS_GetModList
2017-04-12 10:14:26 +01:00
Max Crofts af69d1148f Improve FS_GetModList
- Paths to search for mods are now specified in an array

- Mods can now consist solely of ".pk3dir" folders and still be
considered valid

- The function now has a consistent style
2017-04-12 17:49:50 +10:00
Tim Angus 7ea46532d5 Merge pull request #286 from maxcrofts/install-path
Update install path detection
2017-04-07 10:59:42 +01:00
Max Crofts 7ff610db35 Detect GOG install path 2017-04-07 16:26:26 +10:00
Max Crofts f5143405f1 Add missing RegCloseKey to Sys_SteamPath 2017-04-07 15:18:28 +10:00
Tim Angus d7a99d5d44 Merge pull request #282 from h3xx/fix-git-dependency
Fix build when cloned as submodule
2017-03-30 22:22:39 +01:00
Dan Church 537d28556f
Fix build when cloned as submodule
Steps to reproduce:

    git init
    git submodule add -b master git://github.com/ioquake/ioq3.git
    cd ioq3
    make USE_GIT=1
2017-03-30 16:10:40 -05:00
Zack Middleton 7ca43cb0be Merge pull request #279 from lonkamikaze/freebsd-build
Freebsd build
2017-03-28 06:17:33 -05:00
Dominic Fandrey a47ac2a451 Use -On level from CFLAGS on FreeBSD 2017-03-28 13:09:42 +02:00