Commit Graph

148 Commits

Author SHA1 Message Date
Kae
a1addf1ec2
Merge pull request #22 from kblaschke/use-pragma-once
Use "#pragma once" instead of include guards
2024-02-26 13:57:22 +11:00
Kai Blaschke
3073a88cd1
Use "#pragma once" instead of include guards 2024-02-25 15:46:47 +01:00
Kae
ae3ecabcea loadstring shouldn't accept bytecode 2024-02-22 17:25:46 +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
442347d82e fix minor Image memleak 2024-02-20 10:00:35 +11:00
Kae
aa987a2177
Merge branch 'main' into small-fixes 2024-02-20 09:49:42 +11: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
Kae
98b27f5f65 Update StarDirectives.cpp 2024-01-03 19:17:19 +11:00
Kae
f3c7bd1d5e Directives fixes 2023-11-25 23:03:46 +11:00
Kae
9bef78a737 make Image move assignment zero other variables 2023-11-24 20:39:41 +11:00
Kae
81198f091c fix Image not resetting properly after being moved from 2023-11-24 20:34:41 +11:00
Kae
b2a5bd00fb Fix minor escape code check issue 2023-10-27 12:24:22 +11: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
7ff3e0fecc Fix parallax and space dust jitter when lerping zoom level on very old universes 2023-08-19 15:09:00 +10:00
Kae
ab03c224dd Parse scientific notation Json numbers as double 2023-08-18 19:12:31 +10:00
Kae
2a204b384f Add optional alpha threshold option for fonts 2023-08-04 23:47:52 +10:00
Kae
dcc15a8103 Add new smooth Hobo font 2023-08-04 00:21:24 +10:00
Kae
6abad768a6 Backups are now placed in their own directory 2023-08-02 22:56:36 +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
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
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
e1645f37fc Support for player entity message commands 2023-07-19 01:16:22 +10:00
Kae
f14f77724d more voice work!!! 2023-07-13 20:47:53 +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
40223a5090 Initial work 2023-07-12 22:16:12 +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
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
c923f4f13b pane lua stuff 2023-07-04 22:36:27 +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
0d266bebe1 Add shared table 2023-07-03 18:31:19 +10:00
Kae
11e00a8ded Change debug render time logging to use microseconds 2023-07-03 16:04:17 +10:00
Kae
d018957b09 Fix font glyph generation to work correctly with other fonts 2023-07-03 14:21:51 +10:00
Kae
398a5655f4 Add Drawable <-> Lua conversion to LuaGameConverters 2023-07-03 08:51:42 +10:00
Kae
73841ee041 more Input work 2023-07-02 10:55:25 +10:00
Kae
15b0e99460 Initial setup of input stuff 2023-07-02 06:34:43 +10:00
Kae
17af21fd42 use raw wrapWidth ptr instead of Maybe 2023-07-02 00:52:36 +10:00
Kae
5a56f8b81a Re-optimize text splitting while maintaining vanilla behavior 2023-07-01 23:20:25 +10:00
Kae
76089ac665 fix snprintf using fmt syntax 2023-06-30 06:34:01 +10:00
Kae
d5fbd2001b RenderPrimitive micro-optimizations 2023-06-30 04:34:10 +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
306494bd2d Unix fixes 2023-06-29 02:31:12 +10:00
Kae
48ec889579 TextPainter now uses StringView 2023-06-28 20:08:11 +10:00
Kae
4b91eb7175 Fix StringView::substr 2023-06-28 20:07:22 +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
4e6e342169 Improve AssetPath::split
also fixed a bug with the cursor changes
2023-06-27 01:04:58 +10:00
Kae
f2fedb0c87 cache NetworkedAnimator drawables
could use a LruCache later
2023-06-26 21:39:22 +10:00
Kae
32411daa67 Fix 1:1 scale cursors being Australian 2023-06-26 18:05:00 +10:00
Kae
c6cb370c13 Optimize replace processing 2023-06-26 17:09:19 +10:00
Kae
ec9a138e1a Handle abnormal directives prefixes 2023-06-26 15:34:41 +10:00
Kae
ed3d5dffc0 slight NetworkedAnimator drawables optimization 2023-06-26 14:40:14 +10:00
Kae
500e81329a Fix minor issues 2023-06-26 01:51:57 +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
df661be1a3 apparently GCC hates this 2023-06-25 18:27:36 +10:00
Kae
ee092dd85d fix inline mismatch 2023-06-25 18:24:54 +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
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
aa08eaac99 Compileable now 2023-06-24 20:10:53 +10:00
Kae
7bde128a87 DirectivesGroup prototype 2023-06-24 19:41:52 +10:00
Kae
51a9de3af3 This is overkill 2023-06-24 13:06:13 +10:00
Kae
2798d4bf66 what the fuck it's 1:30 AM. god 2023-06-24 01:30:55 +10:00
Kae
e64aabfcf1 add Nametag Directives 2023-06-23 20:24:40 +10:00
Kae
ca195431ff Disable Lua string coercion to int 2023-06-21 23:50:11 +10:00
Kae
643ae5d1b8 Fix border for font 2023-06-21 23:32:28 +10:00
Kae
f0fec34dc9 The Fontpocalypse
I hate it
2023-06-21 22:29:40 +10:00
Kae
f2e64e1752 Font improvements
?border and ?outline blend nicer when applied to font glyphs
2023-06-21 18:59:15 +10:00
Kae
391527d812 Hashing improvements 2023-06-21 15:57:05 +10:00
Kae
6352e8e319 everything everywhere
all at once
2023-06-20 14:33:09 +10:00