 6059b5ef66
			
		
	
	6059b5ef66
	
	
	
		
			
			This adds support to most of Varia's 20221101 update. Notably, added Options for: - Objectives - Tourian - RelaxedRoundRobinCF As well as previously unsupported Options: - EscapeRando - RemoveEscapeEnemies - HideItems
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from .addressTypes import ValueList, ValueSingle, ValueRange, Byte, Word, Long
 | |
| from .objectivesAddresses import objectivesAddr
 | |
| 
 | |
| # TODO::add patches
 | |
| 
 | |
| 
 | |
| class Addresses(object):
 | |
|     @staticmethod
 | |
|     def getOne(key):
 | |
|         value = Addresses.addresses[key]
 | |
|         return value.getOne()
 | |
| 
 | |
|     @staticmethod
 | |
|     def getAll(key):
 | |
|         value = Addresses.addresses[key]
 | |
|         return value.getAll()
 | |
| 
 | |
|     @staticmethod
 | |
|     def getWeb(key):
 | |
|         value = Addresses.addresses[key]
 | |
|         return value.getWeb()
 | |
| 
 | |
|     @staticmethod
 | |
|     def getRange(key):
 | |
|         value = Addresses.addresses[key]
 | |
|         return value.getWeb()
 | |
| 
 | |
|     addresses = {
 | |
|         'totalItems': ValueList([0x8BE656, 0x8BE6B3], storage=Byte),
 | |
|         'majorsSplit': ValueSingle(0x82fb6c, storage=Byte),
 | |
|         # scavenger hunt items list (17 prog items (including ridley) + hunt over + terminator, each is a word)
 | |
|         'scavengerOrder': ValueRange(0xA1F5D8, length=(17+1+1)*2),
 | |
|         'plandoAddresses': ValueRange(0xdee000, length=128),
 | |
|         'plandoTransitions': ValueSingle(0xdee100),
 | |
|         'escapeTimer': ValueSingle(0x809e21),
 | |
|         'escapeTimerTable': ValueSingle(0xA1F0AA),
 | |
|         'startAP': ValueSingle(0xa1f200),
 | |
|         'customDoorsAsm': ValueSingle(0x8ff800),
 | |
|         'locIdsByArea': ValueRange(0xA1F568, end=0xA1F5D7),
 | |
|         'plmSpawnTable': ValueSingle(0x8fe9a0),
 | |
|         'plmSpawnRoomTable': ValueSingle(0x8ff000),
 | |
|         'moonwalk': ValueSingle(0x81b35d),
 | |
|         'additionalETanks': ValueSingle(0xA1F470, storage=Byte),
 | |
|         'hellrunRate': ValueSingle(0x8DE387),
 | |
|         'BTtweaksHack1': ValueSingle(0x84ba6f+3),
 | |
|         'BTtweaksHack2': ValueSingle(0x84d33b+3),
 | |
|         # in intro_text.ips
 | |
|         'introText': ValueSingle(0x8cc389)
 | |
|     }
 | |
| 
 | |
| Addresses.addresses.update(objectivesAddr)
 |