/haggle

Peggle Deluxe (1.01 Steam) mod SDK

Primary LanguageC++MIT LicenseMIT

Haggle Mod SDK

For Peggle Deluxe and Peggle Nights

Haggle?

Hack Peggle

Haggle exposes a bunch of SexyFramework and Peggle functions in a wrapper to be used from outside of the game to do whatever you want with it!

Installing

To run a mod, you must perform the following steps:

Installing the Mod Loader

When Haggle mods are used with Peggle, they are loaded into the Peggle executable code on startup. The Mod Loader performs this operation. Follow these steps to install the Mod Loader.

  1. Obtain the Mod Loader dsound.dll file:
    1. Download from the Haggle Github releases page or
    2. Compile from the mod-loader project files. Refer to the Compiling section for details.
  2. Copy the dsound.dll file into the directory that the Peggle executable is run from.
    1. For Steam, Peggle executes from a location like C:\ProgramData\PopCap Games\Peggle (drive letter may vary). Note that the install location for Steam games is not the same as this ProgramData location. The Mod Loader must be placed inside this ProgramData location due to Steam's DRM check.

      To easily find this location, follow these steps:

      Steam Mod Loader Install Location - Image

      1. Run Peggle from Steam
      2. Open the Task Manager (Ctrl+Shift+Esc; Right-click Taskbar or Start Menu->Task Manager; or Search "Task Manager" in the Start Menu)
      3. Find popcapgame1.exe on the "Processes" tab (sort by "Name" to easily find it)
      4. Right-click on popcapgame1.exe
      5. Click on "Open file location"
    2. For the EA launcher, Peggle executes from the install location of Peggle. To easily find this location, follow these steps:

      EA Mod Loader Install Location - Image

      1. Open the EA app
      2. Go to "My Collection"
      3. Click on the "3 dots" menu for Peggle
      4. Click on "View Properties"
      5. Click on "Browse" under the "Install location" section.
  3. Test that the Mod Loader has been installed correctly.
    1. Launch Peggle
    2. If a window titled "Haggle Mod Loader" opened along with Peggle, then the Mod Loader has been installed correctly! At this point, the Mod Loader will complain about not finding a mod folder if no mods have been installed yet. Refer to the section on installing mods into the mod folder.

Note: you can temporarily disable mods by renaming the dsound.dll file (e.g. rename it to _dsound.dll).

Installing mods into the mods folder

  1. Create a folder called "mods" in the Peggle installation directory.
    1. For Steam, you can find this location by right-clicking on Peggle in your Steam library, hover over "Manage", and click on "Browse local files".

      Steam Mod Folder Install Location - Image

    2. For the EA launcher, you can find this location by following the same steps in the Installing the Mod Loader section for the EA launcher.

  2. Place the mod's file(s) into the created folder. A mod file will usually have a .dll or .asi extension.
  3. Test that the mod has been installed correctly.
    1. Launch Peggle, having already completed the Installing the Mod Loader step.

    2. In the Haggle Mod Loader window, the Mod Loader identifies which mods it loads. Ensure that all of the mod files that were placed into the "mods" folder in the previous step have been loaded.

      Haggle Mod Loader with mod loaded successfully - Image

Compiling

Requirements

  • Visual Studio 2022 (or prefered version) with C++ modules installed

Compile

  • Run generate.bat for VS2022 generation
    • edit generate.bat if needed for other IDEs, check premake for more info
  • Compile

Contributing

Refere to the contributing guide for more information.

Dependencies

For license information, please check the containing depedency folder in ./deps or check their website and/or repository page