Commit Graph

49 Commits

Author SHA1 Message Date
Tharo
362bc5e613 Name fmodf (#1162) 2022-03-01 20:29:42 +01:00
Pierre de La Morinerie
267e20dd4c tools: teach msgenc to avoid comments (#1151)
Currently the C preprocessor is used to remove comments from the text
files before encoding them.

However the option used (`-fpreprocessed`) is only supported by gcc –
but not by clang, which breaks the macOS build.

By using Python to remove comments, we can remove the use of this
gcc-specific option, and fix the macOS build.
2022-02-20 20:01:06 +01:00
Revo
c3533052ca Add GCC compiler option. (#1056)
* GCC support.

* Add note about gcc-mips-linux-gnu requirement to README.md.

* changes

* changes based on Tharo's suggestion

* Cant reproduce file_choose.h error. Removing unnecessary -I

* changes

* wording based on Fig's suggestion

* add AVOID_UB for eyes/mouth reordering issue.

* remove unneeded flags and deprecate ZAPDFLAGS.

* some changes, waiting on prs for the rest

* fixes

* discard header sections

* change section handling in mkldscript

* avoid_ub in DmaMgr_GetFileNameImpl

* move asm to inline asm (consolidate gcc functions)

* change prefix back

* remove space

* fix warnings

* Revert "remove space"

This reverts commit 94af6977b3eb4856b0d8e9eeac602c61f8010576.

* Revert "fix warnings"

This reverts commit d729ddf45743d6f039526469a15a15874926e9d0.

* finish up missing_gcc_functions

* revert unwanted mkldscript change

* temporary workaround. TODO: Stop the asm processor from choking

* fix ido build

* Revert "temporary workaround. TODO: Stop the asm processor from choking"

This reverts commit 9df892b7acb85b058ae33a1bb5970e9b52c36145.

* review

* remove unused line in mkldscript

* remove tabs

* clarify zf comment

* review2

* review

* remove duplicate cc_check

* vanilla code always come first

* std_dma avoid ub

* add compiler_gcc to cflags

* only use two blocks when necessary

* clarify zf comment

Co-authored-by: fig02 <fig02srl@gmail.com>
2022-02-19 16:50:56 -05:00
Tharo
251d90301c Make text headers encoding more robust (#1145)
* Improve encoding stage of text headers

* Fix r string

* Remove another unnecessary backslash
2022-02-15 00:26:03 +01:00
EllipticEllipsis
eadc477187 New relocation-generating program (#1016)
* Update makefiles

* git subrepo clone git@github.com:EllipticEllipsis/fado.git tools/fado

subrepo:
  subdir:   "tools/fado"
  merged:   "46c4d751a"
upstream:
  origin:   "git@github.com:EllipticEllipsis/fado.git"
  branch:   "master"
  commit:   "46c4d751a"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull tools/fado

subrepo:
  subdir:   "tools/fado"
  merged:   "88114ebce"
upstream:
  origin:   "git@github.com:EllipticEllipsis/fado.git"
  branch:   "master"
  commit:   "88114ebce"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* A few ideas for computing dependencies

* Remove reserved identifiers from spec.h and util.h
and add required headers

* Fix a couple more headers

* Program for reloc prerequisites

* git subrepo pull tools/fado

subrepo:
  subdir:   "tools/fado"
  merged:   "36a905f72"
upstream:
  origin:   "git@github.com:EllipticEllipsis/fado.git"
  branch:   "master"
  commit:   "36a905f72"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Update makefile to make dependency files and use overlay's name

* git subrepo pull tools/fado

subrepo:
  subdir:   "tools/fado"
  merged:   "43c339a59"
upstream:
  origin:   "git@github.com:EllipticEllipsis/fado.git"
  branch:   "master"
  commit:   "43c339a59"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Change awk to grep, delete ZAPD files, gitignore elf

* Delete all the cfg files

* Fix memory leaks

* Rename and add coloured errors

* Makefile tweaks
- preprocess spec before grep
- split order prerequisites via phony target to reduce dependency edges
- remove `resources` target
- remove separate overlays targets
- use `$(SPEC)` throughout
- change to using filenames of relocs for overlay names via `$*`
- Rearrange targets to better reflect their categories

* Update gitignore

* Review

* Add a check for the reloc file name

* get_segment_by_name

* get_stmt_id_by_stmt_name

* Cleaning up

* algorithm change

* function rename

* Fix typos

Co-authored-by: angie <angheloalf95@gmail.com>
2022-02-06 14:40:26 -05:00
Tyler Phillips
4b4099e84c Expose MIPS_BINUTILS_PREFIX for building on alternative platforms (#1076)
* Define MIPS_BINUTILS_PREFIX for crossdev generated binaries (mips-gentoo-linux-gnu)

* Update error message to reflect binutils prefix

* Add documentation around MIPS_BINUTILS_PREFIX

* Clear up documentation

* Update Makefile

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

* Update Makefile

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

* Update Makefile

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

* Update Makefile

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

* Update Makefile

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

Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2022-01-20 00:57:39 +01:00
louist103
0a48548da7 Extract z_select_static (#1074)
* merge master

* z_select_static OK

* remove jenkins file

* missed a DL

* Update z_select_static.xml

* new ZAPD
2022-01-17 18:42:33 -05:00
EllipticEllipsis
9b67778a00 Building on Macs (#1086)
* git subrepo pull (merge) tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "945e6ca1a"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "50242eca9"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Fix extract_assets.py multithreading

* Update binutils doc a bit

* Remove * import, add multiprocessing option
and way to pass arguments to ZAPD

* Update format.sh to be more platform-independent

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "fd5a7f434"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "fd5a7f434"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Remove ;

* Update formatting script to not just use 11

* Add Python requirements,
move the Mac stuff in the README into its own doc

* Fix readme link

* Minor format thing

* .

* Move ZAPDArgs into its own function

* Update readme and remove requirements.txt

* Dragorn-inspired rewrite of processZAPDArgs

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "a0d3f7b68"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "a0d3f7b68"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Fix function definition

* Building docs overhaul

* Add Python packages to Mac and Cygwin

* Heading number

* format format.sh (!)

* Replace "currently"

* Remove Debian

* git subrepo pull (merge) --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "0ba781304"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "0ba781304"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"
2022-01-16 19:43:07 -05:00
Tharo
f1d183d6fe libultra files and directories restructure (#1038)
* Restructure files, begin header restructure

* Format

* us2dex

* Fix parallel spelling

Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>

* Use OS_K0_TO_PHYSICAL in place of VIRTUAL_TO_PHYSICAL in osAiSetNextBuffer

* Uppercase hex, exception vector address defines

* Interrupt flags 1

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

* Interrupt flags 2

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

Co-authored-by: JoshDuMan <40190173+JoshDuMan@users.noreply.github.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-11-30 19:08:57 -05:00
Tharo
04a9d51e90 Rework handling of dmadata (#1036)
* Generate dmadata

* Remove tab indentations in mkdmadata.c and mkldscript.c

* Fix

* Review suggestions

* Hopefully fix

* Fix index

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

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-12-01 00:29:09 +01:00
Roman971
1fa6e3874b Move kaleido scope and map mark data to a misc folder (#1033) 2021-11-28 08:25:30 -05:00
Tharo
a497f33bda z_message_PAL, message_data_static and surrounding doc (#996)
* Initial progress on z_message_PAL, very messy

* Fix merge

* Some more progress

* Fix merge

* More z_message_PAL

* Small progress

* More small progress

* message_data_static files OK

* Prepare z_message_tables

* Matched another function, small updates

* Attempt to use asm-processor static-symbols branch

* Refactor text id declarations

* Begin large text codes parser function

* Fix merge

* Refactor done

* Build OK, add color and highscore names

* Remove encoded text headers and automatically encode during build

* Fix kanfont

* Various cleanups

* DISP macros

* Another match aside data

* Further progress

* Small improvements

* Deduplicate magic values for text control codes, small improvements

* Tiny progress

* Minor cleanups

* Clean up z_message_PAL comment

* Progress on large functions

* Further progress on large functions

* Changes to mkldscript to link .data in the .rodata section

* data OK

* Few improvements

* Use gDPLoadTextureBlock macros where appropriate

* rm z_message_tables, progress on large functions

* 2 more matches

* Improvements

* Small progress

* More progress on big function

* progress

* match func_80107980

* match Message_Update

* match func_8010BED8

* done

* Progress on remaining large functions

* Small progress on largest function

* Another match, extract text and move to assets, improve text build system

* Small nonmatchings improvements

* docs wip

* Largest function maybe equivalent

* Fix merge

* Document do_action values, largest function is almost instruction-matching

* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice

* Fix merge

* one match

* Last function is instruction-matching

* Fix

* Improvements thanks to engineer124

* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup

* More variables labeled, use text state enum everywhere

* More labels and names

* Fix

* Actor_IsTalking -> Actor_TalkRequested

* Match func_8010C39C and remove unused asm

* More docs

* Mostly ocarina related docs

* All msgModes named

* Fix assetclean

* Cleanup

* Extraction fixes and headers

* Suggestions

* Review suggestions

* Change text extraction again, only extract if the headers do not already exist

* Fix

* Use ast for charmap, fix assetclean for real this time

* Review suggestions

* BGM ids and ran formatter

* Review comments

* rename include_readonly to include_data_with_rodata

* Remove leading 0s in number directives

* Review suggestions for message_data_static

* textbox pos enum comments, rename several enum names from Message to TextBox

Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
2021-11-22 20:20:30 -05:00
louist103
8ac359fda5 Only use the ASM processor where it is needed (#919)
* remove fake match

* Remove asm processor from files that don't need it

* Update Makefile
2021-09-18 13:13:53 -04:00
Anghelo Carvajal
672cc6e90d Add -I. (#971)
* Add `-I.`

* Remove unused rule
2021-09-18 14:07:51 +02:00
Anghelo Carvajal
45012658d3 Track XML extraction time (#826)
* extracted-assets.json

* delete `.extracted-assets.json` in distclean

* Move `rm .extracted-assets.json` to `assetclean`
2021-05-26 19:40:48 -04:00
louist103
a597d71e54 Add clean assets (#785)
* makefile change

* also delete

* Add cleantools

* rename cleanassets and assetclean

* add rules to PHONY in makefile

* Remove toolsclean
2021-05-17 19:50:19 +02:00
Anghelo Carvajal
ea703138bb Simplify PNGs rules in the makefile (#814)
* simplify rules

* update `-eh`
2021-05-15 14:14:51 -04:00
EllipticEllipsis
278e471074 Delete -j from make setup and document use of -jN and -j in readme (#804)
* Add nproc to make setup

* Add cross-platform nproc equivalents

* Scrap that, just ditch -j in makefile altogether

* Clarified thread advice
2021-05-03 13:37:54 -04:00
Roman971
4e9f40cb13 Update asm-processor and add make dependencies for global asm and early includes (#801)
* Update asm-processor to latest master

* Add make dependencies for global asm and early includes

* Update asm-processor to latest master
2021-05-02 16:21:27 -04:00
Nicholas Estelami
0432011bd9 Updated to use latest version of ZAPD (#777)
* Updated config file

* Added missing files

* Temporarily removed asm_processor changes.

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "96ffc1e62"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "96ffc1e62"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "179af7d11"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "179af7d11"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Cleanup and fixes.

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "50ad2fe78"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "50ad2fe78"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

* Makefile fix

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "b9120803e"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "b9120803e"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
2021-04-30 23:23:22 +02:00
Anghelo Carvajal
fa5e785760 Add needed rules for prerenders extraction (#752)
* update makefile

Signed-off-by: Angie <angheloalf95@gmail.com>

* change jfif to jpg

Signed-off-by: angie <angheloalf95@gmail.com>
2021-04-03 00:07:29 +02:00
Anghelo Carvajal
867b5a87ba Add distclean rule to makefile (#716)
* Add clean_everything rule to makefile

Signed-off-by: angie <angheloalf95@gmail.com>

* change `clean_everything` to `distclean`

Signed-off-by: angie <angheloalf95@gmail.com>

* Somehow forgot to commit the makefile

Signed-off-by: angie <angheloalf95@gmail.com>

* Remove nuke

Signed-off-by: angie <angheloalf95@gmail.com>

* Remove redundant variables

Signed-off-by: angie <angheloalf95@gmail.com>

* Forgot to remove `TEXTURE_DIRS`

Signed-off-by: angie <angheloalf95@gmail.com>
2021-03-14 12:07:46 -04:00
Lucas Shaw
6fd644dff5 libm.s -> ll.c (#661)
* .

* remove tools/ZAP2 from origin master

* libm.s -> ll.c

* fix progress.py (i think?)
2021-01-31 13:27:50 -05:00
Random
be84e1f0f8 Add Cygwin support (#594)
* Add Cygwin support

* revert .gitignore changes

* Add Cygwin instructions

* corrections

* specify dependencies in README.md
2021-01-20 14:46:25 -05:00
Roman971
5c6335f9fb Remove touchasset.py to improve build performance (#611) 2021-01-08 17:42:05 -05:00