forked from ReScrap/Notes
Compare commits
10 Commits
Author | SHA1 | Date |
---|---|---|
Daniel S. | 137ed47256 | |
Daniel S. | f36a61da78 | |
Daniel S. | 25fef21c58 | |
Daniel S. | 4c606da971 | |
Daniel S. | 345278cb9a | |
Daniel S. | 1e6199b358 | |
Daniel S. | e9c65b4ddf | |
Daniel S. | f56161041a | |
Daniel S. | 5e1726f9c6 | |
Daniel S. | 2a3436be05 |
|
@ -0,0 +1 @@
|
|||
title="Scrapland"
|
|
@ -0,0 +1,386 @@
|
|||
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
|
||||
|
||||
File ID | Chunk IDs
|
||||
------- | ------------------------------------------------------------------------------
|
||||
AMC | AMC, CMSH, QUAD
|
||||
CM3 | ANI, CM3, EVA, NAE, NAM, SCN
|
||||
DUM | DUM, INI
|
||||
EMI | EMI, LFVF, MAP, MAT, TRI
|
||||
SM3 | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL
|
||||
| File ID | Chunk IDs |
|
||||
| ------- | ------------------------------------------------------------------------------ |
|
||||
| AMC | AMC, CMSH, QUAD |
|
||||
| CM3 | ANI, CM3, EVA, NAE, NAM, SCN |
|
||||
| DUM | DUM, INI |
|
||||
| EMI | EMI, LFVF, MAP, MAT, TRI |
|
||||
| SM3 | ANI, CAM, INI, LFVF, LUZ, MAP, MAT, MD3D, NAE, NAM, PORT, SCN, SM3, SPR3, SUEL |
|
||||
|
||||
Read types:
|
||||
|
||||
|
@ -36,26 +36,28 @@ Read types:
|
|||
- `3f`: array of 3 4-byte floats
|
||||
- `3i`: array of 3 4-byte unsigned integers
|
||||
|
||||
Chunk ID | Description | Reads
|
||||
-------- | --------------------------- | ------------------------
|
||||
AMC | Collision Data |
|
||||
ANI | Animation data? |
|
||||
CAM | Camera info? |
|
||||
CMSH | Collision Mesh Data |
|
||||
DUM | Dummy (map object) data |
|
||||
INI | INI-Configuration data |
|
||||
LFVF | FVF Vertex Data |
|
||||
LUZ | Lighting information |
|
||||
MAP | UV Map? |
|
||||
MAT | Material information |
|
||||
NAE | Animation Data? |
|
||||
NAM | Animation Data? |
|
||||
PORT | Map portals? | i==1, i, i, 4, 4
|
||||
QUAD | Mesh data? |
|
||||
SCN | Scene data? |
|
||||
SUEL | Ground plane? | 0x18, 0xc, 4, 4, 4, 0x18
|
||||
TRI | Triangle strip definitions? |
|
||||
MD3D | 3D Model definition? |
|
||||
| Chunk ID | Description | Reads |
|
||||
| -------- | --------------------------- | ------------------------ |
|
||||
| AMC | Collision Data |
|
||||
| ANI | Animation data? |
|
||||
| CAM | Camera info? |
|
||||
| CMSH | Collision Mesh Data |
|
||||
| EVA | Vertex animation data |
|
||||
| DUM | Dummy (map object) data |
|
||||
| INI | INI-Configuration data |
|
||||
| LFVF | FVF Vertex Data |
|
||||
| LUZ | Lighting information |
|
||||
| MAP | Lightmap |
|
||||
| MAT | Material information |
|
||||
| NAE | Animation Data? |
|
||||
| NAM | Animation Data? |
|
||||
| PORT | Map portals | `i==1, i, i, 4, 4`
|
||||
| QUAD | Mesh data? |
|
||||
| SCN | Scene tree data |
|
||||
| SUEL | Ground Plane? | 0x18, 0xc, 4, 4, 4, 0x18
|
||||
| TRI | Triangle Mesh |
|
||||
| MD3D | 3D Model definition |
|
||||
| EMI | Level geometry |
|
||||
|
||||
# Format of Specific chunks
|
||||
|
||||
|
@ -76,7 +78,6 @@ struct INI {
|
|||
};
|
||||
```
|
||||
|
||||
|
||||
## LFVF
|
||||
|
||||
DirectX Flexible Vertex Format Data
|
||||
|
@ -84,7 +85,7 @@ DirectX Flexible Vertex Format Data
|
|||
```cpp
|
||||
struct Vertex { // fields according to flags
|
||||
float position[3]; // D3DFVF_XYZ | D3DFVF_XYZRHW | D3DFVF_XYZB*
|
||||
float rhw; // D3DFVF_XYZRHW
|
||||
// float rhw; // unused even with D3DFVF_XYZRHW
|
||||
float weights[3]; // D3DFVF_XYZB*
|
||||
float normal[3]; // D3DFVF_NORMAL
|
||||
float point_size; // D3DFVF_PSIZE
|
||||
|
@ -94,7 +95,7 @@ struct Vertex { // fields according to flags
|
|||
};
|
||||
|
||||
struct LFVF {
|
||||
uint32_t unk;
|
||||
uint32_t version;
|
||||
uint32_t num_entries;
|
||||
struct {
|
||||
uint32_t FVF; // FVF vertex data configuration
|
||||
|
@ -137,4 +138,107 @@ struct MAP {
|
|||
char tex_name[tex_name_len];
|
||||
// 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
|
||||
```
|
23
Classes.md
23
Classes.md
|
@ -31,21 +31,22 @@
|
|||
|
||||
## Class Inheritance
|
||||
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
World
|
||||
ActionClassList
|
||||
SaveVar
|
||||
App --> Window
|
||||
Cam --> CamPath
|
||||
Entity --> Cam
|
||||
Cam --> FCam
|
||||
Entity --> Obj
|
||||
Obj --> item
|
||||
Obj --> WithLife
|
||||
WithLife --> Car
|
||||
WithLife --> WalkChar
|
||||
WithLife --> Missile
|
||||
Window --> App
|
||||
CamPath --> Cam
|
||||
Cam --> Entity
|
||||
FCam --> Cam
|
||||
Obj --> Entity
|
||||
item --> Obj
|
||||
WithLife --> Obj
|
||||
Car --> WithLife
|
||||
WalkChar --> WithLife
|
||||
Missile --> WithLife
|
||||
```
|
||||
|
||||
# Attributes (VMT index 16,17,18 for accessor functions)
|
||||
|
@ -127,4 +128,4 @@ graph LR
|
|||
- ArriOpt
|
||||
- UseAngSel
|
||||
- UseMapCheck
|
||||
- UseAbsAngSel
|
||||
- UseAbsAngSel
|
2
File.md
2
File.md
|
@ -8,7 +8,7 @@
|
|||
.sm3 | 3d model file | y
|
||||
.dum | Dummy (map object) file | y
|
||||
.pth | AI Path | n
|
||||
.emi | Emission maps/Materials? | y
|
||||
.emi | Level geometry | y
|
||||
.amc | Collision Data | y
|
||||
.ini | Configuration | n
|
||||
.txa | Texture Animation Config | n
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# MultiSpriteTable
|
||||
|
||||
```cpp
|
||||
struct Tile {
|
||||
|
|
|
@ -1,25 +1,40 @@
|
|||
# Encryption (v1.1)
|
||||
# Encryption (v1.1)
|
||||
|
||||
Fixed Key: `020406080a0c0e10121416181a1c1e20222426282a2c2e30323436383a3c3e40`
|
||||
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
|
||||
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<
|
||||
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.)
|
||||
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....
|
||||
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 ........\.......
|
||||
|
||||
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:
|
||||
```
|
||||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
||||
|
|
|
@ -37,10 +37,10 @@ Hexdump:
|
|||
0110 00 14 00 9E FF F6 E8 C8 9F 08 22 FC 8F F3 FF FF ..........".....
|
||||
```
|
||||
|
||||
Split up into chunks:
|
||||
Split up into parts:
|
||||
|
||||
```
|
||||
0f 00 0002 0007 00 7544b3c5 90183747 74c6b246 0098
|
||||
0f00 0002 0007 00 7544b3c5 90183747 74c6b246 0098
|
||||
|
||||
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
||||
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
||||
|
@ -67,16 +67,16 @@ Size: 0285 PlyId: 002 NumVals: 007
|
|||
Structure:
|
||||
|
||||
```
|
||||
|
||||
0f00 # Unk
|
||||
0f00 # Unk (TypeID?)
|
||||
0002 # PlayerID
|
||||
0007 # Num Vals
|
||||
00 # Unk
|
||||
00 # Unk (Flags?)
|
||||
7544b3c5 # Pos.X
|
||||
90183747 # Pos.Y
|
||||
74c6b246 # Pos.Z
|
||||
00 # Player Index
|
||||
98 # Rtt
|
||||
# Ent_ID, Ent_Type, Data
|
||||
0500 00 09955f3c000671340281062c090900001d007f5e0e22c6ddf52247cce2b64655163b8c8e0b4a272f44e7afc745ef913546000000000000
|
||||
0000 00 08155f8300035186005100e9fb08050040007e5700ffff6301000010ff2365f96e1e000000
|
||||
0200 00 00105f00000621e000daf7b1f73a0000c800ff7544b3c59018374774c6b24697f5d70200000000000000000000000000000000000000002c
|
||||
|
@ -84,7 +84,6 @@ Structure:
|
|||
2402 15 9e7f005800b5ff20f1f01904210bd5f5ffff
|
||||
2302 15 9f4a6cd1c44625314792e5b04614cb45d6da5c26aa4e44a2ca72c5cdb4edc3ffff
|
||||
2202 15 9e7e0014009efff6e8c89f0822fc8ff3ffff
|
||||
|
||||
```
|
||||
|
||||
```c
|
||||
|
@ -93,7 +92,7 @@ Structure:
|
|||
struct NetValue {
|
||||
le u16 entity_index;
|
||||
u8 entity_type;
|
||||
char data[?]; // TODO: how is length determined?
|
||||
char data[?]; // variable length
|
||||
};
|
||||
|
||||
struct NetData {
|
||||
|
@ -111,36 +110,86 @@ struct NetData {
|
|||
|
||||
Packets are split into Data packets (map change, resources, chat message, etc) and entity (position?) updates
|
||||
|
||||
## Packet types
|
||||
## Entity 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
|
||||
|
||||
- 00: MapChange:
|
||||
|
||||
## 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: Map Change:
|
||||
- str map_name
|
||||
- str game_mode
|
||||
|
||||
- 01: Resource:
|
||||
- u8: unk
|
||||
- u16?: num_resources
|
||||
- [str: resource_name]*num_resources
|
||||
- u16: resource_index
|
||||
- u16: unk
|
||||
- str[]: resource_name
|
||||
|
||||
- 02: Unknown (Keepalive?)
|
||||
|
||||
- 03: ChatMessage
|
||||
- str: message
|
||||
- str: ChatStr
|
||||
|
||||
- 04: UsrString:
|
||||
- str: data
|
||||
- str: UsrStr
|
||||
|
||||
- 05: Player join:
|
||||
- u8: player_id
|
||||
- str: player_name
|
||||
- str: ship_model
|
||||
- u16: max_health
|
||||
- str[4]: engine_models
|
||||
- str\[4]: engine_models
|
||||
- str: pilot_model
|
||||
- str: loadout
|
||||
- u32: unknown
|
||||
- u32: team_number
|
||||
|
||||
- 06: unknown
|
||||
- u8: ent_index
|
||||
|
||||
- 07: unknown (reload?)
|
||||
- 07: unknown (restart?)
|
|
@ -0,0 +1,102 @@
|
|||
`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;
|
||||
struct File {
|
||||
uint32_t path_length;
|
||||
char path[]; // latin1 encoding
|
||||
char path[path_length]; // latin1 encoding
|
||||
uint32_t data_size;
|
||||
uint32_t data_offset; // offset includes header size so it can be used directly in a seek() call
|
||||
} files[];
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
- [Netplay](Netplay.md)
|
||||
- [Python API](./Python_API.md)
|
||||
- [Modules](./Python_Modules.md)
|
||||
- [Callbacks](./Callbacks.md)
|
||||
- [File Formats](./File_Formats.md)
|
||||
- [Chunked Formats](./Chunked.md)
|
||||
- [Packed](./Packed.md)
|
||||
|
|
|
@ -0,0 +1,557 @@
|
|||
|
||||
## 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,6 +70,21 @@ Checked in `0x00401180`
|
|||
* `idiota`
|
||||
* `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
|
||||
|
||||
**TODO**
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
- `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>")`
|
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 566 KiB |
Loading…
Reference in New Issue