Commit Graph

571 Commits

Author SHA1 Message Date
Kae
f5ddb00675 Update CMakeLists.txt 2024-02-22 16:46:45 +11:00
Kai Blaschke
9029f897da
Support prefixed and non-prefixed JeMalloc functions
Note that linking a JeMalloc library without prefixed functions will replace all memory allocations, including any call to "new", not just the ones specifically called via Star::malloc etc.
2024-02-21 18:08:56 +01:00
Kae
e6f96cb2bd std::allocator::rebind is deprecated
Clang should no longer scream
2024-02-20 19:34:58 +11:00
Kae
43b2fa53e7 I hate Freetype 2024-02-20 17:44:53 +11:00
Kae
e891499a9f Update CMakeLists.txt 2024-02-20 17:39:16 +11:00
Kae
533ad7f943 Update CMakeLists.txt 2024-02-20 16:59:47 +11:00
Kae
33c61c540e Update CMakeLists.txt 2024-02-20 16:01:45 +11:00
Kae
442347d82e fix minor Image memleak 2024-02-20 10:00:35 +11:00
Kae
a7cfe73544
Merge pull request #18 from kblaschke/add-github-actions-workflow-files
Add initial GitHub Actions workflow files to run build checks
2024-02-20 09:50:40 +11:00
Kae
aa987a2177
Merge branch 'main' into small-fixes 2024-02-20 09:49:42 +11:00
Kai Blaschke
d0099a6d79
Fixed some uninitialized members
May have caused undefined behavior in few cases, as most of the fixed members were used before being initialized.
2024-02-19 23:44:59 +01:00
Kai Blaschke
42fc1d6714
Fixed a memory leak in Image::readPngMetadata()
The memory allocated by png_create_read_struct() was not freed before exiting the function, wasting lots of memory over time.
2024-02-19 20:47:58 +01:00
Kai Blaschke
7c4fbad2ba
Removed some redundant std::move usages in return statements. 2024-02-19 18:39:01 +01:00
Kai Blaschke
431a9c00a5
Fixed a huge amount of Clang warnings
On Linux and macOS, using Clang to compile OpenStarbound produces about 400 MB worth of warnings during the build, making the compiler output unreadable and slowing the build down considerably.

99% of the warnings were unqualified uses of std::move and std::forward, which are now all properly qualified.

Fixed a few other minor warnings about non-virtual destructors and some uses of std::move preventing copy elision on temporary objects.

Most remaining warnings are now unused parameters.
2024-02-19 16:55:19 +01:00
Kai Blaschke
86106b06d6
Add StarFormat.h include to fix test compilation on UNIX
Linker otherwise can't find a specialized template instance for strf() in a test. Adding the include file will locally generate the missing specialization.
2024-02-19 14:13:33 +01:00
Kai Blaschke
c731eedeaf
Use memmove instead of memcpy as the blocks overlap. 2024-02-19 14:13:33 +01:00
Kai Blaschke
ef82ae3aeb
Add GitHub Actions build workflows 2024-02-19 14:11:19 +01:00
yzh
eb9564c3de
maybe fix /run cmd 2024-02-14 22:45:59 +08:00
yzh
1d23b7c1be
maybe fix the /run cmd 2024-02-14 22:39:35 +08:00
yzh
29dcec6afe
update CmakeSettings 2024-02-13 15:20:13 +08:00
yzh
2950259ede
semms fix the memory issue 2024-02-13 14:52:45 +08:00
yzh
4e331c5404
fix memory leak 2024-02-13 14:49:00 +08:00
yzh
33db825d04
fix world_benchmark update() param 2024-02-01 15:00:57 +08:00
yzh
98472dbb7b
vs config file 2024-02-01 14:58:32 +08:00
Kae
ea28fc8071
Merge pull request #12 from Bottinator22/main
Move instruments to their own audio group and volume setting
2024-01-03 20:09:39 +11:00
Kae
ddc64fb14c Fix up and add options menu slider 2024-01-03 20:08:57 +11:00
Kae
98b27f5f65 Update StarDirectives.cpp 2024-01-03 19:17:19 +11:00
Bottinator22
91cf2d8251 Add fork changes (move instruments to their own audio group) 2024-01-02 23:08:51 -08:00
Kae
588065cfc3 Update StarRootLuaBindings.cpp 2023-11-30 21:48:43 +11:00
Kae
2a56c3f9e3 Fix constant tile entity space updates 2023-11-30 21:48:31 +11:00
Kae
8d0dcd11d7 Update StarMainApplication_sdl.cpp 2023-11-29 13:45:53 +11:00
Kae
65cf738832 Update StarMainApplication_sdl.cpp 2023-11-29 13:45:13 +11:00
Kae
b52d7405f2 Merge branch 'main' of https://github.com/OpenStarbound/OpenStarbound 2023-11-29 13:37:19 +11:00
Kae
2ffd83c283 Restore missing configuration keys from default 2023-11-29 13:37:08 +11:00
WereTech
6294e9ed1c add camera panning speed setting
- adds a setting that changes the speed of the camera when panning with the CameraShift keybind.
- fixes what I assume is a typo in the zoom slider that referenced the resolution list size instead of the zoom list size
2023-11-28 11:04:45 -06:00
Kae
24c2820ce1 Update StarPlayerStorage.cpp 2023-11-27 10:13:21 +11:00
Kae
ac66491b3f fix Opus options (the right way) 2023-11-26 23:01:02 +11:00
Kae
8181cff72e Hopefully fix the rare lightmap flicker 2023-11-25 23:36:36 +11:00
Kae
f3c7bd1d5e Directives fixes 2023-11-25 23:03:46 +11:00
Kae
9c7d35ee26 A TYPO!!!!! 2023-11-25 22:23:10 +11:00
Kae
1db9091f50 non-zero default for script.updateDt for cases when it's called outside update() 2023-11-24 20:44:43 +11:00
Kae
9bef78a737 make Image move assignment zero other variables 2023-11-24 20:39:41 +11:00
Kae
994b0fe3cf Fix TestUniverse 2023-11-24 20:35:45 +11:00
Kae
de53f8c7d7 fallback to hex string when a player UUID has no corresponding filename 2023-11-24 20:35:21 +11:00
Kae
81198f091c fix Image not resetting properly after being moved from 2023-11-24 20:34:41 +11:00
Kae
eb4652b5f6 small CMake fix so Opus values set in extern/CMakeLists.txt work 2023-11-23 17:33:34 +11:00
Kae
74985240fc simplify necessary sbinit fields on Windows 2023-11-03 08:07:29 +11:00
Kae
5815a873a7 Add more root.asset* functions 2023-11-03 06:51:17 +11:00
Kae
ab7768a3f0 Remove x64-Release leaving just RelWithDebInfo 2023-11-03 06:42:15 +11:00
Kae
1f5b954eb2 Fix (vanilla): Item disappearing from action bar after stacking identical item into it 2023-11-02 16:31:35 +11:00
Kae
86f41b8450 Fix crash right clicking empty item slots with no swap item 2023-11-02 16:30:34 +11:00
Kae
f5c63fa189 Update StarInput.cpp 2023-11-02 11:13:12 +11:00
Kae
bea100bde9 Setting a configuration value to nil should actually erase it
also configurationVersion set is already checked in Configuration
2023-11-02 08:23:36 +11:00
Kae
0497048b44 Add input.mousePosition 2023-11-02 08:12:21 +11:00
Kae
2cf97d763c add root configuration getters & setters 2023-11-02 08:09:51 +11:00
Zithia Satazaki
213ce4bc0f quick pickupToActionBar manipulation 2023-11-01 15:10:34 -04:00
Kae
38910aeead Skip generating tile pieces if a color variant is invalid 2023-11-01 12:41:02 +11:00
Zithia Satazaki
f09b54b7e9 pane isDisplayed binding 2023-10-31 15:01:39 -04:00
Zithia Satazaki
00eeb4a809 displayRegisteredPane 2023-10-31 00:31:53 -04:00
Kae
8122cc3e7f Update StarMainInterface.cpp 2023-10-31 08:53:18 +11:00
Kae
508e8f4304 Use invis material to fix constant re-placement of falling blocks 2023-10-31 08:32:20 +11:00
Kae
ae014e5b6f Revert bag slot index type to uint8_t for now
was causing incompatibility on vanilla servers - need to add net element filters for legacy/modified servers first
2023-10-31 08:13:12 +11:00
Kae
7d948f8839 Don't tile predict falling blocks for now
causes too many mispredictions due to not simulating falling blocks locally (and it might still be an issue even if we did simulate it due to slight timing differences between client/server)
2023-10-31 08:10:05 +11:00
Zithia Satazaki
332fb8430b avoid returnless fallthrough 2023-10-30 15:11:15 -04:00
Zithia Satazaki
86f02eab9b these need to be {} wrapped to compile for some reason 2023-10-30 15:05:42 -04:00
Kae
a0272c2189 WebHook test againnn 2023-10-31 06:02:25 +11:00
Kae
ad8c17e338 Merge branch 'main' of https://github.com/OpenStarbound/OpenStarbound 2023-10-31 06:00:11 +11:00
Kae
c8539fba95 WebHook test 2023-10-31 05:59:52 +11:00
Zithia Satazaki
8aeed2baa8 match prior case convention for swap and trash slots 2023-10-30 14:48:45 -04:00
Kae
7eb1cd8dd9 Simplify new player inventory functions 2023-10-31 05:34:26 +11:00
Zithia Satazaki
012572c199 more graceful failure mode for item bag functions 2023-10-30 01:30:25 -04:00
Zithia Satazaki
943729a20e player functions for direct item bag manipulation 2023-10-30 01:05:18 -04:00
Zithia Satazaki
fa6a770cfc add player.actionBarItem and player.setActionBarItem (still needs a bit of work) 2023-10-29 23:15:26 -04:00
Zithia Satazaki
7c29196eff fix player.description being player[" description"] instead 2023-10-29 20:50:38 -04:00
Zithia Satazaki
4da15c42e0 Merge branch 'main' of github.com:OpenStarbound/OpenStarbound 2023-10-29 20:23:31 -04:00
Zithia Satazaki
738e45079d fix incorrect relative pathing in tests 2023-10-29 20:21:54 -04:00
Kae
d425e8e15f Add world.isClient & isServer 2023-10-30 08:03:16 +11:00
Kae
3b0a3efc19 Alias short bind, key, mouse input functions 2023-10-30 06:56:23 +11:00
Kae
09e525fcf3 Fix script.updateDt in tech 2023-10-30 06:52:59 +11:00
Kae
fe2a8038d5 mouseWheel in input.events() matches SE now 2023-10-30 06:18:40 +11:00
Kae
b2a5bd00fb Fix minor escape code check issue 2023-10-27 12:24:22 +11:00
Kae
48b8d43ff8 Add player Lua functions from SE 2023-10-25 15:30:31 +11:00
Kae
ced12b62e0 Fix formatting in BTree Repacker 2023-10-23 04:39:15 +11:00
Kae
87ee948519 Add BTree Repacker 2023-10-19 05:44:32 +11:00
Kae
f5ce3fe7b3 Fix deployment light sources 2023-10-13 08:54:37 +11:00
Kae
991cf9df7e Add vertical speed support to parallax layers 2023-10-12 04:42:24 +11:00
Kae
be27a96505 Tweak tool suppression logic for vehicles 2023-10-10 19:38:29 +11:00
Kae
7c68b8f4af Make the profanity filter not as insanely strict as Warframe's
The profanity filter sucks. Male glitch have a possibility of generating with "Brass" at the start that is never allowed because "ASS"!! and human names Cassie and Cassidy also never pass because of this.
2023-09-05 17:47:11 +10:00
Kae
fd915ce672 Update StarLua.cpp 2023-09-05 17:00:04 +10:00
Kae
c992d4f72a Update StarDirectives.cpp 2023-09-05 16:42:44 +10:00
Kae
51d6e63dfe Only do spatial logging when spatial log is observed 2023-08-31 04:55:36 +10:00
Kae
182d3052c5 operator== for Directives, skips reparse if equal 2023-08-31 03:14:48 +10:00
Kae
6f7f3800d3 Don't forget to dirty collision on tile modification failure 2023-08-31 01:12:17 +10:00
Kae
ca21b29f92 Small cleanup 2023-08-21 21:22:25 +10:00
Kae
ce6cadd2a0 Store material item settings in player secret properties instead of parameters 2023-08-21 21:18:27 +10:00
Kae
bd4b1ed45c Update StarMaterialItem.cpp 2023-08-21 21:10:43 +10:00
Kae
a7ae034278 Objects can now be placed under tiles that have non-block collision 2023-08-21 00:59:02 +10:00
Kae
edbee201ee Command to adjust global timescale 2023-08-20 23:51:43 +10:00
Kae
33b7f17bb2 Material Item: Allow entity overlap on non-solid collision kinds 2023-08-20 20:52:56 +10:00
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