Build Sync (#1600)

* Rename outputs

* Makefile target renames

* Add run target

* yeet z64compress

* venv

* baserom_uncompressed -> baserom-decompressed

* input rom name to baserom.z64

* Add BUILD_DIR makefile variable

* Move built roms to build dir

* Move baserom to baseroms folder

* Add version to map file name

* Makefile cleanup

* Rename ldscript to include version

* Multiversion build

* n64-us version name

* Remove venv as dependency of setup

* Readme wording

* extract_baserom.py suggestion

* Readd checksums

* Make .venv work with windows

* missed an endif

* Cleaner windows venv implementation

* Remove duplciate process

* Build process steps

* Move make_options back

* Fix schedule build directory

* Fix schedule includes

* Makefile NON_MATCHING check -> != 0

* OOT 1704 changes

* Small cleanups

* Missed 1 thing

* UNSET -> SYMS

* Update extract_baserom.py

* dmadata.py

* Small cleanup

* dmadata_start

* Format

* dmadata files

* Fix makefile comment

* Jenkins report fix

* extracted dir

* Python dependencies order in readme
This commit is contained in:
Derek Hensley
2024-04-06 11:07:58 -07:00
committed by GitHub
parent 45ae63ccc5
commit 471d86f530
155 changed files with 5926 additions and 33307 deletions
+7 -7
View File
@@ -78,9 +78,9 @@ First, we tell the compiler to ignore the original data file. To do this, open t
beginseg
name "ovl_En_Recepgirl"
compress
include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o"
include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
include "$(BUILD_DIR)/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o"
include "$(BUILD_DIR)/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o"
endseg
```
@@ -90,9 +90,9 @@ We will eventually remove both of the bottom two lines and replace them with our
beginseg
name "ovl_En_Recepgirl"
compress
include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
//include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o"
include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
//include "$(BUILD_DIR)/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o"
include "$(BUILD_DIR)/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o"
endseg
```
@@ -131,7 +131,7 @@ The game has a convenient system that allows it to sometimes effectively use off
There is an obvious problem here, which is that is that these symbols have to be defined *somewhere*, or the linker will complain (indeed, if we change the ones in the array to `D_...`, even if we extern them, we get
```
mips-linux-gnu-ld: build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o:(.data+0x20): undefined reference to `D_0600F8F0'
mips-linux-gnu-ld: build/n64-us/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o:(.data+0x20): undefined reference to `D_0600F8F0'
```
As we'd expect, of course: we didn't fulfil our promise that they were defined elsewhere.)
+8 -8
View File
@@ -12,9 +12,9 @@ Specifically, to use the automatically generated reloc, rather than the original
```
beginseg
name "ovl_En_Recepgirl"
include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
//include "build/data/overlays/actors/ovl_En_Recepgirl.data.o"
include "build/data/overlays/actors/ovl_En_Recepgirl.reloc.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
//include "$(BUILD_DIR)/data/overlays/actors/ovl_En_Recepgirl.data.o"
include "$(BUILD_DIR)/data/overlays/actors/ovl_En_Recepgirl.reloc.o"
endseg
```
@@ -23,8 +23,8 @@ and change to use our reloc:
```
beginseg
name "ovl_En_Recepgirl"
include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
include "build/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o"
endseg
```
@@ -51,11 +51,11 @@ in the C file. Also, due to the way `GLOBAL_ASM` works, we also cannot use gener
beginseg
name "ovl_En_Recepgirl"
compress
include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o"
#ifdef NON_MATCHING
include "build/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o"
include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o"
#else
include "build/data/overlays/actors/ovl_En_Recepgirl.reloc.o"
include "$(BUILD_DIR)/data/overlays/actors/ovl_En_Recepgirl.reloc.o"
#endif
endseg
```
+6 -5
View File
@@ -39,18 +39,18 @@ You can create a `.vscode/c_cpp_properties.json` file with `C/C++: Edit Configur
{
"configurations": [
{
"name": "Linux",
"name": "n64-us",
"compilerPath": "${default}", // Needs to not be "" for -m32 to work
"compilerArgs": [
"-m32" // Removes integer truncation warnings with gbi macros
],
"intelliSenseMode": "${default}", // Shouldn't matter
"includePath": [ // Matches makefile's includes
"${workspaceFolder}/**",
"include",
"src",
"assets",
"build",
"include"
"build/n64-us/",
"${workspaceFolder}",
],
"defines": [
"_LANGUAGE_C" // For gbi.h
@@ -72,10 +72,11 @@ Add the following to (or create) the `.vscode/settings.json` file for VSCode to
"search.useIgnoreFiles": false,
"search.exclude": {
"**/.git": true,
"baserom/**": true,
"baseroms/**": true,
"build/**": true,
"expected/**": true,
"nonmatchings/**": true,
".venv/**": true
},
}
```