Commit Graph

172 Commits

Author SHA1 Message Date
LucretiaArc
9500f7a8d7 Fix build errors and warnings (#926)
* Close .assets-local.txt before attempting to remove it in extract_assets.py
* Bare $(MAKE) doesn't work if the path to make has spaces, so quote it
* Suppress warning for unused parameter in Flips.cpp
* Don't override OS environment variable, since it broke MinGW
* Specify extension for aiff_extract_codebook target, fixes dependency order for MinGW
2026-01-17 01:51:06 -05:00
someone2639
e206d4477c Fix getGoddardSize so that any arbitrary build folder can be used (#915)
* fix getGoddardSize

* newline

* HOW did this get in here

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2026-01-17 01:50:46 -05:00
arthurtilly
29a402dbb1 Change optimization flags (#916)
This saves about 90KB of RAM in the code segment

When Kaze found out we still use Ofast his response was "LOL"

Never listen to Fazana ever again

I did this PR through github file editor out of spite
2025-11-19 01:14:37 -05:00
bicyclesoda
e513c7272f Enforce gnu17 standard (#875)
Supported by both GCC and clang (https://clang.llvm.org/docs/UsersManual.html#extensions-supported-by-clang).

Currently, C23 cannot build this repo and apparently the consensus is to support C/gnu17 for the time being anyways.
2025-11-05 02:12:44 -05:00
someone2639
6589012fe5 Only run ROM extraction tools once on every make invocation (#902)
* add makefile util function to extract all assets

* indent

* start leveraging multiple-export functionality in extract_assets

* find-rom util; use the native hash library in detect-baseroms

* look back on my variable naming decisions with shame

* more docs; remove debug prints

* what if i just have detect_baseroms list the roms

* beef up usage string in extract_assets

* only one python invocation now; fix failure condition

* remove commented hashlib

* give it a last documentation pass

* warning fix that doesnt happen on my end

* long

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2025-11-02 19:39:34 -05:00
Christopher Dieringer
3af936f6de fix: more resilient toolchain detection (#901) 2025-11-01 04:26:49 -04:00
Denis Kopyrin
39d0ccb412 Add new GZIP DEFLATE decompressor/compressor (#850) 2025-07-02 00:37:50 -04:00
Gregory Heskett
67ab8512b7 Switch to the ED header to support UNFLoader save type autodetection + newer flashcarts (#858)
* Force save type for UNFLoader

This fixes save type not being autodetected on SC64 with EEP4K due to the non-ED cartridge ID. Changing from SM to ED is a last resort, as emulators or other flashcarts have no means of autodetecting whether a ROM is an SM64 hack otherwise.

* Rely on ED header for UNFLoader autodetection of save type instead
2025-06-21 03:24:19 -04:00
Matt Pharoah
3edf4bc593 Add support for realtime clock (#889) 2025-06-20 14:09:07 -04:00
Matt Pharoah
48ecd1da98 Fixed make patch (#870) 2025-02-25 18:26:26 -05:00
Denis Kopyrin
8281d4bc23 Remove use of math inline assembly that can be generated with fast math (#853) 2025-01-19 06:25:14 -05:00
Fazana
3f579629c8 Add support for building on ARM64 MacOS (#854)
* preliminary attempt

* simplify a bit

* oops

* Move declaration

* error out if you try to make patch

* style fix

* Update Makefile

* I hate makefile

* Update Makefile
2025-01-19 06:17:45 -05:00
Denis Kopyrin
d43157c82c Added racing DMA LZ4 & LZ4T implementations (#824)
* compression: added racing DMA LZ4 & LZ4T implementations

* debug: added reworked level load time measurement

* Get rid of LZ4, updated LZ4T to latest version

* lz4t: remove LIKELY/UNLIKLELY use, optimized slow decompressor for size

* lz4t: remove pointless goto

* lz4t: remove function macros, use static inlines instead

* perf: rework measurements for level loads to be more accurate

* perf: avoid hardcoded constants in time calculations
2024-12-29 19:33:28 +08:00
LucretiaArc
c46fa2d090 Support pre word-swapped textures, fix puppyprint rendering for lowercase z and tilde, minor font fixes (#838)
* Fix puppyprint rendering lowercase z and tilde, minor font fixes

* Add support for generating pre word swapped textures

* Use image for fasttext font texture

* Adjustments to fasttext font and puppyprint outline font
2024-11-04 21:11:01 -05:00
Lila
c4c18b3d0e Check for opensuse's cross mips gcc package (#842)
Makes it possible to rely on the official repo.
Ideally the following instructions would also be added to the wiki for opensuse:
```
sudo zypper install cross-mips-binutils git capstone pkgconf python311 cross-mips-gcc14
# install packages under devel_basis, equivalent to build-essential in deb
sudo zypper install --type pattern devel_basis
```
2024-10-31 14:08:08 -04:00
Gregory Heskett
e3472e05cf Add option for .local/share/HackerSM64/UNFLoader-dir.txt
This allows referencing a custom UNFLoader path to be used, ideally for placing on the C drive for WSL instances. UNFLoader tends to hang for an unbearably long time when saved somewhere within the WSL directory structure, and simply using the Linux build isn't an option because it can't access Windows USB devices trivially.
2024-08-03 19:57:50 -04:00
Gregory Heskett
a6782e6912 Fix seg faulting issue with MinGW build system, most likely caused by use of execl (#812) 2024-07-03 22:50:27 -04:00
lolbinarycat
dbba4871e1 Add mips64-none-elf- to automatically detected prefixes (#799)
Co-authored-by: binarycat <binarycat@envs.net>
2024-05-18 02:11:10 -04:00
bicyclesoda
f3e1496d29 Change test emulator from mupen64plus to parallel-launcher (#790)
* mupen64plus -> parallel-launcher

* Add WSL support

* Update Makefile

make it work
2024-04-29 16:42:13 -07:00
Gregory Heskett
2ae3426957 Change compression type to yay0 and ignore .inc.c files in most directories (#784)
rnc1 has noticeably slower load times in vanilla than yay0 does. gzip and mio0 are pretty useless and can be yeeted from the repo, but that's not part of this PR's scope.
2024-04-21 17:13:47 -04:00
Gregory Heskett
4c8233fe6a Fix automatic libpl cloning (#771) 2024-02-27 10:29:47 -05:00
Gregory Heskett
524e35c974 Add -falign-functions=32 to makefile flags (#745)
Seemingly provides minor performance benefit and should more importantly reduce perf lotto substantially (hopefully)
2024-02-22 00:38:19 -05:00
Gregory Heskett
b9ba17a4d6 Add libpl submodule (#753)
* Add libpl submodule

* Clone libpl submodule automatically while building (if enabled)
2024-02-02 22:08:34 -05:00
thecozies
37093031da Cpp support (#705)
* remove unused typedefs

* support for building c++ files
2023-09-25 14:41:51 -05:00
someone2639
544fcaf038 remove dependency on script exec permissions (#683)
* make fixlights.py and make_version.sh independent of exec perms

* add mips64-elf-ld warning

---------

Co-authored-by: someone2639 <someone2639@gmail.com>
2023-09-22 13:06:39 -04:00