]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/log
xonotic/xonotic-data.pk3dir.git
7 months agoRemove legacy Quake bbox expansion: physics
bones_was_here [Sun, 23 Jul 2023 09:00:05 +0000 (19:00 +1000)]
Remove legacy Quake bbox expansion: physics

7 months agoRemove legacy Quake bbox expansion: bmodel entities
bones_was_here [Sun, 13 Aug 2023 17:49:43 +0000 (03:49 +1000)]
Remove legacy Quake bbox expansion: bmodel entities

Removes duplication of the box + '1 1 1' and boxesoverlap code.
This is handled in WarpZoneLib_ExactTrigger_Touch().

7 months agoDisable sv_legacy_bbox_expand
bones_was_here [Thu, 20 Jul 2023 07:34:50 +0000 (17:34 +1000)]
Disable sv_legacy_bbox_expand

This gives QC full control of bboxes
and makes SVQC and CSQC behaviour consistent.

Groups all the sv_gameplayfix cvars together in xonotic-server.cfg.

Adds a note about sv_gameplayfix_droptofloorstartsolid (cvar for unused
engine feature).

7 months agoRewrite the QC port of droptofloor()
bones_was_here [Mon, 18 Sep 2023 12:12:01 +0000 (22:12 +1000)]
Rewrite the QC port of droptofloor()

This uses DP_QC_NUDGEOUTOFSOLID to achieve better results (especially
noticeable with sv_legacy_bbox_expand 0) in less CPU time.

Documents the design.
Removes legacy code paths.
Adds warnings for badly placed items.
Implements Quake-compliant behaviour for each BSP format.

See also: https://gitlab.com/xonotic/darkplaces/-/merge_requests/144

Removes hacky workaround for #2774 and thus depends on !1245

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
7 months agoitems: Apply vertical offset on Q3 maps to match Q3 bbox floor height
bones_was_here [Sat, 22 Jul 2023 19:43:21 +0000 (05:43 +1000)]
items: Apply vertical offset on Q3 maps to match Q3 bbox floor height

The lack of this caused high-placed items to be stuck in a "ceiling"
brush in a few cases (problematic for droptofloor). It also meant
suspended items were too high, causing cases where a jump pad sent the
player slightly under the item, with nothing they could do to reach it.

7 months agoMerge branch 'terencehill/respawn_ghosts_keepcolors_enabled' into 'master'
terencehill [Mon, 11 Mar 2024 23:33:59 +0000 (23:33 +0000)]
Merge branch 'terencehill/respawn_ghosts_keepcolors_enabled' into 'master'

Display respawn ghost with player's color instead of white

See merge request xonotic/xonotic-data.pk3dir!1263

8 months agoFix .gitattributes
bones_was_here [Fri, 1 Mar 2024 10:05:01 +0000 (20:05 +1000)]
Fix .gitattributes

A later line overrides an earlier line.

8 months agoUse C syntax highlighting for QC files on gitlab
bones_was_here [Fri, 1 Mar 2024 09:46:58 +0000 (19:46 +1000)]
Use C syntax highlighting for QC files on gitlab

8 months agoFix wrong respawn ghost colors with cl_forceuniqueplayercolors 1
terencehill [Mon, 26 Feb 2024 15:59:59 +0000 (16:59 +0100)]
Fix wrong respawn ghost colors with cl_forceuniqueplayercolors 1

8 months agoDisplay respawn ghost with player's color instead of white
terencehill [Mon, 26 Feb 2024 10:32:47 +0000 (11:32 +0100)]
Display respawn ghost with player's color instead of white

8 months agoMerge branch 'bones_was_here/sv_playerthink_optimise' into 'master'
bones_was_here [Sun, 25 Feb 2024 13:27:58 +0000 (13:27 +0000)]
Merge branch 'bones_was_here/sv_playerthink_optimise' into 'master'

Move some code that only needs to run once per frame out of PlayerP*Think()

See merge request xonotic/xonotic-data.pk3dir!1238

8 months agoMerge branch 'terencehill/intermission_restart_fix' into 'master'
terencehill [Sun, 25 Feb 2024 09:55:47 +0000 (09:55 +0000)]
Merge branch 'terencehill/intermission_restart_fix' into 'master'

Fix restart applying different gametype if called after gametype vote

See merge request xonotic/xonotic-data.pk3dir!1256

8 months agoMerge branch 'drjaska/teleport-minspeed' into 'master'
Dr. Jaska [Sat, 10 Feb 2024 18:53:54 +0000 (18:53 +0000)]
Merge branch 'drjaska/teleport-minspeed' into 'master'

Mininum velocity for teleporter exits

See merge request xonotic/xonotic-data.pk3dir!1165

8 months agoMininum velocity for teleporter exits
Dr. Jaska [Sat, 10 Feb 2024 18:53:53 +0000 (18:53 +0000)]
Mininum velocity for teleporter exits

8 months agoFix string length checks in world.qc and add VM_TEMPSTRING_MAXSIZE
terencehill [Sat, 10 Feb 2024 11:50:09 +0000 (12:50 +0100)]
Fix string length checks in world.qc and add VM_TEMPSTRING_MAXSIZE

9 months agoMerge branch 'Spike29/balance_council_vote19' into 'master'
bones_was_here [Sat, 10 Feb 2024 09:00:45 +0000 (09:00 +0000)]
Merge branch 'Spike29/balance_council_vote19' into 'master'

Apply the balance council vote 19

See merge request xonotic/xonotic-data.pk3dir!1260

9 months agoApply the balance council vote 19
Spike29 [Sat, 10 Feb 2024 09:00:44 +0000 (09:00 +0000)]
Apply the balance council vote 19

9 months agoMerge branch 'bones_was_here/maplist_fixes' into 'master'
bones_was_here [Sat, 10 Feb 2024 08:31:41 +0000 (08:31 +0000)]
Merge branch 'bones_was_here/maplist_fixes' into 'master'

Map list fixes

See merge request xonotic/xonotic-data.pk3dir!1247

9 months agoFix GUI map voting with g_maplist_shuffle <= 0 && g_maplist_selectrandom 0
bones_was_here [Mon, 23 Oct 2023 23:28:23 +0000 (09:28 +1000)]
Fix GUI map voting with g_maplist_shuffle <= 0 && g_maplist_selectrandom 0

MaplistMethod_Iterate() returned the same map every time because
Map_Current wasn't updated.

Documents g_maplist_shuffle -1.

9 months agog_maplist: refactor initialisation
bones_was_here [Mon, 23 Oct 2023 21:25:32 +0000 (07:25 +1000)]
g_maplist: refactor initialisation

Reduces code duplication.

Checks/initialises once when adding maps to the voting screen, instead
of doing it again for each map added.

Always uses gametype-specific g_maplist generation, instead of sometimes
including maps from other gametypes (depending which code path was used).

Updates some declarations and removes an unused global.

9 months agog_maplist: update with `gametype` command, as well as GUI gametype voting
bones_was_here [Mon, 23 Oct 2023 16:37:48 +0000 (02:37 +1000)]
g_maplist: update with `gametype` command, as well as GUI gametype voting

This fixes the need to manually set g_maplist to \"\" after running the
gametype command on a votable server.

This is consistent with GUI gametype voting (sv_vote_gametype 1)
behaviour and shares its code to reduce duplication.

9 months agomapinfo: fix and rename noautomaplist flag to donotwant
bones_was_here [Mon, 23 Oct 2023 15:30:36 +0000 (01:30 +1000)]
mapinfo: fix and rename noautomaplist flag to donotwant

This flag was ignored in the code paths used on most servers, and its
name and behaviour were not ideal for its intended use, see
7d48e976c8a9b3f80350b2ad41d9feec2797cf76 description which seems clear
that it's for allowing a certain kind of map to be available on the
server but not be included in the usual voting pool.

This updated implementation omits the flagged maps from GUI voting and
prevents them being selected by other GotoNextMap()/GetNextMap() code
paths, unless there aren't enough viable maps in which case they
can still be used as fallbacks.

The flagged maps are always listed in CLI and may be nominated with
`suggestmap` or vcalled with `gotomap` or `nextmap`.

9 months agoQ3 compat: implement a 1ms fallback traveltime for all movers
bones_was_here [Fri, 9 Feb 2024 19:28:37 +0000 (05:28 +1000)]
Q3 compat: implement a 1ms fallback traveltime for all movers

This fixes the doors failing to open on q3df map sdc-uk_08 which uses
trigger_multiple -> func_button.speed = -1 -> func_door
Buttons trigger targets at the end of their movement and that one didn't
move at all.

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
9 months agoMerge branch 'terencehill/registry_check' into 'master'
terencehill [Fri, 9 Feb 2024 13:34:59 +0000 (13:34 +0000)]
Merge branch 'terencehill/registry_check' into 'master'

Fix REGISTRY_CHECK

See merge request xonotic/xonotic-data.pk3dir!1259

9 months agoMerge branch 'drjaska/ca_prevent_stalemate_2' into 'master'
Dr. Jaska [Fri, 9 Feb 2024 01:42:19 +0000 (01:42 +0000)]
Merge branch 'drjaska/ca_prevent_stalemate_2' into 'master'

Separated `g_ca_prevent_stalemate`'s survivor count and health checking.

See merge request xonotic/xonotic-data.pk3dir!1189

9 months agoSeparated `g_ca_prevent_stalemate`'s survivor count and health checking.
Dr. Jaska [Fri, 9 Feb 2024 01:42:19 +0000 (01:42 +0000)]
Separated `g_ca_prevent_stalemate`'s survivor count and health checking.

9 months agoRemove a few dangling semicolons
terencehill [Wed, 7 Feb 2024 21:53:39 +0000 (22:53 +0100)]
Remove a few dangling semicolons

9 months agoFix REGISTRY_CHECK not checking all elements of a huge registry like the Notification...
terencehill [Wed, 7 Feb 2024 21:40:06 +0000 (22:40 +0100)]
Fix REGISTRY_CHECK not checking all elements of a huge registry like the Notifications registry

Code is optimized to have basically the same performance as before while adding string length checks.

9 months agoMerge MR 'func_door and func_plat fixes and Q3 compatibility'
bones_was_here [Tue, 6 Feb 2024 14:15:01 +0000 (14:15 +0000)]
Merge MR 'func_door and func_plat fixes and Q3 compatibility'

See merge request xonotic/xonotic-data.pk3dir!1242

9 months agoMerge branch 'drjaska/spawnfunc-item_buff_name' into 'master'
Dr. Jaska [Tue, 6 Feb 2024 13:46:55 +0000 (13:46 +0000)]
Merge branch 'drjaska/spawnfunc-item_buff_name' into 'master'

restore item_buff_speed and item_buff_invisibility spawnfuncs

See merge request xonotic/xonotic-data.pk3dir!1160

9 months agoTransifex autosync
Rudolf Polzer [Fri, 26 Jan 2024 06:23:13 +0000 (07:23 +0100)]
Transifex autosync

9 months agoplayerlist.qc: remove some useless operations in 2 draw_Text calls; while at it clean...
terencehill [Sat, 20 Jan 2024 12:54:05 +0000 (13:54 +0100)]
playerlist.qc: remove some useless operations in 2 draw_Text calls; while at it clean up code

9 months agoFix #2893 "cl_zoomfactor 1 results in division by zero"; also simplify the current_vi...
terencehill [Sat, 20 Jan 2024 12:34:35 +0000 (13:34 +0100)]
Fix #2893 "cl_zoomfactor 1 results in division by zero"; also simplify the current_viewzoom check (almost_equals performs redundant checks in this case)

9 months agoTransifex autosync
Rudolf Polzer [Sat, 20 Jan 2024 06:24:03 +0000 (07:24 +0100)]
Transifex autosync

9 months agoTransifex autosync
Rudolf Polzer [Mon, 15 Jan 2024 06:23:18 +0000 (07:23 +0100)]
Transifex autosync

9 months agoTransifex autosync
Rudolf Polzer [Sat, 13 Jan 2024 06:23:49 +0000 (07:23 +0100)]
Transifex autosync

10 months agoMerge branch 'drjaska/hashtest' into 'master'
Dr. Jaska [Mon, 8 Jan 2024 15:13:52 +0000 (15:13 +0000)]
Merge branch 'drjaska/hashtest' into 'master'

Create an usable tool for local hash testing

See merge request xonotic/xonotic-data.pk3dir!1150

10 months agoCreate an usable tool for local hash testing
Dr. Jaska [Mon, 8 Jan 2024 15:13:52 +0000 (15:13 +0000)]
Create an usable tool for local hash testing

10 months agoTransifex autosync
Rudolf Polzer [Mon, 8 Jan 2024 06:23:27 +0000 (07:23 +0100)]
Transifex autosync

10 months agoFix and make indentation consistent in the Overkill weapon files
terencehill [Thu, 4 Jan 2024 01:23:35 +0000 (02:23 +0100)]
Fix and make  indentation consistent in the Overkill weapon files

10 months agoUse cvar_set
terencehill [Thu, 4 Jan 2024 01:20:27 +0000 (02:20 +0100)]
Use cvar_set

10 months agoFreeze Tag: fix players getting 1 point for a teamkill (they get -1 points now) and...
terencehill [Thu, 4 Jan 2024 01:04:20 +0000 (02:04 +0100)]
Freeze Tag: fix players getting 1 point for a teamkill (they get -1 points now) and not getting -1 points if killed by a map entity (e.g. triggerhurt)

10 months agohud_postprocessing: disable the postprocess shader when not in use.
Rudolf Polzer [Wed, 3 Jan 2024 03:18:17 +0000 (22:18 -0500)]
hud_postprocessing: disable the postprocess shader when not in use.

Works best with upcoming r_skipblend.

10 months agoFix some damagetext accumulation edge cases
drjaska [Fri, 29 Dec 2023 08:20:30 +0000 (10:20 +0200)]
Fix some damagetext accumulation edge cases

Fixes cl_damagetext_accumulate_alpha_rel 1 and
cl_damagetext_accumulate_lifetime 0 not being able to opt
out of DT accumulation

10 months agoMerge branch 'drjaska/damagetext' into 'master'
terencehill [Thu, 28 Dec 2023 19:21:12 +0000 (19:21 +0000)]
Merge branch 'drjaska/damagetext' into 'master'

DamageText code quality changes and new DT lifetime and accumulation lifetime cvars

See merge request xonotic/xonotic-data.pk3dir!1249

10 months agoDamageText code quality changes and new DT lifetime and accumulation lifetime cvars
Dr. Jaska [Thu, 28 Dec 2023 19:21:12 +0000 (19:21 +0000)]
DamageText code quality changes and new DT lifetime and accumulation lifetime cvars

10 months agoUpdate pipeline for DP engine upgrade
bones_was_here [Thu, 28 Dec 2023 08:03:37 +0000 (18:03 +1000)]
Update pipeline for DP engine upgrade

The FIXME was fixed (or at least worked around) in DP's Makefile, see
-mno-avx and its comments.

10 months agoTransifex autosync
Rudolf Polzer [Mon, 25 Dec 2023 06:23:32 +0000 (07:23 +0100)]
Transifex autosync

10 months agoMerge branch 'terencehill/playerstats_update' into 'master'
terencehill [Thu, 21 Dec 2023 17:27:29 +0000 (17:27 +0000)]
Merge branch 'terencehill/playerstats_update' into 'master'

Minor updates to playerstats

See merge request xonotic/xonotic-data.pk3dir!1255

10 months agoTransifex autosync
Rudolf Polzer [Thu, 21 Dec 2023 06:23:27 +0000 (07:23 +0100)]
Transifex autosync

10 months agoTransifex autosync
Rudolf Polzer [Tue, 19 Dec 2023 06:23:25 +0000 (07:23 +0100)]
Transifex autosync

10 months agoApply voted game type on map switch, not on game type vote end so that the "restart...
terencehill [Fri, 15 Dec 2023 23:58:25 +0000 (00:58 +0100)]
Apply voted game type on map switch, not on game type vote end so that the "restart" command, if called, properly restarts the map applying the current game type

10 months agoDon't send match stats if game ends during warmup (xonstats doesn't register them...
terencehill [Wed, 13 Dec 2023 11:12:41 +0000 (12:12 +0100)]
Don't send match stats if game ends during warmup (xonstats doesn't register them anyway)

10 months agoSend total number of rounds played to xonstats
terencehill [Mon, 11 Dec 2023 22:27:10 +0000 (23:27 +0100)]
Send total number of rounds played to xonstats

11 months agoTransifex autosync
Rudolf Polzer [Mon, 11 Dec 2023 06:23:30 +0000 (07:23 +0100)]
Transifex autosync

11 months agoTransifex autosync
Rudolf Polzer [Sat, 9 Dec 2023 06:23:32 +0000 (07:23 +0100)]
Transifex autosync

11 months agoMerge branch 'drjaska/shotorigincleanup' into 'master'
Dr. Jaska [Wed, 6 Dec 2023 11:19:23 +0000 (11:19 +0000)]
Merge branch 'drjaska/shotorigincleanup' into 'master'

Allow for negative z offsets for shot origin

See merge request xonotic/xonotic-data.pk3dir!1253

11 months agoTransifex autosync
Rudolf Polzer [Mon, 4 Dec 2023 06:24:04 +0000 (07:24 +0100)]
Transifex autosync

11 months agocleanup and a few comments
drjaska [Mon, 27 Nov 2023 23:04:12 +0000 (01:04 +0200)]
cleanup and a few comments

11 months agoTransifex autosync
Rudolf Polzer [Fri, 1 Dec 2023 06:23:25 +0000 (07:23 +0100)]
Transifex autosync

11 months agoTransifex autosync
Rudolf Polzer [Tue, 21 Nov 2023 06:23:28 +0000 (07:23 +0100)]
Transifex autosync

11 months agoTransifex autosync
Rudolf Polzer [Sun, 19 Nov 2023 06:23:24 +0000 (07:23 +0100)]
Transifex autosync

11 months agoTransifex autosync
Rudolf Polzer [Sat, 18 Nov 2023 06:23:52 +0000 (07:23 +0100)]
Transifex autosync

11 months agoTransifex autosync
Rudolf Polzer [Sun, 12 Nov 2023 06:23:26 +0000 (07:23 +0100)]
Transifex autosync

11 months agoDon't allow negative values for the y component of the shot origin offset because... terencehill/shotorigin_compression
terencehill [Sat, 11 Nov 2023 17:11:51 +0000 (18:11 +0100)]
Don't allow negative values for the y component of the shot origin offset because the gun can't be aligned to the left by default. Thanks to this change it's possible to restore precision of the y and z components back to 0.25

12 months agoAllow negative values for the shot origin offset vector. This change reduces precisio...
terencehill [Fri, 10 Nov 2023 17:59:58 +0000 (18:59 +0100)]
Allow negative values for the shot origin offset vector. This change reduces precision of the y and z components from 0.25 to 0.5

12 months agoMerge branch 'Juhu/velocity_pads_cleanup2' into 'master'
bones_was_here [Thu, 9 Nov 2023 05:44:23 +0000 (05:44 +0000)]
Merge branch 'Juhu/velocity_pads_cleanup2' into 'master'

Move trigger_push_velocity last_pushed code out of StartFrame()

See merge request xonotic/xonotic-data.pk3dir!1251

12 months agomove trigger_push_velocity's last_pushed check, StartFrame() should not run jump...
Juhu [Wed, 8 Nov 2023 18:22:52 +0000 (19:22 +0100)]
move trigger_push_velocity's last_pushed check, StartFrame() should not run jump pad physics code

12 months agoMerge branch 'Juhu/target_print' into 'master'
Dr. Jaska [Wed, 8 Nov 2023 01:19:29 +0000 (01:19 +0000)]
Merge branch 'Juhu/target_print' into 'master'

q3compat: add support for the target_print entity

See merge request xonotic/xonotic-data.pk3dir!1141

12 months agoMerge branch 'drjaska/damage-center-player-origin' into 'master'
Dr. Jaska [Wed, 8 Nov 2023 01:17:09 +0000 (01:17 +0000)]
Merge branch 'drjaska/damage-center-player-origin' into 'master'

Added an inactive gameplay cvar for using the own shot origin or centers of other players' bboxes for force direction calculations

See merge request xonotic/xonotic-data.pk3dir!1215

12 months agoAdded an inactive gameplay cvar for using the own shot origin or centers of other...
Dr. Jaska [Wed, 8 Nov 2023 01:17:09 +0000 (01:17 +0000)]
Added an inactive gameplay cvar for using the own shot origin or centers of other players' bboxes for force direction calculations

12 months agoMerge branch 'drjaska/damagetext' into 'master'
Dr. Jaska [Sun, 5 Nov 2023 17:50:33 +0000 (17:50 +0000)]
Merge branch 'drjaska/damagetext' into 'master'

Refactor damagetext to use a new linked list instead of proximity search and fix 2D and 3D damagetexts not accumulating

Closes #2861

See merge request xonotic/xonotic-data.pk3dir!1235

12 months agoRefactor damagetext to use a new linked list instead of proximity search and fix...
Dr. Jaska [Sun, 5 Nov 2023 17:50:33 +0000 (17:50 +0000)]
Refactor damagetext to use a new linked list instead of proximity search and fix 2D and 3D damagetexts not accumulating

12 months agoMerge branch 'Juhu/velocity_pads_cleanup' into 'master'
terencehill [Sun, 29 Oct 2023 19:14:05 +0000 (19:14 +0000)]
Merge branch 'Juhu/velocity_pads_cleanup' into 'master'

Move trigger_push_velocity last_pushed code out of execute_next_frame()

See merge request xonotic/xonotic-data.pk3dir!1217

12 months agoMove trigger_push_velocity last_pushed code out of execute_next_frame()
Juhu [Sun, 29 Oct 2023 19:14:05 +0000 (19:14 +0000)]
Move trigger_push_velocity last_pushed code out of execute_next_frame()

12 months agoMerge branch 'bones_was_here/sv_autopause_intermission' into 'master'
terencehill [Fri, 27 Oct 2023 08:38:20 +0000 (08:38 +0000)]
Merge branch 'bones_was_here/sv_autopause_intermission' into 'master'

sv_autopause: don't pause during intermission, unpause on endmatch command

Closes #2880

See merge request xonotic/xonotic-data.pk3dir!1246

12 months agoTransifex autosync
Rudolf Polzer [Mon, 23 Oct 2023 05:24:36 +0000 (07:24 +0200)]
Transifex autosync

12 months agoTransifex autosync
Rudolf Polzer [Tue, 17 Oct 2023 05:23:28 +0000 (07:23 +0200)]
Transifex autosync

13 months agosv_autopause: don't pause during intermission, unpause on endmatch command
bones_was_here [Thu, 5 Oct 2023 15:16:46 +0000 (01:16 +1000)]
sv_autopause: don't pause during intermission, unpause on endmatch command

13 months agoTransifex autosync
Rudolf Polzer [Sun, 1 Oct 2023 05:25:05 +0000 (07:25 +0200)]
Transifex autosync

13 months agog_maxplayers -1: when rounding to a team multiple, go down at the midpoint
bones_was_here [Fri, 29 Sep 2023 05:13:49 +0000 (15:13 +1000)]
g_maxplayers -1: when rounding to a team multiple, go down at the midpoint

It seems a 5 players max DM map is more likely to suit 2v2 TDM/FT than 3v3.
It will still round up to 6 if there's 3 teams.

Also catches misconfigurations with g_maxplayers -1 and no teams.

Changes to more meaningful var names.

13 months agoExplicitly enable sv_gameplayfix_unstickplayers
bones_was_here [Thu, 21 Sep 2023 21:52:15 +0000 (07:52 +1000)]
Explicitly enable sv_gameplayfix_unstickplayers

Xonotic's QC physics still depend on this cvar, but the feature is
deprecated in current DP.

13 months agoMerge branch 'terencehill/load_fonts_once' into 'master'
bones_was_here [Mon, 18 Sep 2023 00:29:45 +0000 (00:29 +0000)]
Merge branch 'terencehill/load_fonts_once' into 'master'

Fix #2878 "Client startup executes font-xolonium.cfg twice"

Closes #2878

See merge request xonotic/xonotic-data.pk3dir!1243

13 months agoFix #2878 "Client startup executes font-xolonium.cfg twice"
terencehill [Sat, 16 Sep 2023 13:44:48 +0000 (15:44 +0200)]
Fix #2878 "Client startup executes font-xolonium.cfg twice"

13 months agoFix sticky electro orbs and mines being unhittable on DP master
bones_was_here [Fri, 15 Sep 2023 17:15:12 +0000 (03:15 +1000)]
Fix sticky electro orbs and mines being unhittable on DP master

The moving projectiles are configured correctly but when they touch a
surface they're deleted and replaced with a sticky projectile.
Those weren't configured to be hittable directly, and weren't linked to
the area grid so findradius couldn't find them for splash damage.

13 months agoSupport custom func_door and func_plat sounds on Q3A maps
bones_was_here [Fri, 15 Sep 2023 06:42:57 +0000 (16:42 +1000)]
Support custom func_door and func_plat sounds on Q3A maps

This adds FindFileInMapPack(), a very simple version of
_MapInfo_FindArenaFile().

13 months agofunc_plat: Use Q3 defaults for .dmg .speed and .lip on Q3 maps
bones_was_here [Fri, 14 Oct 2022 08:34:12 +0000 (18:34 +1000)]
func_plat: Use Q3 defaults for .dmg .speed and .lip on Q3 maps

13 months agofunc_plat: don't spawn a "start moving" trigger when .targetname is set on Q3 maps
bones_was_here [Fri, 15 Sep 2023 06:37:11 +0000 (16:37 +1000)]
func_plat: don't spawn a "start moving" trigger when .targetname is set on Q3 maps

13 months agofunc_plat: fix being stuck in the extended position when .targetname is set on Q3...
bones_was_here [Fri, 15 Sep 2023 06:45:13 +0000 (16:45 +1000)]
func_plat: fix being stuck in the extended position when .targetname is set on Q3 maps

13 months agofunc_door: merge door_use() and door_fire()
bones_was_here [Thu, 13 Oct 2022 11:46:33 +0000 (21:46 +1000)]
func_door: merge door_use() and door_fire()

Unnecessary tiny func is tiny and unnecessary (and suboptimal for perf).

13 months agofunc_door: implement Q3 CRUSHER spawnflag
bones_was_here [Fri, 15 Sep 2023 06:47:11 +0000 (16:47 +1000)]
func_door: implement Q3 CRUSHER spawnflag

13 months agofunc_door: implement Q3 team-based door linking using fullspawndata
bones_was_here [Fri, 15 Sep 2023 06:28:11 +0000 (16:28 +1000)]
func_door: implement Q3 team-based door linking using fullspawndata

13 months agofunc_door: fix bug where doors blocked by players never reversed direction
bones_was_here [Fri, 15 Sep 2023 06:49:19 +0000 (16:49 +1000)]
func_door: fix bug where doors blocked by players never reversed direction

This bug was inherited from Nexuiz.  It worked properly in Quake which
didn't have this condition, and in Quake 3.

13 months agofunc_door: use Q3 default .dmg of 2 on Q3 maps
bones_was_here [Wed, 12 Oct 2022 12:57:46 +0000 (22:57 +1000)]
func_door: use Q3 default .dmg of 2 on Q3 maps

13 months agofunc_door: update documentation to reflect default .dmg of 0
bones_was_here [Wed, 12 Oct 2022 12:48:50 +0000 (22:48 +1000)]
func_door: update documentation to reflect default .dmg of 0

IMO 0 is the best default, because if it were > 0 then mappers would
have no way to configure a door that doesn't deal any damage when blocked.

The implemented default has been 0 since (at least) Nexuiz 2.5.2 so
changing it now would not be ideal for compatibility.

The comment about the default of 2 was inherited from Quake.

13 months agofunc_door: fix .dmg field having no effect
bones_was_here [Fri, 15 Sep 2023 06:50:44 +0000 (16:50 +1000)]
func_door: fix .dmg field having no effect

The player's .takedamage == DAMAGE_AIM not DAMAGE_YES

13 months agofunc_door: update DOOR_START_OPEN documentation
bones_was_here [Fri, 15 Sep 2023 05:57:29 +0000 (15:57 +1000)]
func_door: update DOOR_START_OPEN documentation

13 months agofunc_door: use Q3 default of 2s .wait time on Q3 maps
bones_was_here [Fri, 7 Oct 2022 10:10:34 +0000 (20:10 +1000)]
func_door: use Q3 default of 2s .wait time on Q3 maps

13 months agofunc_door: fix .angle values of 315 and 135 degrees being inverted
bones_was_here [Fri, 7 Oct 2022 10:11:22 +0000 (20:11 +1000)]
func_door: fix .angle values of 315 and 135 degrees being inverted

This bug was inherited from Quake and is fixed by updating to
the same maths used in Quake 2 and 3.

13 months agofunc_door: fix erratic behaviour of spawned trigger field
bones_was_here [Fri, 7 Oct 2022 12:37:58 +0000 (22:37 +1000)]
func_door: fix erratic behaviour of spawned trigger field

This was most noticeable with door .wait <= 1 but would eventually occur
at higher wait values if players hang around in the trigger field.

Also the door(s) usually did not stay open for the full .wait time after
the player left the trigger field, as some time had passed since the
.door_finished timestamp was set.

To make this reliable AND efficient requires updating the state of the
door(s), instead of maintaining a separate state in the trigger field entity.