Sly 1:Anticrack: Difference between revisions

Added history section, tweaked layout
m (Removed unused template parameter)
(Added history section, tweaked layout)
 
(5 intermediate revisions by the same user not shown)
Line 1:
{{Infobox game mechanic
| name= Anticrack
| image= [[File:ITM anticrack firewall.png]]
| width= 360px
| caption= An invisible wall of fire in Into The Machine blocks you from completing the level
| sly1= y
}}
'''Anticrack''' is a feature of {{Sly 1}} designed to inhibitprevent modifying the game binary. It performs periodic integrity checks using a checksum to ensure that the elfcode 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 is activated.
=== Firewall ===
If the integrity check in the function at offset <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, savingit sets a [[LS#Scene variables|scene variable]] which persists on the gamesave makesfile, making it permanent, corruptingonce theyou save filethe game. This means the firewall will be active even if anticrack is disabled on the next boot.
==Firewall==
If the integrity check in the function at offset 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.
 
=== Anti-grab ===
Once the firewall is active, saving the game makes it permanent, corrupting the save file even if anticrack is disabled on the next boot.
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:
 
== 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 <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.
This# effectClue beginsbottles are affected 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 <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 openfind vaultsthem 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>
===The Van===
<pre>
The van's velocity will be 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.
The problem surfaces when the user has some non-authorized memory cards, or
* It first checks if the flag for the vehicle penalty is set.
some utilities like the Gameshark installed. Here's what we do know:
* It then updates the van's velocity target value, <code>svTarget</code>, to some value calculated by the physics engine.
* 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
===Hover Blaster===
grab ladders, hooks, pipes, etc. In addition, you seem to lose a key from your
The blaster's cannon will be fully disabled on the hover blaster levels.
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 0x1e9b30 fails, the flat at 0x275c34 is set, which activates the collectibles penalty. This penalty has two effects.
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.
===Keys===
<youtube>snZ7xQI-B8k</youtube>
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=References ==
<references/>
This effect begins 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 <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}}