@@ -178,6 +178,7 @@ pub fn create(patcher: &Patcher, seed_info: &SeedInfo) -> Code {
178178 // instant text
179179 code. overwrite ( 0x17A430 , [ 0xFF ] ) ;
180180
181+ fix_joystick_rotation ( & mut code) ;
181182 rental_items ( & mut code) ;
182183 progressive_items ( & mut code) ;
183184 bracelet ( & mut code, & seed_info. settings ) ;
@@ -350,6 +351,19 @@ fn do_dev_stuff(code: &mut Code, seed_info: &SeedInfo) {
350351 code. patch ( 0x2559c0 , [ add ( R2 , R2 , amount) ] ) ;
351352}
352353
354+ /// For what are certainly reasons, Nintendo decided to rotate all of Link's movements ever so
355+ /// slightly (about 5 degrees) counterclockwise in the vanilla game. This isn't often complained
356+ /// about by people who play on physical 3DS hardware because reasons, but is very jarring to folks
357+ /// who play on Emulators, and makes navigating the Ice Cave much more difficult than intended.
358+ ///
359+ /// This code sets the rotation angle for each direction to zero, eliminating the issue.
360+ fn fix_joystick_rotation ( code : & mut Code ) {
361+ code. overwrite ( 0x6c3ae8 , [ 0x0 ; 8 ] ) ; // Fix Down
362+ code. overwrite ( 0x6c3ef0 , [ 0x0 ; 8 ] ) ; // Fix Right
363+ code. overwrite ( 0x6c42e8 , [ 0x0 ; 8 ] ) ; // Fix Up
364+ code. overwrite ( 0x6c46f0 , [ 0x0 ; 8 ] ) ; // Fix Left
365+ }
366+
353367/// File Select Screen Background
354368/// TODO Figure out how to make background permanent
355369#[ allow( unused) ]
0 commit comments