Sly 1:Anticrack: Difference between revisions

From SlyMods
Jump to navigation Jump to search
Content added Content deleted
(Added infobox and navbox)
(Added history section, tweaked layout)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox game mechanic
{{Infobox game mechanic
| title= Anticrack
| name= Anticrack
| image= [[File:ITM anticrack firewall.png]]
| image= File:ITM anticrack firewall.png
| official= y
| width= 360px
| caption= An invisible wall of fire in Into The Machine blocks you from completing the level
| sly1= y
| sly1= y
}}
}}
'''Anticrack''' is a feature of {{Sly 1}} designed to prevent modifying the game. It performs periodic integrity checks using a checksum to ensure that the code has not been altered. If a check fails, one of four penalties is activated.


== Measures ==
'''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 altered. If a check fails, one of four penalties are activated.
=== Firewall ===
If the integrity check in the function at <code>0x12b760</code> fails, the flag at <code>0x261080</code> 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 it sets a [[LS#Scene variables|scene variable]] which persists on the save file, making it permanent once you save the game. This means the firewall will be active even if anticrack is disabled on the next boot.
{{todo|Add the function and flag memory offsets}}


==Firewall==
=== Anti-grab ===
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.
If the check in the function at <code>0x15edb8</code> fails, the flag at <code>0x261080</code> is set, which activates anti-grab. This penalty is activated in two stages:

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 30 seconds of in-game time, jumping and pressing circle to climb will fail intermittently.
* After 2 minutes, climbing is disabled altogether.
* After 2 minutes, climbing is disabled altogether.


==Vehicles ==
=== 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.
If the check in the function at <code>0x18f610</code> fails, the flag at <code>0x269b48</code> 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 van's acceleration will be capped at 40%. The function <code>UpdateSuvActive</code>, which is called every frame, is supposed to set the van's velocity target value, <code>svTarget</code>, to some value calculated by the physics engine. However, if the vehicle penalty is active, <code>svTarget</code> is multiplied by 0.4. This speed limit makes the race levels impossible to win.
# The blaster's cannon will be fully disabled on the hover blaster levels.

=== Collectibles ===
If the check in the function at <code>0x1e9b30</code> fails, the flat at <code>0x275c34</code> is set, which activates the collectibles penalty. This penalty has two effects.

# The key count on the [[WS|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.
# Clue bottles are affected after 2 minutes and 55 seconds of in-game time.
#* 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 <code>fclue</code> flags from the current [[LS#Clue values|level state]] and setting them to 0 when the level is loaded. For each bit that is unset, the <code>cclue</code> is decreased by 1.
#* Each clue bottle in the level will have a 20% chance to turn invisible, making it practically impossible to find them all. This is accomplished by iterating over each clue bottle in the level and turning it invisible.

== History ==
The earliest known reference to anticrack was on Oct 6, 2002, less than a month after the game's release. A user posted on the neoseeker.com forums about "technical problems" with the game, describing in detail each of the measures outlined above. According to one user in the comments, Sucker Punch replied to their email saying that "the problem is due to megamemory or gameshark, where it requires a preboot disc. Using those somehow corrupts the gameplay".<ref name="technical-problems">6 Oct 2002 - https://www.neoseeker.com/forums/3985/t132451-sly-cooper-technical-problems/</ref>

For the next two decades, several guides and forum posts would continue to pop up, each time attributing the issues to technical glitches caused by using cheat devices like GameShark or Megamemory.<ref>17 Nov 200 - https://www.neoseeker.com/forums/3985/t151994-1st-level-help-please-help/</ref><ref>2 Feb 2003 - https://www.cheatcc.com/ps3/sg/sly_cooper_and_the_thievius_raccoonus.txt</ref><ref>7 Feb 2015 - https://forums.pcsx2.net/Thread-Sly-Cooper-1-gameplay-issues-normally-caused-by-Gameshark</ref>


Gamespot user Dark_Shadow_X emailed Sucker Punch about the issues, and they responded as follows:<ref>14 Oct 2002 - https://gamefaqs.gamespot.com/ps2/561378-sly-cooper-and-the-thievius-raccoonus/faqs/19487</ref>
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 <code>UpdateSuvActive</code> which is called to update the van every frame it is active.
<pre>
* It first checks if the flag for the vehicle penalty is set.
The problem surfaces when the user has some non-authorized memory cards, or
*It then updates the van's velocity target value, <code>svTarget</code>, to some value calculated by the physics engine.
some utilities like the Gameshark installed. Here's what we do know:
*If the vehicle penalty is active, <code>svTarget</code>) is multiplied by 0.4.


1. The problem manifests itself as an inability to use the circle button to
The second effect is that the blaster's cannon will be fully disabled on the hover blaster levels.
grab ladders, hooks, pipes, etc. In addition, you seem to lose a key from your
total--meaning you won't be able to open a particular lock when you should be
able to. Most often these problems will be seen in the first level of
Raleigh's World, and people have complained they cannot grab the hook before
going over the gate, or that they cannot open the gate at the end of the level.


2. In all cases we've investigated thus far, removing the additional
==Collectibles==
accessory has returned the game to normal. Note that three Sly Cooper save
If the check in the function at 0x fails, the flat at 0x is set, which activates the collectibles penalty.
games fit into 59K of memory, so the save game will consume just a tiny
fraction of any PS2 memory card.
</pre>


In 2019, Meos discovered these issues are not technical glitches, but in fact deliberate anti-cheat measures programmed into the game. He posted a video showcase outlining exactly how each measure works and what triggers them.
This penalty has two effects. The first is that the key count on the [[WS|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.
<youtube>snZ7xQI-B8k</youtube>


== References ==
The second effect takes effect after 2 minutes and 55 seconds of in-game time, and only affects clue bottles.
<references/>
*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 <code>fclue</code> flags from the current [[LS#Clue values|level state]] and setting them to 0 when the level is loaded. For each bit that is unset, the <code>cclue</code> 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.


{{Navbox Sly 1}}
{{Navbox Sly 1}}

Latest revision as of 23:13, 10 May 2023

Anticrack
Game Mechanic
An invisible wall of fire in Into The Machine blocks you from completing the level
GameSly Cooper and the Thievius Raccoonus

Anticrack is a feature of Sly Cooper and the Thievius Raccoonus designed to prevent modifying the game. It performs periodic integrity checks using a checksum to ensure that the code has not been altered. If a check fails, one of four penalties is activated.

Measures

Firewall

If the integrity check in the function at 0x12b760 fails, the flag at 0x261080 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 it sets a scene variable which persists on the save file, making it permanent once you save the game. This means the firewall will be active even if anticrack is disabled on the next boot.

Anti-grab

If the check in the function at 0x15edb8 fails, the flag at 0x261080 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 0x18f610 fails, the flag at 0x269b48 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.

  1. The van's acceleration will be capped at 40%. The function UpdateSuvActive, which is called every frame, is supposed to set the van's velocity target value, svTarget, to some value calculated by the physics engine. However, if the vehicle penalty is active, svTarget is multiplied by 0.4. This speed limit makes the race levels impossible to win.
  2. The blaster's cannon will be fully disabled on the hover blaster levels.

Collectibles

If the check in the function at 0x1e9b30 fails, the flat at 0x275c34 is set, which activates the collectibles penalty. This penalty has two effects.

  1. 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.
  2. Clue bottles are affected after 2 minutes and 55 seconds of in-game time.
    • 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 find them all. This is accomplished by iterating over each clue bottle in the level and turning it invisible.

History

The earliest known reference to anticrack was on Oct 6, 2002, less than a month after the game's release. A user posted on the neoseeker.com forums about "technical problems" with the game, describing in detail each of the measures outlined above. According to one user in the comments, Sucker Punch replied to their email saying that "the problem is due to megamemory or gameshark, where it requires a preboot disc. Using those somehow corrupts the gameplay".[1]

For the next two decades, several guides and forum posts would continue to pop up, each time attributing the issues to technical glitches caused by using cheat devices like GameShark or Megamemory.[2][3][4]

Gamespot user Dark_Shadow_X emailed Sucker Punch about the issues, and they responded as follows:[5]

The problem surfaces when the user has some non-authorized  memory cards, or
some utilities like the Gameshark installed.  Here's what we do know:

 1.  The problem manifests itself as an inability to use the circle button to
grab ladders, hooks, pipes, etc.  In addition, you seem to lose a key from your
total--meaning you won't be able to open a particular lock when you should be
able to.  Most often these problems will be seen in the first level of
Raleigh's World, and people have complained they cannot grab the hook before
going over the gate, or that they cannot open the gate at the end of the level.

 2.  In all cases we've investigated thus far, removing the additional
accessory has returned the game to normal.  Note that three Sly Cooper save
games fit into 59K of memory, so the save game will consume just a tiny
fraction of any PS2 memory card.

In 2019, Meos discovered these issues are not technical glitches, but in fact deliberate anti-cheat measures programmed into the game. He posted a video showcase outlining exactly how each measure works and what triggers them.

References