Commit Graph

431 Commits

Author SHA1 Message Date
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
Kae
1a861fb045 Fix GL error 2023-07-01 03:58:02 +10:00
Kae
ee2e134bbf Title music fades in/out 2023-06-30 12:02:00 +10:00
Kae
33b980dacb Change default menu logo 2023-06-30 11:45:26 +10:00
Kae
ad58a960e4 bring player inspection back! 2023-06-30 11:44:42 +10:00
Kae
17daee680a Hopefully fix rare config write race crash 2023-06-30 09:09:40 +10:00
Kae
204d449dda Change how the game renders the world backdrops 2023-06-30 08:37:27 +10:00
Kae
b43c59e828 Update StarPlayer.cpp 2023-06-30 07:23:41 +10:00
Kae
e02607cdf4 Update CMakeLists.txt 2023-06-30 07:23:18 +10:00
Kae
311929cb1e fix EnvironmentPainter issues
Was caused by fixing space dust zooming from the screen corner instead of center in a wrong way
2023-06-30 07:12:22 +10:00
Kae
2cd0c3a0aa typo lol 2023-06-30 06:39:30 +10:00
Kae
94cf66a122 Update StarTilePainter.cpp 2023-06-30 06:39:07 +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
76089ac665 fix snprintf using fmt syntax 2023-06-30 06:34:01 +10:00
Kae
fd5247321f Split world & interface shaders 2023-06-30 05:55:41 +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
7fc9260829 Add extra checks to the char creation pane to prevent crashes when the player is not using an extension mod with extra species 2023-06-29 22:02:35 +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
afefd89533 Remove unused 2023-06-29 10:12:51 +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
1e213aac5f Decimal zoom with lerp 2023-06-29 07:05:01 +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
8a2de03b0f i may be silly 2023-06-29 04:08:11 +10:00
Kae
a78102c2a9 Update StarTextPainter.cpp 2023-06-29 02:42:05 +10:00
Kae
306494bd2d Unix fixes 2023-06-29 02:31:12 +10:00
Kae
422871450d Halve SDL audio buffer size to halve audio latency 2023-06-29 01:29:29 +10:00
Kae
bc2080e2c6 Improve windowing logic 2023-06-29 01:12:52 +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
99846487b9 Properly clean up SDL controllers and cursors on application exit 2023-06-28 23:34:59 +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
0886098242 holy shit I'm never using amend commit again 2023-06-28 20:36:42 +10:00
Kae
4f586418d1 Merge branch 'main' of https://github.com/OpenStarbound/OpenStarbound 2023-06-28 20:35:56 +10:00
Kae
aa8832eb23 Fix becoming deaf after returning to the title (again) 2023-06-28 20:35:53 +10:00
Kae
d8e2d45b7a Fix becoming deaf after returning to the title (again) 2023-06-28 20:33:22 +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
be8c722a7e Fix normal backspace broken by previous change 2023-06-28 20:26:04 +10:00