|
1 | 1 | use super::Patcher; |
2 | 2 | use crate::filler::filler_item::Item::*; |
3 | 3 | use crate::filler::filler_item::Randomizable; |
| 4 | +use crate::patch::code::arm::Register::*; |
4 | 5 | use crate::patch::code::arm::data::{add, cmp, mov}; |
5 | 6 | use crate::patch::code::arm::ls::{ldr, ldrb, str_, strb}; |
6 | 7 | use crate::patch::code::arm::lsm::{pop, push}; |
7 | | -use crate::patch::code::arm::Register::*; |
8 | | -use crate::patch::code::arm::{b, bl, Instruction, LR, PC, SP}; |
9 | | -use crate::{patch::util::prize_flag, regions, Layout, Result, SeedInfo}; |
| 8 | +use crate::patch::code::arm::{Instruction, LR, PC, SP, b, bl}; |
| 9 | +use crate::{Layout, Result, SeedInfo, patch::util::prize_flag, regions}; |
10 | 10 | use game::Item; |
11 | 11 | use game::Item::*; |
12 | | -use modinfo::settings::{pedestal::PedestalSetting::*, Settings}; |
| 12 | +use modinfo::settings::{Settings, pedestal::PedestalSetting::*}; |
| 13 | +use rom::ExHeader; |
13 | 14 | use rom::flag::Flag; |
14 | 15 | use rom::scene::SpawnPoint; |
15 | | -use rom::ExHeader; |
16 | 16 | use std::{ |
17 | 17 | collections::HashMap, |
18 | 18 | fs::{self, File}, |
@@ -178,6 +178,7 @@ pub fn create(patcher: &Patcher, seed_info: &SeedInfo) -> Code { |
178 | 178 | // instant text |
179 | 179 | code.overwrite(0x17A430, [0xFF]); |
180 | 180 |
|
| 181 | + remove_charm_from_gear_menu(&mut code); |
181 | 182 | fix_joystick_rotation(&mut code); |
182 | 183 | rental_items(&mut code); |
183 | 184 | progressive_items(&mut code); |
@@ -351,6 +352,14 @@ fn do_dev_stuff(code: &mut Code, seed_info: &SeedInfo) { |
351 | 352 | code.patch(0x2559c0, [add(R2, R2, amount)]); |
352 | 353 | } |
353 | 354 |
|
| 355 | +/// The game will show a green orb on the gear menu whether you have the Charm or the full Pendant |
| 356 | +/// of Courage. This gets confusing for players who don't understand that the Charm is a junk item |
| 357 | +/// that does nothing. This code prevents the green orb from appearing with the Charm, and will |
| 358 | +/// make it only appear when the player has the actual Pendant of Courage. |
| 359 | +fn remove_charm_from_gear_menu(code: &mut Code) { |
| 360 | + code.text().patch(0x42644c, [b(0x4264a8).ne()]); |
| 361 | +} |
| 362 | + |
354 | 363 | /// For what are certainly reasons, Nintendo decided to rotate all of Link's movements ever so |
355 | 364 | /// slightly (about 5 degrees) counterclockwise in the vanilla game. This isn't often complained |
356 | 365 | /// about by people who play on physical 3DS hardware because reasons, but is very jarring to folks |
|
0 commit comments