From d59ad2ad5e1140b3f63a07b364941afc0235ac49 Mon Sep 17 00:00:00 2001 From: Mike Date: Sun, 25 Jan 2026 17:34:29 +1300 Subject: [PATCH] Fix README installation commands Also fix README markdown lint issues --- README.md | 68 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 18f0e6b74..a0a7d0fb1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ [![GitHub release](https://img.shields.io/github/release/OoliteProject/Oolite.svg)](https://github.com/OoliteProject/Oolite/releases/latest) - | Windows | Linux | OSX | |---------------------|---------------------|----------------| | [![Github release](https://img.shields.io/github/downloads/OoliteProject/Oolite/latest/Oolite-1.90_x64.exe.svg)](https://github.com/OoliteProject/oolite/releases/latest) | [![Github release](https://img.shields.io/github/downloads/OoliteProject/Oolite/latest/oolite-1.90.linux-x86_64.tgz.svg)](https://github.com/OoliteProject/oolite/releases/latest) | [![Github release](https://img.shields.io/github/downloads/OoliteProject/Oolite/latest/oolite-1.90.zip.svg)](https://github.com/OoliteProject/oolite/releases/latest) | @@ -10,7 +9,6 @@ | | [![Github release](https://img.shields.io/github/downloads/OoliteProject/Oolite/latest/oolite-1.90-test.linux-x86_64.tgz.svg)](https://github.com/OoliteProject/oolite/releases/latest) | | | | [![Github release](https://img.shields.io/github/downloads/OoliteProject/Oolite/latest/oolite-1.90-test.linux-x86.tgz.svg)](https://github.com/OoliteProject/oolite/releases/latest) | | - ![Oolite Screenshot](https://addons.oolite.space/i/gallery/oxp/large/another_commander-210210_LeavingCoriolisAgain.png) Oolite can be heavily customized via expansions. These modify the gameplay, add ships, improve graphics - the possibilities are almost endless: @@ -26,20 +24,22 @@ You can download the latest version from [here](https://github.com/OoliteProject ### Windows -The Windows NSIS installer is named OoliteInstall-XXX-win.exe where XXX is a version number. +The Windows NSIS installer is named OoliteInstall-XXX-win.exe where XXX is a version number. Double click the downloaded file to run the installer. ### Linux -Linux has Flatpak and AppImage versions. The Flatpak is named space.oolite.Oolite_XXX.flatpak +Linux has Flatpak and AppImage versions. The Flatpak is named space.oolite.Oolite_XXX.flatpak where XXX is a version number. Many Linux package managers support Flatpak so you should be able to double click the downloaded file to install it. -The AppImage is named Oolite_XXX-x86_64.AppImage where XXX is a version number. Download this -file to where you would like it stored, make it executable and run, for example by typing +The AppImage is named Oolite_XXX-x86_64.AppImage where XXX is a version number. Download this +file to where you would like it stored, make it executable and run, for example by typing - chmod +x Oolite_XXX-x86_64.AppImage - ./Oolite_XXX-x86_64.AppImage +```bash +chmod +x Oolite_XXX-x86_64.AppImage +./Oolite_XXX-x86_64.AppImage +``` ## Playing Oolite @@ -49,46 +49,55 @@ For more information, see [oolite.space](http://www.oolite.space/) and ## Building from Source We welcome developers to work on Oolite! If you wish to build the project from source, please follow -the instructions below. Note that the scripts require sudo for activities like installing dependent -libraries built from source and for installing packages on some Linux distros. If you run into -difficulties, you can seek help on the [Oolite Bulletin Board](https://bb.oolite.space/). +the instructions below. Note that the scripts require sudo for activities like installing dependent +libraries built from source and for installing packages on some Linux distros. If you run into +difficulties, you can seek help on the [Oolite Bulletin Board](https://bb.oolite.space/). ### Git + The Oolite source is available from GitHub. The first step is to install git if you don't already -have it installed as it is required to obtain and build Oolite. With Git installed, check out the +have it installed as it is required to obtain and build Oolite. With Git installed, check out the Oolite repository and its submodules: + ```bash git clone --filter=blob:none --recurse-submodules https://github.com/OoliteProject/oolite.git cd oolite ``` ### Windows + After installing git and checking out the Oolite repository and its submodules, double click `Run Me` in ShellScripts/Windows or run in a command prompt: + ```cmd ShellScripts\Windows\setup.cmd ``` -This will install MSYS2 which provides various MinGW environments. You will need to enter the -install location for MSYS2 and whether you want the Clang build (recommended) or GCC build. +This will install MSYS2 which provides various MinGW environments. You will need to enter the +install location for MSYS2 and whether you want the Clang build (recommended) or GCC build. The Clang build uses the UCRT64 environment, while the GCC build uses the MINGW64 environment. ### Linux -After installing git and checking out the Oolite repository and its submodules, run the following + +After installing git and checking out the Oolite repository and its submodules, run the following to check out the dependencies of Oolite that need to be built from source: + ```bash ShellScripts/Linux/checkout_deps.sh ``` Next run the following to install required packages and build dependencies (you can replace sudo with other methods that escalate privileges if you prefer): + ```bash sudo ShellScripts/Linux/install_deps_root.sh ``` ### Building Oolite + Next run this in your bash or MSYS2 prompt to build Oolite: + ```bash ShellScripts/common/build_oolite.sh release ``` @@ -96,6 +105,7 @@ ShellScripts/common/build_oolite.sh release The completed build (executable and games files) can be found in the Oolite.app directory. Subsequently, you can clean and build as follows: + ```bash make -f Makefile clean make -f Makefile release -j$(nproc) @@ -109,7 +119,8 @@ Other targets are release-deployment for a production release and release-snapsh ### Other Linux Make Targets -This target builds an AppImage for testing which can be found in build: +This target builds an AppImage for testing which can be found in build: + ```bash make -f Makefile pkg-appimage -j$(nproc) ``` @@ -117,40 +128,42 @@ make -f Makefile pkg-appimage -j$(nproc) The target pkg-appimage-deployment is the production release, while pkg-appimage-snapshot is for debugging. This target builds a Flatpak which can be found in build: + ```bash make -f Makefile pkg-flatpak -j$(nproc) ``` ### Mac OS -Intel-based Macs can run old builds of Oolite, but current Macs are unsupported. It is hoped that they -can be supported in future. + +Intel-based Macs can run old builds of Oolite, but current Macs are unsupported. It is hoped that they can be supported in future. ### Objective-C -Oolite is written in Objective-C although there is also some C and C++ code in the codebase. It was -originally coded on Mac, but was ported to Windows and Linux by way of the GNUstep runtime which -provides a similar API to what is available on Mac. Objective-C is supported by modern IDEs like -CLion and Visual Studio Code. The language can be easily picked up by programmers familiar with C -or C++ with which it is interoperable. +Oolite is written in Objective-C although there is also some C and C++ code in the codebase. It was +originally coded on Mac, but was ported to Windows and Linux by way of the GNUstep runtime which +provides a similar API to what is available on Mac. Objective-C is supported by modern IDEs like +CLion and Visual Studio Code. The language can be easily picked up by programmers familiar with C +or C++ with which it is interoperable. ### Troubleshooting -- If you get errors like `fatal error: jsapi.h: No such file or directory`, there was probably an issue with checking -out the submodules. +- If you get errors like `fatal error: jsapi.h: No such file or directory`, there was probably an issue with checking out the submodules. + +- If you can't see any textures, try deleting the following files, and compile again although these are already excluded from modern builds. -- If you can't see any textures, try deleting the following files, and compile again although these are - already excluded from modern builds. ```bash rm deps/Linux-deps/include/png.h rm deps/Linux-deps/include/pngconf.h ``` - If you get compiler errors, you can try compiling with: + ```bash make -f Makefile release OBJCFLAGS="-fobjc-exceptions -Wno-format-security" -j$(nproc) ``` ## Contents of repository + Oolite for all platforms can be built from this repository. Here is a quick guide to the source tree. @@ -181,4 +194,3 @@ guide to the source tree. - **SDL**: Files that are only compiled for platforms that use SDL - **tests**: A mixed bag of test cases for manual testing and ad-hoc code tests. - **tools**: Various tools for preparing files, builds, releases etc. -