If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Peggle Deluxe (Windows, Mac OS X)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Peggle Deluxe

Developer: PopCap Games
Publisher: PopCap Games
Platforms: Windows, Mac OS X
Released internationally: February 27, 2007

AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.

PrereleaseIcon.png This game has a prerelease article

Peggle Deluxe takes you on a magical adventure to bounce a ball onto other balls.

To do:
There's a function relating to cheats relating to names in the Mac version; developer cheat toggle?
  • Owl.dat was modified in the February 19, 2008 installer for PC and carried over in all later versions.


Unused levels
PopCap wasn't having a ball with these.
Read about prerelease information and/or media for this game.
Prerelease Info

Leftover Web Demo Level Images

Images of layouts for a few levels for the web demo are in the cached_thumbnails folder.


Peggledeluxe level12web.png


Peggledeluxe level18web.png


Peggledeluxe level19aweb.png


Peggledeluxe slides.png

Unused Music

beat 10 The beat 10 is quite similar to another beat that is heard in the game, but this version is unused.

Beat 5 The beat 5 is played in the downloadable version of the game on PopCap's site, but not in the Steam version.

Unused Graphics

Unused graphics found in the game files.

Peggle Deluxe Frameb1.png Peggle Deluxe Tip orig.png Peggle Deluxe StarbadgeIcon.png

Peggle title partner.png

A placeholder logo for a third-party distributor. like GameHouse.

Level Editor

To do:
There is hardcoded stuff too! Maybe it's usable?

Text for a level editor can be found in main.pak.


IncludeFile: LevelEditor_Types.cfg

Group BrickDef
	Val: Type,				brickdef_type
	Val: Radius,			brickdef_radius
	Val: Angle,				brickdef_angle
	Val: Thickness,			brickdef_thickness
	Val: Rotation,			brickdef_rotation
	Val: Subdivisions,		brickdef_subdiv
	Val: LeftAngle,			brickdef_leftangle
	Val: RightAngle,		brickdef_rightangle

Group Brick
	Val: Type,				brick_type
	Val: Radius,			brick_radius
	Val: Angle,				brick_angle
	Val: Thickness,			brick_thickness
	Val: Rotation,			brick_rotation
	Val: Subdivisions,		brick_subdiv
	Val: Anchor,			brick_anchor

Group "Brick\nAdvanced"
	Val: TextureFlip,		brick_texflip
	Val: LeftAngle,			brick_leftangle
	Val: RightAngle,		brick_rightangle

Group Dimensions
	Val: x-pos,				physobj_xpos
	Val: y-pos,				physobj_ypos
	Val: Radius,			ball_radius
	Val: Width,				poly_width
	Val: Height,			poly_height
	Val: Align,				physobj_align

Group Grid
	Val: Size,			grid_size
	Val: Width,			grid_width
	Val: Height,		grid_height
	Val: x-off,			grid_x
	Val: y-off,			grid_y
	Val: zoom,			grid_zoom

Group Hole
	Val: Score,			hole_score
	Val: Width,			poly_width
	Val: Height,		poly_height
	Val: Circular,		hole_circular
	Val: Out Delay,		hole_outdelay

Group Id
	Val: Id,			physobj_id
	Val: SubId,			physobj_subid
	Val: Logic,			physobj_logic
	Val: BaseObj,		physobj_baseobj

Group Image
	Val: Name,			physobj_image
	Val: center-dx,		physobj_imagedx
	Val: center-dy,		physobj_imagedy
	Val: Rotation,		physobj_imagerot
	Val: Mirror,		poly_imagemirror
	Val: Background,	physobj_background
	Val: Foreground,	physobj_foreground
	Val: Foreground2,	physobj_foreground2

Group Material
	Val: Visible,			physobj_visible
	Val: Collidable,		physobj_collidable
	Val: Bouncy,			physobj_bouncy
	Val: Rolly,				physobj_rolly
	Val: SolidColor,		physobj_solidcolor
	Val: OutlineColor,		physobj_outlinecolor
	Val: Sound,				physobj_sound
	Val: StopReset,			physobj_ballstopreset

Group Material2
	Val: MaxBounceVel,		physobj_maxbouncevel
	Val: DrawSort,			physobj_drawsort
	Val: DrawFloat,			physobj_drawfloat
	Val: FlipperFlags,		physobj_flipperflags

Group Movement
	Val: Type,			mover_type
	Val: Moving,		physobj_moving
	Val: Radius,		mover_radius
	Val: Time,			mover_time
	Val: Phase,			mover_phase
	Val: Rotation,		mover_rotation
	Val: y-radius,		mover_radius2
	Val: MaxAngle,		mover_maxangle

Group "Movement\nAdvanced"
	Val: Offset,		mover_offset
	Val: Pause 1,		mover_pause1
	Val: Phase 1,		mover_phase1
	Val: Pause 2,		mover_pause2
	Val: Phase 2,		mover_phase2
	Val: Post Phase,	mover_postdelayphase
	Val: Path Rotate,	mover_moverotation

Group "Peg"
	Val: Type,			peg_type
	Val: Variable,		peg_variable
	Val: Crumble,		peg_crumble

Group Poly
	Val: Rotation,		poly_rotation
	Val: Scale,			poly_scale
	Val: NormalDir,		poly_normaldir
	Val: Convex,		poly_convex
	Val: GrowType,		poly_growtype

Group Types
	Val:		Display,				display_flags
	Val:		Selection,				select_flags
	Val:		Num Pegs,				count_pegs
	Val:		Num BallPegs,			count_ballpegs
	Val:		Num BrickPegs,			count_brickpegs


Choice ball_radius
	Vals: 3,5
	Sep: 16
	Val: 6, Ball Standard
	Val: 10, Peg Standard
	Sep: 16
	Vals: 15,20,25,30,35,40,45,50,75,100

Choice brick_anchor
	Val: 0, No Anchor
	Val: 1, Left Anchor
	Val: 2, Right Anchor
	Val: 3, Both Anchor

Choice brick_radius
	Vals: 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500,600,700,800,900,1000,1250,1500,1750,2000,2500,3000,3500,4000,4500,5000,7500,10000

Choice brick_subdiv
	Vals: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

Choice brick_type
	Val: 0, Normal Curved
	Val: 1, Outer Curved
	Val: 2, Outer Curved 90
	Val: 3, Inner Curved
	Val: 4, Inner Curved 90
	Val: 5, Straight

Choice brick_thickness
	Vals: 10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100

Choice choice_time
	Vals: 50, 100, 150, 200, 250, 300, 500, 750, 1000, 1500, 2000, 3000, 5000, 10000

Choice choice_moveradius
	Vals: 25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500

Choice choice_percent
	Vals: 0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95

Choice choice_angle
	Vals: 0, 30, 45, 60
	Sep:  16

	Vals: 90, 120, 135, 150
	Sep:  16
	Vals: 180, 210, 225, 240
	Sep:  16
	Vals: 270, 300, 315, 330

Choice type_flags
	Val:	0000,			All

	Val:	0003,			BallPegs		
	Val:	0005,			BrickPegs
	Sep:	16	
	Val:	0001,			Pegs
	Val:	0002,			Balls			
	Val:	0004,			Bricks
	Val:	0008,			Image
	Val:	0020,			NonVariable
	Val:	0040,			Crumble
	Sep:	16
	Val:	1000,			NonPegs
	Val:	2000,			NonBalls			
	Val:	4000,			NonBricks
	Val:	8000,			NonImages
Choice grid_size
	Val: 1, 5x5
	Val: 2, 10x10
	Val: 3, 15x15
	Val: 4, 20x20
	Val: 5, 25x25
	Val: 6, 30x30
	Val: 7, 35x35
	Val: 8, 40x40
	Val: 9, 45x45
	Val: 10, 50x50

Choice grid_zoom
	Vals: 1.0
	Sep: 16
	Vals: 0.25, 0.5, 0.75
	Sep: 16
	Vals: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Choice help_keyboard
	Val: a - Force autosave
	Val: b - Add brick
	Val: e - Attach bricks to selected brick
	Val: c - Copy selected object attributes
	Val: d - Toggle drag mode
	Val: D - Toggle center point drag mode
	Val: f - Flip (top-bottom) selected
	Val: F - Flip (top-bottom) selected (pos only)
	Val: g - Toggle grid
	Val: h - Set hole teleport
	Val: H - Unset hole teleport
	Val: i - Toggle image drag mode
	Val: I - Load image 
	Val: j - Join objects for movement
	Val: J - Unjoin objects for movement
	Val: k - Toggle peg ordering mode
	Val: l - Add line
	Val: m - Show movement on selected objects
	Val: M - Hide movement on selected objects
	Val: n - Copy current brick attributes to def brick attributes
	Val: o - Toggle outline mode
	Val: p - Add polygon
	Val: P - Reverse selected polygon's Direction
	Val: r - Reflect (left-right) selected
	Val: R - Reflect (left-right) selected (pos only)
	Val: s - Toggle single select mode
	Val: t - Reset movement time
	Val: v - Add brick and change direction
	Val: z - Bring to front
	Val: Z - Bring to back
	Sep: 16
	Val: ?			 - Keyboard help
	Val: <period>    - Toggle DrawPoints
	Val: <comma>     - Toggle DrawSelection
	Val: <semicolon> - Toggle Multi-Place
	Val: <space>     - Pause
	Sep: 16
	Val: CTRL-A - Add edit fields
	Val: CTRL-SHIFT-A: Remove edit fields
	Val: CTRL-C - Copy
	Val: CTRL-G - Toggle grid
	Val: CTRL-M - Turn of all movement drawing
	Val: CTRL-N - Make new level
	Val: CTRL-O - Reload Images
	Val: CTRL-R - Inspect AutoSaves
	Val: CTRL-T - Reset movement time
	Val: CTRL-V - Paste
	Val: CTRL-X - Cut
	Val: CTRL-Z - Undo	

Choice mover_type
	Val:	0,	No Movement
	Val:	1,	Vertical Cycle
	Val:	2,	Horizontal Cycle
	Val:	3,	Circle	
	Val:	4,  Horizontal Infinity
	Val:	5,	Verical Infinity
	Val:	6,	Horizontal Arc
	Val:	7,	Vertical Arc
	Val:	8,	Rotate
	Val:	9,	Rotate Back And Forth
	Val:	11,	Vertical Wrap
	Val:	12, Horizontal Wrap
	Val:	13, Rotate Around Circle

Choice peg_type
	Val:	0, None
	Val:	1, Normal
	Val:	2, Goal
	Val:	3, Score
	Val:	4, Powerup

Choice physobj_align
	Val: 22, MiddleCenter

	Sep: 16
	Val: 01, Left
	Val: 02, Center
	Val: 03, Right

	Sep: 16	
	Val: 10, Top
	Val: 20, Middle
	Val: 30, Bottom

	Sep: 16
	Val: 11, TopLeft
	Val: 12, TopCenter
	Val: 13, TopRight

	Sep: 16
	Val: 21, MiddleLeft
	Val: 22, MiddleCenter
	Val: 23, MiddleRight
	Sep: 16
	Val: 31, BottomLeft
	Val: 32, BottomCenter
	Val: 33, BottomRight

Choice physobj_bouncy
	Val:	0,			Default
	Sep:	16
	Val:	0.90,		Ball Standard
	Val:	0.80,		Semi Bouncy
	Val:	0.75,		Poly Standard
	Val:	0.65,		Less Bouncy
	Val:	0.55,		Little Bounce

Choice physobj_flipperflags
	Val:	0,			Default
	Sep:	16
	Val:	1,			Off
	Val:	2,			On

Choice poly_normaldir
	Val:	" 1",  Keep Out
	Val:	"-1",  Keep In
	Val:	" 0",  Both

Choice poly_growtype
	Val:	"0",  None
	Val:	"1",  reveal-left-to-right
	Val:	"2",  reveal-right-to-left
	Val:	"3",  move-left-to-right
	Val:	"4",  move-right-to-left
	Val:	"5",  middle-out

Choice poly_size
	Vals: 5,10,15,20,25,30,35,40,45,50,75,100,150,200,250,300,350,400,450,480,500,640

Choice poly_scale
	Vals: 0.1, 0.2, 0.25, 0.33, 0.5, 0.67, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.5, 3.0, 4.0, 5.0, 10.0	

Choice choice_color
	Val:	0x000000,			Transparent
	Val:	0xFFFFFF,			White
	Val:	0x000001,			Black
	Val:	0xFF0000,			Red
	Val:	0x00FF00,			Green
	Val:	0x0000FF,			Blue
	Val1:	"",------------------------------
	Val:	0xF0F8FF,			AliceBlue            	
	Val:	0xFAEBD7,			AntiqueWhite         	
	Val:	0x00FFFF,			Aqua                 
	Val:	0x7FFFD4,			Aquamarine           
	Val:	0xF0FFFF,			Azure                
	Val:	0xF5F5DC,			Beige                
	Val:	0xFFE4C4,			Bisque               	
	Val:	0x000000,			Black                	
	Val:	0xFFEBCD,			BlanchedAlmond       	
	Val:	0x0000FF,			Blue                 
	Val:	0x8A2BE2,			BlueViolet           
	Val:	0xA52A2A,			Brown                
	Val:	0xDEB887,			BurlyWood            
	Val:	0x5F9EA0,			CadetBlue            
	Val:	0x7FFF00,			Chartreuse           
	Val:	0xD2691E,			Chocolate            
	Val:	0xFF7F50,			Coral                
	Val:	0x6495ED,			CornflowerBlue       
	Val:	0xFFF8DC,			Cornsilk             
	Val:	0xDC143C,			Crimson              
	Val:	0x00FFFF,			Cyan                 
	Val:	0x00008B,			DarkBlue             
	Val:	0x008B8B,			DarkCyan             
	Val:	0xB8860B,			DarkGoldenrod        
	Val:	0xA9A9A9,			DarkGray             
	Val:	0x006400,			DarkGreen            
	Val:	0xBDB76B,			DarkKhaki            
	Val:	0x8B008B,			DarkMagenta          
	Val:	0x556B2F,			DarkOliveGreen       
	Val:	0xFF8C00,			DarkOrange           
	Val:	0x9932CC,			DarkOrchid           
	Val:	0x8B0000,			DarkRed              
	Val:	0xE9967A,			DarkSalmon           
	Val:	0x8FBC8B,			DarkSeaGreen         
	Val:	0x483D8B,			DarkSlateBlue        
	Val:	0x2F4F4F,			DarkSlateGray        
	Val:	0x00CED1,			DarkTurquoise        
	Val:	0x9400D3,			DarkViolet           
	Val:	0xFF1493,			DeepPink             
	Val:	0x00BFFF,			DeepSkyBlue          
	Val:	0x696969,			DimGray              
	Val:	0x1E90FF,			DodgerBlue           
	Val:	0xB22222,			Firebrick            
	Val:	0xFFFAF0,			FloralWhite          
	Val:	0x228B22,			ForestGreen          
	Val:	0xFF00FF,			Fuchsia              
	Val:	0xDCDCDC,			Gainsboro            
	Val:	0xF8F8FF,			GhostWhite           
	Val:	0xFFD700,			Gold                 
	Val:	0xDAA520,			Goldenrod            
	Val:	0x808080,			Gray                 
	Val:	0x008000,			Green                
	Val:	0xADFF2F,			GreenYellow          
	Val:	0xF0FFF0,			Honeydew             
	Val:	0xFF69B4,			HotPink              
	Val:	0xCD5C5C,			IndianRed            
	Val:	0x4B0082,			Indigo               
	Val:	0xFFFFF0,			Ivory                
	Val:	0xF0E68C,			Khaki                
	Val:	0xE6E6FA,			Lavender             
	Val:	0xFFF0F5,			LavenderBlush        
	Val:	0x7CFC00,			LawnGreen            
	Val:	0xFFFACD,			LemonChiffon         
	Val:	0xADD8E6,			LightBlue            
	Val:	0xF08080,			LightCoral           
	Val:	0xE0FFFF,			LightCyan            
	Val:	0xFAFAD2,			LightGoldenrodYellow 
	Val:	0xD3D3D3,			LightGray            
	Val:	0x90EE90,			LightGreen           
	Val:	0xFFB6C1,			LightPink            
	Val:	0xFFA07A,			LightSalmon          
	Val:	0x20B2AA,			LightSeaGreen        
	Val:	0x87CEFA,			LightSkyBlue         
	Val:	0x778899,			LightSlateGray       
	Val:	0xB0C4DE,			LightSteelBlue       
	Val:	0xFFFFE0,			LightYellow          
	Val:	0x00FF00,			Lime                 
	Val:	0x32CD32,			LimeGreen            
	Val:	0xFAF0E6,			Linen                
	Val:	0xFF00FF,			Magenta              
	Val:	0x800000,			Maroon               
	Val:	0x66CDAA,			MediumAquamarine     
	Val:	0x0000CD,			MediumBlue           
	Val:	0xBA55D3,			MediumOrchid         
	Val:	0x9370DB,			MediumPurple         
	Val:	0x3CB371,			MediumSeaGreen       
	Val:	0x7B68EE,			MediumSlateBlue      
	Val:	0x00FA9A,			MediumSpringGreen    
	Val:	0x48D1CC,			MediumTurquoise      
	Val:	0xC71585,			MediumVioletRed      
	Val:	0x191970,			MidnightBlue         
	Val:	0xF5FFFA,			MintCream            
	Val:	0xFFE4E1,			MistyRose            
	Val:	0xFFE4B5,			Moccasin             
	Val:	0xFFDEAD,			NavajoWhite          
	Val:	0x000080,			Navy                 
	Val:	0xFDF5E6,			OldLace              
	Val:	0x808000,			Olive                
	Val:	0x6B8E23,			OliveDrab            
	Val:	0xFFA500,			Orange               
	Val:	0xFF4500,			OrangeRed            
	Val:	0xDA70D6,			Orchid               
	Val:	0xEEE8AA,			PaleGoldenrod        
	Val:	0x98FB98,			PaleGreen            
	Val:	0xAFEEEE,			PaleTurquoise        
	Val:	0xDB7093,			PaleVioletRed        
	Val:	0xFFEFD5,			PapayaWhip           
	Val:	0xFFDAB9,			PeachPuff            
	Val:	0xCD853F,			Peru                 
	Val:	0xFFC0CB,			Pink                 
	Val:	0xDDA0DD,			Plum                 
	Val:	0xB0E0E6,			PowderBlue           
	Val:	0x800080,			Purple               
	Val:	0xFF0000,			Red                  
	Val:	0xBC8F8F,			RosyBrown            
	Val:	0x4169E1,			RoyalBlue            
	Val:	0x8B4513,			SaddleBrown          
	Val:	0xFA8072,			Salmon               
	Val:	0xF4A460,			SandyBrown           
	Val:	0x2E8B57,			SeaGreen             
	Val:	0xFFF5EE,			SeaShell             
	Val:	0xA0522D,			Sienna               
	Val:	0xC0C0C0,			Silver               
	Val:	0x87CEEB,			SkyBlue              
	Val:	0x6A5ACD,			SlateBlue            
	Val:	0x708090,			SlateGray            
	Val:	0xFFFAFA,			Snow                 
	Val:	0x00FF7F,			SpringGreen          
	Val:	0x4682B4,			SteelBlue            
	Val:	0xD2B48C,			Tan                  
	Val:	0x008080,			Teal                 
	Val:	0xD8BFD8,			Thistle              
	Val:	0xFF6347,			Tomato               
	Val:	0xFFFFFF,			Transparent          
	Val:	0x40E0D0,			Turquoise            
	Val:	0xEE82EE,			Violet               
	Val:	0xF5DEB3,			Wheat                
	Val:	0xFFFFFF,			White                
	Val:	0xF5F5F5,			WhiteSmoke           
	Val:	0xFFFF00,			Yellow               	
	Val:	0x9ACD32,			YellowGreen          


IncludeFile: LevelEditor_Choices.cfg

Num:		ball_radius

Num:		brick_radius
Num:		brick_angle,		local,			choice_angle
Num:		brick_leftangle,	local,			choice_angle
Num:		brick_rightangle,	local,			choice_angle
Num:		brick_thickness
Num:		brick_rotation,		local,			choice_angle
Num:		brick_subdiv
Num:		brick_type
Num:		brick_anchor
Bool:		brick_texflip

Num:		brickdef_radius,		global,			brick_radius
Num:		brickdef_angle,			global,			choice_angle
Num:		brickdef_leftangle,		global,			choice_angle
Num:		brickdef_rightangle,	global,			choice_angle
Num:		brickdef_thickness,		global,			brick_thickness
Num:		brickdef_rotation,		global,			choice_angle
Num:		brickdef_subdiv,		global,			brick_subdiv
Num:		brickdef_type,			global,			brick_type

Num:		count_pegs,				global
Num:		count_ballpegs,			global
Num:		count_brickpegs,		global
Hex4:		select_flags,			global,			type_flags
Hex4:		display_flags,			global,			type_flags

Num:		grid_width,				global
Num:		grid_height,			global
Num:		grid_x,					global
Num:		grid_y,					global
Num:		grid_size,				global
Num:		grid_zoom,				global

Num:		hole_score
Bool:		hole_circular
Num:		hole_outdelay

Num:		mover_type
Num:		mover_radius,			local,		choice_moveradius
Num:		mover_time,				local,		choice_time				
Num:		mover_phase,			local,		choice_percent
Num:		mover_rotation,			local,		choice_angle
Num:		mover_radius2,			local,		choice_moveradius
Num:		mover_maxangle,			local,		choice_angle
Num:		mover_moverotation,		local,		choice_angle
Num:		mover_offset			
Num:		mover_pause1,			local,		choice_time
Num:		mover_phase1,			local,		choice_percent
Num:		mover_pause2,			local,		choice_time
Num:		mover_phase2,			local,		choice_percent
Num:		mover_postdelayphase,	local,		choice_percent

Num:		peg_type
Bool:		peg_crumble
Bool:		peg_variable

Num:		physobj_bouncy
Num:		physobj_rolly
Num:		physobj_maxbouncevel
Num:		physobj_xpos			
Num:		physobj_ypos			
Num:		physobj_sound
Hex6:		physobj_solidcolor,		local,		choice_color
Hex6:		physobj_outlinecolor,	local,		choice_color
Bool:		physobj_visible
Bool:		physobj_collidable
Bool:		physobj_moving
Bool:		physobj_background
Bool:		physobj_baseobj
Bool:		physobj_foreground
Bool:		physobj_foreground2
Bool:		physobj_ballstopreset
Bool:		physobj_drawsort
Bool:		physobj_drawfloat
Hex2:		physobj_align
String:		physobj_id
String:		physobj_logic
String:		physobj_image
Num:		physobj_subid
Num:		physobj_flipperflags
Num:		physobj_imagedx
Num:		physobj_imagedy
Num:		physobj_imagerot,		local,		choice_angle

Num:		poly_rotation,			local,		choice_angle
Num:		poly_width,				local,		poly_size
Num:		poly_height,			local,		poly_size
Num:		poly_scale
Num:		poly_normaldir
Hex4:		poly_growtype
Bool:		poly_convex
Bool:		poly_imagetile
Bool:		poly_imagemirror

The game executable also mentions strings for one.


The strings below along with their code are only present in the Windows releases and the Xbox 360 release.

Keyboard Reference
 (Multi Place)
 (Make Poly)
 (Center Drag)
 (Image Drag)
 (Single Sel)
 (No Draw Sel)
Edit (Order Mode)
Save Level
Inspect AutoSaves?
Would you like to inspect AutoSaves?
No autosaves
No autosave data available
Choose Group
No Choices
Clear Level?
Do you want to clear the level?
Copy Group Attributes?
Do you want to copy the current group of attributes to all selected objects?
Distribute Phase?
Would you like to distribute movement phase among selected objects?
Load Image

Leftover debug key

At the loading screen on an unmodified release, if "b" is pressed, the ball bounce animation will play, even when not played already.

Command-line Parameters

The game's executable mentions developer command lines for starting the game. It's not friendly with commands using spaces, so use = instead. The majority are the exact same as Plants vs. Zombies however the game upgraded one and also has a unique one.

  • -screensaver: Immediately loads the game into screensaver mode, interestingly the loading text says Starting Screensaver, the game is also automatically played by the computer, moving the mouse or pressing any key quits the game.
  • -replay: Immediately loads the said replay file after bootup, interestingly the loading text says Loading Replay instead, you must target the proper directory of a replay file to load it, or else nothing happens.

Unused Code

Level loader

To do:
If possible, find the values that properly enable this. Hijacking the level loading function by replacing a JNE feels forced.

The game has support for loading raw level files and their backdrops elsewhere via using a dialog related to your OS. It's possible to enable it by changing the function at the following address with one that has no operation will load it when trying to load a level or demo, clicking cancel will make the game load an empty level with an error message. This does not seem to be present in the Mac version.

Build Address
PopCap.com (WW, Final/1.01) 00429D67

If loading levels this way, the word Dev will be above the word score on your scoreboard and that will write to replay data, you also cannot save high scores from levels loaded this way and the level complete dialog only offers three options, returning to the main menu, replaying the level or playing a random level. Reloading a level makes the game write the name of the level file to the game window in this form.

 -  %s

LoadTime.h Generator

A function that generates a LoadTime.h header file in the game asset directory is present and called by the game at the loading screen but it's normally not possible to trigger it. Changing the below function to NOP will trigger it.

Build Address
PopCap.com (WW, Final/1.01) 0040B43D

Cheat Stats File Save

A function that generates a file named stats_cheat.dat file in LevelEditor (created if not present) in the game asset directory is present and called by the game whenever stats need to be saved. Changing the below function to NOP will trigger it.

Build Address
PopCap.com (WW, Final/1.01) 00464C50

Page 2 name alterations

The Mac release has some commented names of certain stages in the config file, suggesting different levels were planned for Jimmy's stages or Splork was planned to be unlocked before Jimmy early in development.

Level # Old level Final level
2 We Come In Peace Buffalo Wings
3 Maid in Space Skate Park
4 Win a Monkey Spiral of Doom

Internal Project Name

The internal name of the game is Thunderball according to strings in the game executable.

Unused text

Pego Leftovers

<String id="Check here to allow your monitor to go into powersave mode while running the Pego Screensaver.">
<String id="Check here to set your Pego as your Screensaver.">

Dubbed "Pego" for months of production, the team was suddenly tasked with changing the name based on copyright issues, which explains the presence of these duplicated (but renamed) strings.


Present in the game executable, replays don't use a .pego extension but the game can still view them if so.

Kat-Tut Stage Dialogue

English Japanese
StageDialog: 2, "C'mon! Hit \"Continue\" and let's do this!" StageDialog: 2, "さあ、今すぐ。「続行」を押してチャレンジしてみて !"

This text was commented out from Kat-Tut's dialogue on the second stage in stages.cfg.