Make RomData indexable.
This commit is contained in:
		
							parent
							
								
									d1d4e31738
								
							
						
					
					
						commit
						1c752e5bbd
					
				
					 1 changed files with 15 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
use std::collections::BTreeMap;
 | 
			
		||||
use std::iter;
 | 
			
		||||
use std::ops::Range;
 | 
			
		||||
use std::ops::{Index, IndexMut, Range};
 | 
			
		||||
 | 
			
		||||
use anyhow::bail;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -245,11 +245,6 @@ impl RomData {
 | 
			
		|||
        self.set_patch_bytes(flag_idx..(flag_idx + 1));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn patch_bytes(&mut self, address: usize, patch_data: Vec<u8>) {
 | 
			
		||||
        self.rom_data
 | 
			
		||||
            .splice(address..(address + patch_data.len()), patch_data);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn patch_data(&mut self, patch: &Patch) {
 | 
			
		||||
        self.set_rom_bytes(
 | 
			
		||||
            &patch.patch_data,
 | 
			
		||||
| 
						 | 
				
			
			@ -296,3 +291,17 @@ impl RomData {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Index<usize> for RomData {
 | 
			
		||||
    type Output = u8;
 | 
			
		||||
 | 
			
		||||
    fn index(&self, index: usize) -> &u8 {
 | 
			
		||||
        &self.rom_data[index]
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl IndexMut<usize> for RomData {
 | 
			
		||||
    fn index_mut(&mut self, index: usize) -> &mut u8 {
 | 
			
		||||
        &mut self.rom_data[index]
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue