Commit Graph

123 Commits

Author SHA1 Message Date
Luke Street
7d23ceeecc
Use dtk-template for ninja build (#216)
* shift-jis purge

dtk part 1

Co-Authored-By: roeming <25447777+roeming@users.noreply.github.com>
Co-Authored-By: Luke Street <549122+encounter@users.noreply.github.com>

* build versioning and static prints

Co-Authored-By: roeming <25447777+roeming@users.noreply.github.com>
Co-Authored-By: Luke Street <549122+encounter@users.noreply.github.com>

* actual dtk stuff

woop?

Co-Authored-By: roeming <25447777+roeming@users.noreply.github.com>
Co-Authored-By: Luke Street <549122+encounter@users.noreply.github.com>

* suspicious file changes

@roeming please investigate these changes

Co-Authored-By: roeming <25447777+roeming@users.noreply.github.com>

* version reconciliation

the else blocks really should be futureproofed

* minor correction of global to weak

also replace configure.py and purge linker-map.txt

* Update Makefile

* makefile and ninja silliness

* Update build.yml

* makefile test

* Update build.yml

* Update Makefile

* All fixed

* More JP string fixes

* Fix demo all_source build

* Add objdiff report, Makefile dep autodownloads, lots of cleanup & more

* Update README

* Update progress badges

* Restore old docs

* changing FILE_POS.c to FILE_POS.C

* Rename FILE_POS.c to FILE_POS.C

* fix for make

---------

Co-authored-by: EpochFlame <jupiterror@gmail.com>
Co-authored-by: roeming <25447777+roeming@users.noreply.github.com>
Co-authored-by: Luke Street <549122+encounter@users.noreply.github.com>
Co-authored-by: roeming <brother64youyou@gmail.com>
2024-08-17 00:36:56 -04:00
Amber Brault
b18e5cda60
Rename dkp files if they lack the prefix instead (#198) 2024-01-02 07:52:18 -05:00
Amber Brault
609c35ee02
Port linux dkp prefix check from xenoblade (#196)
* Port linux dkp prefix check from xenoblade

* Hope this works idk

* Whoops :p

* I am mega silly

* please work? ^w^
2024-01-01 12:45:49 -05:00
EpochFlame
5c014b04cb remove powerpc-eabi-cpp.exe dependency 2023-12-21 16:18:27 -05:00
Thaddeus Crews
1f5ec28a61
Automate even more downloads (#191) 2023-12-21 14:12:35 -05:00
Thaddeus Crews
e9abcd8279
Remove devkitpro requirement from readme (#184) 2023-12-18 17:00:10 -05:00
Luke Street
61de68a3e1 Use patched 1.2.5n, delete frank/franklite 2023-07-15 10:39:28 -04:00
Amber Brault
46d0da417c
Metrowerks overhaul (#164)
* Metrowerks overhaul

-Make MSL_C match under inline deferred
-Overhaul metrowerks header files

* repair file-end newlines

* formatting

clang format is happy now. some questionable formatting choices, especially strtoul.h

* fix two ending newlines with extensionless files

* More formatting

* Match alloc.c

* Match mem_funcs.c

* Fix makefile

* Make Runtime and TRK match under deferred

* hopefully fix the configure script

---------

Co-authored-by: EpochFlame <jupiterror@gmail.com>
2023-04-22 02:37:22 -04:00
HeartPiece
e2a793a1c1 Link CARDBios, Block, Unlock (from Prime)
ily primers

Co-Authored-By: Phillip Stephens <antidote.crk@gmail.com>
2023-02-10 20:59:00 +11:00
HeartPiece
5073bea397 Yoink/link ar.c and arq.c from prime
ty prime peeps
2023-02-10 18:14:58 +11:00
EpochFlame
20168f44be link dsp_task.c
more sdk loot. todo: merge dsp struct headers with jsystem
2023-02-04 18:21:58 -05:00
EpochFlame
0478b24daf link padclamp.c
troublesome file
2023-02-04 16:46:41 -05:00
EpochFlame
0ca9e8c423 remove gcc requirement
use dtk for elf2dol and shasum
2023-02-04 13:57:12 -05:00
Amber Brault
3d02371007 Properly handle sha1sum/shasum OS differences 2023-02-04 13:26:09 -05:00
EpochFlame
f68b5d4966 mac support is overrated anyway 2023-02-04 02:22:27 -05:00
EpochFlame
1de4839587 improve frank.py to match GBA
makefile isn't cooperating?
2023-02-04 02:13:47 -05:00
Amber Brault
837b6843b5 Make sha1 checksum work on mac 2023-02-04 02:13:47 -05:00
EpochFlame
98658a7238 asm cleanup
syscommon has good and happy asm now
2023-02-01 23:20:03 -05:00
EpochFlame
c922186d74 update make clean 2023-02-01 15:03:21 -05:00
Luke Street
222b12ad82 Add legacy Makefile build to CI, update transform-dep.py 2023-01-31 01:25:12 -05:00
EpochFlame
265f491f6a respect header changes
real
2023-01-30 19:57:01 -05:00
EpochFlame
979292a1a3 resolve the repeating frank issue
frank will no longer unnecessarily rerun every compile
2023-01-30 17:07:17 -05:00
EpochFlame
9887311f63
static libraries (#146)
* static library test (will fail to build)

missing operator nonsense

* try

* try 2

* fix copypaste mistake

Co-Authored-By: Luke Street <549122+encounter@users.noreply.github.com>

* static libs real

booyah baybee

* make gamecode into static libraries

* organize Dolphin files

dolphin sorted

* declutter build folder

* generate Dolphin.a

Dolphin.a is real now. Truly, a library of libraries.

* libraries build with -j

need to fix singlethreading and calcprogress

* repair singlethreaded make

ensure directories exist as a step within static library recipes

* consistent buildlog capitalization

linking to Linking for static library recipes

* remove bss hack from calcprogress

no longer necessary

* mute compiler warnings by default

they cluttered the build logs

* tiptoe around wibo's failure

wibo cannnot handle multiple linker instances generating libraries in the same folder

* repair calcprogress

ty @encounter for regex help

---------

Co-authored-by: Luke Street <luke.street@encounterpc.com>
Co-authored-by: Luke Street <549122+encounter@users.noreply.github.com>
2023-01-28 21:18:21 -05:00
HeartPiece
71c9896ff4 Refactor JSystem into sublibraries. 2023-01-25 18:48:04 +11:00
EpochFlame
cd98444622 split dolphin cflags 2023-01-11 12:14:57 -05:00
EpochFlame
f1bb588d9f match most of OSError.c 2022-11-26 20:07:50 -05:00
EpochFlame
8b106a1733 disable aoi by default 2022-11-12 13:33:43 -05:00
intns
1e07a6a866 Various cleanups & KochappyBaseMgr done 2022-10-19 23:11:49 +01:00
intns
a108cc1358 First round of != nullptr removal 2022-10-18 17:26:42 -04:00
HeartPiece
242d2ae862
Match + link more Dolphin files (#94)
* Padclamp progress

* FILE_POS progress

* FILE_POS progress

* init_cpp_exceptions progress

* Repair match, fix formatting

* dvdqueue and file_io progress

* Update AmcExi2Stubs.c

* Link OSSync.c

courtesy of Open_RVL

* Match + link OSMessage.c

Also fix JKRAramStream.cpp to be compatible with adjusted definitions of OSMessage functions

* link dvdqueue.c

* fix amc exi stubs

* Match + link ddh/main.c and main.c

both require a dumb static function to fix bss ordering, maybe it's a compiler flag instead? unsure

* fix main and ddh/main BSS naming

* match FILE_POS.C

finally 🆗 after suffering through compiler errors and mismatches

* Update FILE_POS.C

* the byte of- 87 dolphin files remain

* Update progress.csv

Co-authored-by: EpochFlame <82550703+EpochFlame@users.noreply.github.com>
2022-10-15 16:53:33 +11:00
HeartPiece
502cfa3a28
Match + link GXBump.c (#90)
Co-Authored-By: roeming <25447777+roeming@users.noreply.github.com>

Co-authored-by: roeming <25447777+roeming@users.noreply.github.com>
2022-10-07 22:25:58 -04:00
Luke Street
97c07eda27
Add dep tracking & use WiBo in CI (#47)
* Add dep tracking & use WiBo in CI

* Create empty tools/mwcc_compiler

* Disable UPDATE_README in CI
2022-09-08 13:22:44 -04:00
EpochFlame
25cbdeabbf OSCache
match and link OSCache
2022-08-25 17:17:42 -04:00
HeartPiece
dae21dc448 Link mbstring.c
requires -inline deferred for whatever reason
2022-08-25 15:29:52 +10:00
EpochFlame
cca1d64f06 match nubinit.c
thanks, @NWPlayer123
2022-08-18 17:51:05 -04:00
NerduMiner
b06c99b937 Implement Version Specific Compiling for C++ Code
gameConfig.cpp recently became unmatched because a slight difference in the code went unaccounted for during the transition to a c++ file.  This commit passes the VERNUM makefile variable to the compiler, and converts it into buildflags that can be used to implement version specific differences in a function.
2022-08-03 20:05:18 -04:00
EpochFlame
0e474b182f massive BSS refactor
fully split BSS.s
also clean up quite a few assembly files

note that J3DPacket.s and ogLifeGauge.s have had their BSS moved to J3DSys.s and ogScreen.s respectively for the sake of alignment

also, BSS inflates data% significantly due to how lcomm and comm show in the linkmap
2022-08-03 17:41:17 -04:00
EpochFlame
31ada062ab match and link GBA.c
Only GBAXfer to go, then that's the GBA SDK files complete!
2022-06-29 17:05:43 -04:00
EpochFlame
1f2625db74 link GBAWrite.c
it's OK!
2022-06-28 13:14:36 -04:00
SodiumChlorideLogic
7391a13be4 GBARead.c linked 2022-06-28 01:43:11 -04:00
EpochFlame
9d8909e4c4 match mainloop.c
trk debugger main loop decompiled
todo: figure out if the switch case is using the defines in Dolphin/trk.h

Co-Authored-By: SodiumChlorideLogic <19625889+SodiumChlorideLogic@users.noreply.github.com>
2022-06-26 16:54:49 -04:00
EpochFlame
1dab817c47 Major BSS refactor
id32 sinit has been made assembly for the good of the many. OS.c finally links.
2022-06-24 21:08:27 -04:00
EpochFlame
18f3d776d0
Osdotc (#17)
* match ClearArena

Co-Authored-By: Revo <projectrevotpp@hotmail.com>

* InquiryCallback

* decompile OSInit

need to cleanup OS.c after it's fully matched

Co-Authored-By: kiwi <49212064+kiwi515@users.noreply.github.com>
Co-Authored-By: HeartPiece <107153442+HeartPiece44@users.noreply.github.com>

* more OS.c progress

Co-Authored-By: HeartPiece <107153442+HeartPiece44@users.noreply.github.com>

* finish OS.c aside from linking

thanks, riidefi, for helping with __OSGetDIConfig
need rostr to not be applied

* simplify no-read-only

* OS.c matches but cannot link

due to BSS ordering memery. DriveInfo and DriveBlock need to be static, but that messes with BSS order. Making them extern changes code generation.

Co-authored-by: Revo <projectrevotpp@hotmail.com>
Co-authored-by: kiwi <49212064+kiwi515@users.noreply.github.com>
Co-authored-by: HeartPiece <107153442+HeartPiece44@users.noreply.github.com>
2022-06-24 13:50:39 -04:00
SodiumChlorideLogic
7e386cba62 Add make recipes for context generation. 2022-06-22 12:45:42 -04:00
EpochFlame
d99a945ff0 windows uses python, wine uses python3
different python settings based on wine
2022-06-13 18:14:48 -04:00
EpochFlame
55b7e0d0f4 link OSAlloc.c
largely taken from https://github.com/camthesaxman/smb-decomp/tree/master/libraries/os
2022-06-12 16:50:26 -04:00
EpochFlame
8583054a5c yoink OSAudioSystem.c from the Prime decomp
build/pikmin2.usa/main.dol: OK
Progress:
        Code sections: 80860 / 4652352  bytes in src (1.738046%)
        Data sections: 36249 / 712856   bytes in src (5.085038%)

You have 173 out of 10000 Pokos and collected 10 out of 201 treasures.
2022-04-27 22:35:57 -04:00
EpochFlame
52972ccd88 link _ppc_eabi_init.cpp
thanks, Antidote! this old compiler is jank with its peephole bug

Co-Authored-By: Phillip Stephens <antidote.crk@gmail.com>
2022-04-24 17:57:59 -04:00
Luke Street
bdc9d59596 ci: Generate map & run calcprogress 2022-04-08 19:36:02 -04:00
Luke Street
301149a97e ci: Add GitHub action 2022-04-08 18:33:13 -04:00