Go to file
Kae e3ab448553
Update README.md
[skip ci]
2024-04-11 13:14:03 +10:00
.github/workflows lower Linux build action to Ubuntu 20.04 2024-04-01 07:19:27 +11:00
assets/opensb Expose assets lua callbacks to patch contexts 2024-04-08 16:12:48 +10:00
attic update sbinit scripts 2024-03-07 13:56:23 +11:00
cmake Merge launcher branch 2024-03-08 20:09:27 +11:00
doc make the chat really pretty!! 2023-06-21 00:59:41 +10:00
lib Merge launcher branch 2024-03-08 20:09:27 +11:00
ports/liblzma vcpkg: temporary liblzma workaround during the xz fiasco 2024-04-01 08:07:17 +11:00
scripts Add icon in the installer 2024-04-01 14:46:11 +11:00
source oops - restore assets modification to load scripts 2024-04-08 18:10:09 +10:00
triplets Merge launcher branch 2024-03-08 20:09:27 +11:00
.clang-format Add .clang-format file 2024-02-28 17:35:05 +01:00
.gitattributes update gitattributes 2023-07-03 15:51:48 -07:00
.gitignore Add icon in the installer 2024-04-01 14:46:11 +11:00
README.md Update README.md 2024-04-11 13:14:03 +10:00

OpenStarbound

This is a fork of Starbound. Contributions are welcome! You must own a copy of Starbound to use it. Base game assets are not provided for obvious reasons.

It is still work-in-progress. You can download the very latest build from the Actions tab, or the occasional releases (though those aren't very up to date yet!)

Note: Not every function from StarExtensions has been ported yet, but compatibility with mods that use StarExtensions features is planned.

Changes

Lighting

The lightmap generation has been moved off the main thread, and supports higher color range.

  • Point lights are now additive, which is more accurate - you'll notice that different lights mix together better!
  • Object spread lights are auto-converted to a hybrid light which is 25% additive.

Assets

  • Assets can now run Lua scripts on load, and after all sources have been loaded.
    • These scripts can modify, read, patch and create new assets!
  • Lua patch files now exist - .patch.lua
    • These can patch JSON assets, as well as images!

Misc

  • Player functions for saving/loading, modifying the humanoid identity

  • Character swapping (rewrite from StarExtensions, currently command-only: /swap name case-insensitive, only substring required)

  • Custom user input support with a keybindings menu (rewrite from StarExtensions)

  • Positional Voice Chat that works on completely vanilla servers, uses Opus for crisp, HD audio (rewrite from StarExtensions)

    • Both menus are made available in the options menu in this fork rather than as a chat command.
  • Multiple font support (switch fonts inline with ^font=name;, .ttf and .woff2 assets are auto-detected)

  • Experimental changes to the storage of directives in memory to reduce copying - can reduce their impact on frametimes when very long directives are present

    • Works especially well when extremely long directives are used for "vanilla multiplayer-compatible" creations, like generated clothing or custom items/objects.
  • Client-side tile placement prediction (rewrite from StarExtensions)

    • You can also resize the placement area of tiles on the fly.
  • Support for placing foreground tiles with a custom collision type (rewrite from StarExtensions, requires OpenSB server)

    • Additionally, objects can be placed under non-solid foreground tiles.
  • Some minor polish to UI

  • The Skybox's sun now matches the system type you're currently in.

    • Previously generated planets will not have this feature and will display the default sun.
    • Modded system types require a patch to display their custom sun.
    • You can also access the skybox sun scale and its default ray colors. For more details see, sky.config.patch.

Discord

Building

Note: Some blue text only contain tooltips.

Windows

  • Install vcpkg globally.
    • vcpkg recommends a short directory, such as C:\src\vcpkg or C:\dev\vcpkg.
    • If you're using Visual Studio, don't forget to run vcpkg integrate install!
    • Set VCPKG_ROOT to your vcpkg dir, so that CMake can find it.
  • Install Ninja. Either add it to your PATH, or just use Scoop (scoop install ninja)
  • Check to see if your IDE has CMake support, and that it's actually installed.
  • Open the repo directory in your IDE - it should detect the CMake project.
  • Build.
    • You need to create a sbinit.config and manually copy DLLs from lib/windows/ to the output directory to run the client.

Linux

To be written.

macOS

To be written.