Dangerous Dave/Cheats

From ModdingWiki
Jump to navigation Jump to search

Cheats

Trainer

There is a trainer (dave-t.com by Dr. Detergent) that provides unlimited ammo and jetpack, and allows skipping to the next level by pressing F10.

Exploitable Bugs

Wall Climbing

Climbing up the walls without jetpack. The vertical row of four gems on the right side can be collected the same way.

The detection for being able to land on a tile when falling is slightly shifted to the left compared to the tile's normal hitbox detection. Because of this, when there is an open space under a vertical wall facing left, there is a specific point at the left edge of the wall at which you can jump straight up without getting obstructed, but which will cause you to then remain standing on a tile two tiles higher up on the straight wall. This way, it is possible to climb obstacles without needing the Jetpack. The trick only works when there are two cells of headspace above you; if you hit a ceiling, you fall down the entire way back to the real floor.

The disadvantage of this bug is that the opposite applies too: when you stand on the very edge of the right side of a tile, just before the point where you would fall off, and then jump straight up, you will fall through the floor when landing.

Access Level 8 Warp Zone Early

Plundering the Level 8 Warp Zone area with jetpack available.

Each Warp Zone in Dangerous Dave is constructed in a normally-inaccessible area at the right side of an existing level. However, in level 6, you can access this area by using the jetpack found at the start of the level to fly through the door before collecting the trophy. Without the trophy to trigger the level end, you can pass through the door tile to the area above. From there on, you can walk to the right side and get all the riches of the Warp Zone that can be accessed from level 8. Having the jetpack available makes it trivially easy to collect the trophy without dying, and the crowns area alone gives enough points to give you an extra life. Since you did not access a Warp Zone to get here, the game treats an exit through the Warp Zone's door as completing level 6. Not only is this much less dangerous than finishing the actual level 6, but the Warp Zone can be accessed again the proper way on level 8, giving you the chance to plunder it a second time.

When going on top of the normally-accessible part of level 6, you should be careful not to touch the outer edges of the level, since these will act as Warp Zone triggers for level 6, and will make you end up in a corrupted warp zone (see Bugs).

Infinite Lives

There is a glitch in the game - if you get the maximum score of 99999, you can always refill your lives by returning from the menu (hitting ESC and then N).

The function that checks if a new life has to be given is supposed to increase Dave's life every 20000 points, but due to a logic bug it will always try to increase the lives if you hit 99999 points. Interestingly, that function triggers when hitting a collectible item (e.g. a diamond) or when returning from the menu. An interesting writeup on the subject is available.

Bugs

Bad Warp Zone

Corrupted Warp Zone accessed via level 6.

Accessing Warp Zones (bonus levels) is done by jumping off the left or right of the screen. As mentioned, in level 6, you aren't supposed to be able to access the top of the level, but it can be done by using the jetpack to fly through the door before collecting the trophy. Walking off the edge of the map, either at the left side just next to the door, or at the right side beyond the level 8 Warp Zone part, will make you end up in a corrupted Warp Zone consisting of invalid tiles, which seems to be made up of terrain from level 8. Accessing this area leaves the game in a state where you are unable to control Dave, effectively freezing the gameplay, though the menu functions (Help, Control Panel, Restart, Pause and Exit) all still work, and no corruption effects seem to remain when the game is simply restarted.

The reason for this bug is that the level data contains invalid values for the level 6 warp zone, as the player was never meant to be able to jump off the left or right edges of this level. Thus when the player does this, the invalid warp zone values cause a specific part of the game's data to be drawn as a level, but as it is not complete level data, it appears corrupted. In theory this bug could be fixed by placing correct warp zone values against level 6 so that it points to a valid part of a level, such as one of the existing warp zones. (Or by moving the door so it cannot be used to escape the level.)

A writeup regarding the subject is available.

Information in the 2021 edition

Actual level 3 end area (top), compared to the Treasure Map version (bottom).

According to the "Treasure Map" pdf document included in the 2021 Dangerous Dave Champion’s Edition, which was written by John Romero, the room with the flame floor to the right of the door in level 3 was added in the 1990 DOS version, and didn't exist in the 1988 Mac version. The document claims that the inaccessible top part of that area is supposed to be the Warp Zone for level 6, and shows an image of the classic level 3 where that part contains a trophy and a door. However, while this is true for the 2021 Remaster, the trophy and door don't actually exist in the 1990 DOS version, making it unusable as Warp Zone. The document never mentions the fact the level 6 Warp Zone is broken in the DOS version, and in fact shows the adapted level 3 in classic graphics. The end screen of the original game also only mentions Warp Zones on level 5, 8, 9 and 10, further indicating that the level 6 Warp Zone was not actually supposed to exist. All these elements point to the Remaster recycling the useless inaccessible part in level 3 to fix the level 6 Warp Zone bug.

Wrong Scancode

There is a typo in the game and the scan code for F12 has been put in as 0x59 instead of 0x58. As a result, when reassigning the keyboard mapping, it is not possible to assign F12 to any action. This can be fixed by changing the byte at offset 0x5724 in the decompressed .exe from 0x59 to 0x58.

Level Numbers on Warp Zones

When you enter a Warp Zone, the game UI will show your current level number as the same level you warped in from. However, if you die in a Warp Zone, the level shown on the score screen will match the real level that the Warp Zone area is located in. This is the only way to end up on the high scores screen as level 1, since you normally can't die there.

Items on Top Row

Level 6 warp zone area showing the item pickup bug.

Items placed on the highest tiles row on the map don't register correctly for picking them up. This can be seen in the level 8 warp zone. They can only be picked up when Dave touches them slightly below their normal hit box, which can be done by jumping at them from below, or falling down next to them.

This also applies to interacting with doors; normally, a level ends when you touch it at any side, but if you walk into the level 8 warp zone door from the top, the level will only end when you've fallen through to the bottom of the door tile.