Commit Graph

400 Commits

Author SHA1 Message Date
Arceveti
83efeffeee Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-26 20:11:41 -07:00
thecozies
b8f770ae48 Release/2.1.1 (#709)
* removed extraneous mat stack index decrement in geo_process_camera (#708)

* Fixed typo in FCR enums (#707)

* v2.1.1

---------

Co-authored-by: Matt Pharoah <mtpharoah@gmail.com>
2023-09-26 14:05:46 -04:00
Arceveti
8be4beddc4 Merge branch 'master' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-25 17:38:00 -07:00
thecozies
37093031da Cpp support (#705)
* remove unused typedefs

* support for building c++ files
2023-09-25 14:41:51 -05:00
Lilaa3
af3b538ed9 Remove sharp transitions (#702)
* Cannon render mode fix

Slipped past me.

* Removed sharp transitions

I like the idea but it really isn´t vanilla and causes issues.
Might be worth revisiting but for now lets just get rid of it.

* fixes

Missing render mode set for transitions, reduced display list alloc for cannon
tested more this time
2023-09-25 08:26:31 -05:00
Gregory Heskett
3545b4658c Remove Puppylights define from config file, since it doesn't work anymore 2023-09-23 00:35:48 -04:00
Arceveti
0e2d170798 Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-22 15:44:18 -07:00
thecozies
cd2e639206 Merge pull request #595 from Arceveti/develop/2.1.0-four-controllers-base
4 controllers support + osContCh optimization
2023-09-22 16:56:23 -05:00
Arceveti
4397811b92 Simplify controller type checking + fix controller swapping 2023-09-22 14:47:07 -07:00
thecozies
ff953bea63 added USE_FRUSTRATIO2 define 2023-09-22 13:16:34 -05:00
Matt Pharoah
3a312e101c Improved WiiVC check to avoid false positives & added functions to read and manipulate fcr31 (#669)
* Added functions to access and manipulate the fcr31 register

* Improved WiiVC emulator check to avoid false positives

* Updated comments

* Moved float.h to include directory
2023-09-22 13:05:53 -04:00
Gregory Heskett
a64be21db8 Added config option for previewable blue coins (#507)
* Added config option for previewable blue coins

* Clean up previewable blue coin implementation to only be a couple lines

---------

Co-authored-by: Colin Tong <tongcolin@live.ca>
2023-09-18 18:21:39 -04:00
Lilaa3
44b48ffacd Important Culling Fixes (#666)
* Culling fix

Precison of half fov horizontal being equal to or above 2 leads to many issues. using 1.5 would break rt64 and other emulators with ultra widescreen.
Vertical culling will be disabled by default until 3.0

* Improved emu checks and naming

* Comment changes

* Small typo fix
2023-09-18 09:18:35 -05:00
Gregory Heskett
ab0cebab7a Rotate envmaps to be consistent with vanilla (#636)
* Start work on envmap rotation stuff

* n64graphic envmap rotation working

* Add comment to rotation function

* Fix DLs of non 32x32 env maps, fix envmap rotation

* fix metal flying vanish cap

* fix metal mario's medium poly butt

* new asset version for flipped env maps

* added missing env textures to extract script

* restore asset_needs_update

* Skip asset_needs_update calls if local version matches new version

* removed the goddard textures from envmap rotation

---------

Co-authored-by: mineqwerty <mineqwerty25@gmail.com>
Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com>
2023-09-18 09:10:56 -04:00
Gregory Heskett
8a83359ed1 Add functional changes to inertia to support only specific directions specified in the config (#671)
* Add functional changes to inertia to support only specific directions specified in the config (needs cleanup)

* Reduce number of inertia defines

* Update Platform Displacement 2 define description

* comment adjustments
2023-09-18 07:17:31 -05:00
Arceveti
19ce4c0834 Better HiLo structs 2023-09-11 14:11:47 -07:00
Arceveti
8105fde1f5 Updates from main input branch 2023-09-06 13:15:29 -07:00
Arceveti
50b4ebf051 Merge branch 'develop/2.1.0' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-four-controllers-base 2023-09-05 12:57:54 -07:00
Arceveti
8f61244f57 Improve some struct definitions 2023-09-01 19:18:24 -07:00
Arceveti
64e07e086a Merge branch 'develop/2.1.0' of https://github.com/Reonu/HackerSM64 into develop/2.1.0-four-controllers 2023-09-01 18:30:09 -07:00
Lilaa3
5e9f8c7ee0 Improved transitions (#642)
* Improved transitions

Code quality improvements.
Shape transitions now all scale down to 0 instead of 16 (mario and bowser).
Ease in was added which leads to far smoother transitions.
HD_TRANSITIONS define added, makes use of the tex edge render mode to deliver smooth transition textures.
lerpf was added to math utils.

* Cleaner textures, rounding only during vertex creation

* Another attempt

* cozies naming suggestion

* Improvements and suggestions

SHARP_TRANSITION_TEXTURES is now off by default (I still think the textures for it could be improved).
lerpf, to_smoothstop, smoothstart, smoothstop and smoothstep have all been added.
make_vertex has been inlined.
make_simple_vertex has been added (colourless vertex).
Transition colors (and canon colors) are now defined using primative colour instead of setting individual vertices color´s.
Transition´s now use smoothstep (ease-in-out) instead of ease out only.
Naming has been improved.

* Proper function inling and removal of GBI_FLOATS variant of make_vertex and make_simple_vertex

* More requested changes

* Accidental final new line removal fixed

* Comment about pop in fix.

* Comment fix

The issue with writing comments for stuff is when you want to change code later on.
2023-08-29 08:57:32 -05:00
Gregory Heskett
1fd8930881 Remove singular version ifdef from sounds.h (#655)
Makes tooling more difficult but also just hard to look at
2023-08-29 07:49:40 -05:00
Matt Pharoah
febcb71ea3 Added emulator detection (#651)
* Added emulator detection

* Fixed missing assignments

* Disable interrupts around the count factor test

* Added more comments to emutest

* Changed PJ64 enum values so the versions work as a bitfield

* Updated README

* Fixed comments

* Updated enum values so you can safely AND and OR all emulator version flags together

* Remove redundant gIsConsole, gIsVC, and gCacheEmulated global variables

* Changed console check to be more future proof against Ares

* Use assembly file instead of casting to a function pointer

* Moved round_double_to_float back to its own compilation unit

* Moved the ParallelN64 check before the Ares check for better future-proofing

* Align pj64_get_count_factor_asm with cache lines... not that it actually matters for pj64

* Adjusted some comments

* Made emulator check thread-safe on emulators that emulate PI timings

* Added gIsConsole macro for backwards compatibility

* Added cen64 to INSTANT_INPUT_BLACKLIST

* Updated comment
2023-08-28 18:03:26 -04:00
Arceveti
fb5c68f14f CONT_CMD_GCN_CALIBRATE doesn't require uninitialized origins + analog deadzone defines + formatting 2023-08-17 11:20:39 -07:00
Arceveti
1351c41196 Fix struct offset sizes 2023-08-14 13:13:45 -07:00