Commit graph

1429 commits

Author SHA1 Message Date
45d58a8742
leave comment in base/mapcycle.txt 2022-10-03 14:43:52 -07:00
0713c390b9
Menu-FN: Force _pext_vrinputs to 0 upon init, as the physics will otherwise break. (FTEQW issue) 2022-09-25 16:29:20 -07:00
b92a3a9da5
PMove_Custom: Go over some checks, one trace_fraction check was wrong and caused us to not slide along rotating brushes (doors) properly. 2022-09-12 23:07:33 -07:00
3117042eef
NSRenderableEntity: give glowmod more precision over the network for shader enhancements... 2022-09-12 22:32:02 -07:00
2838984603
NSRenderableEntity: Network .frame1time whenever .frame changes. 2022-09-12 14:06:31 -07:00
b3755bf0a2
func_pushable: func_pushables shouldn't collide with anything but BODY type objects for now
to work around the collision issues on maps such as cs_estate
2022-09-12 14:01:51 -07:00
30195592ce
PMove_Custom: add LADDERFACING define so mods can decide whether clients have to face a ladder brush in order to climb it.
PMoveCustom_AccelLadder: calculate jump velocity depending on the direction facing the ladder.
2022-09-12 08:17:20 -07:00
843ef32908
PMove_Custom: unset the FL_ONLADDER flag when not directly facing a ladder 2022-09-11 14:14:40 -07:00
02a1218ee7
func_vehicle: unset any velocity applied to our driver, since they're sticking to us. 2022-09-11 13:56:11 -07:00
2aa6917026
Get rid of this debug line in NSTalkMonster 2022-09-10 11:21:13 -07:00
6c7e3e8c06
NSRenderableEntity: add new overridable method (void) HandleAnimEvent(float, int string)
Also fix the mouth-flapping on NSTalkMonster.
2022-09-10 09:56:15 -07:00
30a482e80e
NSVehicle: add two new overridable methods. (bool)PreventPlayerMovement and (bool)PreventPlayerFire 2022-09-08 13:59:18 -07:00
04fe295035
NSVehicle: don't change the drivers' movetype 2022-09-08 13:38:02 -07:00
9deb12b68d
func_breakable: This still used Hide() for some reason, changed to Disappear()
Misc cleanup.
2022-09-02 22:02:54 -07:00
5a7d082af7
Move touch handlers into NSTrigger, remove trigger_multiple's own version of the team check. 2022-08-31 15:18:06 -07:00
31bb9b4042
Abstract timers to make sure MOVETYPE_PUSH entities are handled without game/mod developers having to think much about them.
Also change rechargers to MOVETYPE_NONE instead of PUSH, as it won't be moving anyway.
2022-08-31 13:24:55 -07:00
05eb10904e
func_vehicle: Make it shared/predicted. The smoothest it's ever been! 2022-08-28 09:20:34 -07:00
1bb1f03167
Tweak item_pickup/drop behaviour a little 2022-08-27 22:07:03 -07:00
9e675c212d
Implement 'cleardecals' client command, as well as an SVC_CGAMEPACKET for servers to request clients' clear their decal cache. 2022-08-27 22:05:31 -07:00
27529eb3a6
NSTimer: Add SetupTimer(entity, void(), float, bool) and RunTimer() methods. 2022-08-27 11:21:11 -07:00
267a956ec9
NSEntity: add Disappear() method. Mods that used Hide() to remove an entity from the active game will have to switch to this instead. 2022-08-27 11:20:38 -07:00
7a252ad213
NSEntity: new methods to simplify a lot of common tasks added. ScheduleThink(void(), float) and WithinBounds(entity) will surely be helpful.
Went over gs-entbase/server and made sure to use the new Think handlers to safely deal with MOVETYPE_PUSH
and handle any fun edge cases where time may be 0.0f.
func_breakable has also been fixed, since the changed Show/Hide behaviour prevented
them from getting destroyed fully.
2022-08-26 15:39:00 -07:00
acaa918403
NSTimer: initial implementation of an object timer. Handles temporary (self garbgage collecting) timers as well. 2022-08-25 18:52:04 -07:00
c67e4b5276
NSView: move constructor and set the sensitivity defaults. 2022-08-25 18:35:20 -07:00
adecdb12f3
NSView: add get/set Sensitivity methods 2022-08-25 18:31:33 -07:00
146051dd67
Proper nonvirtual declarations for class methods. 2022-08-24 15:11:04 -07:00
a6da238e53
effects.h: Document EF_GREEN, which I missed. 2022-08-24 14:44:16 -07:00
7c40100e46
Cleanup time for some of our base classes. Go over Show/Hide methods, and document
the EFFECTS fields we have available. Since we do our own networking mostly we can reuse
some that are only available via CSQC (or NQSSQC)
2022-08-24 14:05:59 -07:00
3c673dcf6d
func_recharge: Only gives 30 armor points in multiplayer. 2022-08-24 10:26:20 -07:00
3ae65d41b7
func_plat: fix typo in ::Restore method, thanks heartologic for spotting 2022-08-22 08:32:12 -07:00
fcf846dee0
NSIO: Check is entity was freed before calling Respawn() 2022-08-12 12:58:26 -07:00
015eaa34fd
NSView: add cvar r_showView for debug information 2022-08-12 12:58:09 -07:00
7228c0d43a
NS{Entity,RenderableEntity,SurfacePropEntity}: network avelocity in a separate check 2022-08-11 14:19:10 -07:00
55427f718a
func_wall: Fix messup where the client game set it to SOLID_NOT 2022-08-11 14:18:28 -07:00
bc2f56b6d1
NSView: Don't run stair smoothing code when we're going up on elevators/platforms.
Change some type names around for consistency.
2022-08-10 16:51:26 -07:00
2526751db1
Clean up some areas where float logic happens to prepare for the compiler flag 'assumeint' 2022-08-10 16:15:44 -07:00
db74cf6ffa
NSRenderableEntity: Network .skin as a float for now for better precision for special cases. 2022-08-10 14:38:16 -07:00
517614fd37
Major overhaul that'll make savegames a lot better. Every entity we implement should have a Save/Restore function.
AI noes recalculates their route in case of a loaded savegame... And much more.
2022-08-10 14:24:06 -07:00
a4a0cc3c43
build.cfg: Bump BUILD_ENGINEREVISION to 6303, thus fixing FreeTS from not compiling.
Shared: Fix that colormap was evaluated as part of PLAYER_VELOCITY instead of PLAYER_MODELINDEX
This is a minor optimisation.
Add NSClientPlayer::OptimiseChangedFlags...
2022-08-09 09:05:31 -07:00
409ee3fa1f
Client: force set r_fullbrightSkins to 0 because otherwise the engine will mess with lighting on any entity with a colormap 2022-08-07 15:03:38 -07:00
5ca96bbcd9
Add helpers across the codebase to deal with networking ents. I tried prototyped a more elegant solution the compiler didn't like - the language should really deal with this. 2022-08-07 14:12:55 -07:00
41d3f3b520
func_water: Don't assign the toggle spawnflag. I don't know where that came from - this should fix sh_hdgibfactory 2022-08-07 13:24:55 -07:00
9e170795d5
func_tank/tankmortar: Make the smoke and flash sprites assume RM_ADDITIVE 2022-08-05 23:27:48 -07:00
6c09154f08
multi_manager: Clean up warnings 2022-08-05 22:21:21 -07:00
dd86e5a583
NSIO: Add SaveEntity/ReadEntity methods to help Save/Restore operations 2022-08-05 21:36:47 -07:00
6d8273331a
Client: Replace rogue setproperty calls with ones talking to our g_view object 2022-08-05 21:15:19 -07:00
81b4bc042f
func_illusionary/wall: Only makestatic() when our rendermode is RM_NORMAL 2022-08-05 20:02:24 -07:00
8a9c26daef
Client: Remove the game specific MUZZLE index definitions, as they're really only used in some of the sub-games. 2022-08-05 14:45:29 -07:00
8729e973ad
PMove: Define waterlevels more appropriately. Add WATERLEVEL_{OUTSIDE,KNEE,CHEST,SUBMERGED} types. 2022-08-05 14:44:42 -07:00
8532f1264f
Util_GetKeyString: Switch to findkeysforcommandex 2022-08-05 13:38:09 -07:00
0e77bad51d
Menu-FN: Initial implementation of CComboBox 2022-08-04 11:57:26 -07:00
6ce1961792
NSView: Document our header a bit more. 2022-08-03 18:41:11 -07:00
caefb77078
NSView: Move stair smoothing etc. into our class. 2022-08-03 10:50:44 -07:00
baab5c931c
NSView: Take over some duties 2022-07-29 16:25:02 -07:00
9183958893
Update README.md, suppress some warnings 2022-07-25 13:10:40 -07:00
ff17dea01f
Initial work towards the NSWeapon class. Testing will happen in base/ under the NEW_INVENTORY define.
Comitting this early to ensure nothing breaks and it'll co-exist.
2022-07-25 09:31:37 -07:00
bda01e0f0f
Shared: NSLog should just take whatever N args 2022-07-20 16:48:41 -07:00
df738da436
Get rid of src/gs-entbase/shared/{baseentity.h,env_sprite.h} 2022-07-20 16:38:12 -07:00
30b4007894
Get rid of src/gs-entbase/baseentity.h 2022-07-20 16:33:52 -07:00
197ce20c31
BotLib: Start making use of some of NSNavAI 2022-07-20 16:27:24 -07:00
8fccdcbad1
build.cfg: Bump BUILD_ENGINEREVISION to include qqshka's FTEQW fix. 2022-07-19 18:09:40 -07:00
356319a7b7
NSVehicle, NSPhysicsEntity get Save/Restore methods 2022-07-19 15:49:35 -07:00
2a220fb331
Move base classes out of gs-entbase. This evolution only happened because classes such as CBaseMonster that once existed were replaced and it grew from there.
Tweak g_developer prints for scripted_sequences.
2022-07-19 15:22:15 -07:00
6ff42e4176
NSNavAI: Continously check whether we can already run to the next node, and target that if that's the case. 2022-07-18 11:51:48 -07:00
f6ecc97fca
Server: Ignore scripted_sequences when building nodes. This was a wrong assumption. 2022-07-18 11:39:57 -07:00
dc1cbc5da8
NSMonster: add InSequence() method. Fix scripted sequences.
PMove: use self.mins instead of PHY_HULL_MINS when testing friction.
disable friction for monsters for now, as it can break some scripted sequences.
2022-07-18 11:32:18 -07:00
d7418151f0
Client: Disable some expensive routines when paused. 2022-07-18 10:02:04 -07:00
0ae901f5e1
NSMonster: Add InAnimation() method. Also prohibit movement when in an animation. 2022-07-18 09:22:18 -07:00
0d2e0627d4
Server: Added quick-and-dirty 'spawn' command. E.g. 'sv spawn monster_laidlaw' 2022-07-17 20:45:50 -07:00
4566d07313
NSMonster/NSTalkMonster: more reshuffling done. Started moving the pathfinding components over into a new class named NSNavAI 2022-07-17 20:34:19 -07:00
b275275652
GS-EntBase: Initial documentation for info_hint. 2022-07-17 09:04:16 -07:00
6c895d73b7
NSMonster: Initial work towards reworking states. 2022-07-17 00:04:01 -07:00
725a32a4d6
Menu-FN: Set up pkgname defaults for 'valve', so that the menu will go straight to the updater. 2022-07-16 16:51:37 -07:00
85cd67b798
Merge pull request #6 from dqus/monsters-clean-up
NSMonster: move enemy invalidation from AttackThink() to SeeThink()
2022-07-16 16:40:37 -07:00
Ivan Kukush
ea462ea8ac NSMonster: move enemy invalidation from AttackThink() to SeeThink()
During enemy invalidation reseting m_eEnemy to __NULL__ also set monster state to idle,
should be a task for NSMonster::SetEnemy() which is missed right now.

Add new NSMonster::IsValidEnemy(entity enemy) - returns TRUE if 'enemy' should be
considered a valid target for killing, visibility/reachability is not checked.

Add sanity checkes in NSMonster::WalkRoute() otherwise __NULL__ m_eEnemy could be used.

NSMonster_FindClosestPlayer() use IsValidEnemy() insead of health checking,
probably too strict and that changes its behaviour too much, probably.
2022-07-17 01:35:22 +03:00
878df0941e
Cleanup for some CGameRules method types. Moved some Util_ functions into their own file. 2022-07-16 15:11:33 -07:00
c3be8002ad
add noref to g_mapcycle_override, to avoid an unnecessary compiler warning 2022-07-16 13:16:23 -07:00
Ivan Kukush
e3fcc1f57f PMove: add a bunch of comments so peole would be aware of issues/limitations 2022-07-16 00:19:31 +03:00
Ivan Kukush
9455596a3a PMove: make sv_maxspeed actually controlls players speed 2022-07-16 00:17:54 +03:00
Ivan Kukush
ac0e739170 PMove: swap heavy and light gasping sounds with each other 2022-07-16 00:14:06 +03:00
b06544aacc
PMove: crouching will no longer affect your movement underwater. noclip and crouching will no longer adjust the camera view and player bbox. 2022-07-14 21:38:54 -07:00
2f8b36c499
Get rid of pmove_water.qc and all that. 2022-07-14 21:29:53 -07:00
5ad849697e
Forgot to remove this define in pmove 2022-07-14 21:09:18 -07:00
93ba8c6cc9
Shared: Clean up some of the player_pmove code. Games can now via macros define some properties without overriding a method. 2022-07-14 21:02:31 -07:00
220b424e33
Fix some misc Damage_Apply calls in really old parts of the code. Add more useful PlayerConnect/PlayerDisconnect methods into the base gamerules. 2022-07-14 18:04:11 -07:00
98afd5fa28
NSRenderableEntity: add SetBoneControl methods. 2022-07-10 16:39:15 -07:00
2735bd26f6
Server: Add cvar 'mp_foosteps', which only works in multiplayer. Hence the name. 2022-07-09 19:47:44 -07:00
66b09de431
Big commit fixing many regressions since crunch hit. env_sprite has been reworked.
multi_manager entities now behave correctly when calling themselves in MULTITHREADED mode.
Remove GS_RENDERFX option. Too many entities rely on its functionality anyway.
Fixed some rendermode behaviour - ladders will no longer be visible.
You can now see the playermodel (and no longer the viewmodel) in mirrors.
Fixed a lot of warnings.
2022-07-07 09:10:14 -07:00
4dc1dc1143
prop_rope: adjust multiplier to match the original sag strength 2022-06-27 19:57:15 -07:00
5691fe518f
prop_rope: Minor performance boost. Add cvar rope_maxsegments. 2022-06-27 12:16:11 -07:00
c994a9ebaf
Client: Add cvar cl_crouch_toggle (Default: 0) 2022-06-27 09:30:12 -07:00
e7339b124e
NSRenderableEntity: Use the new addlight for RFX_Q2PULSE. Needs engine version bump. 2022-06-27 08:31:41 -07:00
08706fcacb
BotLib: Basic respect for bot_skill cvar. 2022-06-22 15:25:08 -07:00
87c706ded7
NSEntity: Respect 'team_no' entity key in all team games to filter out which team can touch what 2022-06-22 14:58:45 -07:00
cf5a4da751
NSTrigger: respect the 'message' key with any UseTargets call 2022-06-22 13:08:37 -07:00
8d16c58862
NSTraceAttack: Deal better with recursion by taking damage into account on whether or not we should continue 'penetrating' 2022-06-20 23:35:24 -07:00
7632d0debd
Mapcycle: add Mapcycle_Load(), which will allow modes to suggest their own mapcycle. Subject to change. 2022-06-20 11:46:29 -07:00
d1a90e9aa4
NSClientPlayer: Allow weapon input when in intermission & in vehicle, so the intermission end can get triggered. 2022-06-20 11:45:50 -07:00
d633e80846
light_dynamic: Focus/optimise for the use of static rtlights. This _should_ provide a significant speedup. 2022-06-17 10:11:17 -07:00
9ef275a2ac
NSTraceAttack: Fix typo 2022-06-17 07:35:25 -07:00
c996986631
prop_vehicle_driveable: respect clipvehicle 2022-06-16 23:04:26 -07:00
241c94368f
vguilib: only block inputs to engine if a widget successfully took a keypress into account 2022-06-16 21:57:53 -07:00
b51541a3ae
NSTraceAttack: Check if we're a client before making the assumptions that our owner class has attributes related to bullet patterns 2022-06-16 14:39:08 -07:00
e6bb5a6bc3
Client: Chat now uses a text-field for handling word wrap. Also fix the alignflags in font.h 2022-06-10 09:34:06 -07:00
24c869d9aa
Client: Make sure we're respecting .viewzoom of a target that we spectate in first-person. 2022-06-09 16:46:28 -07:00
7560bc12b8
Client: unbreak viewmodel not showing up when spectating after the OpenXR update 2022-06-09 15:54:49 -07:00
a7d7dcd9ee
Change the last commit by turning this into an NSMonster specific function instead. 2022-06-08 17:41:02 -07:00
80099317cb
Entity_FindClosest: Don't return any entity of class "player" if their health is equal or below 0. 2022-06-08 17:35:56 -07:00
e947e35cd6
Client: Make sure an K_ESCAPE input event gets forwarded to the menu regardless. 2022-06-08 17:21:20 -07:00
5e9a65924a
NSRenderableEntity: add cvar rfx_q2pulse_intensity, rfx_q2pulse_speed 2022-06-08 14:08:13 -07:00
7f85a6f924
NSRenderableEntity: add render FX Q2PULSE. Which emulates the pulsing, fullbright
rendering of items/pickups in Quake II
2022-06-08 13:30:52 -07:00
460eec7f76
PMoveCustom_: Check for MOVETYPE_NONE and disable any further interaction. 2022-06-08 11:39:28 -07:00
ad093548b5
Clean up some misc building stuff. Based on input by BartoCH, many thanks!
I'd like to make the gmake check nicer when I have more time.
2022-06-06 19:58:29 -07:00
14518aabf0
UI: Misc fixes... get 'base' building again 2022-06-05 11:56:23 -07:00
6982043380
Added NSInteractiveSurface. Make voting display which bindings to press for yes/no. 2022-06-04 14:09:50 -07:00
beb6f49620
Fixed dynamic lights not spawning properly, fix double init for CSQC ents. Be more specific about which ents can spawn and which won't on the client. Make sure __fullspawndata is wiped after every bsp ent init. 2022-06-03 15:22:33 -07:00
78d3942789
env_glow: Fix Spawned() not calling its prior self. 2022-06-02 20:01:06 -07:00
18fc98d7ec
Client: Draw chat and prints during intermission as well 2022-06-02 14:37:22 -07:00
1dab05fbd3
Menu-VGUI: Search for .vvm models alongside .mdl files in the modelviewer 2022-06-02 14:36:44 -07:00
d303ef9741
PropData: Respect fadetime for breakmodels. 2022-06-02 14:35:52 -07:00
a463498f60
Huge cleanup. Add initial code for the revamped material definition system. 2022-06-01 17:38:52 -07:00
73c762e875
NSEntity: Fix for IsVisible(entity), where we wouldn't 'see' the target correctly, as the trace collides with them and isn't returning a fraction of 1.0. 2022-05-27 14:55:33 -07:00
00364ad476
Client: add helper function drawpic3d. Which instead of a screen position takes a 3d-world position as an argument. 2022-05-26 17:43:22 -07:00
0f7d4fd214
prop_vehicle_drivable: Add spawnflag VEHSF_NOFLIP, which will prevent the vehicle from flipping over 2022-05-26 17:42:35 -07:00
50070b031b
NSMonster: Add MSF_HORDE flag. That marks a monster as constantly being aware and finding the nearest player for attack. 2022-05-26 15:24:08 -07:00
643211efae
Add helper functions Entity_FindClosests(string classname) and Entity_SelectRandom(string classname) 2022-05-26 13:25:02 -07:00
68974053f4
BotLib: add cvar bot_prefix, add method SetName() which respects it. 2022-05-24 15:32:37 -07:00
6bc54d4219
Menu-VGUI: Hack to get Input calls done in reverse to the drawing. 2022-05-24 13:30:58 -07:00
db97db6820
Menu-VGUI: Fix up, change Input() method to block input from other widgets 2022-05-24 13:04:48 -07:00
5f3570f140
VGUI: UIButton now resizes when an image is set that's larger than the button area. Also add method SetIconColor() 2022-05-20 16:35:36 -07:00
bb2b7dbddf
NSClient: add method UpdateAliveCam()
UITextbox: Misc polish regarding text entry
GLSL: Detail pass support for some materials
2022-05-15 13:32:53 -07:00
06efd9495d
func_door: Add some useful inputs.
VGUI: Some misc changes related to classic mode.
2022-05-13 14:10:07 -07:00
1e0534c922
NSSpraylogo: Handle vid_reload's gracefully 2022-05-13 11:41:33 -07:00
cdf9efd0ba
XR: Don't override VF_ORIGIN/VF_ANGLES in non-XR mode 2022-05-13 10:52:28 -07:00
80bd490127
Client: Also check if we're fake-spectator before showing scores 2022-05-13 10:50:24 -07:00
05efa415e3
Client: Display scores when client is dead. 2022-05-12 22:48:54 -07:00
38f6996940
PMove: Fix typos that caused shenanigans. 2022-05-12 20:42:09 -07:00
128404d5d3
Spraylogo: Handle both monochrome (BMP) and colored spraylogos. 2022-05-12 20:34:18 -07:00
a9b25c2f6f
Client: Regular prints will now use Font_DrawText. 2022-05-12 11:43:32 -07:00
7048cea248
NSSurfacePropEntity: Ignite() calls will now apply additional damage upon contact. 2022-05-12 11:42:45 -07:00
6653d18417
Forgot to add these files (NSClient/Player/Spectator) 2022-05-11 13:18:02 -07:00
25c54af62c
Spring cleaning part one. 2022-05-11 12:49:04 -07:00
a039a69dd3
Ultimately remove the deprecated old class names for base entities. 2022-05-10 15:01:40 -07:00
77c3cf4e10 Further fixes for OpenXR 2022-05-08 11:28:33 -07:00
a474b820e2
momentary_rot_button: Fix DOORHACK, it's spawnflag is apparently set by the affected and not the ent controlling it. 2022-05-07 21:02:49 -07:00
9e0f93c796
Initial support for OpenXR. Remember to side-load the openxr plugin and set _pext_vrinputs to 1. 2022-05-07 17:58:22 -07:00
5e70290017
ambient_generic: Make sure speech sentences use the attenuation as defined by the radius. 2022-05-05 19:18:26 -07:00
665572543f
prop_static: Support for the 'body' key. 2022-05-05 19:14:17 -07:00
10adaaff54
build scripts: shuffle things around so that we override FTE's makefile properly in regards to CC 2022-05-05 15:28:37 -07:00
c5b2107abf
ambient_generic: Implement support for playing back Sentences. 2022-05-04 21:31:37 -07:00