diff --git a/README.md b/README.md index 2404b9e8..072594cc 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,90 @@ +CAUTION: DO NOT FOLLOW EPIC GAMES INSTRUCTIONS + +Epic games has a bunch of instructions for installing and building +Unreal Engine. Those instructions suck, ignore them completely. +Instead, we have a script "build.py" that builds Unreal Engine, our +Game, the Intellisense database, and a bunch of other things as well. +For building, "build.py" is all you need. + + +SOFTWARE YOU WILL NEED + +Before attempting anything, install the following software: + + apt-get install git-lfs + apt-get install code + apt-get install dotnet6 + apt-get install clangd-15 or better. + +Everything else you need should be included in PopOS. If that's +not the case, let me know. + + +GETTING THE CODE + +You will need to clone two git repositories: + + cd $HOME + git clone https://github.com/EpicGames/UnrealEngine.git + git clone https://www.gnaut.com/team/integration.git + +The two clone commands above are a simplification. In reality, +cloning these two repositories will require you to jump through +some hoops to get access from Epic Games. Follow the steps to +get access from Epic's website, but only go as far as cloning +the repository. Once the repository is cloned, we will take it +from there with our own "build.py". + +It is important that these two repositories be located +at $HOME/UnrealEngine and $HOME/integration. + + +HOW TO BUILD THE FIRST TIME + +Change directory into the "integration" repository and run "build.py +all". This will build both unreal engine and integration. It will +also build project files for vscode, an intellisense database, and +several other things. Once it is done, everything is built. + + +HOW TO REBUILD WHEN YOU'VE EDITED SOMETHING + +You can also use "build.py all" to rebuild. This is the preferred +way to rebuild when you aren't sure what's been edited. However, +this takes almost 30 seconds even when there's nothing new to build, +so it can be a little slow. + +If you're sure that the only thing you've edited recently are +C++ files in the integration repository, then you can get away with +doing a lightweight build: "build.py c++". This only works if you've +already completed a successful full build, and the only thing you've +done since then is edit C++ files in integration. If you've edited +anything else, you need to use "build.py all" to rebuild. + +Editing Lua or Blueprint code doesn't require any kind of rebuild. + + +USING VISUAL STUDIO CODE + +After building, you can start up the IDE, visual studio code (aka +vscode). To start up vscode, change directory to the integration +repository, and run "code Integration.code-workspace". + +The first time you launch vscode, you will see a popup about +recommended extensions. These are actually recommended by build.py, +so they're actually good recommendations. Install them: you will +only have to do this once. + +From inside vscode, you can use Terminal/Run_Build_Task to execute +"build.py c++". If you select Terminal/Run_Task, it will allow you +to choose between "build.py all", "build.py c++", and "build.py clean". +This is entirely equivalent to running these commands from the shell. + +To launch our game, select Run/Start_Debugging. + + -LINUX INSTRUCTIONS: -All the important instructions are in 'build.py' diff --git a/build.py b/build.py index 04d42d6c..7559506b 100755 --- a/build.py +++ b/build.py @@ -1,68 +1,12 @@ #!/usr/bin/python3 # -# The one-and-only build script for luprex. +# This is the one-and-only build script for luprex! +# # Do not follow any of the build instructions on the Unreal Engine -# websites! Instead, use these instructions. +# websites! Instead, use this script. The instructions for this +# script are in README.md # -# -# HOW TO BUILD THE FIRST TIME -# -# First, install the following software: -# -# apt-get install git-lfs -# apt-get install code -# apt-get install dotnet6 -# apt-get install clangd-15 or better. -# -# Then, git clone the UnrealEngine and integration repositories: -# -# cd $HOME -# git clone https://github.com/EpicGames/UnrealEngine.git -# git clone https://www.gnaut.com/team/integration.git -# -# It is important that these two repositories be located -# at $HOME/UnrealEngine and $HOME/integration. -# -# Of course, you will have to jump through a bunch of hoops to -# get access to these repositories. See the instructions on the -# unreal engine website. -# -# After cloning the two repositories, change directory into -# the "integration" repository and run "build.py all". -# This will build both unreal engine and integration. It will -# also build project files for vscode, an intellisense database, -# and several other things. Once it is done, everything is built. -# You can start up the debugger. -# -# -# HOW TO REBUILD WHEN YOU'VE EDITED SOMETHING -# -# You can also use "build.py all" to rebuild. This is the preferred -# way to rebuild when you aren't sure what's been edited. However, -# this takes almost 30 seconds even when there's nothing new to build, -# so it can be a little slow. -# -# If you're sure that the only thing you've edited recently are -# C++ files in the integration repository, then you can get away with -# doing a lightweight build: "build.py c++". This only works if you've -# already completed a successful full build, and the only thing you've -# done since then is edit C++ files in integration. If you've edited -# anything else, you need to use "build.py all" to rebuild. -# -# Editing Lua or Blueprint code doesn't require any kind of rebuild. -# -# -# USING VISUAL STUDIO CODE -# -# To start up vscode, change directory to the integration repository, -# and run "code Integration.code-workspace". From inside vscode, you can -# use Terminal/Run_Build_Task to run "build.py all" or "build.py c++". -# You can also select Run/Start_Debugging to launch the game. -# -# The first time you launch vscode, you will see a popup about -# recommended extensions. These are actually recommended by this -# script, build.py, so they're actually good recommendations. Install -# them: you will only have to do this once. + #