Commit graph

769 commits

Author SHA1 Message Date
in0finite
34175971ae syncing is finally decent enough 2021-01-07 15:26:11 +01:00
Spider134
52533f836b
Add font loading (#101)
* Added font importing

* Revert "Added font importing"

This reverts commit 31f3463097.

* Fix Loader.cs formatting

* Fix texture issue

* Revert "Fix texture issue"

This reverts commit 79c44f8069.

* Update FontsImporter.cs
2021-01-06 20:46:56 +01:00
in0finite
68413a5c37 sync velocity 2021-01-05 22:58:47 +01:00
in0finite
20100a34aa add "dead body sync rate" setting 2021-01-05 21:32:20 +01:00
in0finite
8d400bfceb syncing works 2021-01-05 21:09:25 +01:00
in0finite
f9e320ce23 move creation of dead body to it's own class 2021-01-05 19:30:14 +01:00
in0finite
8469f18862 use prefab to spawn dead body 2021-01-05 18:21:57 +01:00
in0finite
75d9ca5f35 when vehicle explodes, all peds inside are killed - this also fixes Unity crash 2021-01-05 05:56:39 +01:00
in0finite
17f6aaeeda peds are killed with a separate function ; ragdoll is detached only when peds are killed, not destroyed 2021-01-05 05:18:47 +01:00
in0finite
acae61657d cleanup 2021-01-05 04:26:17 +01:00
in0finite
59097a00f2 apply force on dead body when it is hit by weapon 2021-01-05 04:20:46 +01:00
in0finite
3a5e237e06 add button to remove all dead bodies 2021-01-05 03:09:45 +01:00
in0finite
988e250981 ... 2021-01-04 23:32:28 +01:00
in0finite
aa95d082d9 use continuous dynamic CollisionDetectionMode for ragdoll 2021-01-04 22:11:55 +01:00
in0finite
9a224c0eca remove additionally added colliders from ragdoll (jaw, neck box) 2021-01-04 22:08:51 +01:00
in0finite
d6d5d660cf wip on ragdoll 2021-01-04 01:28:58 +01:00
in0finite
64680f7280 initial ragdoll stuff 2021-01-03 14:23:18 +01:00
in0finite
85ed0480e6 add setting for radio volume 2021-01-02 23:22:52 +01:00
in0finite
b3188b6c11 assign SEO to scripts 2020-12-29 21:28:41 +01:00
in0finite
350f70ac9b don't create hinge joints for vehicle doors 2020-12-29 20:58:51 +01:00
in0finite
edceca030f extract function 2020-12-29 20:43:33 +01:00
in0finite
74bc44561f remove commented code 2020-12-29 20:36:35 +01:00
in0finite
9d9b9743c5 spawn projectile on network 2020-12-26 23:57:51 +01:00
in0finite
e825ecb6d4 projectile should be visible on clients 2020-12-26 23:01:32 +01:00
in0finite
4eed0a4bbe implement acceleration 2020-12-26 20:07:05 +01:00
in0finite
7cba029b92 sync projectile 2020-12-26 18:45:42 +01:00
in0finite
f04728934e ignore collision between projectiles 2020-12-22 02:24:00 +01:00
in0finite
80a5e0c538 rotate projectile while moving 2020-12-21 23:27:00 +01:00
in0finite
26ed669de8 use separate prefab for rocket explosion 2020-12-21 22:56:41 +01:00
in0finite
d32688155c remove commented code 2020-12-21 20:55:30 +01:00
in0finite
4acfe0e401 play projectile sound 2020-12-21 03:01:20 +01:00
in0finite
f61a4c829f fix warning 2020-12-21 02:10:26 +01:00
in0finite
1ca4b2d0ad ignore collision between shooter ped and projectile 2020-12-21 02:10:17 +01:00
in0finite
ec89abedd8 attach rocket model 2020-12-21 01:50:31 +01:00
in0finite
536c275a5e display rocket crosshair 2020-12-21 01:00:05 +01:00
in0finite
9ee8f0dfac implement reloading time - all weapons have it set to 0, except rockets 2020-12-20 22:27:29 +01:00
in0finite
00a95beb66 add namespace 2020-12-20 21:53:55 +01:00
in0finite
86e1187b5c implement base projectile system 2020-12-20 21:51:59 +01:00
in0finite
615491aab6 use InvariantCulture when (de)serializing colors 2020-07-05 22:35:21 +02:00
in0finite
5816570fd2 sync color of detached parts 2020-07-05 22:33:34 +02:00
in0finite
f926bb7c24 send color of detached part 2020-07-05 21:39:59 +02:00
in0finite
d5a51d595e newly connected clients can see already existing detached parts 2020-07-05 18:37:56 +02:00
in0finite
e959d1c483 don't log error if frame is not child of vehicle, because some vehicles have multiple frames with the same name, and this causes error only on client, but not on server 2020-07-05 13:42:50 +02:00
in0finite
942453a2a4 check if frame is already detached before detaching it - this also fixes a bug on client when he was trying to detach already detached frame 2020-07-04 20:12:01 +02:00
in0finite
9c63b25d38 log error if frame is not child of vehicle 2020-07-04 19:11:39 +02:00
in0finite
96b0ac1f33 disable cooking options on MeshCollider 2020-07-04 19:11:09 +02:00
in0finite
e47d8d0adf explosion is synced 2020-07-04 18:52:23 +02:00
in0finite
798dfd55ed ... 2020-07-01 23:36:49 +02:00
in0finite
41e5223fc7 detached vehicle parts should be synced 2020-07-01 23:36:01 +02:00
in0finite
6725e3ce57 do some logic only on server 2020-07-01 19:36:39 +02:00
in0finite
96829ef506 sync vehicle's health 2020-07-01 19:31:06 +02:00
in0finite
2e0108d662 cleanup code 2020-07-01 19:25:59 +02:00
in0finite
395bcdcf4b add some commented code related to petrolcap 2020-07-01 18:53:15 +02:00
in0finite
115821f2da add hit point and hit normal to DamageInfo class 2020-07-01 18:52:35 +02:00
in0finite
d6c79434a4 cache petrolcap transform 2020-06-29 21:57:44 +02:00
in0finite
ec43361325 play explosion sound 2020-06-29 19:08:04 +02:00
in0finite
99c1cf8ecc ped can not be damaged by explosion while he is in vehicle 2020-06-29 17:50:33 +02:00
in0finite
e5c6144706 ped damage handling is done by State classes 2020-06-29 17:12:48 +02:00
in0finite
47c44355ba replace ExplosionPhysicsForce script from Standard Assets with custom script 2020-06-28 20:32:30 +02:00
in0finite
f865dd0051 vehicle's max health is calculated as power function of mass 2020-06-28 16:44:32 +02:00
in0finite
bfdb8a5ba0 use curve for adjusting damage over distance 2020-06-28 16:35:35 +02:00
in0finite
ba4e10bb3a explosion damage amount is a power function 2020-06-27 22:50:50 +02:00
in0finite
bc605534e6 draw gizmos sphere indicating explosion damage radius 2020-06-27 22:40:51 +02:00
in0finite
ba1ebf4213 don't try to damage ped if his health is <= 0 2020-06-27 22:12:22 +02:00
in0finite
16bd731403 ped can be damaged by explosion 2020-06-27 22:00:10 +02:00
in0finite
b6b2037e97 explosion strength and upward modifier are proportional to squared root of vehicle's mass 2020-06-22 03:05:42 +02:00
in0finite
8871702e5b make some parameters configurable 2020-06-21 23:35:39 +02:00
in0finite
9678faa18a inflict damage to nearby objects 2020-06-21 18:21:15 +02:00
in0finite
b2af2ade90 add stats about vehicle's damage 2020-06-21 16:35:39 +02:00
in0finite
4b6223a025 change some params 2020-06-21 16:20:16 +02:00
in0finite
2e02d0dab2 modify strength of explosion based on vehicle mass 2020-06-21 15:43:19 +02:00
in0finite
44fe30d8df don't apply explosion force 2 times 2020-06-21 15:33:19 +02:00
in0finite
07d802ce8f add explosion VFX and explosion physics force 2020-06-21 14:15:20 +02:00
in0finite
c56dad1950 flame VFX done 2020-06-21 01:24:19 +02:00
in0finite
ea6e45b593 smoke VFX done 2020-06-21 00:33:55 +02:00
in0finite
d98643e70c explode exception-safe 2020-06-20 20:17:22 +02:00
in0finite
d4078d250e cleanup 2020-06-20 20:15:29 +02:00
in0finite
775af9f9cb apply different force amount on chassis 2020-06-20 19:56:55 +02:00
in0finite
b0cde397be randomize lifetime of detached parts 2020-06-20 18:06:24 +02:00
in0finite
bfb15e4c9c chassis have realistic mass 2020-06-20 18:05:12 +02:00
in0finite
075bfc3d2d detach chassis during explosion 2020-06-20 17:56:17 +02:00
in0finite
d4c8d83fcc add DescriptionForLogging property 2020-06-20 17:55:27 +02:00
in0finite
552043bcd7 cache "engine" transform 2020-06-20 16:23:53 +02:00
in0finite
7581f4ac0a unsubscribe from VehiclePhysicsConstants.Changed event when vehicle is destroyed 2020-06-20 16:21:29 +02:00
in0finite
41856f3def vehicle explosion logic done - vehicle parts are detached, have rigid bodies, and explosion force is applied to them 2020-06-20 16:16:11 +02:00
in0finite
5ba7751ef6 damaging vehicles works 2020-06-09 19:45:25 +02:00
in0finite
faf96838b9 implement basic vehicle damage logic 2020-06-09 18:34:15 +02:00
in0finite
394348745e converting on-screen messages to uGUI 2020-06-06 18:09:26 +02:00
in0finite
29ab0556c6 specify ignored layer mask for finding ground in Inspector 2020-06-06 15:54:04 +02:00
in0finite
fda86887f7 use random rotation when spawning players' peds 2020-06-06 00:53:26 +02:00
in0finite
9dc4f03c9f run exception safe 2020-06-06 00:45:53 +02:00
in0finite
dab056d48e fix for spawning peds at the same position 2020-06-06 00:40:47 +02:00
in0finite
fe557282eb fix for recruiting peds 2020-06-05 23:49:50 +02:00
in0finite
03a0f5c35e extract method 2020-06-05 23:22:30 +02:00
in0finite
d37d601082 peds can not damage other peds in the same vehicle 2020-06-03 02:12:40 +02:00
in0finite
21644998cb rename variable 2020-06-03 01:10:38 +02:00
in0finite
cb495440cd fix camera being blocked by vehicle's high detail meshes 2020-06-03 00:27:18 +02:00
in0finite
d9a728b244 destroy high detail mesh objects when vehicle is destroyed 2020-06-02 23:56:36 +02:00
in0finite
8880d6030a update all relevant children 2020-06-02 23:48:40 +02:00
in0finite
92feb469fb create separate game object with mesh colliders 2020-06-02 22:40:46 +02:00
in0finite
c5b8d7df6d add new layer for vehicle high detail mesh 2020-06-02 20:44:08 +02:00
in0finite
71d18bbe6d change way of specifying which object should be ignored when raycasting - peds can not damage other peds in the same vehicle 2020-06-01 14:58:51 +02:00
in0finite
e9ef2f709d better specify which object should be ignored when raycasting 2020-05-31 19:09:58 +02:00
in0finite
199a008b12 correctly identify Transform that was hit by a bullet - this fixes a bug when ped could not be damaged while in vehicle 2020-05-31 19:09:58 +02:00
in0finite
2fec510ce3 display inflicted damage as on-screen message 2020-05-31 19:09:58 +02:00
in0finite
756f7e8563 move Damageable class to Utilities assembly 2020-05-31 19:09:57 +02:00
in0finite
f2c9e5ff75 inflict damage based on part of body that was hit 2020-05-31 19:09:57 +02:00
in0finite
b203a0b667 weapon's projectile raycasts are made against ped bones 2020-05-31 19:09:57 +02:00
in0finite
8f56469b28 camera can move through "PedBone" layer 2020-05-31 19:09:57 +02:00
in0finite
d675a8b4a4 provide layer as property 2020-05-31 19:09:57 +02:00
in0finite
f607d50483 run exception-safe 2020-05-31 19:09:57 +02:00
in0finite
adc03cc3aa add sphere collider around jaw 2020-05-31 19:09:57 +02:00
in0finite
e945f9f54e ragdoll bones are set up 2020-05-31 19:09:57 +02:00
in0finite
ec7417c510 ... 2020-05-31 19:09:57 +02:00
in0finite
3d3b697076 don't destroy the clip with delayed Destroy() 2020-05-31 19:09:57 +02:00
in0finite
1b19e38bc6 when stopping radio sound, save radio station's time only if audio source is playing 2020-05-31 19:09:57 +02:00
in0finite
8e8e495633 destroy radio clip when stopping radio sound ; destroy radio clip when vehicle gets destroyed ; 2020-05-31 19:09:57 +02:00
in0finite
f3490beb80 change access modifiers 2020-05-31 19:09:57 +02:00
in0finite
6bbdcecd7d remember time when radio station changed 2020-05-31 19:09:57 +02:00
in0finite
a68efa0b7d remember time when seat's ped changed 2020-05-31 19:09:57 +02:00
in0finite
cff2be9531 rename method 2020-05-31 19:09:57 +02:00
in0finite
cdb561c4a7 assign random radio station in Awake(), not Start() 2020-05-31 19:09:57 +02:00
in0finite
5237c849ba display radio station name 2020-05-31 19:09:57 +02:00
in0finite
ea840f8b5e add stats about current vehicle's radio 2020-05-31 19:09:57 +02:00
in0finite
d29a1e1a4e refactor 2020-05-31 19:09:57 +02:00
in0finite
8134b8a1d9 properly detecting when ped is assigned to vehicle and removed from vehicle ; fix radio playing ; wait some time before loading sound of radio station ; 2020-05-31 19:09:57 +02:00
in0finite
5d20cac976 move all radio related stuff to appropriate partial class 2020-05-31 19:09:57 +02:00
in0finite
4d646c853d small optimization for finding closest vehicle/seat 2020-05-31 19:09:57 +02:00
in0finite
0e130999f4 fix bug when peds were not able to enter any vehicle when there was a vehicle with no seats spawned 2020-05-31 19:09:57 +02:00
in0finite
19b6c25432 correctly position the minimap 2020-05-31 19:09:56 +02:00
in0finite
3d81bd25ca use RawImage for minimap texture 2020-05-31 19:09:56 +02:00
in0finite
f90732229d change SEO of some scripts 2020-05-31 19:09:56 +02:00
in0finite
c661e13b88 remove unneeded variables 2020-05-31 19:09:56 +02:00
in0finite
9c0bcd747b refactor 2020-05-31 19:09:56 +02:00
in0finite
88cd91d0bd use auto property 2020-05-31 19:09:56 +02:00
in0finite
aec6481050 refactor 2020-05-31 19:09:56 +02:00
in0finite
91f9c55540 remove some unneeded variables 2020-05-31 19:09:56 +02:00
in0finite
1eb6dbadda remove 'toggleInfo' variable 2020-05-31 19:09:56 +02:00
in0finite
1cfe3b80b1 ReadInput() is slightly faster 2020-05-31 19:09:56 +02:00
in0finite
bdbec0bdeb remove OnGUI() function 2020-05-31 19:09:56 +02:00
in0finite
496333b26d remove commented code 2020-05-31 19:09:56 +02:00
in0finite
602f3beb4d refactor 2020-05-31 19:09:56 +02:00
in0finite
03c451d0a9 move input reading to LateUpdate() ; remove Update() because it's no longer needed ; 2020-05-31 19:09:56 +02:00
in0finite
eb7123be57 refactor 2020-05-31 19:09:56 +02:00
in0finite
525ca5a287 read input only when minimap is visible 2020-05-31 19:09:56 +02:00
in0finite
dc37e76e6b extract input reading into a method 2020-05-31 19:09:56 +02:00
in0finite
9d4ca5aae6 don't update stuff when minimap is not visible 2020-05-31 19:09:56 +02:00
in0finite
0668cf62f1 move zoom updating from FixedUpdate() to LateUpdate()
FixedUpdate() is now removed
2020-05-31 19:09:56 +02:00
in0finite
7a57f6b266 retrieve zone name on every 2 seconds 2020-05-31 19:09:56 +02:00
in0finite
d44757a739 ... 2020-05-31 19:09:56 +02:00
in0finite
df6bfa45ba minimap now has focus position 2020-05-31 19:09:56 +02:00
in0finite
72e090419a rename class 2020-05-31 19:09:56 +02:00
in0finite
b1f6c2b8fa convert zone name 2020-05-31 19:09:55 +02:00
in0finite
e415d019fc use RawImage for player icon 2020-05-31 19:09:55 +02:00
in0finite
5d4367fa3e zooming of minimap works 2020-05-31 19:09:55 +02:00
in0finite
d404419d5f minimap seems to be converted 2020-05-31 19:09:55 +02:00
in0finite
8ebbac83dc remove some unneeded code 2020-05-31 19:09:55 +02:00
in0finite
5c9b83d240 remove unneeded code 2020-05-31 19:09:55 +02:00
in0finite
101069ce0a convert speedometer 2020-05-31 19:09:55 +02:00
in0finite
d7db52c142 don't show label when ped is in flying state 2020-05-31 19:09:55 +02:00
in0finite
7243560fe0 convert ped state label 2020-05-31 19:09:54 +02:00
in0finite
ef83e9aed5 fix errors 2020-05-31 19:09:54 +02:00
in0finite
c77f6c471d removed imGUI code 2020-05-31 19:09:54 +02:00
in0finite
cac960800f working on crosshair 2020-05-31 19:09:54 +02:00
in0finite
c3d7447a7e delete PedestrianModelViewerUI script 2020-05-31 19:09:54 +02:00
in0finite
d59672aa34 don't read input on some places when not allowed 2020-05-31 19:09:54 +02:00
in0finite
2eb36c245f fix lower shooting rate 2020-05-31 19:09:53 +02:00
in0finite
9db8019d9a extract GetFirePosition() and GetFireDirection() into IAimState interface/classes - states now control fire position and direction ; drive-by aiming now works for AWA weapons (they no longer aim up in the sky) ; 2020-05-31 19:09:53 +02:00
in0finite
d0badd78cf don't clear raycast buffer - I think that there is no need for that 2020-05-31 19:09:53 +02:00
in0finite
c5aa931715 use larger buffer for storing raycasts - this is needed because vehicle is consisted of many colliders which can be on a path of a ray 2020-05-31 19:09:53 +02:00
in0finite
5ede80b85e check also if ignored object is parent of hit object 2020-05-31 19:09:53 +02:00
in0finite
a7ad315260 when drawing line from gun, use the last used WeaponAttackParams - this will properly visualize aim direction when in drive-by state 2020-05-31 19:09:53 +02:00
in0finite
6e3cf54a02 trying to ignore object when raycasting 2020-05-31 19:09:53 +02:00
in0finite
0c620cc228 refactor firing system to use additional parameters - this will make it possible to ignore current vehicle when firing in drive-by state 2020-05-31 19:09:53 +02:00
in0finite
ca40df585d cleanup 2020-05-31 19:09:53 +02:00
in0finite
886edc3084 adjust camera focus position and camera distance 2020-05-31 19:09:53 +02:00
in0finite
a2e9d3f971 camera offset is configurable 2020-05-31 19:09:53 +02:00
in0finite
a9f665bc33 camera handling works, but needs improvements 2020-05-31 19:09:53 +02:00
in0finite
42946f3a02 convert CheckCameraCollision() to static method 2020-05-31 19:09:53 +02:00
in0finite
0dffb495c6 aim anim max time is equal to half of the anim length 2020-05-31 19:09:53 +02:00
in0finite
bc05cb0b4c manually update aim anim ; don't play anim while firing, but pause it ; stop firing when weapon is ready to fire, not when anim reaches certain time ; 2020-05-31 19:09:53 +02:00
in0finite
212d1187ff drive-by firing WIP 2020-05-31 19:09:53 +02:00
in0finite
18136f279f convert other TryFire() to static function 2020-05-31 19:09:53 +02:00
in0finite
3a9b07cf7b convert TryFire() to static function 2020-05-31 19:09:53 +02:00
in0finite
84b2d4209c update anims from the right place 2020-05-31 19:09:53 +02:00
in0finite
cbf874da6c anims are finally playing correctly 2020-05-31 19:09:53 +02:00
in0finite
c7db8963ff attempt to play driveby anims 2020-05-31 19:09:53 +02:00
in0finite
7f384860b5 small cleanup 2020-05-31 19:09:52 +02:00
in0finite
e2d1702e6b change anim wrap mode 2020-05-31 19:09:52 +02:00
in0finite
531e787515 play correct anim 2020-05-31 19:09:52 +02:00
in0finite
e50a1e70e2 drive-by WIP 2020-05-31 19:09:52 +02:00
in0finite
33b8d217aa small fix 2020-05-31 19:09:52 +02:00
in0finite
c5c8f2c75b any NPC ped can be recruited 2020-05-31 19:09:52 +02:00
in0finite
193577d9b5 stalker peds can be recruited 2020-05-31 19:09:52 +02:00
in0finite
c4d9fcc924 read G and H button events 2020-05-31 19:09:52 +02:00
in0finite
ecc17aef6d add button pressed event which uses button name 2020-05-31 19:09:52 +02:00
in0finite
688b2c0015 proper switching to/from sprint state 2020-05-31 19:09:52 +02:00
in0finite
b38a2faf49 "CellIds" is no longer available in Inspector 2020-05-31 19:09:51 +02:00
in0finite
4acc23dacd ignore next collision with first enex too 2020-05-31 19:09:51 +02:00
in0finite
8d93a7f2c5 use small raycast distance when teleporting through enexes 2020-05-31 19:09:51 +02:00