From 77903a9395fc1c8915ce4e93ed1934ca5d2f2646 Mon Sep 17 00:00:00 2001 From: Joseph <94092417+Jgoodwin64@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:02:55 -0500 Subject: [PATCH] reorganized the readme and move files. I move contributing.md to the documentation folder. I moved setup.sh to the tools folder. I renamed contributing.md from all caps to lowercase to match other files. I moved docker setup to it's own file. I moved some instructions to the add_vpk_here.md file. --- README.md | 155 ++---------------- .../contributing.md | 0 documentation/docker_setup.md | 87 ++++++++++ setup.sh => tools/setup.sh | 0 vpk/add_vpk_here.md | 67 +++++++- 5 files changed, 170 insertions(+), 139 deletions(-) rename CONTRIBUTING.md => documentation/contributing.md (100%) create mode 100644 documentation/docker_setup.md rename setup.sh => tools/setup.sh (100%) diff --git a/README.md b/README.md index 45644e0..d272b35 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Because this demake has been in development for many years, it has made signific - Eye-Candy (Reflections, ...) - Much more! -This is a community driven project that welcomes any and all game testers and or [Contributors](./CONTRIBUTING.md). +This is a community driven project that welcomes any and all game testers and or [Contributors](./documentation/contributing.md). Updates are constantly being made to the game, so we recommend checking out the author's [YouTube Channel](https://www.youtube.com/@james.lambert) for the latest updates. @@ -44,162 +44,41 @@ git clone https://github.com/lambertjamesd/portal64.git cd portal64 ``` -Setup and install dependencies. +## Setup and install dependencies. + The following commands allow the scripts to run on the system, then it runs the setup. -As always it is good practice look over scripts from the internet before running them on your system. -```sh +As always it is good practice look over scripts from the internet before running them on your system. +```sh sudo chmod +x skelatool64/setup_dependencies.sh sudo chmod +x tools/romfix64.sh -sudo chmod +x setup.sh -./setup.sh - +sudo chmod +x tools/setup.sh +./tools/setup.sh ``` -Alternatively, you could just follow the manual setup instructions [here](./documentation/manual_setup.md). + +Alternative setup methods include [Docker setup](./documentation/docker_setup.md) and [Manual setup](./documentation/manual_setup.md). + +Whatever setup you choose, you will still need to add the Portal folder to portal64/`vpk/` OR create a symbolic link to the Portal folder. + +(see [vpk/add_vpk_here.md](./vpk/add_vpk_here.md) for more details!). Symlink does not work for Docker builds. - -After setup, You need to add the following files from where Portal is installed to the folder `vpk/` OR create a symbolic link to the `Portal` folder there (see [vpk/add_vpk_here.md](./vpk/add_vpk_here.md) for more details!). - -You can add multiple languages if desired. - -``` -Portal/portal/portal_pak_000.vpk -Portal/portal/portal_pak_001.vpk -Portal/portal/portal_pak_002.vpk -Portal/portal/portal_pak_003.vpk -Portal/portal/portal_pak_004.vpk -Portal/portal/portal_pak_005.vpk -Portal/portal/portal_pak_dir.vpk - -Portal/hl2/hl2_sound_misc_000.vpk -Portal/hl2/hl2_sound_misc_001.vpk -Portal/hl2/hl2_sound_misc_002.vpk -Portal/hl2/hl2_sound_misc_dir.vpk - -Portal/hl2/hl2_misc_000.vpk -Portal/hl2/hl2_misc_001.vpk -Portal/hl2/hl2_misc_002.vpk -Portal/hl2/hl2_misc_003.vpk -Portal/hl2/hl2_misc_dir.vpk - -Portal/hl2/media/valve.bik - -Portal/hl2/resource/gameui_english.txt -Portal/hl2/resource/gameui_.txt -Portal/hl2/resource/gameui_.txt - -Portal/hl2/resource/valve_english.txt -Portal/hl2/resource/valve_.txt -Portal/hl2/resource/valve_.txt - -Portal/portal/resource/closecaption_english.txt -Portal/portal/resource/closecaption_.txt -Portal/portal/resource/closecaption_.txt - -Portal/portal/resource/portal_english.txt -Portal/portal/resource/portal_.txt -Portal/portal/resource/portal_.txt -``` +## Build Rom. Finally, run `make` to build the project. ```sh -# Clean out any previous build files -make clean - # Build (default build with english audio) make - -``` -You can also prepare to build the ROM with additional audio languages, like this (multiple commands per build possible): -``` -make french_audio - -make german_audio - -make russian_audio - -make spanish_audio -``` -You still have run `make` after this. - -Also you can build with all audio languages integrated with this shortcut: - -``` -make all_languages ``` -This requires additional *.vpk files copied to the root of folder `vpk/` (since the original Portal keeps only one language at the same time, you have to copy these files!): - -- German: -``` -portal/portal_sound_vo_german_000.vpk -portal/portal_sound_vo_german_dir.vpk -``` - -- French: -``` -portal/portal_sound_vo_french_000.vpk -portal/portal_sound_vo_french_dir.vpk -``` - -- Russian: -``` -portal/portal_sound_vo_russian_000.vpk -portal/portal_sound_vo_russian_dir.vpk -``` - -- Spanish: -``` -portal/portal_sound_vo_spanish_000.vpk -portal/portal_sound_vo_spanish_dir.vpk -``` - -
- -## Build with Docker - -Clone the Portal64 repo or download the zip. +If you have issues use `make clean` to clean out any previous build files, remember it also removes any languages you set up so you will need to run those commands again. ```sh -sudo apt install git -git clone https://github.com/lambertjamesd/portal64.git -cd portal64 +# Clean out any previous build files +make clean ``` - -You need to populate the vpk folder - you need to COPY all needed *.vpk files, a symlink does not work for Docker builds! - - -After that you can build the docker image using - - -Build the Docker image. - -```sh -make -f Makefile.docker image -``` - -
- -Then build the rom using - -```sh -make -f Makefile.docker -``` - -You can also use the language options, e.g.: - -```sh -make -f Makefile.docker spanish_audio -make -f Makefile.docker german_audio -make -f Makefile.docker -``` - - -That will generate the rom at `/build/portal64.z64` -
## Current New Feature TODO List diff --git a/CONTRIBUTING.md b/documentation/contributing.md similarity index 100% rename from CONTRIBUTING.md rename to documentation/contributing.md diff --git a/documentation/docker_setup.md b/documentation/docker_setup.md new file mode 100644 index 0000000..b472ade --- /dev/null +++ b/documentation/docker_setup.md @@ -0,0 +1,87 @@ +## Build with Docker + +If `apt install docker` doesn't work, you have to either use `apt install docker.io` or e.g. not use apt at all and install Docker "officially" from docker.com + + +Also, using snap to install Docker is not advised `sudo snap install docker` gives, an [Errno 13] Permission denied error message (for python3.11-minimal) and this blocks creating the Docker image. + +(also, some may have to run `sudo setfacl -R -m u:$USER:rwx /var/run/docker.sock` first, if Docker wasn't installed from docker.com) + + +Add all desired [languages](./documentation/add_languages.md) for the build process. + +After that you can build the docker image using: + + +```sh + +make f Makefile.docker image # Builds the Docker image. + +``` + +Then build the rom using; + +```sh + +make -f Makefile.docker + +``` + +## You can also use the language options, e.g.: + +```sh + +make -f Makefile.docker german_audio + +``` + +```sh + +make -f Makefile.docker french_audio + +``` + +```sh + +make -f Makefile.docker russian_audio + +``` + +```sh + +make -f Makefile.docker spanish_audio + +``` + +```sh + +make -f Makefile.docker # Run this after running the commands for the desired languages that you would like to add to your ROM. + +``` + +## Build all audio languages into the ROM. + +Make sure to put all the following files in the portal64/vpk folder then run: + +```sh + +make -f Makefile.docker all_languages + +``` +If you have issues use `make -f Makefile.docker clean` to clean out any previous build files, remember it also removes any languages you set up so you will need to run those commands again. + +```sh + +make -f Makefile.docker clean + +``` + +That will generate the rom at `/build/portal64.z64` + +If you run Docker in sudo you may want to change the permissions of portal64/build, portal64/portal_pak_dir and portal64portal_pak_modified: +```sh +sudo chmod 777 -R build +sudo chmod 777 -R portal_pak_dir +sudo chmod 777 -R portal_pak_modified + +``` diff --git a/setup.sh b/tools/setup.sh similarity index 100% rename from setup.sh rename to tools/setup.sh diff --git a/vpk/add_vpk_here.md b/vpk/add_vpk_here.md index b45e37c..2584a85 100644 --- a/vpk/add_vpk_here.md +++ b/vpk/add_vpk_here.md @@ -8,30 +8,49 @@ ln -s SteamLibrary\steamapps\common\Portal\ Portal - If you want multi-language support, copy `portal_sound_vo_*.vpk` files commonly found in `SteamLibrary\steamapps\common\Portal\` to this directory. (these files need to be copied, because the original Portal keeps only the files of ONE language at a time) + Change the current language for Portal in Steam to the desired language after Portal updates to the new language, copy the new language files and paste them in portal64/vpk. + + Do this for each one of the languages you want to add to the ROM. - German: ``` portal/portal_sound_vo_german_000.vpk portal/portal_sound_vo_german_dir.vpk ``` - + + ``` + make german_audio # Set up the files to add German audio to the ROM. + ``` + - French: ``` portal/portal_sound_vo_french_000.vpk portal/portal_sound_vo_french_dir.vpk ``` + + ``` + make french_audio # Set up the files to add French audio to the ROM. + ``` - Russian: ``` portal/portal_sound_vo_russian_000.vpk portal/portal_sound_vo_russian_dir.vpk ``` + + ``` + make russian_audio # Set up the files to add Russian audio to the ROM. + ``` - Spanish: ``` portal/portal_sound_vo_spanish_000.vpk portal/portal_sound_vo_spanish_dir.vpk ``` + ``` + make spanish_audio # Set up the files to add Spanish audio to the ROM. + ``` + The end results should be a folder structure like this @@ -46,4 +65,50 @@ vpk/ portal_sound_vo_russian_dir.vpk portal_sound_vo_spanish_000.vpk portal_sound_vo_spanish_dir.vpk +``` + +``` +make all_languages # This command runs `make` for you after the language files are set up. +``` +## Add multipal subtile languages. + +If desired place the following files in portal64/vpk. +``` +Portal/portal/portal_pak_000.vpk +Portal/portal/portal_pak_001.vpk +Portal/portal/portal_pak_002.vpk +Portal/portal/portal_pak_003.vpk +Portal/portal/portal_pak_004.vpk +Portal/portal/portal_pak_005.vpk +Portal/portal/portal_pak_dir.vpk + +Portal/hl2/hl2_sound_misc_000.vpk +Portal/hl2/hl2_sound_misc_001.vpk +Portal/hl2/hl2_sound_misc_002.vpk +Portal/hl2/hl2_sound_misc_dir.vpk + +Portal/hl2/hl2_misc_000.vpk +Portal/hl2/hl2_misc_001.vpk +Portal/hl2/hl2_misc_002.vpk +Portal/hl2/hl2_misc_003.vpk +Portal/hl2/hl2_misc_dir.vpk + +Portal/hl2/media/valve.bik + +Portal/hl2/resource/gameui_english.txt +Portal/hl2/resource/gameui_.txt +Portal/hl2/resource/gameui_.txt + +Portal/hl2/resource/valve_english.txt +Portal/hl2/resource/valve_.txt +Portal/hl2/resource/valve_.txt + +Portal/portal/resource/closecaption_english.txt +Portal/portal/resource/closecaption_.txt +Portal/portal/resource/closecaption_.txt + +Portal/portal/resource/portal_english.txt +Portal/portal/resource/portal_.txt +Portal/portal/resource/portal_.txt + ``` \ No newline at end of file