1,079 Commits over 1,095 Days - 0.04cph!
A marker can now be placed in the building editor that determines where the gang safe goes. If there is no marker, the safe will try to find some space on the first floor as before.
Revert building manager change as there were bugs, since loading building definitions needed to wait a frame to work properly. Started a branch to maybe look into it.
Simplified, more open gang buildings. Had to rebuild building IDs, hence the extra "changes"
Update UI immediately on pickup/drop
Can't select other items anymore while holding a carryable
New testmap_smallest. Loads super fast, still has gang buildings but no jail.
Remove an old time printout
Building manager now only loads buildings that the map actually uses. Improves loading times around a minimum of 25% (testmap_small, which needs most building types anyway), and removes the need for the loadBuildingDefinitions Tools flag (which was used to make maps with no buildings load faster).
Couple of bug fixes from testing
fastCountdowns mode skips the welcome screen as well
Drop carried item on disconnect. Fixes glitching on reconnect.
Added "fast countdowns" option in the WiseGuysTools window, to speed up testing
20 was a bit much. Decrease again to 15. +bugfix
Increase label distance from 12 to 20
Fixed gang emblems not showing up as well
A bunch of cleanup/refactoring, and player label colour tints now work correctly
Bugfix for NRE on helditems with no item + testmap_smaller edit
Had an issue where if you reconnected to a game, you weren't holding anything. Turned out this is what happens on reconnect:
1. OnEntitySpawnMessage. HeldItem entity comes through on its own
2. It's created
3. Deserialize called.
4. SetParent called, but parent is null since it's coming on its own.
5. OnClientInitialize called
6. OnEntitySpawnMessage. HeldItem entity comes through as a child of the user
7. Warning shown that it already exists
8. Deserialize called.
9. SetParent called. *Parent is now set.* We can now call SetItemHolder any time
10. OnClientInitialize _skipped automatically_ in NetworkEntity as it's already been called
To fix I added moved the backup SetItemHolder call in Deserialize to OnPostDeserialize, which is called after SetParent.
Fixed errors being thrown when camera tried to detatch on quit
Changing carryable picking up to allow for the carrier to take action when pickup occurs. Might change this around a bit more.
Show different message on carryables if the interactor is already holding something and can't pick up
Now showing existing player (team) selection counts on the character select screen. Only issue is it's not updated after the screen initially loads. Counts could change if you hang around on character select for a while and it won't be updated. Could poll the server once every x seconds for updates.
Proper auto-select if there's only one character option
Updated waiting info text on character select and countdown screens
Countdown UI works properly with the new system, shows waiting reason
Character select now goes straight to countdown/waiting screen when ready
Changed character selection. Must select a character to continue. No ready button.
Show gang score results on the summary screen at the end of HH game mode
Round end summary screen now actually does something, supports custom text
Let HH start with 1 player. Easier for testing
Now supporting draw results (more than one winner)
Minor UI edit. Ready button is a bit bigger ¯\_(ツ)_/¯
IsRunning flag message for clients
Moved isrunning check so it actually works
Restore is isRunning console flag
HH mode requires at least two players to start
Fixed a glitch in ceiling light UVs
Don't show nav arrow when close to target (basically when in gang building)
Doll should be associated with the gang house it's dropped in, not the player's gang who dropped it!
Got score working again. Moving the angHQ script earlier broke it
Modified the old static gang list to work on listen servers with the new networking system. Fixes nav arrows not working in listen mode