Regalis
4a37dab3ca
Fixed hosts character being taken into account in both teams' job assignment
2017-03-14 19:50:40 +02:00
Regalis
3f590da395
Fixed AddToGUIUpdateList crashes (I think):
...
The callbacks from the async requests to master server only assign the response to a variable, preventing GUIComponents from being manipulated from two threads simultaneously
2017-03-14 17:27:15 +02:00
Regalis
8c659e2a08
Server checks if midround syncing is needed when a client is in the game (i.e. loaded the sub, etc), not when the client requests the start message. Some clients take longer to start the round than others, and they may miss unique messages even if they were in the lobby when the round started.
...
Clients also get extra 10 seconds to receive newly created events after the midround syncing is done
2017-03-13 21:50:01 +02:00
Regalis
3f1f2d23f2
Server sends the maximum number of players to the master server instead of the maximum number of connections, case-insensitive chat message commands
2017-03-13 20:53:35 +02:00
Regalis
2d7d7f3d8d
Fixed turret syncing, clients don't get a notification about changed permissions if they're assigned the same permissions they already have
2017-03-13 20:52:31 +02:00
Regalis
0874a0b059
PowerContainer syncing, clients can't launch a turret until the server tells them to
2017-03-11 15:40:18 +02:00
Regalis
9e3d51edf4
ServerEntityEventManager doesn't prevent creating a duplicate event if the previous one has already been sent to someone, handling exceptions in WriteEvent
2017-03-11 15:39:11 +02:00
Regalis
5bdb57b98a
Merge branch 'master' into new-netcode
...
Conflicts:
Subsurface/Properties/AssemblyInfo.cs
Subsurface/Source/Characters/AICharacter.cs
Subsurface/Source/Characters/Animation/HumanoidAnimController.cs
Subsurface/Source/Characters/Character.cs
Subsurface/Source/GameMain.cs
Subsurface/Source/Items/Components/Signal/Connection.cs
Subsurface/Source/Items/Item.cs
Subsurface/Source/Networking/GameServer.cs
Subsurface/Source/Networking/GameServerLogin.cs
Subsurface/Source/Physics/PhysicsBody.cs
2017-03-11 13:24:09 +02:00
Regalis
c851770386
Fixed "trying to read past the buffer size" errors caused by item updates sent by clients, midround syncing timeout period is calculated based on the number of events the client needs to receive
2017-03-11 12:49:08 +02:00
Regalis
a1342fdc45
Server-side file transfer UI, server notifies the recipient of a file transfer if the transfer is cancelled, fixed TextGetter not working on wrapped GUITextBlocks
2017-03-10 19:16:17 +02:00
juanjp600
4f589603d1
Further improvements to item position syncing
...
Still needs some work
2017-03-09 23:49:12 -03:00
juanjp600
c55c1b6d0e
Vastly improved item syncing + Crouch syncing
...
Using SetTransform instead of TargetPosition + a larger margin seems to make the item syncing near-perfect.
2017-03-09 20:18:19 -03:00
Regalis
6a31d56175
Fixed mid-round joining clients automatically getting kicked out because they're missing old events
...
Now they're kicked out if they're not in sync within 10 seconds of joining, TODO: calculate a reasonable timeout based on the amount of events and/or give the client more time if they keep receiving events
2017-03-09 21:40:58 +02:00
Regalis
c956e7aa7f
Fixed one missed UInt32 -> Uint16 conversion in ServerEntityEventManager
2017-03-09 21:35:02 +02:00
Regalis
be72a04d90
Switched to the pro version of Code Bold
2017-03-09 20:04:33 +02:00
Regalis
e406b76cd5
Some more logic to handle missing sub files and active file transfers when starting a round:
...
- server waits for transfers to finish before starting the round (up to a max 20 seconds, can be skipped by the host)
- clients enable the spectate button when the round starts (in case they fail to start the round due to a missing sub file or an error)
- clients notify the server if a transfer is cancelled
+ FileReceivers can't be instantiated if a server is running
2017-03-09 19:56:27 +02:00
Regalis
ca402396a0
Client-side file transfer UI, FileSender has a limit on how many transfers can be active simultaneously (todo: queue transfers?), some extra debug logging & small fixes
2017-03-08 22:56:11 +02:00
Regalis
64e866d771
Fixed an off-by-two error in entityspawner
2017-03-07 23:02:33 +02:00
Regalis
6bae2cf47b
File transfers (somewhat) working. Todo: testing, show active transfers in the UI
2017-03-07 23:01:01 +02:00
juanjp600
2d9f706998
Scale applies to newlines in ScalableFont.DrawString
2017-03-07 15:44:59 -03:00
Regalis
5450ff498a
Progress on file transfers (class for receiving files, FileSender can transfer multiple files to the same recipient simultaneously)
2017-03-07 20:03:40 +02:00
juanjp600
7c6032e3fc
Removed GUITextBlock.caretAt
...
Just a leftover of something I tried to implement but never got around to finishing.
2017-03-07 13:56:12 -03:00
juanjp600
49b440208c
Merge branch 'master' of https://gitlab.com/poe.regalis/barotrauma
2017-03-07 13:44:52 -03:00
juanjp600
d6c292a2cc
SharpFont + ScalableFont implementation
...
https://github.com/Robmaister/SharpFont
TODO: replace Code Bold.otf with the full version, fix any bugs, build on Linux, possibly move ToolBox string wrapping and limiting logic to ScalableFont class for better results.
2017-03-07 13:44:42 -03:00
juanjp600
11b7903d4a
Fixed some ServerEntityEventManager ID comparisons
...
I'm probably still missing some comparisons.
2017-03-06 16:31:51 -03:00
juanjp600
29d06bbfc8
Fix build errors
2017-03-06 16:26:52 -03:00
juanjp600
00aa9aecb1
Merge branch 'new-netcode' of https://gitlab.com/poe.regalis/barotrauma into new-netcode
2017-03-06 16:25:29 -03:00
juanjp600
ecb7500df9
Converted UInt32 ID's to UInt16
...
TODO: test everything, make sure nothing broke
2017-03-06 16:25:12 -03:00
Regalis
cf859eee7c
WIP file transfer logic
2017-03-06 20:31:24 +02:00
Regalis
10794a5e2c
Added z position to background sprites
2017-03-06 18:38:38 +02:00
Regalis
88a76f0c9f
Fixed the game process staying active in the background after a crash (due to a running sound streaming thread)
2017-03-03 20:58:32 +02:00
Regalis
c96fcf7f34
Clients can't use headsets that are in the inventory
2017-03-03 20:31:07 +02:00
Regalis
4c863cfdd7
Some extra error checking in GUIComponent and PhysicsBody syncing logic
2017-03-03 20:29:33 +02:00
juanjp600
ee16f0708b
-try-catch blocks for GUIComponents fixedChildren lists
...
-player name and IP address in debug messages
-crash logs now output up to 15 messages
2017-03-03 15:14:18 -03:00
Regalis
e059a08688
Optimized lightsource raycasts
2017-03-03 00:02:43 +02:00
Regalis
f04a00f6e1
Merge branch 'lighting-optimization'
2017-03-02 19:39:55 +02:00
Regalis
335ee8c72e
Warning message about unlinked vents is only shown once when saving (not for each vent)
2017-03-02 19:39:00 +02:00
Regalis
a5017193bf
Items don't attempt to set the positions of contained items with SetTransform if SetTransformIgnoreContacts fails (because the former calls the latter anyway, causing another exception). Still haven't managed to reproduce the exception
2017-03-02 19:38:31 +02:00
juanjp600
01a543e8b4
Fixed slight mistake in homoglyph list
2017-03-02 13:54:40 -03:00
juanjp600
ac3015f983
Slight homoglyph search optimization
...
Instead of calling Find twice, it calls it once for the first character and checks if the returned group contains the other character
2017-03-02 12:32:14 -03:00
juanjp600
ba026a8f88
Added list of homoglyphs for name comparison
...
Unicode is now allowed in player names, but it can't be easily exploited anymore
2017-03-02 12:09:08 -03:00
Regalis
65625777e5
Monster syncing fixes:
...
- clients freeze and disable AI characters if no updates have been received in a while (due to the monster being far away from player-controlled characters at the servers side for example)
- server disables AI characters that are too far for updates to be sent to clients (-> targets of monster missions can't swim away from the spawnpos and cause the clients' sonars to point to an incorrect position)
2017-03-01 23:14:15 +02:00
juanjp600
7935ecce46
- fixed crash in UpdateVoteStatus
...
- fixed clients reconnecting automatically after being kicked for desync
2017-03-01 17:04:51 -03:00
juanjp600
983ab9c05b
Fixed potential null exception
2017-03-01 16:42:12 -03:00
juanjp600
e681a2d29a
Clients that are waiting for very old events are kicked
2017-03-01 16:40:07 -03:00
juanjp600
f2db3c6b20
Merge remote-tracking branch 'barotrauma/master' into lighting-optimization
2017-03-01 15:02:23 -03:00
Regalis
871c3bc93c
Character colliders are disabled when the character is disabled (-> monsters won't automatically drop into abyss in monster missions)
2017-03-01 19:15:50 +02:00
juanjp600
3868b70387
Fixed windowed door shadows
2017-03-01 13:41:37 -03:00
juanjp600
84a8232c1a
Fixed override sprite scaling
...
Now it looks right.
2017-02-28 19:38:25 -03:00
juanjp600
4568f34f39
Rotating lights and overridden textures
...
The flashlight has the correct texture now, but something still seems off about the UV coordinates. Scaling is probably incorrect.
2017-02-28 19:19:02 -03:00