Sly 1:Anticrack

Revision as of 05:30, 12 July 2022 by TheOnlyZac (talk | contribs) (Created article for game mechanic)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Anticrack is a feature of Sly 1 designed to inhibit modifying the game binary. It performs periodic integrity checks using a checksum to ensure that the elf has not been modified. If a check fails, one of four penalties are activated.

Firewall

If the integrity check in the function at offset 0x fails, the flag at 0x is set, which activates the firewall penalty. This penalty spawns an invisible wall of fire in the level Into the Machine once the final segment of the map has been loaded for 1 minute and 27 seconds.

Once the firewall is active, saving the game makes it permanent, corrupting the save file even if anticrack is disabled on the next boot.

Anti-grab

If the check in the function at 0x fails, the flag at 0x is set, which activates anti-grab. This penalty is activated in two stages:

  • After 30 seconds of in-game time, jumping and pressing circle to climb will fail intermittently.
  • After 2 minutes, climbing is disabled altogether.

Vehicles

If the check in the function at 0x fails, the flag at 0x is set, which activates the vehicles penalty. This check occurs after an FMV is played for 3 seconds. Since the game starts with an FMV of the Sucker Punch logo, this check is triggered when the game is booted.

This penalty has two effects. The first is that the van's velocity is capped at 40% of it's normal speed, making the race levels impossible to win. This is accomplished in the function UpdateSuvActive which is called to update the van every frame it is active.

  • It first checks if the flag for the vehicle penalty is set.
  • It then updates the van's velocity target value, svTarget, to some value calculated by the physics engine.
  • If the vehicle penalty is active, svTarget) is multiplied by 0.4.

The second effect is that the blaster's cannon will be fully disabled on the hover blaster levels.

Collectibles

If the check in the function at 0x fails, the flat at 0x is set, which activates the collectibles penalty.

This penalty has two effects. The first is that the key count on the world state will not increase when collecting a key. Since you need a certain number of keys to reach some areas, this effectively halts all progress.

The second effect takes effect after 2 minutes and 55 seconds of in-game time, and only affects clue bottles.

  • Upon dying or loading a level, each clue bottle you previously collected will have a 20% chance to be un-collected. This is accomplished by randomly selecting 20% of the fclue flags from the current level state and setting them to 0 when the level is loaded. For each bit that is unset, the cclue is decreased by 1.
  • Each clue bottle in the level will have a 20% chance to turn invisible, making it practically impossible to open vaults. This is accomplished by iterating over each clue bottle in the level and turning it invisible.