1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-26 14:46:16 +00:00
Commit graph

99 commits

Author SHA1 Message Date
mzxrules
8d83727429
Experiment: remove global.h dependency from sys_math, sys_math3d, z_lib (#1956)
* split sys_math, sys_math3d, z_lib from global.h

* suggestions

* forgot this

* more math stuff

* nit fix

* re-add ichain.h

* resolve tharo's comments
2024-06-19 00:00:23 -04:00
cadmic
4de56c44ac
Add gc-eu-mq to CI (#1943)
* Add gc-eu-mq to CI

* Give up on scripting

* Revert quotes changes
2024-04-20 00:12:26 -04:00
cadmic
d59ca6cea2
Set up gc-eu and match all code (#1938)
* Set up gc-eu and match all code

* Format

* Mark gc-eu-mq as WIP until it builds OK

* Move original/MQ map mark data to separate files

* Add #includes to .inc.c files to help out VS Code

* Use #if in spec instead of .inc.c files
2024-04-15 13:36:29 -04:00
cadmic
f643499462
Match retail BSS ordering (#1927)
* Match retail BSS ordering

* Revert moving some global variables to headers

* Adjust block numbers after header changes

* Fix debug build

* Overlay bss ordering

* Fix BSS ordering after header changes

* gc-eu-mq OK

* Implement preprocessor for #pragma increment_block_number

* Transfer usage comment from reencode.sh

* Use temporary directory instead of temporary file

* Move ColChkMassType back
2024-04-14 23:51:32 +02:00
cadmic
93642f97bc
Use gcc -E instead of cpp to fix macOS build (#1935)
* Use `gcc -E` instead of `cpp` to fix macOS build

* -xc++ -> -xc
2024-03-29 11:03:28 -04:00
cadmic
bf37ad1368
Move baserom segments to extracted/ (#1916)
* Move baserom segments to extracted/

* Add old baserom segments dir back to .gitignore

* Rename segments/ -> baserom/
2024-03-04 19:06:26 -05:00
cadmic
b9d1fe50cc
Make distclean delete build artifacts for all versions (#1909) 2024-03-04 18:26:04 +01:00
cadmic
0407594107
Hacks for building nes_font_static and nes_message_data_static with gc-eu-mq (#1721)
* Hack nes_font_static and nes_message_data_static

* Make hardcoded config a bit more consistent

* Put debug ROM first

* Reword comment

* Move nes_font_static hack to spec

* Restore extracted/gc-eu-mq
2024-03-02 16:05:15 -05:00
Dragorn421
ff81e2a891
Build fixups: build gc-eu-mq with extracted/dbg, remove asmproc pragmas (#1911)
* Remove asmproc recurse (somehow these two survived)

* Use `extracted/gc-eu-mq-dbg` anyway for gc-eu-mq
2024-03-02 12:47:10 -05:00
Dragorn421
a6f646dc65
Introduce extracted/VERSION, with text extracted there (#1730)
* Introduce assets/_extracted/VERSION, with text extracted there

* move to `extracted/text/`

* Update gitignore s

* rework args for msgenc.py

* put mkdir with others, until theyre all moved at once

* move 0xFFFC back to being extracted, making it use specific macro `DEFINE_MESSAGE_NES` to handle its special behavior

* prettier gitignore

* Move messages 0xFFFC, 0xFFFD to committed message_data.h
2024-03-01 22:09:57 -05:00
Dragorn421
bdee3d33b4
No longer use asm-processor (#1824)
* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "b3bfa14cf"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "b3bfa14cf"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "110b9eb"

* use CS_FLOAT

* update csdis

* update committed csdata

* finish updating csdis.py

* add script to reextract committed csdata

* dont use asm-processor, use iconv for reencoding utf8 to eucjp

* remove asm-processor csdata usage remnants

* --cs-float hex

* delete tempfile at end of reencode.sh (may want to rm even if compilation fails though?)

* comment reencode.sh

* comment CMD_F

* do not break permuter guessing compile command, by not reencode.sh-wrapping compilation under PERMUTER (thanks anghelo)

* fix the permuter fix

* pad -> sBssDummyNeg1

* reencode.sh: rm tempfile on script exit (including on error)

* renumber sBssDummy vars in zcolchk from 0

* Revert "--cs-float hex"

This reverts commit 85267dc348.

* Revert BSS changes

* Add linemarker to reencoded files for better error message

* fix audio/general.c bss

* make reencode.sh work on macOS

* touch up csdis, csdis_re

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
2024-03-01 16:12:22 -05:00
Tharo
3670a48aee
Some GCC flags improvements (#1903)
* Some GCC flags improvements

* Move -fno-reorder-blocks -fno-zero-initialized-in-bss to assets only

* Add -fno-PIC since some gcc versions use -fPIC as default

* Enable builtin functions on gcc, with appropriate changes to missing_gcc_functions.c
  and ultra64/libc.h

* Move -fno-merge-constants -mno-explicit-relocs -mno-split-addresses to overlays only
  as they are only needed there for reloc reasons

* Remove unneeded casts in missing_gcc_functions.c

* Change gcc assets flags handling
2024-02-29 15:11:54 -05:00
Tharo
7f64ace8f0
RNG doc (#1892)
* RNG doc

* Add some missing note qualifiers in comments

* code_800FD970 -> rand in Makefile and disasm CSVs
2024-02-26 22:21:25 -05:00
Dragorn421
1ba2d6d0f9
Rework disassembly: out of makefile, separate sections, relocs (#1728)
* Rework disassembly: out of makefile, separate sections, relocs

* another nice print

* fix type hints for python 3.8 dinosaurs

* reencode from utf-8 to euc-jp (iconv) before assemble

* Add "include guards" to macro.inc

* For producing the expected file object files, assemble sections together instead of linking together the individually assembled sections

* review

* fixup

* require spimdisasm >=1.21.0

* remove assembling sections individually (for now)

* uppercase encoding names (standard)
2024-02-12 20:20:25 -05:00
cadmic
d2a1abf8df
Diff .data size, .bss size, and .rodata contents in retail_progress.py (#1706)
* Use iconv to convert strings to EUC-JP for reassembly

* Compare .data size, .bss size, and .rodata contents in retail_progress.py

* Show data diffs in summary for humans

* Use multiprocessing to very significantly speed up retail_progress.py summary

* Remove intermediate function

* Make sigint less jank

* Hide the evidence

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* add --not-ok to only print not-OK files in summary

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-02-09 08:30:32 -05:00
Dragorn421
9da4e17c8f
Split msgdis from extract_assets (#1723)
* split msgdis from extract_assets

* move import
2024-02-05 20:40:31 -05:00
cadmic
54ffd50fa2
Extract ROM segments from gc-eu-mq (take 2) (#1709)
* Extract ROM segments from gc-eu-mq (take 2)

* Apply suggestions from code review

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Typo

* dma_{start,names} -> dmadata_{start,names}

* Restore dest

* Don't assume rom location == vrom location

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-02-04 22:59:09 -05:00
cadmic
d674dad3da
Match compression for gc-eu-mq (#1704)
* Improve compression

* Format

* Typo

* Use Python assignment expression in tools/dmadata.py

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Review decompress_baserom.py

* Replace DEFINE_DEBUG_SCENE with CPP defines

* Pass is_zlib_compressed instead of version

* Reword NOLOAD comment in write_compress_ranges

* Remove redundant comment

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-02-03 23:59:19 +01:00
Derek Hensley
5785c7adfb
Move roms to build folder (#1651)
* Move built roms to build directory, along with rename map and linker script

* PR review

* sym_info fix

* Revert docs/tutorial/data.md change
2024-02-02 16:34:20 -05:00
Dragorn421
64dd475a3a
[Faster CI] Make CI not run CC_CHECK (#1686)
* Make CI not run CC_CHECK

* I put it on the wrong step bruh

* Introduce RUN_CC_CHECK instead (like MM)
2024-02-01 15:08:45 -05:00
Derek Hensley
77c9c97ff9
Overlay_Relocate and Overlay_Load retail OK (#1662)
* Overlay_Relocate OK

* Overlay_Load

* format

* PR + better match for Overlay_Load
2024-01-30 19:30:27 -05:00
cadmic
9816f62129
Define OOT_DEBUG=0 in retail builds (#1658)
* Define OOT_DEBUG=0 in retail builds

* Fix ifndef

* Replace VI_MODE_EDITOR_INACTIVE

* Revert "Replace VI_MODE_EDITOR_INACTIVE"

This reverts commit f7c4cae7c3.

* Replace VI_MODE_EDITOR_INACTIVE, take 2

* Revert EnBom_Draw
2024-01-30 13:54:38 -05:00
cadmic
68b41d6b0d
Refactor Makefile variables to use DEBUG (#1657) 2024-01-29 12:20:54 -05:00
cadmic
0f11f2f166
Tweak OPTFLAGS for some files for retail (#1647) 2024-01-29 10:36:41 -05:00
cadmic
98a3238822
Set up disassembly for gc-eu-mq (#1613)
* Disassemble gc-eu-mq

* Add script to report progress with matching

* Fix whitespace

* Change T|None to typing.Optional[T]

* Use typing.List

* More type annotations fixes for old Python versions

* Fix type errors

* More type annotations

* Use typing.Iterator

* Use $(PYTHON) for disassembly

* Don't use grouped targets to support very old Make versions

* Docs: suggest checking MM, mention virtualenv, clarify about expected/

* Update sym_info.py

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Sync functions.txt

* Start banned symbol range at 0x10000000

* Also ban symbols from 0xC0000000-0xFFFFFFFF

* Unban IPL symbols

* Fix first_diff.py

* Sync z_collision_check functions.txt

* Ban 0xA0 symbols too

* Touch .disasm sentinel file

* Copy -jN comment in docs

* diff.py flags: remove -3, add -s

* Update docs/retail_versions.md

Co-authored-by: Yanis42 <35189056+Yanis42@users.noreply.github.com>

* Comment that segments are still from the Debug ROM

* Revert "diff.py flags: remove -3, add -s"

This reverts commit bfaae66c1d.

* Apply suggestions from code review

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Remove #ifdef example

* Reformat Python files with black

* Add copyright notice to new Python files

* Add TODOs to Makefile

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Yanis42 <35189056+Yanis42@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-01-28 18:09:03 +01:00
cadmic
e9a571054c
Delete venv if venv creation fails (#1622)
* Delete venv if venv creation fails

* Comment on shell magic
2024-01-27 19:40:29 -05:00
cadmic
5dd19e4862
Use virtualenv in Makefile for python dependencies (#1619)
* Use virtualenv in Makefile for python dependencies

* Create separate targets for venv creation and installation

* Fix install-python-deps prerequisite

* Try simplifying Jenkinsfile

* Simplify venv targets

* Fix merge

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-01-25 01:39:13 +01:00
cadmic
16f9ff39be
Rename make compressed to make compress (#1620) 2024-01-24 18:02:53 -05:00
Anghelo Carvajal
3d9db8d34d
Setup rom decompression and compression (#1614)
* decompress baserom

* cleanup

* specific hash check

* rename baserom

* git subrepo clone (merge) --branch=5da3132606e4fd427a8d72b8428e4f921cd6e56f git@github.com:z64tools/z64compress.git tools/z64compress

subrepo:
  subdir:   "tools/z64compress"
  merged:   "5da313260"
upstream:
  origin:   "git@github.com:z64tools/z64compress.git"
  branch:   "5da3132606e4fd427a8d72b8428e4f921cd6e56f"
  commit:   "5da313260"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* setup compression

* Add all compressed segments to the spec

* Update md5 files

* readme instructions

* cleanup

* Setup python dependencies on Jenkinsfile

* Update Makefile

Co-authored-by: cadmic <cadmic24@gmail.com>

* review

* . .venv/bin/activate

* update readme

* whoops

* Yeet other versions from decompress_baserom.py

* my bad

* Move everything to baseroms/VERSION/

* Active venv on each command

* jenkinsfile: use multiline syntax

* Put the correct path on the jenkinsfile

* Forgot to call per_version_fixes

* CC0

* Update readme

* Change where baserom segments are put into

* Update Makefile

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update crunch64

* Label compressed instead of uncompressed

* Update README.md

Co-authored-by: fig02 <fig02srl@gmail.com>

* Fix

* `make rom`

* baserom-uncompressed

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update README.md

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* review

* baserom-decompressed.z64

* ignore baseroms

* rm -rf tools/z64compress

* wip crunch64-based compress.py

* OK compress

* use ipl3checksum sum directly for cic update on compressed rom

* multithreading

* "docs"

* fix MT: move set_sigint_ignored to global level for pickling

* license compress.py

* rm junk

* Fix (or at least sort out) compress_ranges.txt dependencies

* Update tools/overlayhelpers/damage_table.py

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

---------

Co-authored-by: cadmic <cadmic24@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
2024-01-24 13:00:10 -05:00
cadmic
324db1d578
Replace most osSyncPrintf calls with PRINTF macro (#1598)
* Replace most osSyncPrintf calls with PRINTF macro

* DEBUG -> OOT_DEBUG
2024-01-12 10:38:13 -05:00
Yanis42
8a09f33c8f
Makefile: Change EMULATOR := to N64_EMULATOR ?= (#1608)
* ``EMULATOR :=`` -> ``N64_EMULATOR ?=``

* change other instances of EMULATOR and removed EMU_FLAGS

* missing one EMULATOR
2024-01-09 12:49:12 -05:00
cadmic
cd917b0cb8
Create debug macros for common functions (#1597)
* Create debug macros for common functions

* Revert NDEBUG change

* MALLOCR -> MALLOC_R

* DEBUG -> OOT_DEBUG

* Use the same name for debug and non-debug matrix functions

* Fix file/line argument order

* Revert g[s]DPNoOp[Tag]

* Use SystemArena_MallocDebug directly in GameAlloc_MallocDebug

* MTXF_TO_MTX -> MATRIX_TO_MTX
2024-01-09 07:59:03 -05:00
cadmic
25ff0a27de
Create separate build directories based on version (#1591)
* Create separate build directories based on version

* Fix find_unused_asm.sh

* Remove find_unused_asm.sh from Jenkinsfile

* Revert diff.py

* Clarify that gc-eu-mq is not "supported" yet

* Revert xmlcreate.py (to be deleted)

* Remove gc-eu-mq for now

* Add version flags to diff_settings.py and sym_info.py

* --version -> --oot-version

* Fix --oot-version

* Revert adding version flags to tools

* Delete find_unused_asm.sh

* Revert changes to first_diff.py output in tutorial

* Factor out sed usages for spec
2024-01-05 23:27:19 +01:00
cadmic
1f9c28f370
Change ?= to := for Makefile variables (#1599)
* Change ?= to := for most Makefile variables

* Remove empty ?= assignments

* Revert "Remove empty ?= assignments"

This reverts commit 3db472faea.
2023-12-16 16:45:02 -05:00
Tharo
3475651701
libc cleanup (#1568)
* libc cleanup

* Suggested changes, small alloca tweak

* Remove printf include
2023-10-27 16:06:44 +02:00
Tharo
503f6d86d5
Track most header dependencies for include/tables headers (#1566)
* Makefile automatically rebuild source files including headers from include/tables

* Fix typo, make z_actor.c also depend on actor_table.h

* Add message data dependencies for z_message_PAL, adjust comments
2023-10-20 19:14:52 +02:00
fig02
2875ab4fcf
Emulator related changes in the makefile (#1528)
* emu related changes to make file

* spaces

* add error

* remove unwanted file (thanks ares)
2023-08-28 18:48:52 -04:00
engineer124
d307a37233
Reorganize Audio Files & Name Remaining Audio Files (#1494)
* reorganize audio files

* audio code files

* split audio and libaudio

* audio_init_params to audio_configuration

* simplify file names

* move aisetnextbuf to libaudio

* move src/audio -> src/code/audio

* adjust makefile comment

* reorganize again into internal/external

* adjust comment

* restructure again
2023-07-06 17:55:10 -04:00
Billy
8e04ae917f
Improve missing mips-linux-gnu error message (#1497)
* Improve error message and match up with https://github.com/zeldaret/mm/pull/1173

* Update Makefile

More descriptive error messaging

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2023-03-20 11:07:18 -04:00
playerskel
9f0b7bb8a3
another round of trailing whitespaces (#1495) 2023-02-26 17:26:07 +01:00
Roman971
1cb00350d9
Skip compiling C-included files during the build (#1386)
* Update the makefile to skip .inc.c files when building

* Rename all C-included source files to .inc.c
2022-10-04 12:36:25 +02:00
Roman971
1652b7e5d7
Fix audio strings with -use_readwrite_const and -signed (#1324)
* Fix audio strings with -use_readwrite_const and -signed

* Add comments for audio flags in makefile
2022-07-29 20:35:09 -04:00
Roman971
08c8126ba5
Enable int-conversion warnings and fix all current instances (#1280)
* Enable int-conversion warnings for gcc/clang

* Fix all current int-conversion warnings

* Run format.sh

* Apply review suggestions
2022-06-15 20:15:44 -04:00
Roman971
feadb0d9ee
Enable more IDO warnings and apply fixes (#1264)
* Update asm-processor and fix includes with EARLY

* Enable more IDO warnings and disable unwanted warning 516

* Fix most new and remaining warnings

* Improve skelanime comment

* Improve asmproc pragma comment

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* Add suggested comment for a wrong prototype

* Update asm-processor with the latest fix

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2022-06-12 19:24:45 -04:00
Roman971
b0bfa9eb69
Fix asset file includes to always start with assets/ (#1260)
* Fix asset includes to consistently start with assets/

* Fix header paths in asset xmls to start with assets/

* Remove -Iassets from compiler options
2022-06-06 15:37:25 -04:00
Tharo
4775fd4a7e
Rename and move handwritten asm files (#1254)
* Rename handwritten asm files and move them to src

* Fix progress.py

* Remove handling for asm dir from Makefile
2022-06-03 16:33:18 -04:00
EllipticEllipsis
0e51a51fb1
Document SkelCurve system (#1192)
* Rename and document SkelCurve

* AVOID_UB in DemoTreLgt_OverrideLimbDraw

* Rename code_8006C510

* Objdump flags in the makefile

* Move CC_CHECK above compilation

* Review 1

* Review 2

* Review 3

* Review
Add doxygen comments to file head
use angle macro,
improve bug comment,
make arguments of SkelCurve_Draw more consistent,
Change this temp to pad in MagicWind
2022-05-20 02:27:54 -04:00
EllipticEllipsis
912b916875
Tweak preprocessing to work on both clang and gcc (#1212) 2022-05-01 18:14:44 -04:00
EllipticEllipsis
e84f5ab387
Memstuff (#1164)
* Un-fake a couple of matches in memory manip functions

* Document fmodf

* Un-fake a couple of matches in memory manip functions

* Document fmodf

* Rename functions and files

* Document memmove, memsets, memcpys

* Format

* Sort out some missing sizeofs

* Name fmodf

* Rename local variables

* size_t

* Use COBRA_SHADOW_TEX_SIZE

* Review

* Tweak the Doxyfile to remove @brief requirement

* Roman's review

* Fix a bug comment

* Change fmodf
2022-05-02 00:06:35 +02:00
Tharo
7334ffa373
Improve the state of handwritten assembly files (#865)
* Format all handwritten asm and document some

* Use c preprocessor for constants

* Fix

* Fix PI_STATUS_ERROR, some label improvements

* Avoid hi/lo for constants

* Some more comments

* Properly mark functions as functions and their sizes

* Fix merge

* Improvements

* Review suggestions, rework procedure start/end macros to be more like libreultra

* Move IPL3 symbol definitions into ipl3.s

* Fix undefined_syms, add include and language guards to asm.h and fix the comment in gbi.h

* Consistent hex capitalization, add some MIPS builtin defines to CC_CHECK to behave properly

* Add -no-pad-sections assembler option and clean up alignment in gu files and bzero

* Further suggestions and improvements

* Matrix conversion function clarifications

* Fix passing AVOID_UB to gcc

* Suggestions

* Suggestions, global interrupt mask improvements

* Further suggestions, interrupt mask comments

* Comments fixes, rdb.h

* Switch from # comments to // comments, remove unnecesary .set gp=64 directives

* Further review suggestions

* Missed one
2022-05-01 01:03:22 +02:00