Go to file
2024-03-27 16:33:21 +11:00
.github/workflows scratch that, apparently those aren't accessible by PR workflows. that's dumb 2024-03-18 00:21:33 +11:00
assets/opensb experiment: auto-conversion of object spread lights to hybrid spread/point lights 2024-03-26 07:31:33 +11: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
scripts give logs their own directory 2024-03-25 15:23:37 +11:00
source remove redundant logMap, now that lighting is 100% asynchronous 2024-03-27 16:33:21 +11: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 disable point light conversion - revisit later 2024-03-21 16:18:25 +11:00
README.md Update README.md 2024-03-27 15:59:40 +11: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 ocassional releases.

Changes

  • You can now make .patch files that are just merged in. That's why the patch files in here are unusually simple.

  • Some Lua functions like getters and setters for player identity values, but not every function from StarExtensions has been ported yet.

  • 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 assets are auto-detected)

  • World lightmap generation has been moved off the main thread

  • Experimental changes to the storage of directives in memory to greatly reduce their impact on frametimes

    • Works well when extremely long directives are used for "vanilla multiplayer-compatible" creations, like generated clothing.
  • 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

  • Skybox 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. Additionally, you can also access now 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.