optimize bytearray creation time and ram use
This commit is contained in:
		
							parent
							
								
									6fb732f4b9
								
							
						
					
					
						commit
						515716a71d
					
				
							
								
								
									
										4
									
								
								Rom.py
								
								
								
								
							
							
						
						
									
										4
									
								
								Rom.py
								
								
								
								
							| 
						 | 
				
			
			@ -96,7 +96,7 @@ class LocalRom(object):
 | 
			
		|||
    @staticmethod
 | 
			
		||||
    def fromJsonRom(rom, file, rom_size = 0x200000):
 | 
			
		||||
        ret = LocalRom(file, True, rom.name, rom.hash)
 | 
			
		||||
        ret.buffer.extend(bytearray([0x00] * (rom_size - len(ret.buffer))))
 | 
			
		||||
        ret.buffer.extend(bytearray([0x00]) * (rom_size - len(ret.buffer)))
 | 
			
		||||
        for address, values in rom.patches.items():
 | 
			
		||||
            ret.write_bytes(int(address), values)
 | 
			
		||||
        return ret
 | 
			
		||||
| 
						 | 
				
			
			@ -109,7 +109,7 @@ class LocalRom(object):
 | 
			
		|||
            logging.getLogger('').warning('Supplied Base Rom does not match known MD5 for JAP(1.0) release. Will try to patch anyway.')
 | 
			
		||||
 | 
			
		||||
        # extend to 2MB
 | 
			
		||||
        self.buffer.extend(bytearray([0x00] * (0x200000 - len(self.buffer))))
 | 
			
		||||
        self.buffer.extend(bytearray([0x00]) * (0x200000 - len(self.buffer)))
 | 
			
		||||
 | 
			
		||||
        # load randomizer patches
 | 
			
		||||
        with open(local_path('data/base2current.json'), 'r') as stream:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								Utils.py
								
								
								
								
							
							
						
						
									
										2
									
								
								Utils.py
								
								
								
								
							| 
						 | 
				
			
			@ -109,7 +109,7 @@ def make_new_base2current(old_rom='Zelda no Densetsu - Kamigami no Triforce (Jap
 | 
			
		|||
    with open(new_rom, 'rb') as stream:
 | 
			
		||||
        new_rom_data = bytearray(stream.read())
 | 
			
		||||
    # extend to 2 mb
 | 
			
		||||
    old_rom_data.extend(bytearray([0x00] * (2097152 - len(old_rom_data))))
 | 
			
		||||
    old_rom_data.extend(bytearray([0x00]) * (2097152 - len(old_rom_data)))
 | 
			
		||||
 | 
			
		||||
    out_data = OrderedDict()
 | 
			
		||||
    for idx, old in enumerate(old_rom_data):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue