We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Peggle Deluxe (Windows, Mac OS X)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Peggle Deluxe (Windows, Mac OS X).

This cactus is UNDER CONSTRUCTION
This article is a work in progress.
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.
Peggleprotopego splash.png

On June 8, 2023, a prototype of Peggle dated August 3, 2006 (nearly seven months before the game's release) was uploaded by betaarchive.com member Drgn. Notably, this build uses the game's original name of "Pego", which was later changed to Peggle to avoid a possible trademark issue.

Download.png Download Peggle Deluxe (Pego build)
File: Pego_Deluxe_(2006-08-03).7z (info)


Hmmm...
To do:
  • There's quite a lot of raw text in the executable. See if it means anything and if any of it is unused. (See below for the C++ file paths.)
  • Document the multiple unused powerup SFX variants.
  • Create a section detailing differences between the prototype and final game. There's a LOT of old sounds, background revisions, entirely different backgrounds, etc.

Sub-Pages

Blank.png
Level Editor
It's finally here!
Blank.png
Differences

Unused File

readme.html is that of Zuma, presumably as the Peggle readme was not complete yet.

Debug Controls

This build of Pego contains debug controls which can be used by pressing specific keys either in-game or on the title screen. All of the known debug controls are as follows.

In-Game Controls

Key Effect
A Causes flaming text displaying "EXTREME FEVER" to fly onscreen for a few seconds before flying off. Does not appear to affect gameplay in any way.
B Spawns a ball at the position of the mouse cursor. Multiple balls can be spawned, and the key can be held to rapidly spawn balls.
D Allows you to drag balls using the mouse. Toggleable. You cannot fire balls while active.
F Press and hold to fast-forward. Faster than the fast forward function available by right-clicking, and can be used while a ball is in play.
G Toggle the Super Guide powerup for your next shot.
I Toggle Triple Score for your next shot.
J Toggle the Magic Hat powerup for your next shot.
L Instantly complete the level.
M Go backward a level (based on Adventure mode order).
N Go forward a level (based on Adventure mode order).
O Toggles hitbox visibility. Press once to display collision hitboxes, press again to disable visibility of in-game graphics such as the Free Ball Bucket, press again to return to normal.
Q Plays a replay of your last shot. Can be done even if your shot has not yet completed.
R Resets the level, but also resets your Story mode progress to that point, showing the relevant textbox if there is one.
T The game will automatically shoot a ball for you in a similar manor to the automatic shooting featured in the game's Demo mode.
U Toggle the Fireball powerup for your next shot.
X Reload the character config.
Y Toggle the Zen Shot powerup for your next shot.
Z Causes the game to run in slow motion. Toggleable.
, Subtract 100 points from your current score.
. Add 100 points to your current score.
< Subtract 10,000 points from your score.
> Add 10,000 points from your score.
- Subtract one ball from your ball counter.
+ Add one ball to your ball counter.
Equals Set your current balls to 1,000.
← Backspace or Ctrl + H Toggles if High Scores are allowed.
Delete Deletes the current ball, when multiple balls are on the playfield, deletes them instead.
F2 (Press Twice) Opens a small window labeled "Perf Results" and displays Total Time. Exact purpose unknown.
F3 Toggle info UI. (Displaying FPS by default)
⇧ Shift + F3 Switches info UI between FPS display and pointer position (x, y), showing its relative coordinates within the game window.
F8 Displays the game's Video Stats.
⇧ Shift + F8 3D Mode Switch.
F10 Freezes the game, but allows you to advance frame-by-frame if you press or hold F10 following this.
⇧ Shift + F10 Unfreeze the game from when F10 was pressed.
F11 Saves a screenshot to 'Pego Deluxe\_screenshots'
⇧ Shift + F11 Create a dump of all images to 'Pego Deluxe\_dump' and generates "imagelist.html". Following infos are logged inside the html (if applicable): Resolution (px), Size (bytes), mBits, isPalletized + val, isDDSurface , Texture ,isVolatile , isForced, HasAlpha, HasTrans, RLAlpha, Path.
Ctrl + 1-9 Deletes all red pegs but leaves the given key's at random, another use deletes all blue pegs (but keeps green if not 1), the final use reloads the level with the first flag set.
Ctrl + 0 Deletes all red pegs, another use deletes all pegs, the final use reloads the level at it's normal state.
Ctrl + E Toggles the Level Editor.
Ctrl + F Toggles the end-of-level buckets.
Ctrl + C Brings up the character selector mid-level.
Ctrl + O Reloads the backdrop image.
Ctrl + P Causes the game to run at maximum speed, and automatically make shots similar to pressing T. This effect persists for 20 levels, until you either you click the playfield or exit the level you're playing on. Effectively used to automatically play large amounts of levels very quickly. Displays text at the top left corner of the game for the levels left, the level number and success rate.
Ctrl + S Displays and rolls the Lucky Spin. The effects of this spin do not occur until the next turn. Surprisingly it doesn't trigger the cheated flag.
Ctrl + G Toggles flippers.
Ctrl + L Opens up a file picker to load a level file from the drive. Default directory is the install directory's level folder.
Ctrl + X Instantly sets your balls to zero, fires a ball, and quickly deletes it, causing you to lose the level.
Ctrl + N Opens an in-game window for Game Options. Allows you to set the stage's game mode as well as the skill level for the computer. Pressing OK will start the selected type of game.
Ctrl + T or ⇧ Shift + Q Go back in time to right before your last shot, effectively undoing it.
⇧ Shift + A Much like A, Causes flaming text displaying "EXTREME FEVER" to fly onscreen for a few seconds before flying off. This variation is italicized, less bubbly, has a golden border, and disappears far faster.
⇧ Shift + P Same as Ctrl + P but for 100 levels.
⇧ Shift + T Toggles a line that is drawn on the path a ball will take when shot automatically with T. Seems to not always line up exactly with the ball's actual path.
⇧ Shift + Z Disables the screen zoom effect for when your ball is near the final orange peg.

Main Menu Controls

Key Effect
S Plays the relevant world cutscene based on the world of the level you are playing.
U Unlock all levels in Quick Play.
19 Allows you to change what level of Adventure Mode you are currently on. Requires two presses; your first number sets the world, and your second sets which level in that world.
CTRL + Button Click For "Click to play!" and "Adventure" load an empty level under Dev. For the other game modes aside from Challenge, load the level related to ?. For Options, load the help menu but only using a single page.

C++ File Paths

Hmmm...
To do:
There are A LOT more of these than what's listed here. See if they can be put together in a text file or subpage.

Starting at various points in the main executable are a LOT of file paths pointing towards the game's source code. Of note is that the game is internally called Thunderball.

0x18F4C0

SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\BlendedImage.cpp1,52
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\BlendedImage.cpp0,51
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp13,650
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp12,649
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp11,646
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp10,644
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp9,643
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp8,640
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp14,781
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp17,1042
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp16,1042
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp65,2882
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\PlayerInfo.cpp120,441
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\PlayerInfo.cpp118,440
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\PlayerInfo.cpp119,440

0x1911C8

SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp121,103
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp127,375
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp126,373
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp125,372
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp124,371
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp123,370
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp122,369
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp146,759
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp149,772
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp148,771
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp147,770
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp154,544
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp24,1754
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp52,2494
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp128,482
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp134,631
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp133,630
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp132,616
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp131,615
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp153,792
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp152,791
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp151,790
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp150,789
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp158,629
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp157,629
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp156,629
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp19,1084
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp23,1731
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp22,1730
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp93,3255
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp96,3376
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp95,3368
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp94,3348
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp98,3487
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp92,3231
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp91,3225
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp90,3223
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp89,3218
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp88,3206
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp87,3204
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp86,3200
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp85,3188
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp84,3187
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp83,3184

0x191EA0

SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp142,715
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp141,712
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp140,711
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp139,709
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp138,703
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderCommon.cpp137,701
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp185,1445
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp184,1445
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp191,1850
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp190,1849
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp193,1905
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\ThunderballApp.cpp192,1904
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp21,1098
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp20,1096
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp97,3426

0x1923E4

SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp62,2823
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp61,2765
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp60,2761
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp59,2760
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp64,2869
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp63,2864
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp82,3158
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp81,3154
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp80,3153
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp79,3137
SEXY_SEXYMODVALc:\gamesrc\cpp\thunderball\Board.cpp78,3126

Unused Graphics

Peggle Aug3rd2006 EarlyLockedGraphic.png

An unused and early graphic of the text marking a locked level in the quick play mode.