Commit Graph

472 Commits

Author SHA1 Message Date
Kae
ecadfa7e44 Bump up prediction expiry time
Also added a new font
2023-08-20 20:48:18 +10:00
Kae
2fe62a178e Fix object color suffix not applying if it's the only directive 2023-08-20 19:25:52 +10:00
Kae
78945304b7 Update StarItemDrop.cpp 2023-08-20 19:07:30 +10:00
Kae
d0aa7c1279 Update StarItemDrop.cpp 2023-08-20 19:05:24 +10:00
Kae
6e7c0498ef Hook tile meshing up to Material Item drop and preview 2023-08-20 18:56:50 +10:00
Kae
0bb0bd30b0 Slight fix to PGI creation 2023-08-20 17:43:09 +10:00
Kae
e5c6d005d7 Add binds to modify material radius 2023-08-20 13:57:27 +10:00
Kae
7a220cae45 player.aimPosition 2023-08-20 12:09:03 +10:00
Kae
bda94556bb Improve item drop beam 2023-08-20 12:08:58 +10:00
Kae
9af6bfe60e Add ItemDrop glow 2023-08-20 11:56:37 +10:00
Kae
3990b196a2 Fix LiquidItem preview (again!) 2023-08-20 10:42:17 +10:00
Kae
572b492b93 Fix collision not refreshing on expired predictions and slight placement issue 2023-08-19 22:49:05 +10:00
Kae
3805db7722 oops: Fix sub-step material placement 2023-08-19 21:35:56 +10:00
Kae
2fb2616384 More accurate liquid collection prediction 2023-08-19 21:08:44 +10:00
Kae
d2ec7f37c1 Predict MiningTool liquid collection 2023-08-19 20:57:55 +10:00
Kae
d65bc3cc8d Add collision cycling to Material items 2023-08-19 20:47:58 +10:00
Kae
ec4f70340e Allow overriding placed collision kind ("""overground""") from world.placeMaterial 2023-08-19 18:26:52 +10:00
Kae
f22eed8304 Add player table to tech scripts 2023-08-19 15:54:52 +10:00
Kae
b7cddf4f0e Item inventoryIcon supports other drawable kinds now 2023-08-19 15:44:16 +10:00
Kae
9665048a9e fix drop prediction only working on drops from blocks 2023-08-19 15:30:27 +10:00
Kae
7ff3e0fecc Fix parallax and space dust jitter when lerping zoom level on very old universes 2023-08-19 15:09:00 +10:00
Kae
0c74c70475 Predict placed tile collision 2023-08-19 12:55:32 +10:00
Kae
1af5e5cc89 Material Item equip sound 2023-08-19 12:34:35 +10:00
Kae
d53379f6c2 blah 2023-08-19 12:15:22 +10:00
Kae
156c243360 improve applyTileModifications to be more aggressive 2023-08-19 00:18:51 +10:00
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
ab03c224dd Parse scientific notation Json numbers as double 2023-08-18 19:12:31 +10:00
Kae
572291047f Fix LabelWidgets randomly being shadowed 2023-08-18 18:32:29 +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
6a9bc191fd Use runtime CPU intrinsic checks for Opus 2023-08-15 13:39:48 +10:00
Kae
af74a2f491 Rename global WorldTimestep var to more appropriate name 2023-08-15 13:38:40 +10:00
Kae
2a204b384f Add optional alpha threshold option for fonts 2023-08-04 23:47:52 +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
dcc15a8103 Add new smooth Hobo font 2023-08-04 00:21:24 +10:00
Kae
722488a9ab Fix racial liquid descriptions not being used 2023-08-03 16:25:04 +10:00
Kae
6afba048ec More default fonts
barcode is Libre Barcode
2023-08-03 01:17:08 +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
994c533a0f Improve planet name title
They began showing during the warp cinematic and their fade-out timing was wrong.
2023-08-02 19:29:21 +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
b318e981e3 Windows: Use SRW locks for non-recursive mutex (it's faster!) 2023-08-02 13:07:14 +10:00
Kae
c46b8f43d8 Update StarLogging.cpp 2023-08-02 12:32:57 +10:00
Kae
b4b2219aed Log file path in libpng errors & warnings properly 2023-08-01 20:23:48 +10:00
Kae
678a461904 Logger: Do string formatting before lock and only if LogLevel is loggable 2023-08-01 20:23:05 +10:00
Kae
9ba734ea14 Ensure debug symbols on Clang and GCC 2023-08-01 18:14:27 +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
df83b02f1d move interface item messages when bottomActionBar is enabled 2023-07-31 15:43:04 +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
31f5816e8a Update StarBaseScriptPane.cpp 2023-07-30 01:28:43 +10:00
Kae
ffd1507f72 ScriptPanes can specify paneLayer and interactive 2023-07-30 00:41:38 +10:00
Kae
057f3727de Bottom Action Bar 2023-07-30 00:11:16 +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
76f78c4b20 Update StarLua.hpp 2023-07-25 17:37:32 +10:00
Kae
d07baefaaa Update StarLuaConverters.hpp 2023-07-25 00:57:35 +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
4c636e911c Add default crafting config values 2023-07-24 22:11:45 +10:00
Kae
c127b50303 Fix discrepancy in voice saving 2023-07-24 20:58:32 +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
3b8ea95d61 Move MainInterface destruction on disconnect to fix Lua binding crash 2023-07-23 22:49:23 +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
4fbd67dacc Fix Inventory::update not calling base Pane update 2023-07-22 21:35:00 +10:00
Kae
1a2f143f88 debug: tile_dungeon_id is red if dungeon ID is protected 2023-07-22 17:37:47 +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
c1ae238086 Merge branch 'voice' 2023-07-20 15:00:59 +10:00
Kae
043db1841e Voice: Minor options menu fixes, fix decibel level freezing on muted speakers 2023-07-20 14:55:38 +10:00
Kae
3aa45ab799 Add voice muting, add input key and mouse functions 2023-07-20 12:52:08 +10:00
Kae
db3d004d30 Fix decibel level being 0 when under threshold 2023-07-19 23:30:04 +10:00
Kae
7ad1671e0d Fix residual voice data not clearing 2023-07-19 23:28:13 +10:00
Kae
f2bc9adc36 Minor fixes 2023-07-19 23:25:16 +10:00
Kae
1f038540a5 Port in the voice settings menu 2023-07-19 23:16:59 +10:00
Kae
d682b164aa more Lua voice callbacks 2023-07-19 21:12:14 +10:00
Kae
0c1c3611b1 Save loopback setting 2023-07-19 19:06:53 +10:00
Kae
620c23e70a Schedule voice config save when updating settings from Lua 2023-07-19 19:04:31 +10:00
Kae
35b1c36b17 Add loopback, fix mono and leak 2023-07-19 18:59:35 +10:00
Kae
3cdbf8bf01 Lua functions for updating Voice settings, improve loudness visualization 2023-07-19 18:15:49 +10:00
Kae
a9dac1b2df Detect setting changes loading Voice JSON 2023-07-19 01:16:47 +10:00
Kae
e1645f37fc Support for player entity message commands 2023-07-19 01:16:22 +10:00
Kae
770314fd7e Unused alternate blending for stereo 2023-07-18 18:18:02 +10:00
Kae
6e1d29fe86 Provide speaker info to HUD indicators 2023-07-18 17:36:51 +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
91cd6182d8 Fix mono 2023-07-15 00:39:10 +10:00
Kae
b4a53e0706 Only resample during mix, store samples a simpler way
Still need a better resampler, I think
2023-07-15 00:35:23 +10:00
Kae
73c5a17746 Move Opus encoding off-thread because of SDL
SDL gives its audio threads a very small stack size and it was making Opus fuck up
2023-07-14 22:47:49 +10:00
Kae
9d66acde2a Update gtests 2023-07-14 21:45:11 +10:00
Kae
52ba6fa7f7 Ensure NONTHREADSAFE_PSUEDOSTACK is never used 2023-07-14 21:44:13 +10:00
Kae
8ff5d9f82b Update StarVoice.cpp 2023-07-14 19:54:56 +10:00
Kae
77e14b5941 cleanup 2023-07-14 18:29:36 +10:00
Kae
3b38825b34 more voice stuff 2023-07-14 13:13:19 +10:00
Kae
f14f77724d more voice work!!! 2023-07-13 20:47:53 +10:00
Kae
212de6b876 Merge branch 'main' into voice 2023-07-13 19:21:07 +10:00
Kae
49afa899a8 Make server tickrate configurable 2023-07-13 19:20:58 +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
f02c053ed2 Fix swapped args to CreateKeyPair 2023-07-13 17:57:23 +10:00
Kae
f9e8b5badf more work on Voice 2023-07-13 15:01:07 +10:00
LDA
dbb998459b fmtlib backport to fix warning spam under gcc 13 2023-07-12 15:33:25 -07:00
Kae
40223a5090 Initial work 2023-07-12 22:16:12 +10:00
Kae
cf09616b1b Merge branch 'main' into voice 2023-07-12 20:59:52 +10:00
Kae
2b964a2384 Remove indent from Star:: in StarInput.hpp 2023-07-12 20:59:23 +10:00
Kae
a928ae9e50 Merge branch 'main' into voice 2023-07-12 18:17:18 +10:00
Razik Mazilya
e543fe5ef0 Change Star::hash defintion to work around LLVM oddity 2023-07-12 00:16:56 -05:00
Kae
81343bc06f Add Curve25519 2023-07-12 15:13:30 +10:00
Kae
70bfb54e55 Merge branch 'main' into voice 2023-07-10 20:29:43 +10:00
Kae
87f0e49341 Fix asynchronous lighting crash
This somehow only occurred on Linux
2023-07-10 19:01:39 +10:00
Kae
7ce4caaa14 Add Opus library 2023-07-10 16:55:44 +10:00
Kae
fe99ec6966 Render the world in its own framebuffer 2023-07-06 23:59:18 +10:00
Kae
fe4cc19618 Change pure string format calls to use fmt::to_string 2023-07-06 19:26:28 +10:00
Kae
f75d1f0b5a Wire rendering improvements 2023-07-05 21:33:15 +10:00
Kae
58678bfe9d Attempt to fix rare crash writing configuration 2023-07-05 21:31:36 +10:00
Kae
54dfd900ca interface.bindCanvas uses interface scale by default 2023-07-05 18:25:16 +10:00
Kae
c923f4f13b pane lua stuff 2023-07-04 22:36:27 +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
LDA
ab72b03ad8 update gitattributes 2023-07-03 15:51:48 -07:00
Kae
c8340602f5 Update StarClientApplication.cpp 2023-07-04 06:15:45 +10:00
Kae
1b8f117bac Update StarClientApplication.cpp 2023-07-04 06:03:07 +10:00
Kae
a45d16b4ed Cache font directives 2023-07-04 06:01:29 +10:00
Kae
ced1ba32bb Fix terrain chunk meshes constantly being removed from the cache because the default time smear is the exact same as the timeout 2023-07-04 05:09:48 +10:00
Kae
c343a7dfaf Add toggle for debug HUD 2023-07-04 04:42:16 +10:00
Kae
081dd693ca Add 1-px padding around font and round to fix jitter 2023-07-03 20:07:16 +10:00
Kae
809744c300 Fix horizontal alignment with font, add new fonts 2023-07-03 19:46:56 +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
0d266bebe1 Add shared table 2023-07-03 18:31:19 +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
8ee9c97f54 Tweak debug font 2023-07-03 14:48:42 +10:00
Kae
d018957b09 Fix font glyph generation to work correctly with other fonts 2023-07-03 14:21:51 +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
d7ba113688 Add zoom level keybinds 2023-07-03 04:29:58 +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
17af21fd42 use raw wrapWidth ptr instead of Maybe 2023-07-02 00:52:36 +10:00
Kae
210d6326fc Fix splitting bug and optimize a little 2023-07-02 00:36:32 +10:00
Kae
5a56f8b81a Re-optimize text splitting while maintaining vanilla behavior 2023-07-01 23:20:25 +10:00
Kae
e29a46d100 Fix text wrapping splitting inside of words with color codes in them 2023-07-01 14:01:27 +10:00
Kae
68d1c19455 Throw away 32-bit support 2023-07-01 08:39:38 +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
c48a61bb03 Update StarNameplatePainter.cpp 2023-07-01 07:55:22 +10:00
Kae
bda140ab73 Renderer: Cache uniform and attribute locations 2023-07-01 07:31:40 +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