Skip to content
This repository has been archived by the owner on Mar 24, 2022. It is now read-only.
/ Popcap-Patches Public archive

Fix 3D acceleration of Popcap games in Windows 10

License

Notifications You must be signed in to change notification settings

the1812/Popcap-Patches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Popcap Patches

A tool for fixing 3D acceleration of Popcap games in Windows 10, based on cheez3d/popcap-patches.

This tool only help you make patched game file. For the full process, please refer to the original repo.

Games Support

* stands for not perfectly supported, see Known issues below for more info.

  • Bejeweled 2 Deluxe
  • Bejeweled 3
  • Bejeweled Blitz
  • Bejeweled Twist
  • Zuma Deluxe *
  • Zuma's Revenge *
  • Peggle Deluxe *
  • Peggle Nights *

Known issues

  • Peggle Deluxe needs extra configuring, see issue #1 for details.
  • For Peggle series and Zuma Deluxe, run patch only if you don't need full screen. These games cannot be both full screen and 3D accelerated.
  • In Zuma's Revenge, if your screen aspect ratio is different than the game, game area may get clipped when running in full screen mode. (expected "contain" filling mode but actually get "cover")
  • May not work with Origin version, or languages other than English.

Download

Please visit Releases page.

Usage

Make patch file

  • Open PopcapPatches.exe
  • Backup original game exe file
  • Click Open file to select the game file
  • Click Patch to get a patched file
  • Replace original game file with patched file

Clean up registry

  • Open Windows Registry Editor, navigate to HKEY_CURRENT_USER\Software\PopCap\<Game Name>
  • Remove Test3D key

Modify config

  • Backup compat.cfg in game folder (if there is, or you can skip this step)
  • Open it with any text editor
  • Find all functions about 3D and resolution, like Is3DSupported, Is3DRecommended, IsHighResSupported or IsUltraResSupported
  • Let them just return true

Example:

function(bool) Is3DSupported
{
	if ((compat_D3DVendorID == VENDOR_SIS) || (compat_D3DVendorID == VENDOR_MATROX))
	{
		log("Returning Is3DSupported false due to SIS or Matrox hardware");
		return false;
	}

	// Nowadays any other hardware within our minspec range should be okay for 3D
	return true;
}

will become:

function(bool) Is3DSupported
{
	return true;
}
  • Finally save the config file and run game

Other info

Built with Visual Studio 2019, .NET Framework 4.7.2