Compare commits
	
		
			No commits in common. "main" and "main" have entirely different histories.
		
	
	
		
	
		
					 16 changed files with 68 additions and 6477 deletions
				
			
		|  | @ -1 +0,0 @@ | ||||||
| title="Scrapland" |  | ||||||
							
								
								
									
										386
									
								
								Callbacks.md
									
										
									
									
									
								
							
							
						
						
									
										386
									
								
								Callbacks.md
									
										
									
									
									
								
							|  | @ -1,386 +0,0 @@ | ||||||
| They can be used in function parameters like so: |  | ||||||
| ```python |  | ||||||
| SAct.SetAct("EventFunc","!<Callback_Name>") |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| Or directly called from python: |  | ||||||
| 
 |  | ||||||
| ```python |  | ||||||
| # Set Callback function |  | ||||||
| Scrap.SetCallFunc("!<Callback_Name>") |  | ||||||
| # Add parameters |  | ||||||
| Scrap.AddParams(str) |  | ||||||
| Scrap.AddParamf(float) |  | ||||||
| Scrap.AddParami(int) |  | ||||||
| # Execute |  | ||||||
| Scrap.Execute() |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| Note the `!` symbol in front of the callback name |  | ||||||
| 
 |  | ||||||
| # Parameters |  | ||||||
| 
 |  | ||||||
| - EditText: |  | ||||||
| 	- player_id: int |  | ||||||
| 	- scorer_item_name: str |  | ||||||
| 
 |  | ||||||
| ## OG |  | ||||||
| 
 |  | ||||||
| | Callback setup address | Callback name                | Callback funcion                       | Callback address | |  | ||||||
| |------------------------|------------------------------|----------------------------------------|------------------| |  | ||||||
| | `00486de0`             | "LaserRelease"               | `callbacks.LaserRelease`               | `00486e00`       | |  | ||||||
| | `0051f610`             | "ScorerSpriteFadeIn"         | `callbacks.ScorerSpriteFadeIn`         | `0051f630`       | |  | ||||||
| | `004d3920`             | "BackDoorSlot"               | `callbacks.BackDoorSlot`               | `004d3940`       | |  | ||||||
| | `0048aa20`             | "SwarmPress"                 | `callbacks.SwarmPress`                 | `0048aa40`       | |  | ||||||
| | `004bbb00`             | "BertoActionEnd"             | `callbacks.BertoActionEnd`             | `004bbb20`       | |  | ||||||
| | `0048f9b0`             | "VulcanCreate"               | `callbacks.VulcanCreate`               | `0048f9d0`       | |  | ||||||
| | `004bfea0`             | "DtritusHitEvent"            | `callbacks.DtritusHitEvent`            | `004bfec0`       | |  | ||||||
| | `004c3600`             | "GearInitAction"             | `callbacks.GearInitAction`             | `004c3620`       | |  | ||||||
| | `00491bb0`             | "TakeLife"                   | `callbacks.TakeLife`                   | `00491bd0`       | |  | ||||||
| | `00488300`             | "HookPlugFX"                 | `callbacks.HookPlugFX`                 | `00488320`       | |  | ||||||
| | `005800a0`             | "AnmSetAction"               | `callbacks.AnmSetAction`               | `005800c0`       | |  | ||||||
| | `004c8540`             | "NurseTryHammerAgain"        | `callbacks.NurseTryHammerAgain`        | `004c8560`       | |  | ||||||
| | `004d3080`             | "AcceleratorOnEnter"         | `callbacks.AcceleratorOnEnter`         | `004d30a0`       | |  | ||||||
| | `004bb670`             | "FXBertoAttack"              | `callbacks.FXBertoAttack`              | `004bb690`       | |  | ||||||
| | `00580fe0`             | "WarningPolice"              | `callbacks.WarningPolice`              | `00581000`       | |  | ||||||
| | `0058f690`             | "EndOfLaugh"                 | `callbacks.EndOfLaugh`                 | `0058f6b0`       | |  | ||||||
| | `0048dce0`             | "TeslaRelease"               | `callbacks.TeslaRelease`               | `0048dd00`       | |  | ||||||
| | `004ba1d0`             | "BankMasterActionPress"      | `callbacks.MessengerActionPress`       | `004bdff0`       | |  | ||||||
| | `004c9730`             | "ListeningPolice"            | `callbacks.ListeningPolice`            | `004c9750`       | |  | ||||||
| | `004d32f0`             | "AutoDoorSlot"               | `callbacks.AutoDoorSlot`               | `004d3310`       | |  | ||||||
| | `00483be0`             | "InfernoRelease"             | `callbacks.InfernoRelease`             | `00483c00`       | |  | ||||||
| | `004c3850`             | "GearEndAction"              | `callbacks.GearEndAction`              | `004c3870`       | |  | ||||||
| | `0051ce00`             | "EditText"                   | `callbacks.EditText`                   | `0051ce20`       | |  | ||||||
| | `00580910`             | "AnmSoundLoopEvent"          | `callbacks.AnmSoundLoopEvent`          | `00580930`       | |  | ||||||
| | `004c8780`             | "NurseActionPress"           | `callbacks.NurseActionPress`           | `004c87a0`       | |  | ||||||
| | `0051f9c0`             | "BoostScorer"                | `callbacks.BoostScorer`                | `0051f9e0`       | |  | ||||||
| | `004c5da0`             | "MessengerAttack"            | `callbacks.MessengerAttack`            | `004c5dc0`       | |  | ||||||
| | `0051f730`             | "ScorerSpriteFadeOut"        | `callbacks.ScorerSpriteFadeOut`        | `0051f750`       | |  | ||||||
| | `004ba010`             | "BankMasterAttack"           | `callbacks.BankMasterAttack`           | `004ba030`       | |  | ||||||
| | `004913d0`             | "VulcanFire"                 | `callbacks.VulcanFire`                 | `004913f0`       | |  | ||||||
| | `00483fc0`             | "InfernoOnStart"             | `callbacks.InfernoOnStart`             | `00483fe0`       | |  | ||||||
| | `00489010`             | "HookActivate"               | `callbacks.HookActivate`               | `00489030`       | |  | ||||||
| | `0048f7c0`             | "VulcanRelease"              | `callbacks.VulcanRelease`              | `0048f7e0`       | |  | ||||||
| | `004d3860`             | "AutoDoorUsrSlot"            | `callbacks.AutoDoorUsrSlot`            | `004d3880`       | |  | ||||||
| | `00481d70`             | "DevastatorFX"               | `callbacks.DevastatorFX`               | `00481d90`       | |  | ||||||
| | `0048aff0`             | "SwarmOnStart"               | `callbacks.SwarmOnStart`               | `0048b010`       | |  | ||||||
| | `004bd6c0`             | "BishopAttack"               | `callbacks.BishopAttack`               | `004bd6e0`       | |  | ||||||
| | `00485f50`             | "InfernoFX"                  | `callbacks.InfernoFX`                  | `00485f70`       | |  | ||||||
| | `0048ac10`             | "SwarmRelease"               | `callbacks.SwarmRelease`               | `0048ac30`       | |  | ||||||
| | `004c8300`             | "NurseInitHammerLoop"        | `callbacks.NurseInitHammerLoop`        | `004c8320`       | |  | ||||||
| | `00482670`             | "EMIOnHit"                   | `callbacks.EMIOnHit`                   | `00482690`       | |  | ||||||
| | `004bb1d0`             | "BertoActionPress"           | `callbacks.MessengerActionPress`       | `004bdff0`       | |  | ||||||
| | `00483dd0`             | "InfernoOnEnd"               | `callbacks.InfernoOnEnd`               | `00483df0`       | |  | ||||||
| | `0048e540`             | "TeslaFire"                  | `callbacks.TeslaFire`                  | `0048e560`       | |  | ||||||
| | `004bb010`             | "BertoAttack"                | `callbacks.BertoAttack`                | `004bb030`       | |  | ||||||
| | `0048c8a0`             | "SwarmClientFire"            | `callbacks.SwarmClientFire`            | `0048c8c0`       | |  | ||||||
| | `004818a0`             | "DevastatorFire"             | `callbacks.DevastatorFire`             | `004818c0`       | |  | ||||||
| | `0047e620`             | "ATPCFX"                     | `callbacks.ATPCFX`                     | `0047e640`       | |  | ||||||
| | `004bf230`             | "FXDesktopFallEnd"           | `callbacks.FXDesktopFallEnd`           | `004bf250`       | |  | ||||||
| | `004d38a0`             | "CloseDoorSlot"              | `callbacks.CloseDoorSlot`              | `004d38c0`       | |  | ||||||
| | `004d38e0`             | "FrontDoorSlot"              | `callbacks.FrontDoorSlot`              | `004d3900`       | |  | ||||||
| | `0051f250`             | "ScorerMetroUsrHere"         | `FUN.0051f270`                         | `0051f270`       | |  | ||||||
| | `004c2150`             | "GearShootLoad"              | `callbacks.GearShootLoad`              | `004c2170`       | |  | ||||||
| | `00580bc0`             | "AnmSoundEvent"              | `callbacks.AnmSoundEvent`              | `00580be0`       | |  | ||||||
| | `004b9650`             | "BankDirectorActionPress"    | `callbacks.BankDirectorActionPress`    | `004b9670`       | |  | ||||||
| | `0047cf00`             | "ATPCOnEnd"                  | `callbacks.ATPCOnEnd`                  | `0047cf20`       | |  | ||||||
| | `00580df0`             | "AnmSound2DEvent"            | `callbacks.AnmSound2DEvent`            | `00580e10`       | |  | ||||||
| | `004c5220`             | "FXMercenaryDrink"           | `callbacks.FXMercenaryDrink`           | `004c5240`       | |  | ||||||
| | `004c1640`             | "GearHit"                    | `callbacks.GearHit`                    | `004c1660`       | |  | ||||||
| | `004c9f30`             | "FXPoliceGearConversion"     | `callbacks.FXPoliceGearConversion`     | `004c9f50`       | |  | ||||||
| | `004ca230`             | "PoliceBossAction"           | `callbacks.PoliceBossAction`           | `004ca250`       | |  | ||||||
| | `004850e0`             | "InfernoCreate"              | `callbacks.InfernoCreate`              | `00485100`       | |  | ||||||
| | `0047fb50`             | "DevastatorRelease"          | `callbacks.DevastatorRelease`          | `0047fb70`       | |  | ||||||
| | `004c0500`             | "DtritusEndEvent"            | `callbacks.DtritusEndEvent`            | `004c0520`       | |  | ||||||
| | `004922b0`             | "TakeEner"                   | `callbacks.TakeEner`                   | `004922d0`       | |  | ||||||
| | `004249e0`             | "FXCharacterBlaBliBla"       | `callbacks.FXCharacterBlaBliBla`       | `00424a00`       | |  | ||||||
| | `004c80e0`             | "NurseBackHitControl"        | `callbacks.NurseBackHitControl`        | `004c8100`       | |  | ||||||
| | `004c4270`             | "FXMaintenanceWork"          | `callbacks.FXMaintenanceWork`          | `004c4290`       | |  | ||||||
| | `004898b0`             | "SonicFire"                  | `callbacks.SonicFire`                  | `004898d0`       | |  | ||||||
| | `004c8fa0`             | "PoliceRestoreFreeTurn"      | `callbacks.PoliceRestoreFreeTurn`      | `004c8fc0`       | |  | ||||||
| | `0048cf90`             | "SwarmFX"                    | `callbacks.SwarmFX`                    | `0048cfb0`       | |  | ||||||
| | `004b9380`             | "BankerAttack"               | `callbacks.BankerAttack`               | `004b93a0`       | |  | ||||||
| | `004ba920`             | "BankMasterActionEnd"        | `callbacks.BankMasterActionEnd`        | `004ba940`       | |  | ||||||
| | `00487cf0`             | "LaserFire"                  | `callbacks.LaserFire`                  | `00487d10`       | |  | ||||||
| | `004cb570`             | "FXRustyHit"                 | `FUN.004cb590`                         | `004cb590`       | |  | ||||||
| | `0047d0f0`             | "ATPCOnStart"                | `callbacks.ATPCOnStart`                | `0047d110`       | |  | ||||||
| | `00488010`             | "LaserFX"                    | `callbacks.LaserFX`                    | `00488030`       | |  | ||||||
| | `00581080`             | "StreamingVoice"             | `callbacks.StreamingVoice`             | `005810a0`       | |  | ||||||
| | `004828c0`             | "EMIFire"                    | `callbacks.EMIFire`                    | `004828e0`       | |  | ||||||
| | `0048c900`             | "SwarmFire"                  | `callbacks.SwarmFire`                  | `0048c920`       | |  | ||||||
| | `00489780`             | "SonicXplde"                 | `callbacks.SonicXplde`                 | `004897a0`       | |  | ||||||
| | `004cc7f0`             | "SentinelActionPress"        | `callbacks.SentinelActionPress`        | `004cc810`       | |  | ||||||
| | `004be470`             | "FXBishopSellLife"           | `callbacks.FXBishopSellLife`           | `004be490`       | |  | ||||||
| | `004b9b20`             | "BankDirectorEndActionInit"  | `callbacks.BankDirectorEndActionInit`  | `004b9b40`       | |  | ||||||
| | `004cc250`             | "FXSebastianFlash"           | `callbacks.FXSebastianFlash`           | `004cc270`       | |  | ||||||
| | `004847c0`             | "InfernoXplosionCall"        | `callbacks.InfernoXplosionCall`        | `004847e0`       | |  | ||||||
| | `00485870`             | "InfernoClientFire"          | `callbacks.InfernoClientFire`          | `00485890`       | |  | ||||||
| | `0047e0e0`             | "ATPCFire"                   | `callbacks.ATPCFire`                   | `0047e100`       | |  | ||||||
| | `0048da40`             | "TeslaPress"                 | `callbacks.TeslaPress`                 | `0048da60`       | |  | ||||||
| | `004c9b70`             | "FXPoliceSteal"              | `callbacks.FXPoliceSteal`              | `004c9b90`       | |  | ||||||
| | `004c4720`             | "MayorEndAction"             | `callbacks.MayorEndAction`             | `004c4740`       | |  | ||||||
| | `004c1b70`             | "GearShoot"                  | `callbacks.GearShoot`                  | `004c1b90`       | |  | ||||||
| | `00480120`             | "DevastatorCreate"           | `callbacks.DevastatorCreate`           | `00480140`       | |  | ||||||
| | `004dee00`             | "FXMeetingPointCountDown"    | `callbacks.FXMeetingPointCountDown`    | `004dee20`       | |  | ||||||
| | `004c63b0`             | "MessengerActionPress"       | `callbacks.MessengerActionPress`       | `004bdff0`       | |  | ||||||
| | `004c4d50`             | "ListeningMayor"             | `callbacks.ListeningMayor`             | `004c4d70`       | |  | ||||||
| | `005875f0`             | "Police2GearEnd"             | `callbacks.Police2GearEnd`             | `00587610`       | |  | ||||||
| | `004bb200`             | "BertoHitEvent"              | `callbacks.BertoHitEvent`              | `004bb220`       | |  | ||||||
| | `004858d0`             | "InfernoFire"                | `callbacks.InfernoFire`                | `004858f0`       | |  | ||||||
| | `004bc130`             | "BettyActionPress"           | `callbacks.BettyActionPress`           | `004bc150`       | |  | ||||||
| | `004c67e0`             | "NurseActionRelease"         | `callbacks.NurseActionRelease`         | `004c6800`       | |  | ||||||
| | `0047d330`             | "ATPCXplosionCall"           | `callbacks.ATPCXplosionCall`           | `0047d350`       | |  | ||||||
| | `00486fd0`             | "LaserCreate"                | `callbacks.LaserCreate`                | `00486ff0`       | |  | ||||||
| | `00484710`             | "InfernoHit"                 | `callbacks.InfernoHit`                 | `00484730`       | |  | ||||||
| | `004bdfd0`             | "BishopActionPress"          | `callbacks.MessengerActionPress`       | `004bdff0`       | |  | ||||||
| | `004e5040`             | "FXBossShieldSet"            | `callbacks.FXBossShieldSet`            | `004e5060`       | |  | ||||||
| | `00489200`             | "HookDeActivate"             | `callbacks.HookDeActivate`             | `00489220`       | |  | ||||||
| | `0051f420`             | "ScorerSpriteGlow"           | `callbacks.ScorerSpriteGlow`           | `0051f440`       | |  | ||||||
| | `004d3960`             | "Usr0AutoDoorSlot"           | `callbacks.Usr0AutoDoorSlot`           | `004d3980`       | |  | ||||||
| | `005802c0`             | "AnmStopChan"                | `callbacks.AnmStopChan`                | `005802e0`       | |  | ||||||
| | `004bcec0`             | "FXBettyAttack"              | `callbacks.FXBettyAttack`              | `004bcee0`       | |  | ||||||
| | `0051f4f0`             | "ScorerSpriteFlash"          | `callbacks.ScorerSpriteFlash`          | `0051f510`       | |  | ||||||
| | `0047fd60`             | "DevastatorXplosionCall"     | `callbacks.DevastatorXplosionCall`     | `0047fd80`       | |  | ||||||
| | `004886b0`             | "HookFire"                   | `callbacks.HookFire`                   | `004886d0`       | |  | ||||||
| | `004be170`             | "BishopEndActionEnd"         | `callbacks.BishopEndActionEnd`         | `004be190`       | |  | ||||||
| | `004e5270`             | "FXBossOnDamage"             | `callbacks.FXBossOnDamage`             | `004e5290`       | |  | ||||||
| | `00484e40`             | "InfernoOnObjSlot"           | `callbacks.InfernoOnObjSlot`           | `00484e60`       | |  | ||||||
| | `00405790`             | "PrintMemBlockData"          | `thunk.FUN.00405760`                   | `004057b0`       | |  | ||||||
| | `004bfd40`             | "DtritusActionPress"         | `callbacks.DtritusActionPress`         | `004bfd60`       | |  | ||||||
| | `0057fb80`             | "AnmChangeRandomAnm"         | `callbacks.AnmChangeRandomAnm`         | `0057fba0`       | |  | ||||||
| | `00486bb0`             | "LaserPress"                 | `callbacks.LaserPress`                 | `00486bd0`       | |  | ||||||
| | `004839f0`             | "InfernoPress"               | `callbacks.InfernoPress`               | `00483a10`       | |  | ||||||
| | `004c3a00`             | "GearEndActionEnd"           | `callbacks.GearEndActionEnd`           | `004c3a20`       | |  | ||||||
| | `00491810`             | "VulcanFX"                   | `callbacks.VulcanFX`                   | `00491830`       | |  | ||||||
| | `004c33f0`             | "GearActionPress"            | `callbacks.GearActionPress`            | `004c3410`       | |  | ||||||
| | `004b98d0`             | "BankDirectorActionRelease"  | `callbacks.BankDirectorActionRelease`  | `004b98f0`       | |  | ||||||
| | `005811a0`             | "StopStreamingVoice"         | `callbacks.StopStreamingVoice`         | `005811c0`       | |  | ||||||
| | `004cca10`             | "SentinelActionRelease"      | `callbacks.SentinelActionRelease`      | `004cca30`       | |  | ||||||
| | `004ba200`             | "BankMasterHitEvent"         | `callbacks.BankMasterHitEvent`         | `004ba220`       | |  | ||||||
| | `004bebd0`             | "DesktopActionPress"         | `callbacks.DesktopActionPress`         | `004bebf0`       | |  | ||||||
| | `0048b750`             | "SwarmHit"                   | `callbacks.SwarmHit`                   | `0048b770`       | |  | ||||||
| | `00475840`             | "MapElementsActivate"        | `callbacks.MapElementsActivate`        | `00475860`       | |  | ||||||
| | `00491ed0`             | "TakePart"                   | `callbacks.TakePart`                   | `00491ef0`       | |  | ||||||
| | `0047d7a0`             | "ATPCCreate"                 | `callbacks.ATPCCreate`                 | `0047d7c0`       | |  | ||||||
| | `004bb8d0`             | "BertoActionInit"            | `callbacks.BertoActionInit`            | `004bb8f0`       | |  | ||||||
| | `004bca70`             | "BettyEndEvent"              | `callbacks.BettyEndEvent`              | `004bca90`       | |  | ||||||
| | `004c0760`             | "DtritusRestartEvent"        | `callbacks.DtritusRestartEvent`        | `004c0780`       | |  | ||||||
| | `0048f4e0`             | "VulcanPress"                | `callbacks.VulcanPress`                | `0048f500`       | |  | ||||||
| | `00492690`             | "TakeMiss"                   | `callbacks.TakeMiss`                   | `004926b0`       | |  | ||||||
| | `0051f850`             | "ScorerSpriteFadeOutFinal"   | `callbacks.ScorerSpriteFadeOutFinal`   | `0051f870`       | |  | ||||||
| | `004c5d70`             | "MessengerTakeDataPack"      | `callbacks.MessengerTakeDataPack`      | `004c5880`       | |  | ||||||
| | `0057fe80`             | "AnmSetDefaultLoop"          | `callbacks.AnmSetDefaultLoop`          | `0057fea0`       | |  | ||||||
| | `004cc530`             | "SentinelPoint"              | `callbacks.SentinelPoint`              | `004cc550`       | |  | ||||||
| | `004c7150`             | "NurseDoHammerHit"           | `callbacks.NurseDoHammerHit`           | `004c7170`       | |  | ||||||
| | `004855f0`             | "InfernoSetUp"               | `callbacks.InfernoSetUp`               | `00485610`       | |  | ||||||
| | `004be790`             | "FXCrazyGamblerSetHeadModel" | `callbacks.FXCrazyGamblerSetHeadModel` | `004be7b0`       | |  | ||||||
| | `00427340`             | "FXCharacterTeleport"        | `callbacks.FXCharacterTeleport`        | `00427360`       | |  | ||||||
| | `0047ede0`             | "CloudFire"                  | `callbacks.CloudFire`                  | `0047ee00`       | |  | ||||||
| | `0048def0`             | "TeslaCreate"                | `callbacks.TeslaCreate`                | `0048df10`       | |  | ||||||
| | `00424470`             | "FXCharacterDazed"           | `callbacks.FXCharacterDazed`           | `00424490`       | |  | ||||||
| | `0048c0b0`             | "SwarmCreate"                | `callbacks.SwarmCreate`                | `0048c0d0`       | |  | ||||||
| | `004bab10`             | "FXBankMasterAttack"         | `callbacks.FXBankMasterAttack`         | `004bab30`       | |  | ||||||
| | `004bcc80`             | "BettyCameraSet"             | `callbacks.BettyCameraSet`             | `004bcca0`       | |  | ||||||
| | `004d6000`             | "FXPoliceAlarmEnd"           | `callbacks.FXPoliceAlarmEnd`           | `004d6020`       | |  | ||||||
| | `00484bd0`             | "InfernoServerHit"           | `callbacks.InfernoServerHit`           | `00484bf0`       | |  | ||||||
| | `004c63e0`             | "MessengerEndActionEnd"      | `callbacks.MessengerEndActionEnd`      | `004c6400`       | |  | ||||||
| | `0048c620`             | "SwarmSetUp"                 | `callbacks.SwarmSetUp`                 | `0048c640`       | |  | ||||||
| | `0058ebb0`             | "IncrementHits"              | `callbacks.IncrementHits`              | `0058ebd0`       | |  | ||||||
| | `0047f8f0`             | "DevastatorPress"            | `callbacks.DevastatorPress`            | `0047f910`       | |  | ||||||
| | `0047eb70`             | "CloudOnHit"                 | `callbacks.CloudOnHit`                 | `0047eb90`       | |  | ||||||
| | `004c09f0`             | "FXDTritusAttack"            | `callbacks.FXDTritusAttack`            | `004c0a10`       | |  | ||||||
| | `0048ae00`             | "SwarmOnEnd"                 | `callbacks.SwarmOnEnd`                 | `0048ae20`       | |  | ||||||
| | `004d5f70`             | "FXPoliceAlarmInit"          | `callbacks.FXPoliceAlarmInit`          | `004d5f90`       | |  | ||||||
| | `0048b7f0`             | "SwarmServerHit"             | `callbacks.SwarmServerHit`             | `0048b810`       | |  | ||||||
| | `00580700`             | "AnmSetDisplAng"             | `callbacks.AnmSetDisplAng`             | `00580720`       | |  | ||||||
| | `004bc2d0`             | "BettyHitEvent"              | `callbacks.BettyHitEvent`              | `004bc2f0`       | |  | ||||||
| | `004cad70`             | "FXPoliceBossBrup"           | `callbacks.FXPoliceBossBrup`           | `004cad90`       | |  | ||||||
| | `004c8cb0`             | "PoliceActionPress"          | `callbacks.PoliceActionPress`          | `004c8cd0`       | |  | ||||||
| | `004bc810`             | "BettyRestoreTime"           | `callbacks.BettyRestoreTime`           | `004bc830`       | |  | ||||||
| | `004ca430`             | "PoliceBossBrup"             | `callbacks.PoliceBossBrup`             | `004ca450`       | |  | ||||||
| | `005804e0`             | "AnmCommand"                 | `callbacks.AnmCommand`                 | `00580500`       | |  | ||||||
| | `0048ea20`             | "TeslaFX"                    | `callbacks.TeslaFX`                    | `0048ea40`       | |  | ||||||
| | `004ba6f0`             | "BankMasterActionInit"       | `callbacks.BankMasterActionInit`       | `004ba710`       | |  | ||||||
| | `004d3ba0`             | "ChangeDoorState"            | `callbacks.ChangeDoorState`            | `004d3bc0`       | |  | ||||||
| | `004c91c0`             | "PoliceEndActionMoney"       | `callbacks.PoliceEndActionMoney`       | `004c91e0`       | |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## Remaster |  | ||||||
| 
 |  | ||||||
| | Callback setup address | Callback name                | Callback funcion | Callback address | |  | ||||||
| |------------------------|------------------------------|------------------|------------------| |  | ||||||
| | `004419e0`             | "BertoActionEnd"             | `FUN.004c20d0`   | `004c20d0`       | |  | ||||||
| | `004424a0`             | "FXCrazyGamblerSetHeadModel" | `FUN.004c47a0`   | `004c47a0`       | |  | ||||||
| | `00443300`             | "GearShootLoad"              | `FUN.004c7bb0`   | `004c7bb0`       | |  | ||||||
| | `00443280`             | "GearEndActionEnd"           | `FUN.004c6ee0`   | `004c6ee0`       | |  | ||||||
| | `0044aaf0`             | "InfernoOnStart"             | `FUN.005224e0`   | `005224e0`       | |  | ||||||
| | `00444900`             | "SentinelActionPress"        | `FUN.004cfa30`   | `004cfa30`       | |  | ||||||
| | `0044c5d0`             | "SwarmServerHit"             | `FUN.00527430`   | `00527430`       | |  | ||||||
| | `004416e0`             | "BankMasterAttack"           | `FUN.004c19b0`   | `004c19b0`       | |  | ||||||
| | `00441ec0`             | "FXBettyAttack"              | `FUN.004c35a0`   | `004c35a0`       | |  | ||||||
| | `004441e0`             | "FXPoliceSteal"              | `FUN.004ccd00`   | `004ccd00`       | |  | ||||||
| | `00454040`             | "ScorerSpriteFadeIn"         | `FUN.00583da0`   | `00583da0`       | |  | ||||||
| | `0044aa70`             | "InfernoFire"                | `FUN.005217b0`   | `005217b0`       | |  | ||||||
| | `00453e40`             | "EditText"                   | `FUN.00582be0`   | `00582be0`       | |  | ||||||
| | `00444de0`             | "FXPoliceAlarmInit"          | `FUN.004d8050`   | `004d8050`       | |  | ||||||
| | `00444920`             | "SentinelActionRelease"      | `FUN.004cfb30`   | `004cfb30`       | |  | ||||||
| | `00450b10`             | "IncrementHits"              | `FUN.00555300`   | `00555300`       | |  | ||||||
| | `0044cbc0`             | "TeslaFire"                  | `FUN.005285e0`   | `005285e0`       | |  | ||||||
| | `00444660`             | "FXPoliceBossBrup"           | `FUN.004cdcd0`   | `004cdcd0`       | |  | ||||||
| | `0043e8c0`             | "AnmSetAction"               | `FUN.00464f70`   | `00464f70`       | |  | ||||||
| | `00449730`             | "DevastatorCreate"           | `FUN.0051e250`   | `0051e250`       | |  | ||||||
| | `00454080`             | "ScorerSpriteFadeOutFinal"   | `FUN.00583f80`   | `00583f80`       | |  | ||||||
| | `004428e0`             | "FXDTritusAttack"            | `FUN.004c6800`   | `004c6800`       | |  | ||||||
| | `00444940`             | "SentinelPoint"              | `FUN.004cfc90`   | `004cfc90`       | |  | ||||||
| | `0044c530`             | "SwarmHit"                   | `FUN.00526aa0`   | `00526aa0`       | |  | ||||||
| | `00441e60`             | "BettyEndEvent"              | `FUN.004c3030`   | `004c3030`       | |  | ||||||
| | `004428c0`             | "DtritusRestartEvent"        | `FUN.004c66a0`   | `004c66a0`       | |  | ||||||
| | `00445360`             | "ChangeDoorState"            | `FUN.004f03c0`   | `004f03c0`       | |  | ||||||
| | `00443d20`             | "MessengerEndActionEnd"      | `FUN.004ca940`   | `004ca940`       | |  | ||||||
| | `004432e0`             | "GearShoot"                  | `FUN.004c74a0`   | `004c74a0`       | |  | ||||||
| | `0044aad0`             | "InfernoOnObjSlot"           | `FUN.005223d0`   | `005223d0`       | |  | ||||||
| | `0044c4f0`             | "SwarmFX"                    | `FUN.005262f0`   | `005262f0`       | |  | ||||||
| | `004438c0`             | "FXMercenaryDrink"           | `FUN.004c9fe0`   | `004c9fe0`       | |  | ||||||
| | `00448ca0`             | "ATPCFire"                   | `FUN.0051d140`   | `0051d140`       | |  | ||||||
| | `004435a0`             | "FXMaintenanceWork"          | `FUN.004c95b0`   | `004c95b0`       | |  | ||||||
| | `00441ea0`             | "BettyRestoreTime"           | `FUN.004c3440`   | `004c3440`       | |  | ||||||
| | `00442460`             | "BishopEndActionEnd"         | `FUN.004c4440`   | `004c4440`       | |  | ||||||
| | `0044b430`             | "LaserRelease"               | `FUN.005254d0`   | `005254d0`       | |  | ||||||
| | `0044aa50`             | "InfernoFX"                  | `FUN.005212f0`   | `005212f0`       | |  | ||||||
| | `00441e80`             | "BettyHitEvent"              | `FUN.004c31f0`   | `004c31f0`       | |  | ||||||
| | `00451340`             | "EndOfLaugh"                 | `FUN.00557e00`   | `00557e00`       | |  | ||||||
| | `00445320`             | "AutoDoorUsrSlot"            | `FUN.004f0380`   | `004f0380`       | |  | ||||||
| | `0044ab70`             | "InfernoSetUp"               | `FUN.005228f0`   | `005228f0`       | |  | ||||||
| | `00445c00`             | "TakeEner"                   | `FUN.004fe9c0`   | `004fe9c0`       | |  | ||||||
| | `0043e8e0`             | "AnmSetDefaultLoop"          | `FUN.00465060`   | `00465060`       | |  | ||||||
| | `00449770`             | "DevastatorFire"             | `FUN.0051ff30`   | `0051ff30`       | |  | ||||||
| | `0044ab30`             | "InfernoRelease"             | `FUN.005226b0`   | `005226b0`       | |  | ||||||
| | `004413a0`             | "BankDirectorActionRelease"  | `FUN.004c0ed0`   | `004c0ed0`       | |  | ||||||
| | `0044b790`             | "SonicXplde"                 | `FUN.00525a40`   | `00525a40`       | |  | ||||||
| | `004453a0`             | "FrontDoorSlot"              | `FUN.004f0560`   | `004f0560`       | |  | ||||||
| | `00448d00`             | "ATPCXplosionCall"           | `FUN.0051d8d0`   | `0051d8d0`       | |  | ||||||
| | `0044cba0`             | "TeslaFX"                    | `FUN.005282f0`   | `005282f0`       | |  | ||||||
| | `00445380`             | "CloseDoorSlot"              | `FUN.004f0540`   | `004f0540`       | |  | ||||||
| | `0043e880`             | "AnmChangeRandomAnm"         | `FUN.00464c80`   | `00464c80`       | |  | ||||||
| | `00449750`             | "DevastatorFX"               | `FUN.0051fc50`   | `0051fc50`       | |  | ||||||
| | `0044b390`             | "HookPlugFX"                 | `FUN.00523d30`   | `00523d30`       | |  | ||||||
| | `0044d3b0`             | "VulcanCreate"               | `FUN.00528fb0`   | `00528fb0`       | |  | ||||||
| | `0044ab90`             | "InfernoXplosionCall"        | `FUN.00522d70`   | `00522d70`       | |  | ||||||
| | `004432c0`             | "GearInitAction"             | `FUN.004c7230`   | `004c7230`       | |  | ||||||
| | `00445c20`             | "TakeLife"                   | `FUN.004feb50`   | `004feb50`       | |  | ||||||
| | `004497d0`             | "DevastatorXplosionCall"     | `FUN.005205c0`   | `005205c0`       | |  | ||||||
| | `00454060`             | "ScorerSpriteFadeOut"        | `FUN.00583e90`   | `00583e90`       | |  | ||||||
| | `0044b350`             | "HookDeActivate"             | `FUN.00523350`   | `00523350`       | |  | ||||||
| | `0044c550`             | "SwarmOnEnd"                 | `FUN.005270d0`   | `005270d0`       | |  | ||||||
| | `0044d410`             | "VulcanPress"                | `FUN.0052b2e0`   | `0052b2e0`       | |  | ||||||
| | `0044b3d0`             | "LaserFX"                    | `FUN.00524d30`   | `00524d30`       | |  | ||||||
| | `0043e980`             | "AnmSoundLoopEvent"          | `FUN.00465910`   | `00465910`       | |  | ||||||
| | `0043e9e0`             | "WarningPolice"              | `FUN.00465c30`   | `00465c30`       | |  | ||||||
| | `00444680`             | "PoliceBossAction"           | `FUN.004ce5f0`   | `004ce5f0`       | |  | ||||||
| | `0044c4d0`             | "SwarmCreate"                | `FUN.005260c0`   | `005260c0`       | |  | ||||||
| | `004448e0`             | "FXSebastianFlash"           | `FUN.004cf900`   | `004cf900`       | |  | ||||||
| | `00443f60`             | "NurseActionRelease"         | `FUN.004cbf00`   | `004cbf00`       | |  | ||||||
| | `00444fc0`             | "FXMeetingPointCountDown"    | `FUN.004e2250`   | `004e2250`       | |  | ||||||
| | `0044d3d0`             | "VulcanFX"                   | `FUN.0052ac00`   | `0052ac00`       | |  | ||||||
| | `00444240`             | "PoliceEndActionMoney"       | `FUN.004cd690`   | `004cd690`       | |  | ||||||
| | `00456c00`             | "FXCharacterDazed"           | `FUN.005b4250`   | `005b4250`       | |  | ||||||
| | `00442880`             | "DtritusEndEvent"            | `FUN.004c61e0`   | `004c61e0`       | |  | ||||||
| | `00441680`             | "BankMasterActionEnd"        | `FUN.004c1660`   | `004c1660`       | |  | ||||||
| | `00443260`             | "GearEndAction"              | `FUN.004c6d50`   | `004c6d50`       | |  | ||||||
| | `00442660`             | "DesktopActionPress"         | `FUN.004c4a00`   | `004c4a00`       | |  | ||||||
| | `004432a0`             | "GearHit"                    | `FUN.004c7070`   | `004c7070`       | |  | ||||||
| | `0044b410`             | "LaserPress"                 | `FUN.005253e0`   | `005253e0`       | |  | ||||||
| | `0044fb50`             | "Police2GearEnd"             | `FUN.0054de60`   | `0054de60`       | |  | ||||||
| | `00445340`             | "BackDoorSlot"               | `FUN.004f03a0`   | `004f03a0`       | |  | ||||||
| | `0044b3f0`             | "LaserFire"                  | `FUN.00524fb0`   | `00524fb0`       | |  | ||||||
| | `0043e8a0`             | "AnmCommand"                 | `FUN.00464e80`   | `00464e80`       | |  | ||||||
| | `00443f40`             | "NurseActionPress"           | `FUN.004cbe10`   | `004cbe10`       | |  | ||||||
| | `004453c0`             | "Usr0AutoDoorSlot"           | `FUN.004f0790`   | `004f0790`       | |  | ||||||
| | `00441380`             | "BankDirectorActionPress"    | `FUN.004c0d70`   | `004c0d70`       | |  | ||||||
| | `004416c0`             | "BankMasterActionPress"      | `FUN.004c18d0`   | `004c18d0`       | |  | ||||||
| | `00443fc0`             | "NurseInitHammerLoop"        | `FUN.004cc9b0`   | `004cc9b0`       | |  | ||||||
| | `00443d40`             | "MessengerTakeDataPack"      | `FUN.004caad0`   | `004caad0`       | |  | ||||||
| | `00449df0`             | "EMIOnHit"                   | `FUN.00520cc0`   | `00520cc0`       | |  | ||||||
| | `0044aa10`             | "InfernoClientFire"          | `FUN.00520f40`   | `00520f40`       | |  | ||||||
| | `00444820`             | "FXRustyHit"                 | `FUN.004cea30`   | `004cea30`       | |  | ||||||
| | `0044aa30`             | "InfernoCreate"              | `FUN.005210d0`   | `005210d0`       | |  | ||||||
| | `00444dc0`             | "FXPoliceAlarmEnd"           | `FUN.004d7fe0`   | `004d7fe0`       | |  | ||||||
| | `0044ab50`             | "InfernoServerHit"           | `FUN.00522780`   | `00522780`       | |  | ||||||
| | `0044d430`             | "VulcanRelease"              | `FUN.0052b3a0`   | `0052b3a0`       | |  | ||||||
| | `0044b330`             | "HookActivate"               | `FUN.005232c0`   | `005232c0`       | |  | ||||||
| | `0044c570`             | "SwarmOnStart"               | `FUN.005271a0`   | `005271a0`       | |  | ||||||
| | `004540e0`             | "BoostScorer"                | `FUN.00584230`   | `00584230`       | |  | ||||||
| | `004540c0`             | "ScorerSpriteGlow"           | `FUN.00584190`   | `00584190`       | |  | ||||||
| | `00441a40`             | "BertoAttack"                | `FUN.004c23c0`   | `004c23c0`       | |  | ||||||
| | `0044cb80`             | "TeslaCreate"                | `FUN.00528040`   | `00528040`       | |  | ||||||
| | `00442420`             | "BishopActionPress"          | `FUN.004c3800`   | `004c3800`       | |  | ||||||
| | `00448c80`             | "ATPCFX"                     | `FUN.0051cea0`   | `0051cea0`       | |  | ||||||
| | `00444220`             | "PoliceActionPress"          | `FUN.004cd290`   | `004cd290`       | |  | ||||||
| | `0043e920`             | "AnmStopChan"                | `FUN.00465240`   | `00465240`       | |  | ||||||
| | `00444f80`             | "FXBossOnDamage"             | `FUN.004e2090`   | `004e2090`       | |  | ||||||
| | `00448fe0`             | "CloudOnHit"                 | `FUN.0051dff0`   | `0051dff0`       | |  | ||||||
| | `00455530`             | "PrintMemBlockData"          | `&LAB.005928d0`  | `005928d0`       | |  | ||||||
| | `00448cc0`             | "ATPCOnEnd"                  | `FUN.0051d6e0`   | `0051d6e0`       | |  | ||||||
| | `00442860`             | "DtritusActionPress"         | `FUN.004c5bd0`   | `004c5bd0`       | |  | ||||||
| | `0044ab10`             | "InfernoPress"               | `FUN.005225e0`   | `005225e0`       | |  | ||||||
| | `00442680`             | "FXDesktopFallEnd"           | `FUN.004c50d0`   | `004c50d0`       | |  | ||||||
| | `00444260`             | "PoliceRestoreFreeTurn"      | `FUN.004cdbd0`   | `004cdbd0`       | |  | ||||||
| | `0044aab0`             | "InfernoOnEnd"               | `FUN.00522300`   | `00522300`       | |  | ||||||
| | `0043e900`             | "AnmSetDisplAng"             | `FUN.00465150`   | `00465150`       | |  | ||||||
| | `0044b770`             | "SonicFire"                  | `FUN.005256e0`   | `005256e0`       | |  | ||||||
| | `004413e0`             | "BankerAttack"               | `FUN.004c1120`   | `004c1120`       | |  | ||||||
| | `00441e40`             | "BettyCameraSet"             | `FUN.004c2ab0`   | `004c2ab0`       | |  | ||||||
| | `004497b0`             | "DevastatorRelease"          | `FUN.00520470`   | `00520470`       | |  | ||||||
| | `004416a0`             | "BankMasterActionInit"       | `FUN.004c17d0`   | `004c17d0`       | |  | ||||||
| | `00441a80`             | "FXBertoAttack"              | `FUN.004c27e0`   | `004c27e0`       | |  | ||||||
| | `004452e0`             | "AcceleratorOnEnter"         | `FUN.004efdf0`   | `004efdf0`       | |  | ||||||
| | `0043e940`             | "AnmSound2DEvent"            | `FUN.004654f0`   | `004654f0`       | |  | ||||||
| | `00441700`             | "BankMasterHitEvent"         | `FUN.004c1e00`   | `004c1e00`       | |  | ||||||
| | `004446a0`             | "PoliceBossBrup"             | `FUN.004ce710`   | `004ce710`       | |  | ||||||
| | `00443fe0`             | "NurseTryHammerAgain"        | `FUN.004ccac0`   | `004ccac0`       | |  | ||||||
| | `00449790`             | "DevastatorPress"            | `FUN.005203b0`   | `005203b0`       | |  | ||||||
| | `0044c4b0`             | "SwarmClientFire"            | `FUN.00525f50`   | `00525f50`       | |  | ||||||
| | `00442480`             | "FXBishopSellLife"           | `FUN.004c45d0`   | `004c45d0`       | |  | ||||||
| | `00441a20`             | "BertoActionPress"           | `FUN.004c22e0`   | `004c22e0`       | |  | ||||||
| | `0043e9a0`             | "StopStreamingVoice"         | `FUN.00465ac0`   | `00465ac0`       | |  | ||||||
| | `0044cc00`             | "TeslaRelease"               | `FUN.00528ca0`   | `00528ca0`       | |  | ||||||
| | `00443240`             | "GearActionPress"            | `FUN.004c6b90`   | `004c6b90`       | |  | ||||||
| | `00443f80`             | "NurseBackHitControl"        | `FUN.004cc7b0`   | `004cc7b0`       | |  | ||||||
| | `00444200`             | "ListeningPolice"            | `FUN.004ccfc0`   | `004ccfc0`       | |  | ||||||
| | `00442440`             | "BishopAttack"               | `FUN.004c38e0`   | `004c38e0`       | |  | ||||||
| | `0044c5f0`             | "SwarmSetUp"                 | `FUN.00527920`   | `00527920`       | |  | ||||||
| | `0044c510`             | "SwarmFire"                  | `FUN.005267b0`   | `005267b0`       | |  | ||||||
| | `00443ce0`             | "MessengerActionPress"       | `FUN.004ca160`   | `004ca160`       | |  | ||||||
| | `0044aa90`             | "InfernoHit"                 | `FUN.00521ae0`   | `00521ae0`       | |  | ||||||
| | `004540a0`             | "ScorerSpriteFlash"          | `FUN.00584090`   | `00584090`       | |  | ||||||
| | `0044c5b0`             | "SwarmRelease"               | `FUN.00527360`   | `00527360`       | |  | ||||||
| | `0044d3f0`             | "VulcanFire"                 | `FUN.0052ae30`   | `0052ae30`       | |  | ||||||
| | `0044b370`             | "HookFire"                   | `FUN.00523420`   | `00523420`       | |  | ||||||
| | `00444fa0`             | "FXBossShieldSet"            | `FUN.004e2140`   | `004e2140`       | |  | ||||||
| | `00456be0`             | "FXCharacterBlaBliBla"       | `FUN.005b3910`   | `005b3910`       | |  | ||||||
| | `00441a00`             | "BertoActionInit"            | `FUN.004c21e0`   | `004c21e0`       | |  | ||||||
| | `00443d00`             | "MessengerAttack"            | `FUN.004ca240`   | `004ca240`       | |  | ||||||
| | `00454020`             | "ScorerMetroUsrHere"         | `FUN.00583c10`   | `00583c10`       | |  | ||||||
| | `004428a0`             | "DtritusHitEvent"            | `FUN.004c6440`   | `004c6440`       | |  | ||||||
| | `00448ce0`             | "ATPCOnStart"                | `FUN.0051d7b0`   | `0051d7b0`       | |  | ||||||
| | `00445c40`             | "TakeMiss"                   | `FUN.004fecb0`   | `004fecb0`       | |  | ||||||
| | `00456c20`             | "FXCharacterTeleport"        | `FUN.005b4810`   | `005b4810`       | |  | ||||||
| | `0043e9c0`             | "StreamingVoice"             | `FUN.00465b10`   | `00465b10`       | |  | ||||||
| | `00441e20`             | "BettyActionPress"           | `FUN.004c2910`   | `004c2910`       | |  | ||||||
| | `00443680`             | "ListeningMayor"             | `FUN.004c97c0`   | `004c97c0`       | |  | ||||||
| | `00443fa0`             | "NurseDoHammerHit"           | `FUN.004cc8a0`   | `004cc8a0`       | |  | ||||||
| | `00441720`             | "FXBankMasterAttack"         | `FUN.004c1fa0`   | `004c1fa0`       | |  | ||||||
| | `004441c0`             | "FXPoliceGearConversion"     | `FUN.004ccbd0`   | `004ccbd0`       | |  | ||||||
| | `00441a60`             | "BertoHitEvent"              | `FUN.004c2670`   | `004c2670`       | |  | ||||||
| | `0044c590`             | "SwarmPress"                 | `FUN.00527290`   | `00527290`       | |  | ||||||
| | `00449dd0`             | "EMIFire"                    | `FUN.005209a0`   | `005209a0`       | |  | ||||||
| | `00445300`             | "AutoDoorSlot"               | `FUN.004f0070`   | `004f0070`       | |  | ||||||
| | `00445c60`             | "TakePart"                   | `FUN.004fee40`   | `004fee40`       | |  | ||||||
| | `00457de0`             | "MapElementsActivate"        | `FUN.00604960`   | `00604960`       | |  | ||||||
| | `0044b3b0`             | "LaserCreate"                | `FUN.00523fc0`   | `00523fc0`       | |  | ||||||
| | `004436a0`             | "MayorEndAction"             | `FUN.004c9ae0`   | `004c9ae0`       | |  | ||||||
| | `00448fc0`             | "CloudFire"                  | `FUN.0051dcf0`   | `0051dcf0`       | |  | ||||||
| | `0043e960`             | "AnmSoundEvent"              | `FUN.00465720`   | `00465720`       | |  | ||||||
| | `0044cbe0`             | "TeslaPress"                 | `FUN.00528bd0`   | `00528bd0`       | |  | ||||||
| | `00448c60`             | "ATPCCreate"                 | `FUN.0051c3e0`   | `0051c3e0`       | |  | ||||||
| | `004413c0`             | "BankDirectorEndActionInit"  | `FUN.004c1000`   | `004c1000`       | |  | ||||||
							
								
								
									
										164
									
								
								Chunked.md
									
										
									
									
									
								
							
							
						
						
									
										164
									
								
								Chunked.md
									
										
									
									
									
								
							|  | @ -19,13 +19,13 @@ struct Block { | ||||||
| 
 | 
 | ||||||
| # Block IDs | # Block IDs | ||||||
| 
 | 
 | ||||||
| | File ID | Chunk IDs                                                                      | |  File ID | Chunk IDs                                                                       | ||||||
| | ------- | ------------------------------------------------------------------------------ | |  ------- | ------------------------------------------------------------------------------  | ||||||
| | AMC     | AMC, CMSH, QUAD                                                                | |  AMC     | AMC, CMSH, QUAD                                                                 | ||||||
| | CM3     | ANI, CM3, EVA, NAE, NAM, SCN                                                   | |  CM3     | ANI, CM3, EVA, NAE, NAM, SCN                                                    | ||||||
| | DUM     | DUM, INI                                                                       | |  DUM     | DUM, INI                                                                        | ||||||
| | EMI     | EMI, LFVF, MAP, MAT, TRI                                                       | |  EMI     | EMI, LFVF, MAP, MAT, TRI                                                        | ||||||
| | SM3     | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL | |  SM3     | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL  | ||||||
| 
 | 
 | ||||||
| Read types: | Read types: | ||||||
| 
 | 
 | ||||||
|  | @ -36,28 +36,26 @@ Read types: | ||||||
| - `3f`: array of 3 4-byte floats | - `3f`: array of 3 4-byte floats | ||||||
| - `3i`: array of 3 4-byte unsigned integers | - `3i`: array of 3 4-byte unsigned integers | ||||||
| 
 | 
 | ||||||
| | Chunk ID | Description                 | Reads                    | |  Chunk ID | Description                 | Reads                     | ||||||
| | -------- | --------------------------- | ------------------------ | |  -------- | --------------------------- | ------------------------  | ||||||
| | AMC      | Collision Data              | |  AMC      | Collision Data              |                           | ||||||
| | ANI      | Animation data?             | |  ANI      | Animation data?             |                           | ||||||
| | CAM      | Camera info?                | |  CAM      | Camera info?                |                           | ||||||
| | CMSH     | Collision Mesh Data         | |  CMSH     | Collision Mesh Data         |                           | ||||||
| | EVA      | Vertex animation data       | |  DUM      | Dummy (map object) data     |                           | ||||||
| | DUM      | Dummy (map object) data     | |  INI      | INI-Configuration data      |                           | ||||||
| | INI      | INI-Configuration data      | |  LFVF     | FVF Vertex Data             |                           | ||||||
| | LFVF     | FVF Vertex Data             | |  LUZ      | Lighting information        |                           | ||||||
| | LUZ      | Lighting information        | |  MAP      | UV Map?                     |                           | ||||||
| | MAP      | Lightmap                    | |  MAT      | Material information        |                           | ||||||
| | MAT      | Material information        | |  NAE      | Animation Data?             |                           | ||||||
| | NAE      | Animation Data?             | |  NAM      | Animation Data?             |                           | ||||||
| | NAM      | Animation Data?             | |  PORT     | Map portals?                | i==1, i, i, 4, 4          | ||||||
| | PORT     | Map portals                 | `i==1, i, i, 4, 4` |  QUAD     | Mesh data?                  |                           | ||||||
| | QUAD     | Mesh data?                  | |  SCN      | Scene data?                 |                           | ||||||
| | SCN      | Scene tree data             | |  SUEL     | Ground plane?               | 0x18, 0xc, 4, 4, 4, 0x18  | ||||||
| | SUEL     | Ground Plane?               | 0x18, 0xc, 4, 4, 4, 0x18 |  TRI      | Triangle strip definitions? |                           | ||||||
| | TRI      | Triangle Mesh               | |  MD3D     | 3D Model definition?        |                           | ||||||
| | MD3D     | 3D Model definition         | |  | ||||||
| | EMI      | Level geometry              | |  | ||||||
| 
 | 
 | ||||||
| # Format of Specific chunks | # Format of Specific chunks | ||||||
| 
 | 
 | ||||||
|  | @ -78,6 +76,7 @@ struct INI { | ||||||
| }; | }; | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| ## LFVF | ## LFVF | ||||||
| 
 | 
 | ||||||
| DirectX Flexible Vertex Format Data | DirectX Flexible Vertex Format Data | ||||||
|  | @ -85,7 +84,7 @@ DirectX Flexible Vertex Format Data | ||||||
| ```cpp | ```cpp | ||||||
| struct Vertex { // fields according to flags | struct Vertex { // fields according to flags | ||||||
|     float position[3]; // D3DFVF_XYZ | D3DFVF_XYZRHW | D3DFVF_XYZB* |     float position[3]; // D3DFVF_XYZ | D3DFVF_XYZRHW | D3DFVF_XYZB* | ||||||
|     // float rhw; // unused even with D3DFVF_XYZRHW |     float rhw; // D3DFVF_XYZRHW | ||||||
|     float weights[3]; // D3DFVF_XYZB* |     float weights[3]; // D3DFVF_XYZB* | ||||||
|     float normal[3]; // D3DFVF_NORMAL |     float normal[3]; // D3DFVF_NORMAL | ||||||
|     float point_size; // D3DFVF_PSIZE |     float point_size; // D3DFVF_PSIZE | ||||||
|  | @ -95,7 +94,7 @@ struct Vertex { // fields according to flags | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| struct LFVF { | struct LFVF { | ||||||
|     uint32_t version; |     uint32_t unk; | ||||||
|     uint32_t num_entries; |     uint32_t num_entries; | ||||||
|     struct { |     struct { | ||||||
|         uint32_t FVF; // FVF vertex data configuration |         uint32_t FVF; // FVF vertex data configuration | ||||||
|  | @ -139,106 +138,3 @@ struct MAP { | ||||||
|     // TODO: rest |     // TODO: rest | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 |  | ||||||
| ## SCN |  | ||||||
| 
 |  | ||||||
| - Tree structure |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| Escena: Models/Chars/Dtritus/Dtritus.M3D |  | ||||||
|   _raiz_escena                                       -1   0  -1  c:(null)    f:00000001  a:0000 |  | ||||||
|     DC_Root                                           0   1  -1  c:(null)    f:00010090  a:0000 |  | ||||||
|       DC_Camera                                       1  93  -1  c:(null)    f:00420090  a:0000 |  | ||||||
|       DC_Floor                                        2  94  -1  c:(null)    f:00420090  a:0000 |  | ||||||
|       Bip Detritus MASTER                             4   2  -1  c:(null)    f:00200090  a:0000 |  | ||||||
|         Bip Detritus                                  5   3  -1  c:(null)    f:00200190  a:0000 |  | ||||||
|           Bip Detritus Pelvis                         7   4  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|             Bip Detritus Spine                        8   5  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|               Bip Detritus Spine1                     9   6  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                 Bip Detritus Spine2                  10   7  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                   Bip Detritus Neck                  11   8  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                     Bip Detritus Head                12   9  -1  c:MallaD3D  f:00300110  a:0000  [skin] |  | ||||||
|                       Bip Detritus Ponytail1         14  10  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         Bip Detritus Ponytail11      15  11  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                           Bip Detritus Ponytail12    16  12  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                       Bip Detritus Ponytail2         18  13  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         Bip Detritus Ponytail21      19  14  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                       BipBone Detritus MechonDer_01    23  15  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         BipBone Detritus MechonDer_02      24  16  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                           BipBone Detritus MechonDer_03        25  17  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                       BipBone Detritus MechonIzq_01    27  18  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         BipBone Detritus MechonIzq_02      28  19  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                           BipBone Detritus MechonIzq_03        29  20  -1  c:(null)    f:00380190  a:0000 |  | ||||||
|                       R_Detritus_Cabeza-Cara&Pelo    37  21  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                         R_Detritus_Cabeza-Mechones   38  22  -1  c:MallaD3D  f:00000010  a:FF7F  [skin] |  | ||||||
|                         R_Detritus_Cabeza-Ceja_Izq   39  23  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-Ceja_Der   40  24  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-Ojo_Izq    41  25  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-Ojo_Der    42  26  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-OjoParpado_Der         43  27  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-OjoParpado_Izq         44  28  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Cabeza-PeloMechones       45  29  -1  c:MallaD3D  f:00000070  a:FF7F  [skin] |  | ||||||
|                     Bip Detritus L Clavicle          54  30  -1  c:(null)    f:00200190  a:0000 |  | ||||||
|                       Bip Detritus L UpperArm        55  31  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         Bip Detritus L Forearm       56  32  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                           Bip Detritus L Hand        57  33  -1  c:MallaD3D  f:00300110  a:0000  [skin] |  | ||||||
|                             Bip Detritus L Finger0   58  34  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus L Finger01      59  35  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus L Finger1   61  36  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus L Finger11      62  37  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus L Finger2   64  38  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus L Finger21      65  39  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus L Finger3   67  40  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus L Finger31      68  41  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                           R_Detritus_Antebrazo_Izq   71  42  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Codo_Izq      72  43  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Antebrazo-Doblez_Izq            73  44  -1  c:MallaD3D  f:00000010  a:FF7F  [skin] |  | ||||||
|                             R_Detritus_Brazo-CilindroB-Eje_Izq               75  45  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Brazo-CilindroB_Izq           76  46  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Brazo_Izq         77  47  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                           R_Detritus_Brazo-CilindroA_Izq         79  48  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                     Bip Detritus R Clavicle          80  49  -1  c:(null)    f:00200190  a:0000 |  | ||||||
|                       Bip Detritus R UpperArm        81  50  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                         Bip Detritus R Forearm       82  51  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                           Bip Detritus R Hand        83  52  -1  c:MallaD3D  f:00300110  a:0000  [skin] |  | ||||||
|                             Bip Detritus R Finger0   84  53  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus R Finger01      85  54  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus R Finger1   87  55  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus R Finger11      88  56  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus R Finger2   90  57  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus R Finger21      91  58  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                             Bip Detritus R Finger3   93  59  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                               Bip Detritus R Finger31      94  60  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                           R_Detritus_Antebrazo_Der   97  61  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Codo_Der      98  62  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Antebrazo-Doblez_Der            99  63  -1  c:MallaD3D  f:00000010  a:FF7F  [skin] |  | ||||||
|                             R_Detritus_Brazo-CilindroB-Eje_Der              100  64  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                             R_Detritus_Brazo-CilindroB_Der          102  65  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                         R_Detritus_Brazo_Der        103  66  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                           R_Detritus_Brazo-CilindroA_Der        105  67  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                 R_Detritus_Tronco                   106  68  -1  c:MallaD3D  f:00000010  a:FF7F  [skin] |  | ||||||
|               Bip Detritus L Thigh                  107  69  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                 Bip Detritus L Calf                 108  70  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                   Bip Detritus L Foot               109  71  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                     Bip Detritus L Toe0             110  72  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                   R_Detritus_Espinilla_Izq          112  73  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                     R_Detritus_Rodilla_Izq          113  74  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                       R_Detritus_Pierna-CilindroB_Izq     114  75  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                     R_Detritus_Espinilla-CilindroA_Izq      116  76  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                     R_Detritus_Talon_Izq            118  77  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                       R_Detritus_Espinilla-CilindroB_Izq        119  78  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                 R_Detritus_Pierna_Izq               121  79  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                   R_Detritus_Pierna-CilindroA_Izq   122  80  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|               Bip Detritus R Thigh                  124  81  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                 Bip Detritus R Calf                 125  82  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                   Bip Detritus R Foot               126  83  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                     Bip Detritus R Toe0             127  84  -1  c:(null)    f:00300190  a:0000 |  | ||||||
|                     R_Detritus_Talon_Der            129  85  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                       R_Detritus_Espinilla-CilindroB_Der        130  86  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                   R_Detritus_Espinilla_Der          132  87  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                     R_Detritus_Rodilla_Der          133  88  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                       R_Detritus_Pierna-CilindroB_Der     135  89  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                     R_Detritus_Espinilla-CilindroA_Der      136  90  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
|                 R_Detritus_Pierna_Der               138  91  -1  c:MallaD3D  f:00000010  a:0000  [skin] |  | ||||||
|                   R_Detritus_Pierna-CilindroA_Der   139  92  -1  c:MallaD3D  f:00000010  a:0000 |  | ||||||
| ``` |  | ||||||
							
								
								
									
										21
									
								
								Classes.md
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								Classes.md
									
										
									
									
									
								
							|  | @ -31,22 +31,21 @@ | ||||||
| 
 | 
 | ||||||
| ## Class Inheritance | ## Class Inheritance | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ```mermaid | ```mermaid | ||||||
| graph LR | graph LR | ||||||
|     World |     World | ||||||
|     ActionClassList |     ActionClassList | ||||||
|     SaveVar |     SaveVar | ||||||
| 	Window --> App  |     App --> Window | ||||||
| 	CamPath --> Cam |     Cam --> CamPath | ||||||
| 	Cam --> Entity |     Entity --> Cam | ||||||
| 	FCam --> Cam |     Cam --> FCam | ||||||
| 	Obj --> Entity |     Entity --> Obj | ||||||
| 	item --> Obj |     Obj --> item | ||||||
| 	WithLife --> Obj |     Obj --> WithLife | ||||||
| 	Car --> WithLife |     WithLife --> Car | ||||||
| 	WalkChar --> WithLife |     WithLife --> WalkChar | ||||||
| 	Missile --> WithLife |     WithLife --> Missile | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| # Attributes (VMT index 16,17,18 for accessor functions) | # Attributes (VMT index 16,17,18 for accessor functions) | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								File.md
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								File.md
									
										
									
									
									
								
							|  | @ -8,7 +8,7 @@ | ||||||
|  .sm3           | 3d model file            | y        |  .sm3           | 3d model file            | y        | ||||||
|  .dum           | Dummy (map object) file  | y        |  .dum           | Dummy (map object) file  | y        | ||||||
|  .pth           | AI Path                  | n        |  .pth           | AI Path                  | n        | ||||||
|  .emi           | Level geometry           | y        |  .emi           | Emission maps/Materials? | y        | ||||||
|  .amc           | Collision Data           | y        |  .amc           | Collision Data           | y        | ||||||
|  .ini           | Configuration            | n        |  .ini           | Configuration            | n        | ||||||
|  .txa           | Texture Animation Config | n        |  .txa           | Texture Animation Config | n        | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
|  | # MultiSpriteTable | ||||||
| 
 | 
 | ||||||
| ```cpp | ```cpp | ||||||
| struct Tile { | struct Tile { | ||||||
|  |  | ||||||
|  | @ -1,40 +1,25 @@ | ||||||
| # Encryption  (v1.1) | # Encryption (v1.1) | ||||||
| 
 | 
 | ||||||
| Fixed Key: `020406080a0c0e10121416181a1c1e20222426282a2c2e30323436383a3c3e40` | Fixed Key: `020406080a0c0e10121416181a1c1e20222426282a2c2e30323436383a3c3e40` | ||||||
| Packet Structure: | Packet Structure: | ||||||
| ```rust |  | ||||||
| struct Packet { |  | ||||||
| 	#[len=pad_16(nonce_len)] |  | ||||||
| 	nonce: Vec<u8>, |  | ||||||
| 	#[len=pad_16(data_len)] |  | ||||||
| 	data: Vec<u8>, |  | ||||||
| 	nonce_len: u64, |  | ||||||
| 	data_len: u64 |  | ||||||
| 	tag: [u8;16] |  | ||||||
| } |  | ||||||
| ``` |  | ||||||
| ``` | ``` | ||||||
|  | [0..nonce_len]: nonce | ||||||
|  | [nonce_len..(16-nonce_len%16)]: padding | ||||||
|  | [16..ciphertext_len]: Ciphertext | ||||||
|  | [nonce_len+(16-nonce_len%16)+ciphertext_len] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||||||
| 0000  ED C9 C2 F4 7C 6D F2 54 42 EF 46 F6 00 00 00 00  ....|m.TB.F..... | 0000  ED C9 C2 F4 7C 6D F2 54 42 EF 46 F6 00 00 00 00  ....|m.TB.F..... | ||||||
| 
 |  | ||||||
| 0010  68 13 5C 9A 2B 18 DB 9C 76 BE A0 8A 3E 49 79 3C  h.\.+...v...>Iy< | 0010  68 13 5C 9A 2B 18 DB 9C 76 BE A0 8A 3E 49 79 3C  h.\.+...v...>Iy< | ||||||
| 0020  8D 7A C4 4C 8B B0 A4 94 E5 B5 89 54 A6 ED 6D 75  .z.L.......T..mu | 0020  8D 7A C4 4C 8B B0 A4 94 E5 B5 89 54 A6 ED 6D 75  .z.L.......T..mu | ||||||
| 0030  1A CA A8 4B 22 B5 03 84 F7 3C DE 4E B0 30 81 29  ...K"....<.N.0.) | 0030  1A CA A8 4B 22 B5 03 84 F7 3C DE 4E B0 30 81 29  ...K"....<.N.0.) | ||||||
| 0040  3B 70 45 15 33 C0 97 67 85 6B 28 EF 2E 2E D1 83  ;pE.3..g.k(..... | 0040  3B 70 45 15 33 C0 97 67 85 6B 28 EF 2E 2E D1 83  ;pE.3..g.k(..... | ||||||
| 0050  E6 56 A7 81 53 89 3E 52 D8 82 CF 77 92 CF C2 D6  .V..S.>R...w.... | 0050  E6 56 A7 81 53 89 3E 52 D8 82 CF 77 92 CF C2 D6  .V..S.>R...w.... | ||||||
| 0060  9F 37 C5 DE EE 14 4D 3F 1F 82 32 7E 00 00 00 00  .7....M?..2~.... | 0060  9F 37 C5 DE EE 14 4D 3F 1F 82 32 7E 00 00 00 00  .7....M?..2~.... | ||||||
| 
 |  | ||||||
| 0070  0C 00 00 00 00 00 00 00 5C 00 00 00 00 00 00 00  ........\....... | 0070  0C 00 00 00 00 00 00 00 5C 00 00 00 00 00 00 00  ........\....... | ||||||
| 
 |  | ||||||
| 0080  89 7A A8 32 93 56 B6 68 24 E0 58 63 7F 70 5A D2  .z.2.V.h$.Xc.pZ. | 0080  89 7A A8 32 93 56 B6 68 24 E0 58 63 7F 70 5A D2  .z.2.V.h$.Xc.pZ. | ||||||
| ``` | ``` | ||||||
| Decryption algorithm (Pseudocode): |  | ||||||
| ```python |  | ||||||
| cipher = ChaCha20(key,pkt.nonce) |  | ||||||
| packet_key = cipher.decrypt(key) |  | ||||||
| cipher.seek(packet_key.len()+32) |  | ||||||
| data = cipher.decrypt(pkt.data) |  | ||||||
| ``` |  | ||||||
| Decrypted: | Decrypted: | ||||||
| ``` | ``` | ||||||
|       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ Hexdump: | ||||||
| 0110  00 14 00 9E FF F6 E8 C8 9F 08 22 FC 8F F3 FF FF  .........."..... | 0110  00 14 00 9E FF F6 E8 C8 9F 08 22 FC 8F F3 FF FF  .........."..... | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| Split up into parts: | Split up into chunks: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| 0f 00 0002 0007 00 7544b3c5 90183747 74c6b246 0098 | 0f 00 0002 0007 00 7544b3c5 90183747 74c6b246 0098 | ||||||
|  | @ -67,16 +67,16 @@ Size: 0285   PlyId: 002   NumVals: 007 | ||||||
| Structure: | Structure: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| 0f00 # Unk (TypeID?) | 
 | ||||||
|  | 0f00 # Unk | ||||||
| 0002 # PlayerID | 0002 # PlayerID | ||||||
| 0007 # Num Vals | 0007 # Num Vals | ||||||
| 00 # Unk (Flags?) | 00 # Unk | ||||||
| 7544b3c5 # Pos.X | 7544b3c5 # Pos.X | ||||||
| 90183747 # Pos.Y | 90183747 # Pos.Y | ||||||
| 74c6b246 # Pos.Z | 74c6b246 # Pos.Z | ||||||
| 00 # Player Index | 00 # Player Index | ||||||
| 98 # Rtt | 98 # Rtt | ||||||
| # Ent_ID, Ent_Type, Data |  | ||||||
| 0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000 | 0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000 | ||||||
| 0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000 | 0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000 | ||||||
| 0200 00 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c | 0200 00 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c | ||||||
|  | @ -84,6 +84,7 @@ Structure: | ||||||
| 2402 15 9e7f005800b5ff20f1f01904210bd5f5ffff | 2402 15 9e7f005800b5ff20f1f01904210bd5f5ffff | ||||||
| 2302 15 9f4a6cd1c44625314792e5b04614cb45d6da5c26aa4e44a2ca72c5cdb4edc3ffff | 2302 15 9f4a6cd1c44625314792e5b04614cb45d6da5c26aa4e44a2ca72c5cdb4edc3ffff | ||||||
| 2202 15 9e7e0014009efff6e8c89f0822fc8ff3ffff | 2202 15 9e7e0014009efff6e8c89f0822fc8ff3ffff | ||||||
|  | 
 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ```c | ```c | ||||||
|  | @ -92,7 +93,7 @@ Structure: | ||||||
| struct NetValue { | struct NetValue { | ||||||
|     le u16 entity_index; |     le u16 entity_index; | ||||||
|     u8 entity_type; |     u8 entity_type; | ||||||
|     char data[?]; // variable length |     char data[?]; // TODO: how is length determined? | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| struct NetData { | struct NetData { | ||||||
|  | @ -110,86 +111,36 @@ struct NetData { | ||||||
| 
 | 
 | ||||||
| Packets are split into Data packets (map change, resources, chat message, etc) and entity (position?) updates | Packets are split into Data packets (map change, resources, chat message, etc) and entity (position?) updates | ||||||
| 
 | 
 | ||||||
| ## Entity Types | ## Packet types | ||||||
| - 00: Vehicle |  | ||||||
| - 01: Cloud |  | ||||||
| - 02: Swarm |  | ||||||
| - 03: Inferno |  | ||||||
| - 04: Sonic |  | ||||||
| - 05: EMI |  | ||||||
| - 06: Box:Ener |  | ||||||
| - 07: Box:Miss |  | ||||||
| - 08: Box:Part |  | ||||||
| - 09: Box:Life |  | ||||||
| - 10: Box:iXtr |  | ||||||
| - 11: Box:iSiz |  | ||||||
| - 12: Box:aBom |  | ||||||
| - 13: Box:aSpd |  | ||||||
| - 14: Box:dAim |  | ||||||
| - 15: Box:dBom |  | ||||||
| - 16: Box:tAim |  | ||||||
| - 17: Box:tTra |  | ||||||
| - 18: Box:sRot |  | ||||||
| - 19: Box:sRck |  | ||||||
| - 20: Box:vAim |  | ||||||
| - 21: Box:vSpd |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## Client->Server (handled in `cClientNetManager`) Packet Types |  | ||||||
| 
 |  | ||||||
| - 00: Player Join |  | ||||||
| 	- u16: NET_GAME_ID (`0xbace`) |  | ||||||
| 	- u16: NET_GAME_VERSION (`0x101`) |  | ||||||
| 	- str: ServerPassword |  | ||||||
| 	- str: PlayerName |  | ||||||
| 	- str: ShipModelName |  | ||||||
| 	- u16: ShipHealth |  | ||||||
| 	- str: PilotModel |  | ||||||
| 	- str\[4]: EngineModels |  | ||||||
| 	- str: Loadout |  | ||||||
| 	- u32: TeamNumber |  | ||||||
| - 06: Player Modify |  | ||||||
| 	- Same as 00: Player Join |  | ||||||
| - 02: Disconnect |  | ||||||
| - 03: Chat String |  | ||||||
| 	- str: ChatString |  | ||||||
| - 04: Usr String |  | ||||||
| 	- str: UsrString |  | ||||||
| - 05: Unk (Keepalive?) |  | ||||||
| - 08: Remote command |  | ||||||
| 	- str: ServerRemotePassword |  | ||||||
| 	- str: Command |  | ||||||
| 
 |  | ||||||
| ## Server->Client (handled in `cServerNetManager`) Packet types |  | ||||||
| 
 | 
 | ||||||
| - 00: MapChange: | - 00: MapChange: | ||||||
|   - str map_name |   - str map_name | ||||||
|   - str game_mode |   - str game_mode | ||||||
| 
 | 
 | ||||||
| - 01: Resource: | - 01: Resource: | ||||||
|   - u16: resource_index |   - u8: unk | ||||||
|   - u16: unk |   - u16?: num_resources | ||||||
|   - str[]: resource_name  |   - [str: resource_name]*num_resources | ||||||
| 
 | 
 | ||||||
| - 02: Unknown (Keepalive?) | - 02: Unknown (Keepalive?) | ||||||
| 
 | 
 | ||||||
| - 03: ChatMessage | - 03: ChatMessage | ||||||
|   - str: ChatStr |   - str: message | ||||||
| 
 | 
 | ||||||
| - 04: UsrString: | - 04: UsrString: | ||||||
|   - str: UsrStr |   - str: data | ||||||
| 
 | 
 | ||||||
| - 05: Player join: | - 05: Player join: | ||||||
|   - u8: player_id |   - u8: player_id | ||||||
|   - str: player_name |   - str: player_name | ||||||
|   - str: ship_model |   - str: ship_model | ||||||
|   - u16: max_health |   - u16: max_health | ||||||
|   - str\[4]: engine_models |   - str[4]: engine_models | ||||||
|   - str: pilot_model |   - str: pilot_model | ||||||
|   - str: loadout |   - str: loadout | ||||||
|   - u32: team_number |   - u32: unknown | ||||||
| 
 | 
 | ||||||
| - 06: unknown | - 06: unknown | ||||||
|   - u8: ent_index |   - u8: ent_index | ||||||
| 
 | 
 | ||||||
| - 07: unknown (restart?) | - 07: unknown (reload?) | ||||||
|  | @ -1,102 +0,0 @@ | ||||||
| `8f19001b041644282d353733362c2034363837322c20323238383329030027007544b3c59018374774c6b24605ae05000009915f3c00065187f70a0004080900008a007e6f00d1fed2fdfe5dffc2f89a006a090000000100000c105f830006f00100070000c8007e4d088cfeafffe2bb000000feff000000000000000009105f980003a1020001050043007e38fecdfec2ff15c30073ff04008a0000000002000000105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c2502151fb785aac5e90a3947ab9db446931389c8046e09ea58455833ec44a4f21ac4ffff00002402151f835da7c5cc113747af38ae46c20f67c8abc43230634572e5c0440d291fc4ffff00002302151fd135b4c5ef1c39472d84b3469b0ebdc4d64f929168458679b344e89597c3ffff00002202151f8876b2c51ead3747dafdad46dc1062c9c1c8b96d5f45ea9ccd448a5a33c4ffff00001f020b0376a8e2475b6e5b467c1e99461e020903982d14c5ec79cb45b2ee96471d020e03b29dbc46caa433464a28a0c71c020603aa80514658b8ab458db025c71b020803ce492f4658b8ab4514d320c71a02070344532f4658b8ab4587cf16c7190205031b3a0d4658b8ab459eaf25c7180206030ac34c4669e1fd469891ca47170208032e8c2a4669e1fd465500cd4716020703a4952a4669e1fd461b02d247150205037b7c084669e1fd460f92ca4714020603da6b7ec714aa3746b77c5a4713020803c87c83c714aa3746305a5f47120207039a7b83c714aa3746bd5d694711020503bfbe87c714aa3746a67d5a4710020803c5c719474ad5d445a7b3d2c60f0206037c5522474ad5d4459a6edcc60e02070323ca19474ad5d4458dacbec60d020503d84311474ad5d445bb6cdcc60c020603a9b16b47d52d974602dd15470b020803f2236347d52d97467bba1a470a02070350266347d52d974608be24470902050305a05a47d52d9746f1dd1547080206031f4066c6384b9c46955bd345070208037e3b84c6384b9c466147fa4506020703c33684c6384b9c46e431254605020503574395c6384b9c461063d34504020603ba349bc77a60294640f387c103020803957b9fc77a602946658f994402020703677a9fc77a60294680006d45010205038cbda3c77a602946807880c1` |  | ||||||
| ``` |  | ||||||
|        00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f |  | ||||||
| 0000   8f 19 00 1b 04 16 44 28 2d 35 37 33 36 2c 20 34   ......D(-5736, 4 |  | ||||||
| 0010   36 38 37 32 2c 20 32 32 38 38 33 29 03 00 27 00   6872, 22883)..'. |  | ||||||
| 0020   75 44 b3 c5 90 18 37 47 74 c6 b2 46 05 ae 05 00   uD....7Gt..F.... |  | ||||||
| 0030   00 09 91 5f 3c 00 06 51 87 f7 0a 00 04 08 09 00   ..._<..Q........ |  | ||||||
| 0040   00 8a 00 7e 6f 00 d1 fe d2 fd fe 5d ff c2 f8 9a   ...~o......].... |  | ||||||
| 0050   00 6a 09 00 00 00 01 00 00 0c 10 5f 83 00 06 f0   .j........._.... |  | ||||||
| 0060   01 00 07 00 00 c8 00 7e 4d 08 8c fe af ff e2 bb   .......~M....... |  | ||||||
| 0070   00 00 00 fe ff 00 00 00 00 00 00 00 00 09 10 5f   ..............._ |  | ||||||
| 0080   98 00 03 a1 02 00 01 05 00 43 00 7e 38 fe cd fe   .........C.~8... |  | ||||||
| 0090   c2 ff 15 c3 00 73 ff 04 00 8a 00 00 00 00 02 00   .....s.......... |  | ||||||
| 00a0   00 00 10 5f 00 00 06 21 e0 00 da f7 b1 f7 3a 00   ..._...!......:. |  | ||||||
| 00b0   00 c8 00 ff 75 44 b3 c5 90 18 37 47 74 c6 b2 46   ....uD....7Gt..F |  | ||||||
| 00c0   97 f5 d7 02 00 00 00 00 00 00 00 00 00 00 00 00   ................ |  | ||||||
| 00d0   00 00 00 00 00 00 00 00 2c 25 02 15 1f b7 85 aa   ........,%...... |  | ||||||
| 00e0   c5 e9 0a 39 47 ab 9d b4 46 93 13 89 c8 04 6e 09   ...9G...F.....n. |  | ||||||
| 00f0   ea 58 45 58 33 ec 44 a4 f2 1a c4 ff ff 00 00 24   .XEX3.D........$ |  | ||||||
| 0100   02 15 1f 83 5d a7 c5 cc 11 37 47 af 38 ae 46 c2   ....]....7G.8.F. |  | ||||||
| 0110   0f 67 c8 ab c4 32 30 63 45 72 e5 c0 44 0d 29 1f   .g...20cEr..D.). |  | ||||||
| 0120   c4 ff ff 00 00 23 02 15 1f d1 35 b4 c5 ef 1c 39   .....#....5....9 |  | ||||||
| 0130   47 2d 84 b3 46 9b 0e bd c4 d6 4f 92 91 68 45 86   G-..F.....O..hE. |  | ||||||
| 0140   79 b3 44 e8 95 97 c3 ff ff 00 00 22 02 15 1f 88   y.D........".... |  | ||||||
| 0150   76 b2 c5 1e ad 37 47 da fd ad 46 dc 10 62 c9 c1   v....7G...F..b.. |  | ||||||
| 0160   c8 b9 6d 5f 45 ea 9c cd 44 8a 5a 33 c4 ff ff 00   ..m_E...D.Z3.... |  | ||||||
| 0170   00 1f 02 0b 03 76 a8 e2 47 5b 6e 5b 46 7c 1e 99   .....v..G[n[F|.. |  | ||||||
| 0180   46 1e 02 09 03 98 2d 14 c5 ec 79 cb 45 b2 ee 96   F.....-...y.E... |  | ||||||
| 0190   47 1d 02 0e 03 b2 9d bc 46 ca a4 33 46 4a 28 a0   G.......F..3FJ(. |  | ||||||
| 01a0   c7 1c 02 06 03 aa 80 51 46 58 b8 ab 45 8d b0 25   .......QFX..E..% |  | ||||||
| 01b0   c7 1b 02 08 03 ce 49 2f 46 58 b8 ab 45 14 d3 20   ......I/FX..E..  |  | ||||||
| 01c0   c7 1a 02 07 03 44 53 2f 46 58 b8 ab 45 87 cf 16   .....DS/FX..E... |  | ||||||
| 01d0   c7 19 02 05 03 1b 3a 0d 46 58 b8 ab 45 9e af 25   ......:.FX..E..% |  | ||||||
| 01e0   c7 18 02 06 03 0a c3 4c 46 69 e1 fd 46 98 91 ca   .......LFi..F... |  | ||||||
| 01f0   47 17 02 08 03 2e 8c 2a 46 69 e1 fd 46 55 00 cd   G......*Fi..FU.. |  | ||||||
| 0200   47 16 02 07 03 a4 95 2a 46 69 e1 fd 46 1b 02 d2   G......*Fi..F... |  | ||||||
| 0210   47 15 02 05 03 7b 7c 08 46 69 e1 fd 46 0f 92 ca   G....{|.Fi..F... |  | ||||||
| 0220   47 14 02 06 03 da 6b 7e c7 14 aa 37 46 b7 7c 5a   G.....k~...7F.|Z |  | ||||||
| 0230   47 13 02 08 03 c8 7c 83 c7 14 aa 37 46 30 5a 5f   G.....|....7F0Z_ |  | ||||||
| 0240   47 12 02 07 03 9a 7b 83 c7 14 aa 37 46 bd 5d 69   G.....{....7F.]i |  | ||||||
| 0250   47 11 02 05 03 bf be 87 c7 14 aa 37 46 a6 7d 5a   G..........7F.}Z |  | ||||||
| 0260   47 10 02 08 03 c5 c7 19 47 4a d5 d4 45 a7 b3 d2   G.......GJ..E... |  | ||||||
| 0270   c6 0f 02 06 03 7c 55 22 47 4a d5 d4 45 9a 6e dc   .....|U"GJ..E.n. |  | ||||||
| 0280   c6 0e 02 07 03 23 ca 19 47 4a d5 d4 45 8d ac be   .....#..GJ..E... |  | ||||||
| 0290   c6 0d 02 05 03 d8 43 11 47 4a d5 d4 45 bb 6c dc   ......C.GJ..E.l. |  | ||||||
| 02a0   c6 0c 02 06 03 a9 b1 6b 47 d5 2d 97 46 02 dd 15   .......kG.-.F... |  | ||||||
| 02b0   47 0b 02 08 03 f2 23 63 47 d5 2d 97 46 7b ba 1a   G.....#cG.-.F{.. |  | ||||||
| 02c0   47 0a 02 07 03 50 26 63 47 d5 2d 97 46 08 be 24   G....P&cG.-.F..$ |  | ||||||
| 02d0   47 09 02 05 03 05 a0 5a 47 d5 2d 97 46 f1 dd 15   G......ZG.-.F... |  | ||||||
| 02e0   47 08 02 06 03 1f 40 66 c6 38 4b 9c 46 95 5b d3   G.....@f.8K.F.[. |  | ||||||
| 02f0   45 07 02 08 03 7e 3b 84 c6 38 4b 9c 46 61 47 fa   E....~;..8K.FaG. |  | ||||||
| 0300   45 06 02 07 03 c3 36 84 c6 38 4b 9c 46 e4 31 25   E.....6..8K.F.1% |  | ||||||
| 0310   46 05 02 05 03 57 43 95 c6 38 4b 9c 46 10 63 d3   F....WC..8K.F.c. |  | ||||||
| 0320   45 04 02 06 03 ba 34 9b c7 7a 60 29 46 40 f3 87   E.....4..z`)F@.. |  | ||||||
| 0330   c1 03 02 08 03 95 7b 9f c7 7a 60 29 46 65 8f 99   ......{..z`)Fe.. |  | ||||||
| 0340   44 02 02 07 03 67 7a 9f c7 7a 60 29 46 80 00 6d   D....gz..z`)F..m |  | ||||||
| 0350   45 01 02 05 03 8c bd a3 c7 7a 60 29 46 80 78 80   E........z`)F.x. |  | ||||||
| 0360   c1                                                . |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| Size: 0837   PlyId: 003   NumVals: 039 |  | ||||||
|   ( 0:'net  5'-00) 09915f3c00065187f70a0004080900008a007e6f00d1fed2fdfe5dffc2f89a006a09000000 |  | ||||||
|   ( 1:'net  1'-00) 0c105f830006f00100070000c8007e4d088cfeafffe2bb000000feff0000000000 |  | ||||||
|   ( 2:'net  0'-00) 09105f980003a1020001050043007e38fecdfec2ff15c30073ff04008a00000000 |  | ||||||
|   ( 3:'net  2'-00) 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c |  | ||||||
|   ( 4:'net549'-15) 1fb785aac5e90a3947ab9db446931389c8046e09ea58455833ec44a4f21ac4ffff0000 |  | ||||||
|   ( 5:'net548'-15) 1f835da7c5cc113747af38ae46c20f67c8abc43230634572e5c0440d291fc4ffff0000 |  | ||||||
|   ( 6:'net547'-15) 1fd135b4c5ef1c39472d84b3469b0ebdc4d64f929168458679b344e89597c3ffff0000 |  | ||||||
|   ( 7:'net546'-15) 1f8876b2c51ead3747dafdad46dc1062c9c1c8b96d5f45ea9ccd448a5a33c4ffff0000 |  | ||||||
|   ( 8:'net543'-0b) 0376a8e2475b6e5b467c1e9946 |  | ||||||
|   ( 9:'net542'-09) 03982d14c5ec79cb45b2ee9647 |  | ||||||
|   (10:'net541'-0e) 03b29dbc46caa433464a28a0c7 |  | ||||||
|   (11:'net540'-06) 03aa80514658b8ab458db025c7 |  | ||||||
|   (12:'net539'-08) 03ce492f4658b8ab4514d320c7 |  | ||||||
|   (13:'net538'-07) 0344532f4658b8ab4587cf16c7 |  | ||||||
|   (14:'net537'-05) 031b3a0d4658b8ab459eaf25c7 |  | ||||||
|   (15:'net536'-06) 030ac34c4669e1fd469891ca47 |  | ||||||
|   (16:'net535'-08) 032e8c2a4669e1fd465500cd47 |  | ||||||
|   (17:'net534'-07) 03a4952a4669e1fd461b02d247 |  | ||||||
|   (18:'net533'-05) 037b7c084669e1fd460f92ca47 |  | ||||||
|   (19:'net532'-06) 03da6b7ec714aa3746b77c5a47 |  | ||||||
|   (20:'net531'-08) 03c87c83c714aa3746305a5f47 |  | ||||||
|   (21:'net530'-07) 039a7b83c714aa3746bd5d6947 |  | ||||||
|   (22:'net529'-05) 03bfbe87c714aa3746a67d5a47 |  | ||||||
|   (23:'net528'-08) 03c5c719474ad5d445a7b3d2c6 |  | ||||||
|   (24:'net527'-06) 037c5522474ad5d4459a6edcc6 |  | ||||||
|   (25:'net526'-07) 0323ca19474ad5d4458dacbec6 |  | ||||||
|   (26:'net525'-05) 03d84311474ad5d445bb6cdcc6 |  | ||||||
|   (27:'net524'-06) 03a9b16b47d52d974602dd1547 |  | ||||||
|   (28:'net523'-08) 03f2236347d52d97467bba1a47 |  | ||||||
|   (29:'net522'-07) 0350266347d52d974608be2447 |  | ||||||
|   (30:'net521'-05) 0305a05a47d52d9746f1dd1547 |  | ||||||
|   (31:'net520'-06) 031f4066c6384b9c46955bd345 |  | ||||||
|   (32:'net519'-08) 037e3b84c6384b9c466147fa45 |  | ||||||
|   (33:'net518'-07) 03c33684c6384b9c46e4312546 |  | ||||||
|   (34:'net517'-05) 03574395c6384b9c461063d345 |  | ||||||
|   (35:'net516'-06) 03ba349bc77a60294640f387c1 |  | ||||||
|   (36:'net515'-08) 03957b9fc77a602946658f9944 |  | ||||||
|   (37:'net514'-07) 03677a9fc77a60294680006d45 |  | ||||||
|   (38:'net513'-05) 038cbda3c77a602946807880c1 |  | ||||||
| ``` |  | ||||||
|  | @ -7,7 +7,7 @@ struct Header { | ||||||
|     uint32_t number_of_files; |     uint32_t number_of_files; | ||||||
|     struct File { |     struct File { | ||||||
|         uint32_t path_length; |         uint32_t path_length; | ||||||
|         char path[path_length]; // latin1 encoding |         char path[]; // latin1 encoding | ||||||
|         uint32_t data_size; |         uint32_t data_size; | ||||||
|         uint32_t data_offset; // offset includes header size so it can be used directly in a seek() call |         uint32_t data_offset; // offset includes header size so it can be used directly in a seek() call | ||||||
|     } files[]; |     } files[]; | ||||||
|  |  | ||||||
|  | @ -8,7 +8,6 @@ | ||||||
|     - [Netplay](Netplay.md) |     - [Netplay](Netplay.md) | ||||||
|     - [Python API](./Python_API.md) |     - [Python API](./Python_API.md) | ||||||
|       - [Modules](./Python_Modules.md) |       - [Modules](./Python_Modules.md) | ||||||
|       - [Callbacks](./Callbacks.md) |  | ||||||
|     - [File Formats](./File_Formats.md) |     - [File Formats](./File_Formats.md) | ||||||
|       - [Chunked Formats](./Chunked.md) |       - [Chunked Formats](./Chunked.md) | ||||||
|       - [Packed](./Packed.md) |       - [Packed](./Packed.md) | ||||||
|  |  | ||||||
|  | @ -1,557 +0,0 @@ | ||||||
| 
 |  | ||||||
| ## Inheritance |  | ||||||
| 
 |  | ||||||
| (Shoutout to Strongleong for providing a script the grab this data from Ghidra!) |  | ||||||
| 
 |  | ||||||
| ```mermaid |  | ||||||
| classDiagram |  | ||||||
|     ScorerItem <|-- CannonScorer |  | ||||||
|     ScorerItem <|-- SpriteScorer |  | ||||||
|     ScorerItem <|-- AbstractTextScorer |  | ||||||
|     SpriteScorer <|-- BarScorer |  | ||||||
|     SpriteScorer <|-- ButtonScorer |  | ||||||
|     ScorerItem <|-- ChatScorer |  | ||||||
|     ScorerItem <|-- CircuitScorer |  | ||||||
|     ScorerItem <|-- CopMeterScorer |  | ||||||
|     AbstractTextScorer <|-- CreditsScorer |  | ||||||
|     SpriteScorer <|-- GradientScorer |  | ||||||
|     SpriteScorer <|-- HangarShipScorer |  | ||||||
|     ScorerItem <|-- HeadScorer |  | ||||||
|     AbstractTextScorer <|-- HintScorer |  | ||||||
|     AbstractTextScorer <|-- LabelScorer |  | ||||||
|     SpriteScorer <|-- MissionScorer |  | ||||||
|     ScorerItem <|-- MonitorScorer |  | ||||||
|     AbstractTextScorer <|-- MsgScorer |  | ||||||
|     ScorerItem <|-- NetStatsScorer |  | ||||||
|     ScorerItem <|-- RadarScorer |  | ||||||
|     ScorerItem <|-- ScraplandMainMenuScorer |  | ||||||
|     ScorerItem <|-- ScraplandSubMenuScorer |  | ||||||
|     ScorerItem <|-- SliderScorer |  | ||||||
|     ScorerItem <|-- SpecialActionScorer |  | ||||||
|     ScorerItem <|-- StatusScorer |  | ||||||
|     ScorerItem <|-- TabScorer |  | ||||||
|     ScorerItem <|-- TalkScorer |  | ||||||
|     ScorerItem <|-- TargetScorer |  | ||||||
|     AbstractTextScorer <|-- TextScorer |  | ||||||
|     TextScorer <|-- TextTypingScorer |  | ||||||
|     AbstractTextScorer <|-- TimerScorer |  | ||||||
|     ScorerItem <|-- WaypointScorer |  | ||||||
|     ScorerItem <|-- WeaponScorer |  | ||||||
|     ScorerItem <|-- WindFxScorer |  | ||||||
|     class AbstractTextScorer { |  | ||||||
|        Align |  | ||||||
|        Alpha |  | ||||||
|        Blue |  | ||||||
|        CentralText |  | ||||||
|        Effect |  | ||||||
|        Font |  | ||||||
|        GetExtens |  | ||||||
|        Green |  | ||||||
|        Red |  | ||||||
|        Text |  | ||||||
|     } |  | ||||||
|     class BarScorer { |  | ||||||
|        AutoUpdateSpeedFactor |  | ||||||
|        AutoUpdateStopValue |  | ||||||
|        BackAlpha |  | ||||||
|        BackBlue |  | ||||||
|        BackGreen |  | ||||||
|        BackIndex |  | ||||||
|        BackRed |  | ||||||
|        BlackAlpha |  | ||||||
|        BlackBarIndex |  | ||||||
|        BlackBlue |  | ||||||
|        BlackGreen |  | ||||||
|        BlackRed |  | ||||||
|        Blink |  | ||||||
|        IsAutoUpdatable |  | ||||||
|        MainAlpha |  | ||||||
|        MainBarIndex |  | ||||||
|        MainBlue |  | ||||||
|        MainGreen |  | ||||||
|        MainRed |  | ||||||
|        MaxValue |  | ||||||
|        Value |  | ||||||
|     } |  | ||||||
|     class ButtonScorer { |  | ||||||
|        BorderColorBlue |  | ||||||
|        BorderColorGreen |  | ||||||
|        BorderColorRed |  | ||||||
|        BorderSpriteIndex |  | ||||||
|        Complex |  | ||||||
|        File |  | ||||||
|        FocusSpriteIndex |  | ||||||
|        Font |  | ||||||
|        ForceHeight |  | ||||||
|        ForceWidth |  | ||||||
|        Glow |  | ||||||
|        HighLightBlendingMode |  | ||||||
|        HighLightColorBlue |  | ||||||
|        HighLightColorGreen |  | ||||||
|        HighLightColorRed |  | ||||||
|        Highlight |  | ||||||
|        HighlightOffset |  | ||||||
|        IsNameValuePair |  | ||||||
|        Marker |  | ||||||
|        MarkerOffset |  | ||||||
|        MaxLineSize |  | ||||||
|        MaxX |  | ||||||
|        MinX |  | ||||||
|        RenderAlphaChannel |  | ||||||
|        ScaleSmoothHeight |  | ||||||
|        ScaleSmoothTime |  | ||||||
|        ScaleSmoothWidth |  | ||||||
|        SizeX |  | ||||||
|        SizeY |  | ||||||
|        Text |  | ||||||
|        TextAlign |  | ||||||
|        TextColorAlpha |  | ||||||
|        TextColorBlue |  | ||||||
|        TextColorGreen |  | ||||||
|        TextColorRed |  | ||||||
|        XAlignCenter |  | ||||||
|        XAlignLeft |  | ||||||
|        XAlignRight |  | ||||||
|     } |  | ||||||
|     class CannonScorer { |  | ||||||
|        AimAc |  | ||||||
|        AimIndex |  | ||||||
|        CrossHairIndex |  | ||||||
|        Sprite |  | ||||||
|     } |  | ||||||
|     class ChatScorer { |  | ||||||
|        NumMsg |  | ||||||
|     } |  | ||||||
|     class CircuitScorer { |  | ||||||
|        AlphaCircuit |  | ||||||
|        AlphaFlare |  | ||||||
|        BlendingMode |  | ||||||
|        FileCircuit |  | ||||||
|        FileFlare |  | ||||||
|        HighRes |  | ||||||
|        ScaleX |  | ||||||
|        ScaleY |  | ||||||
|     } |  | ||||||
|     class CopMeterScorer { |  | ||||||
|        BackIndex |  | ||||||
|        BackOffX |  | ||||||
|        BackOffY |  | ||||||
|        BarIndex |  | ||||||
|        BarOffX |  | ||||||
|        BarOffY |  | ||||||
|        LightIndex |  | ||||||
|        LightOffX |  | ||||||
|        LightOffY |  | ||||||
|        Percent |  | ||||||
|        Sprite |  | ||||||
|        Target |  | ||||||
|     } |  | ||||||
|     class CreditsScorer { |  | ||||||
|        FadeIn |  | ||||||
|        FadeOut |  | ||||||
|        Life |  | ||||||
|        Time |  | ||||||
|     } |  | ||||||
|     class GradientScorer { |  | ||||||
|        Alpha |  | ||||||
|        Blue |  | ||||||
|        ColorSelected |  | ||||||
|        Green |  | ||||||
|        Red |  | ||||||
|     } |  | ||||||
|     class HangarShipScorer { |  | ||||||
|        CamDist |  | ||||||
|        CamFov |  | ||||||
|        GridColorAlpha |  | ||||||
|        GridColorBlue |  | ||||||
|        GridColorGreen |  | ||||||
|        GridColorRed |  | ||||||
|        GridSpriteIndex |  | ||||||
|        TargetName |  | ||||||
|     } |  | ||||||
|     class HeadScorer { |  | ||||||
|        HeadAnimIndex |  | ||||||
|        HeadModel |  | ||||||
|        VH |  | ||||||
|        VW |  | ||||||
|     } |  | ||||||
|     class HintScorer { |  | ||||||
|        TabAlpha |  | ||||||
|        TabBlendingMode |  | ||||||
|        TabBlue |  | ||||||
|        TabGreen |  | ||||||
|        TabRed |  | ||||||
|        TabSprite |  | ||||||
|        TabSpriteIndex |  | ||||||
|     } |  | ||||||
|     class LabelScorer { |  | ||||||
|        TabAlpha |  | ||||||
|        TabBlendingMode |  | ||||||
|        TabBlue |  | ||||||
|        TabGreen |  | ||||||
|        TabRed |  | ||||||
|        TabSprite |  | ||||||
|        TabSpriteIndex |  | ||||||
|     } |  | ||||||
|     class MissionScorer { |  | ||||||
|     } |  | ||||||
|     class MonitorScorer { |  | ||||||
|        BigFont |  | ||||||
|        CanPossessGlowIndex |  | ||||||
|        CanPossessIndex |  | ||||||
|        FrameIndex |  | ||||||
|        FrameSprite |  | ||||||
|        HeadAnimIndex |  | ||||||
|        HeadModel |  | ||||||
|        MaskIndex |  | ||||||
|        MaskSprite |  | ||||||
|        Noise |  | ||||||
|        NoiseSprite |  | ||||||
|        ObjetiveBlackIndex |  | ||||||
|        ObjetiveChargeIndex |  | ||||||
|        ObjetiveIndex |  | ||||||
|        ObjetiveSprite |  | ||||||
|        ObjetiveWhiteIndex |  | ||||||
|        PanelIndex |  | ||||||
|        PanelSprite |  | ||||||
|        SmallFont |  | ||||||
|        StaticIndex |  | ||||||
|        StaticSprite |  | ||||||
|        TargetView |  | ||||||
|        Text |  | ||||||
|        UpgradeIconAc |  | ||||||
|        UpgradeIconIndex |  | ||||||
|        WeaponIconAc |  | ||||||
|        WeaponIconIndex |  | ||||||
|        WeaponIconScale |  | ||||||
|        WeaponOffX |  | ||||||
|        WeaponOffY |  | ||||||
|        WeaponSprite |  | ||||||
|     } |  | ||||||
|     class MsgScorer { |  | ||||||
|     } |  | ||||||
|     class NetStatsScorer { |  | ||||||
|     } |  | ||||||
|     class RadarScorer { |  | ||||||
|        IconAc |  | ||||||
|        IconIndex |  | ||||||
|        IconsSprite |  | ||||||
|        Map2dScale |  | ||||||
|        Map2dScaleFactor |  | ||||||
|        MaskIndex |  | ||||||
|        MaskSprite |  | ||||||
|        MenuMap |  | ||||||
|        MenuMaxScale |  | ||||||
|        MenuMinScale |  | ||||||
|        MenuScaleSpeed |  | ||||||
|        NoiseSprite |  | ||||||
|        OutAlphaFactor |  | ||||||
|        RadarIndex |  | ||||||
|        RadarSprite |  | ||||||
|     } |  | ||||||
|     class ScorerItem { |  | ||||||
|        DelMe |  | ||||||
|        Down |  | ||||||
|        FocusPivotX |  | ||||||
|        FocusPivotY |  | ||||||
|        H |  | ||||||
|        Hint |  | ||||||
|        Left |  | ||||||
|        MaxHintLineWidth |  | ||||||
|        MultiPress |  | ||||||
|        Name |  | ||||||
|        OnAccept |  | ||||||
|        OnDelete |  | ||||||
|        OnGainFocus |  | ||||||
|        OnLooseFocus |  | ||||||
|        OnRender |  | ||||||
|        Right |  | ||||||
|        Up |  | ||||||
|        Visible |  | ||||||
|        W |  | ||||||
|        X |  | ||||||
|        Y |  | ||||||
|     } |  | ||||||
|     class ScraplandMainMenuScorer { |  | ||||||
|        FileGlow |  | ||||||
|        FileLighting |  | ||||||
|        FileLogo |  | ||||||
|        FileNeon |  | ||||||
|        HighRes |  | ||||||
|     } |  | ||||||
|     class ScraplandSubMenuScorer { |  | ||||||
|        FileGlow |  | ||||||
|        FileLighting |  | ||||||
|        FileLogo |  | ||||||
|        FileRingBorder |  | ||||||
|        FileRingMask |  | ||||||
|        FileRingReflection |  | ||||||
|        HighRes |  | ||||||
|        Scale |  | ||||||
|     } |  | ||||||
|     class SliderScorer { |  | ||||||
|        Alpha |  | ||||||
|        BackSpriteIndex |  | ||||||
|        BlendingMode |  | ||||||
|        Blue |  | ||||||
|        File |  | ||||||
|        FocusSpriteIndex |  | ||||||
|        Green |  | ||||||
|        HighRes |  | ||||||
|        MarginSize |  | ||||||
|        MaxValue |  | ||||||
|        MaxValueForced |  | ||||||
|        MinValue |  | ||||||
|        OnChange |  | ||||||
|        Red |  | ||||||
|        SliderSpriteIndex |  | ||||||
|        Unit |  | ||||||
|        Value |  | ||||||
|        ValueStep |  | ||||||
|     } |  | ||||||
|     class SpecialActionScorer { |  | ||||||
|        ActiveColorAlpha |  | ||||||
|        ActiveColorBlue |  | ||||||
|        ActiveColorGreen |  | ||||||
|        ActiveColorRed |  | ||||||
|        BackIndex |  | ||||||
|        BackOffX |  | ||||||
|        BackOffY |  | ||||||
|        BatteryBarIndex |  | ||||||
|        BatteryBarOffX |  | ||||||
|        BatteryBarOffY |  | ||||||
|        CannonIndex |  | ||||||
|        CannonSprite |  | ||||||
|        CharAction |  | ||||||
|        CrossHairIndex |  | ||||||
|        EnergyBackIndex |  | ||||||
|        EnergyBackOffX |  | ||||||
|        EnergyBackOffY |  | ||||||
|        EnergyBarIndex |  | ||||||
|        EnergyBarOffX |  | ||||||
|        EnergyBarOffY |  | ||||||
|        GlowColorAlpha |  | ||||||
|        GlowColorBlue |  | ||||||
|        GlowColorGreen |  | ||||||
|        GlowColorRed |  | ||||||
|        GlowIconIndex |  | ||||||
|        IconIndex |  | ||||||
|        IconIndexSprite0 |  | ||||||
|        IconOffX |  | ||||||
|        IconOffY |  | ||||||
|        IconSprite1 |  | ||||||
|        IconSprite2 |  | ||||||
|        InactiveColorAlpha |  | ||||||
|        InactiveColorBlue |  | ||||||
|        InactiveColorGreen |  | ||||||
|        InactiveColorRed |  | ||||||
|        Sprite |  | ||||||
|        TextColorAlpha |  | ||||||
|        TextColorBlue |  | ||||||
|        TextColorGreen |  | ||||||
|        TextColorRed |  | ||||||
|        TextFont |  | ||||||
|        TextOffX |  | ||||||
|        TextOffY |  | ||||||
|     } |  | ||||||
|     class SpriteScorer { |  | ||||||
|        Alpha |  | ||||||
|        BlendingMode |  | ||||||
|        Blue |  | ||||||
|        Discardable |  | ||||||
|        File |  | ||||||
|        FixPosition |  | ||||||
|        Green |  | ||||||
|        HighRes |  | ||||||
|        IsMultiSprite |  | ||||||
|        JumpFX |  | ||||||
|        Mirror |  | ||||||
|        PivotX |  | ||||||
|        PivotY |  | ||||||
|        Red |  | ||||||
|        Rotate |  | ||||||
|        ScaleX |  | ||||||
|        ScaleY |  | ||||||
|        SpriteIndex |  | ||||||
|        Unit |  | ||||||
|     } |  | ||||||
|     class StatusScorer { |  | ||||||
|        BackIndex |  | ||||||
|        BackOffX |  | ||||||
|        BackOffY |  | ||||||
|        BoostIconIndex |  | ||||||
|        BoostOffX |  | ||||||
|        BoostOffY |  | ||||||
|        BoostOnRender |  | ||||||
|        BoostRemaining |  | ||||||
|        BoostStatus |  | ||||||
|        BoostTurboIndex |  | ||||||
|        FlagOffX |  | ||||||
|        FlagOffY |  | ||||||
|        FontBackIndex |  | ||||||
|        FontBackOffX |  | ||||||
|        FontBackOffY |  | ||||||
|        HullIconIndex |  | ||||||
|        HullIconOffX |  | ||||||
|        HullIconOffY |  | ||||||
|        LifeFont |  | ||||||
|        LifeIconIndex |  | ||||||
|        LifeIconOffX |  | ||||||
|        LifeIconOffY |  | ||||||
|        LifeTextAlpha |  | ||||||
|        LifeTextBlue |  | ||||||
|        LifeTextGreen |  | ||||||
|        LifeTextOffX |  | ||||||
|        LifeTextOffY |  | ||||||
|        LifeTextRed |  | ||||||
|        LivesBackIndex |  | ||||||
|        LivesBackOffX |  | ||||||
|        LivesBackOffY |  | ||||||
|        LivesFont |  | ||||||
|        LivesTextAlpha |  | ||||||
|        LivesTextBlue |  | ||||||
|        LivesTextGreen |  | ||||||
|        LivesTextOffX |  | ||||||
|        LivesTextOffY |  | ||||||
|        LivesTextRed |  | ||||||
|        MoneyBackIndex |  | ||||||
|        MoneyBackOffX |  | ||||||
|        MoneyBackOffY |  | ||||||
|        MoneyFont |  | ||||||
|        MoneyIconIndex |  | ||||||
|        MoneyIconOffX |  | ||||||
|        MoneyIconOffY |  | ||||||
|        MoneyTextAlpha |  | ||||||
|        MoneyTextBlue |  | ||||||
|        MoneyTextGreen |  | ||||||
|        MoneyTextOffX |  | ||||||
|        MoneyTextOffY |  | ||||||
|        MoneyTextRed |  | ||||||
|        Sprite |  | ||||||
|        SpriteFlag |  | ||||||
|     } |  | ||||||
|     class TabScorer { |  | ||||||
|        Alpha |  | ||||||
|        BlendingMode |  | ||||||
|        Blue |  | ||||||
|        File |  | ||||||
|        Filled |  | ||||||
|        Green |  | ||||||
|        HighRes |  | ||||||
|        Red |  | ||||||
|        ScaleX |  | ||||||
|        ScaleY |  | ||||||
|        SizeTabQuad |  | ||||||
|        SizeX |  | ||||||
|        SizeY |  | ||||||
|        TabEnd |  | ||||||
|        TabInit |  | ||||||
|        TabMax |  | ||||||
|        TabSpriteIndex |  | ||||||
|        Type |  | ||||||
|        Unit |  | ||||||
|     } |  | ||||||
|     class TalkScorer { |  | ||||||
|        NextBackIndex |  | ||||||
|        NextIndex |  | ||||||
|        Sprite |  | ||||||
|        TabAlpha |  | ||||||
|        TabBlendingMode |  | ||||||
|        TabBlue |  | ||||||
|        TabGreen |  | ||||||
|        TabRed |  | ||||||
|        TabSprite |  | ||||||
|        TabSpriteIndex |  | ||||||
|        TabVisible |  | ||||||
|        UseIndex |  | ||||||
|     } |  | ||||||
|     class TargetScorer { |  | ||||||
|        EnemyFireIndex |  | ||||||
|        Sprite |  | ||||||
|        TargetArrowIndex |  | ||||||
|        TargetRectIndex |  | ||||||
|     } |  | ||||||
|     class TextScorer { |  | ||||||
|        CenterEdit |  | ||||||
|        EditHint |  | ||||||
|        IsNumeric |  | ||||||
|        MaxInput |  | ||||||
|     } |  | ||||||
|     class TextTypingScorer { |  | ||||||
|        CursorAtEnd |  | ||||||
|        CursorAtInit |  | ||||||
|        TypingSound |  | ||||||
|        TypingSpeed |  | ||||||
|        TypingTime |  | ||||||
|     } |  | ||||||
|     class TimerScorer { |  | ||||||
|        OnTimeExpired |  | ||||||
|        OnTimeWarning |  | ||||||
|        TimerType |  | ||||||
|     } |  | ||||||
|     class WaypointScorer { |  | ||||||
|        Sprite |  | ||||||
|        WaypointArrowIndex |  | ||||||
|        WaypointDotIndex |  | ||||||
|        WaypointRectIndex |  | ||||||
|     } |  | ||||||
|     class WeaponScorer { |  | ||||||
|        AmmoBackIndex |  | ||||||
|        AmmoBackOffX |  | ||||||
|        AmmoBackOffY |  | ||||||
|        AmmoBarAlpha |  | ||||||
|        AmmoBarBlue |  | ||||||
|        AmmoBarGreen |  | ||||||
|        AmmoBarIndex |  | ||||||
|        AmmoBarOffX |  | ||||||
|        AmmoBarOffY |  | ||||||
|        AmmoBarRed |  | ||||||
|        AmmoFont |  | ||||||
|        AmmoIconAc |  | ||||||
|        AmmoIconIndex |  | ||||||
|        AmmoIconOffX |  | ||||||
|        AmmoIconOffY |  | ||||||
|        AmmoTextAlpha |  | ||||||
|        AmmoTextBlue |  | ||||||
|        AmmoTextGreen |  | ||||||
|        AmmoTextOffX |  | ||||||
|        AmmoTextOffY |  | ||||||
|        AmmoTextRed |  | ||||||
|        BackIndex |  | ||||||
|        BackOffX |  | ||||||
|        BackOffY |  | ||||||
|        FontBackIndex |  | ||||||
|        FontBackOffX |  | ||||||
|        FontBackOffY |  | ||||||
|        SlotsIndex0 |  | ||||||
|        SlotsIndex1 |  | ||||||
|        SlotsOffX |  | ||||||
|        SlotsOffY |  | ||||||
|        Sprite |  | ||||||
|        TabAlpha |  | ||||||
|        TabBlendingMode |  | ||||||
|        TabBlue |  | ||||||
|        TabGreen |  | ||||||
|        TabRed |  | ||||||
|        TabSprite |  | ||||||
|        TabSpriteIndex |  | ||||||
|        UpgradeBarAlpha |  | ||||||
|        UpgradeBarBlue |  | ||||||
|        UpgradeBarGreen |  | ||||||
|        UpgradeBarIndex |  | ||||||
|        UpgradeBarOffX |  | ||||||
|        UpgradeBarOffY |  | ||||||
|        UpgradeBarRed |  | ||||||
|        UpgradeIconAc |  | ||||||
|        UpgradeIconIndex |  | ||||||
|        WeaponIconAc |  | ||||||
|        WeaponIconIndex |  | ||||||
|        WeaponIconOffX |  | ||||||
|        WeaponIconOffY |  | ||||||
|        WeaponIconShadowOffX |  | ||||||
|        WeaponIconShadowOffY |  | ||||||
|        Weapons3DSprite |  | ||||||
|     } |  | ||||||
|     class WindFxScorer { |  | ||||||
|     } |  | ||||||
| ``` |  | ||||||
|  | @ -70,21 +70,6 @@ Checked in `0x00401180` | ||||||
|   * `idiota` |   * `idiota` | ||||||
|   * `capullo` |   * `capullo` | ||||||
| 
 | 
 | ||||||
| ## Keyboard Shortcuts |  | ||||||
| 
 |  | ||||||
| Resource ID 200 (0xc8) |  | ||||||
| 
 |  | ||||||
| Shift+Esc: Exit game |  | ||||||
| Ctrl+Alt+Shift+F10: Change graphics device |  | ||||||
| Ctrl+F11: Focus Console Window |  | ||||||
| F10: Pause game |  | ||||||
| F12: Nothing? |  | ||||||
| Ctrl+F12: Show FPS |  | ||||||
| Ctrl+Alt+Shift+F7: Wireframe |  | ||||||
| Ctrl+Alt+Shift+F8: Texture Filtering Mode |  | ||||||
| Ctrl+Alt+Shift+F9: Cycle Rendering Info |  | ||||||
| Ctrl+Alt+Shift+Enter: Toggle fullscreen |  | ||||||
| 
 |  | ||||||
| ## Window Messages | ## Window Messages | ||||||
| 
 | 
 | ||||||
| **TODO** | **TODO** | ||||||
|  |  | ||||||
|  | @ -1,4 +0,0 @@ | ||||||
| 
 |  | ||||||
| - `Scrap.RunApp("C:/WINDOWS/System32/WindowsPowerShell/v1.0/powershell.EXE",'-NoProfile -ExecutionPolicy Unrestricted -Command "dir | out-file pwned.txt"')` |  | ||||||
| - `SNet.SendUsrString(<id>,"T<PythonCode>"` |  | ||||||
| - `Scrap.SetSaveVar("GameplayTime","<pythoncode>")` |  | ||||||
							
								
								
									
										5175
									
								
								classes.svg
									
										
									
									
									
								
							
							
						
						
									
										5175
									
								
								classes.svg
									
										
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| Before Width: | Height: | Size: 566 KiB | 
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue