Commit Graph

418 Commits

Author SHA1 Message Date
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
Kae
98c4e55380 Don't show the held item and rotation in the new inventory portrait 2023-06-28 20:22:25 +10:00
Kae
c37dd994d7 Fix freeze copy/pasting large amounts of text 2023-06-28 20:08:17 +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
1fc295b979 Fun: Draw the actual Humanoid in the inventory pane
undecided. might need to set a scissor rect on the portrait
2023-06-28 02:21:09 +10:00
Kae
326bc7266d Fix text box cursor offset with hidden text 2023-06-28 01:54:37 +10:00
Kae
cd497bbcf3 Support for hiding text box input, hide server connection password box by default 2023-06-28 01:40:55 +10:00
Kae
4c006afc94 Add unused support for using the actual humanoid for armor preview 2023-06-28 01:34:37 +10:00
Kae
59ab7dabe6 Misc internal UI fixes 2023-06-28 01:07:55 +10:00
Kae
a1e428fafa Fix cursor cleanup 2023-06-28 00:51:02 +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
2496789ea7 Improve button audio feedback 2023-06-27 22:17:57 +10:00
Kae
359624119a Fix becoming deaf to positional audio after returning to the title 2023-06-27 21:04:46 +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
14e23a17cc fix ErrorScreen pane never coming back after closing the first error 2023-06-27 01:22:09 +10:00
Kae
4e6e342169 Improve AssetPath::split
also fixed a bug with the cursor changes
2023-06-27 01:04:58 +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
68d20787cf The camera is now also an audio listener 2023-06-26 19:25:37 +10:00
Kae
4b9b02783f HD Cursor 2023-06-26 18:39:40 +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
d5d474c673 Fix particles finally 2023-06-26 16:09:40 +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
79c5012033 fix Particles not being drawn with the new image member 2023-06-26 02:03:50 +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
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
7783fc7310 Fix font issues
it's 1:30 AM again :(
2023-06-25 01:34:29 +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
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
e64aabfcf1 add Nametag Directives 2023-06-23 20:24:40 +10:00
Kae
0135629301 small cleanup in TextPainter 2023-06-23 19:32:41 +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
aeece136a4 Remove unused List from logGlErrorSummary 2023-06-23 19:01:41 +10:00
Kae
02c2696134 Hide the hardware cursor when in a cinematic 2023-06-23 19:01:22 +10:00
LDA
fa5042902c 👋 only print opengl errors if errors actually occurred. also fixed building on gcc 2023-06-23 01:57:16 -07:00
Kae
176c79bada Hardware Cursor support
Updated SDL2 for this, so lib\ is no longer gitignored
2023-06-23 18:13:26 +10:00
Kae
bab5f0bd11 Update StarMainApplication_sdl.cpp 2023-06-23 15:45:03 +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
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
92ef4dba0f fonts can reload now 2023-06-21 23:13:37 +10:00
Kae
f0fec34dc9 The Fontpocalypse
I hate it
2023-06-21 22:29:40 +10:00
Kae
865f9a328a Fix glyph width issue with custom fonts
haha woopsies!!
2023-06-21 20:40:40 +10:00
Kae
320428eddf slight polishing 2023-06-21 20:36:08 +10:00
Kae
ee296e3381 font directives bwahahaha 2023-06-21 20:29:23 +10:00
Kae
8dce334931 custom fonts!! 2023-06-21 19:46:23 +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
d08b3c3b22 Fix runtime-generated cinematics not working 2023-06-21 16:07:49 +10:00
Kae
391527d812 Hashing improvements 2023-06-21 15:57:05 +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
0ec3000536 processing directives for text box widgets
few other misc things
also fixed SDL audio on newer SDL vers
2023-06-21 10:40:53 +10:00
Kae
bd783d3195 make the chat really pretty!!
also slightly optimized text shadow rendering, made sure glyphs with directives stay centered and added two extra Lua arguments to canvas.drawText
2023-06-21 00:59:41 +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
Kae
a330802d37 fix chat text being 50% transparent for no good reason
y'all lived like this??
2023-06-20 22:41:36 +10:00
Kae
58a036ffb0 get Ninja + CCache working on Windows 2023-06-20 22:34:24 +10:00
Kae
6352e8e319 everything everywhere
all at once
2023-06-20 14:33:09 +10:00