Commit Graph

251 Commits

Author SHA1 Message Date
Kae
7860262a3b Fix MaterialItem steps being in reverse
Also multiplied steps for reliability with diagonals
2023-08-18 23:28:31 +10:00
Kae
f6f91b18e8 Various improvements
You can now right click empty slots to insert one from swap.
Added unique sounds for the swap slot count incrementing/decrementing.
Material placement now plays sounds.
2023-08-18 23:14:53 +10:00
Kae
cd36a269fd Account for latency predicting item drop pickup 2023-08-18 21:48:09 +10:00
Kae
b51e174bdc Item drops inherit player velocity, other stuff 2023-08-18 20:03:06 +10:00
Kae
49147c8be5 Fix ItemDrop drawable rendering after added caching
also added poly logging for drops
2023-08-18 18:28:04 +10:00
Kae
0c2015118b Armor Item improvements (& other misc)
TODO: Make option to return to previewing with dummy
2023-08-18 18:06:00 +10:00
Kae
aa0ef06ac6 Predict item drop animation client-side 2023-08-18 16:54:47 +10:00
Kae
50ec1a0406 Animate taken ItemDrops client-side 2023-08-18 16:45:59 +10:00
Kae
c11d20894b Item Drop Improvements 2023-08-18 13:06:07 +10:00
Kae
90267c6105 message.setHandler now accepts a Json config in place of the name 2023-08-15 14:20:56 +10:00
Kae
af74a2f491 Rename global WorldTimestep var to more appropriate name 2023-08-15 13:38:40 +10:00
Kae
65bacddc67 Log missing scripts 2023-08-04 23:47:39 +10:00
Kae
1e9690b433 the unbridled whimsy within me: 2023-08-04 14:28:43 +10:00
Kae
722488a9ab Fix racial liquid descriptions not being used 2023-08-03 16:25:04 +10:00
Kae
37d4abd60f Update StarPlayerStorage.cpp 2023-08-02 23:05:30 +10:00
Kae
6abad768a6 Backups are now placed in their own directory 2023-08-02 22:56:36 +10:00
Kae
b2cabc7567 Game can now load players with non-uuid filenames 2023-08-02 22:25:20 +10:00
Kae
98949574a8 SwimIdle tech parent state 2023-08-02 22:02:21 +10:00
Kae
32e6eab069 Player: Make interaction radius scriptable 2023-08-02 21:59:07 +10:00
Kae
c80b2d2dbc Add loading icon when swapping character 2023-08-02 21:28:37 +10:00
Kae
856e93be3f Skip packet compression on Voice packets
cause 99% of the data is already compressed by Opus
2023-08-02 14:43:49 +10:00
Kae
4af22dd1fa Update StarNpc.cpp 2023-08-01 17:51:58 +10:00
Kae
b7aa185070 Update StarNpc.cpp 2023-08-01 17:05:43 +10:00
Kae
0ef8807539 Changes to support modifying networking while maintaining legacy support 2023-07-31 20:22:09 +10:00
Kae
2dc10fa5ad Tile Prediction improvements
each tile modification is now validated and then added to prediction one-by-one
2023-07-31 17:31:02 +10:00
Kae
72e33fdef5 fix last aim being held when unequipping MaterialItem while holding fire 2023-07-31 16:41:12 +10:00
Kae
830d4deb7b Tile placement improvements
Placing materials is now done in a line to fix gaps at low framerates
2023-07-31 16:00:19 +10:00
Kae
f575bad5e1 fix broken LiquidItem preview (LOL) 2023-07-31 15:00:17 +10:00
Kae
f4ff9dcc49 better debug logMapping for predicted tiles 2023-07-31 14:59:38 +10:00
Kae
610dc72c6d Tile Prediction 2023-07-31 02:40:06 +10:00
Kae
40a2fe57e0 Update StarNpc.cpp 2023-07-29 12:14:11 +10:00
Kae
224ad2c2c0 Reset script panes on character swap 2023-07-29 02:12:03 +10:00
Kae
35fc2679de Allow desired entity ID to be specified in addEntity 2023-07-29 00:52:56 +10:00
Kae
b17b935c10 Fix net identity not updating after swapping character 2023-07-29 00:51:44 +10:00
Kae
5c650d7809 Make client-side NPC collisionPoly override opt-in 2023-07-29 00:49:38 +10:00
Kae
f2afd91d0f Fix Teams not functioning as swapped character 2023-07-26 19:02:33 +10:00
Kae
ddab1db73f Server: Log TCP error and carry on
Fixes the Singleplayer server thread locking up forever and leaving us in an eternal loading screen if the TCP socket fails to bind. Something on my PC is hogging the default server port, which is what made me encounter this.
2023-07-26 18:47:23 +10:00
Kae
c090b935ac Update StarNpc.cpp 2023-07-26 16:48:14 +10:00
Kae
aa220e7947 client-side NPCs 2023-07-26 16:45:01 +10:00
Kae
ea084165bf Optimize entityPortrait: Drawable > LuaTable instead of Drawable > Json > LuaTable 2023-07-25 00:49:20 +10:00
Kae
8547c56ba4 Proper LuaString <-> String handling
Null-terminator usage is opt-in
2023-07-24 23:37:55 +10:00
Kae
7b4ae73647 add sb.jsonParse
also rolled up some rand functions into ternary statements
2023-07-24 19:17:17 +10:00
Kae
5a6c27dd9a whoops 2023-07-24 18:43:50 +10:00
Kae
af31bde032 Handle world creation error when sending world messages, add active world callbacks 2023-07-24 18:42:55 +10:00
Kae
a2d901bd66 Fix ToolUser exception when swapping player
Also made /swap by name exclude the current player when searching
2023-07-24 17:54:31 +10:00
Kae
c6a1d9880f Add DanceDatabase fallback
fixes being crashed when another player uses a modded dance
2023-07-23 22:54:34 +10:00
Kae
0aee45a117 Cache certain item generation calls from interfaces
Helps a little with the lag from recipes when having crafting interfaces open, but it's still noticeable.
Also micro-optimized Root maintenance by unlocking the Root mutexes for their respective shared_ptrs earlier once we have our own shared_ptr.
2023-07-23 22:44:02 +10:00
Kae
121d27446b world.callScriptContext 2023-07-23 13:49:34 +10:00
Kae
d93b026829 Add WorldServer script contexts 2023-07-23 13:11:22 +10:00
Kae
5fa97741e5 experimental universe.sendWorldMessage function 2023-07-23 01:01:23 +10:00
Kae
cb19eef701 Add character swapping (no GUI yet) 2023-07-22 22:31:04 +10:00
Kae
30dd83aa02 Fix rare backwards compatibility issue with optimized directives in object "color" 2023-07-21 17:52:10 +10:00
Kae
643e8b15a1 Fixes for other compilers 2023-07-21 12:22:26 +10:00
Kae
4b0bc220e4 Support for changing the game's timescale
Context-specific (like per-world) timescales can also be added later
2023-07-21 00:58:49 +10:00
Kae
607be74945 Fix server hang while looking for starter world 2023-07-20 19:10:41 +10:00
Kae
d0307e7aa7 Add celestial callbacks to UniverseClient scripts 2023-07-20 17:53:57 +10:00
Kae
5f86e0f027 Hopefully fix server hang while finding a random starter world 2023-07-20 17:53:17 +10:00
Kae
b964668a38 Let players use tools in lounges 2023-07-20 15:27:28 +10:00
Kae
3aa45ab799 Add voice muting, add input key and mouse functions 2023-07-20 12:52:08 +10:00
Kae
3cdbf8bf01 Lua functions for updating Voice settings, improve loudness visualization 2023-07-19 18:15:49 +10:00
Kae
e1645f37fc Support for player entity message commands 2023-07-19 01:16:22 +10:00
Kae
34bb0b5422 Initial voice HUD indicator setup 2023-07-17 22:20:39 +10:00
Kae
848b11399f Get SE-compatible voice transmission working 2023-07-16 23:04:09 +10:00
Kae
da098c7b48 Support receiving SE voice data, resample per-speaker again because of positional delay 2023-07-16 20:44:15 +10:00
Kae
4e44a4ed75 Get transmission working 2023-07-15 14:01:44 +10:00
Kae
28f4204b09 more Voice work 2023-07-13 19:12:55 +10:00
Kae
c3bf7a3c87 Add vanilla-compatible raw broadcasts 2023-07-13 17:58:35 +10:00
Kae
f9e8b5badf more work on Voice 2023-07-13 15:01:07 +10:00
Kae
40223a5090 Initial work 2023-07-12 22:16:12 +10:00
Kae
2b964a2384 Remove indent from Star:: in StarInput.hpp 2023-07-12 20:59:23 +10:00
Kae
87f0e49341 Fix asynchronous lighting crash
This somehow only occurred on Linux
2023-07-10 19:01:39 +10:00
Kae
fe4cc19618 Change pure string format calls to use fmt::to_string 2023-07-06 19:26:28 +10:00
Kae
58678bfe9d Attempt to fix rare crash writing configuration 2023-07-05 21:31:36 +10:00
Kae
5df9adcd0e Fix input bind priority 2023-07-04 20:46:26 +10:00
Kae
bf7418073d Move input callback creation 2023-07-04 20:45:43 +10:00
Kae
e3461e9053 Start of Interface callbacks, starting with a bindCanvas function for the whole screen 2023-07-04 19:27:16 +10:00
Kae
f73cb3ce03 improve WorldServer debug logging
is now consistent with WorldServerThread's use of the world id, which is generally more appropriate
2023-07-03 19:32:23 +10:00
Kae
deb96742e0 Prevent particle copy, tweak debugging some more
probably not too time-saving
2023-07-03 18:31:12 +10:00
Kae
1dacc0f41a Add client world.players 2023-07-03 18:22:44 +10:00
Kae
1742b04eec Cache plant piece asset paths 2023-07-03 18:22:31 +10:00
Kae
7f65913762 Use more portable encoding for Unicode character in debug strfs 2023-07-03 16:26:42 +10:00
Kae
11e00a8ded Change debug render time logging to use microseconds 2023-07-03 16:04:17 +10:00
Kae
069d61e487 Fix scaling a better way 2023-07-03 09:10:09 +10:00
Kae
7999442f01 Fix scaling
not happy with having to do this, but whatever
2023-07-03 08:57:30 +10:00
Kae
398a5655f4 Add Drawable <-> Lua conversion to LuaGameConverters 2023-07-03 08:51:42 +10:00
Kae
7d86194cae fix three constructors having a struct keyword in them
i didn't even notice, and only MSVC silently let it compile. what the fuck
2023-07-03 04:05:42 +10:00
Kae
2386a95342 Input Binding support 2023-07-02 17:19:54 +10:00
Kae
73841ee041 more Input work 2023-07-02 10:55:25 +10:00
Kae
fe3763ed33 Update StarInput.cpp 2023-07-02 08:17:06 +10:00
Kae
3fc7a85a52 More work on the Input system 2023-07-02 08:16:14 +10:00
Kae
15b0e99460 Initial setup of input stuff 2023-07-02 06:34:43 +10:00
Kae
2c43b50531 Fix immediateSound pool logic 2023-07-02 03:18:35 +10:00
Kae
3c65474062 immediateSound and persistentSound now supports random sound pools 2023-07-02 02:26:13 +10:00
Kae
2a610211a1 Correct UpdateWorldProperties handling on server 2023-07-02 02:02:25 +10:00
Kae
ce68aad078 Move expensive questIndicatorPosition() call
need to optimize Object configValue at some point
2023-07-01 08:01:29 +10:00
Kae
45c44408ce Update StarInspectionTool.cpp 2023-07-01 07:30:30 +10:00
Kae
a8196dfd64 Reorganize root load order
Turns out increasing the root load thread count is detrimental. The databases are always stepping on eachother's toes
2023-07-01 04:09:11 +10:00
Kae
ad58a960e4 bring player inspection back! 2023-06-30 11:44:42 +10:00
Kae
b43c59e828 Update StarPlayer.cpp 2023-06-30 07:23:41 +10:00
Kae
7d847fcd6a Fix rare world lighting thread race 2023-06-30 06:35:46 +10:00
Kae
cb1390e9f3 Fix movement controllers falling through platforms at low timestep hz 2023-06-30 06:35:32 +10:00
Kae
d5fbd2001b RenderPrimitive micro-optimizations 2023-06-30 04:34:10 +10:00
Kae
47a527ebbf Update StarHumanoid.cpp 2023-06-30 02:31:41 +10:00
Kae
dc134e168b Move lightmap wait into WorldPainter to fix single-frame lightmap lag-behind
unfortunate
2023-06-29 10:31:59 +10:00
Kae
624c7aaaf1 Move lighting calculation to separate thread 2023-06-29 10:11:19 +10:00
Kae
9d67cda97f Update StarPlayerLuaBindings.cpp 2023-06-29 08:12:27 +10:00
Kae
0b479ae1b9 fix parsePersonality on other compilers 2023-06-29 06:38:48 +10:00
Kae
fb0ab85089 Lua: player.* identity getters and setters 2023-06-29 05:58:24 +10:00
Kae
9486a56508 Add base variables for warping cinematics
I literally only did this because I have an ultra-wide monitor and the letterboxing bothered me
2023-06-29 00:13:43 +10:00
Kae
45493ca8dd Revert timestep values to default, make configurable 2023-06-29 00:12:05 +10:00
Kae
47ae258c2e ok maybe don't override the animation state if it's walk 2023-06-28 22:59:15 +10:00
Kae
0b7ddd05d1 Add extremely basic controller support (only movement) 2023-06-28 22:52:09 +10:00
Kae
322ee3a187 Fix non-rotated drawables still being included when calling Humanoid::render with items off 2023-06-28 20:29:05 +10:00
Kae
98c4e55380 Don't show the held item and rotation in the new inventory portrait 2023-06-28 20:22:25 +10:00
Kae
4c006afc94 Add unused support for using the actual humanoid for armor preview 2023-06-28 01:34:37 +10:00
Kae
efa3872396 Don't do spatial logging on the server 2023-06-28 00:50:47 +10:00
Kae
152af87655 Fix broken regex, make game timestep non-const 2023-06-28 00:20:22 +10:00
Kae
baf3a1cf76 Fix crash warping to planets and leftover formatting errors 2023-06-27 20:55:10 +10:00
Kae
332983c97b The Formatting String Catastrophe 2023-06-27 20:23:44 +10:00
Kae
14b9689b6d Change formatting to use fmtlib (STILL NEED TO CHANGE TO FMT SYNTAX!) 2023-06-27 19:24:35 +10:00
LDA
c9e889723b resolved most of the compiler warnings/errors under gcc
also update xxhash and tinyformat
2023-06-26 11:58:35 -07:00
Kae
4585c9cafa Lazy-loading of ImageOperation inside Directives
also fixed cases of drawables not staying centered after adding directives that scale
2023-06-27 03:38:57 +10:00
Kae
63b68b3a55 Nameplate and chat bubble improvements
They should stack much better now. I also hooked up the true mouth position to the name-tag, but it's too shaky on chat bubbles.
2023-06-27 00:42:07 +10:00
Kae
94c84ad013 Update StarNetworkedAnimator.cpp 2023-06-26 21:41:54 +10:00
Kae
f2fedb0c87 cache NetworkedAnimator drawables
could use a LruCache later
2023-06-26 21:39:22 +10:00
Kae
14ef69c0f6 Move error screen over title 2023-06-26 20:40:32 +10:00
Kae
d5d474c673 Fix particles finally 2023-06-26 16:09:40 +10:00
Kae
ed3d5dffc0 slight NetworkedAnimator drawables optimization 2023-06-26 14:40:14 +10:00
Kae
79c5012033 fix Particles not being drawn with the new image member 2023-06-26 02:03:50 +10:00
Kae
09d26d43b5 Add string view variant of Star::String and use it
it's 1:30 AM AGAIN !! !!!!!
This might have broken the inventory icons of custom hats a little, need to look into that
2023-06-26 01:42:18 +10:00
Kae
13a74602bd Upgrade to C++17 2023-06-25 20:01:32 +10:00
Kae
7d205330db More directives optimization 2023-06-25 18:12:54 +10:00
Kae
e2424b7dcf Fix up new Object directives handling, more directives rendering improvements, fix chat bubbles and nametags only moving every 2px 2023-06-25 16:10:57 +10:00
Kae
f7d5ff8deb Fix ArmorWearer setters
silly me
2023-06-25 14:03:49 +10:00
Kae
25b021c0cb More improvements to directives
Error logging is back where it should be
2023-06-25 14:00:20 +10:00
Kae
008bd6d3df more!! more!!!! 2023-06-25 01:16:40 +10:00
Kae
2bd399fd00 Armor optimizations 2023-06-24 23:38:27 +10:00
Kae
7eb010d4a1 Pretty much working now 2023-06-24 22:49:47 +10:00
Kae
7bde128a87 DirectivesGroup prototype 2023-06-24 19:41:52 +10:00
Kae
2798d4bf66 what the fuck it's 1:30 AM. god 2023-06-24 01:30:55 +10:00
Kae
6832c10ed5 Split shaders into their own files
some unrelated directives thing too
2023-06-23 23:01:25 +10:00
Kae
4328119e1c Proper fix for non-master player rotation resetting on load 2023-06-23 20:27:51 +10:00
Kae
49c487cd82 Use the correct interpolator for MovementController rotation 2023-06-23 19:06:05 +10:00
Kae
e5d2e2c462 Micro-optimization to packet creation 2023-06-23 19:05:24 +10:00
Kae
87163147b3 fix crash when disconnecting with inventory open
additionally, fix humanoid identity being constantly sent by the server even when unchanged
2023-06-22 13:29:42 +10:00
Kae
320428eddf slight polishing 2023-06-21 20:36:08 +10:00
Kae
d08b3c3b22 Fix runtime-generated cinematics not working 2023-06-21 16:07:49 +10:00
Kae
acc8bc0280 EntityUpdate server-side optimization
Cache net states of the same net version. Also moved readNetState after init in EntityCreate, should fix bugs like MovementController rotation not being read.
2023-06-21 15:48:27 +10:00
Kae
d6fdd96076 Fixes and stuff
Using proper SDL Audio APIs now
Fixed borderless
Create game window before asset load
Bump up root loading worker thread count to 8
Fix not hearing other player songs on load-in
Fix issues with shipworlds missing ship.level property
Fix rare thread race with received chat packets on the server-side
2023-06-21 15:25:10 +10:00
Kae
9b75bd8eb2 fix minor culling issues
also multiply liquid light by liquid level to fix pop-in problems
2023-06-20 23:04:36 +10:00