Skip to content

Drakezombie/Stable-Decompile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stable Decompile

A Project focused in making modding both GOTY and OG possible, adding features and contents from different platforms of the Franchise, and bug fixes.

Lets be honest, Plants Vs. Zombies has a lot of bugs and the decompile version have more of them. Old SexyAppFrameWork and Rendering Issues especially Software Rendering. I addressed most of these and fixed them on SexyAppFramework while adding QoL features like being able to Resize your window, Maximize Button, and fixing Computers not being allowed to use D3D capabilities.

DISCLAIMER

This project does not condone piracy

This project does not include any IP from PopCap outside of their open source game engine, this will only output the executable for a decompiled, fan version of PvZ

If you want to play this game using this project

If you compile in GOTY, then you need the original game files by purchasing Plants Vs. Zombies: Game of the Year Edition on Steam!

If you compile in 2009, then you need the original game files by owning Plants Vs. Zombies!

Modding Guide

Setting Up The Assets

With your legally owned copy of Plants Vs. Zombies GOTY / 2009, Go to the game's director. Copy Properties/ folder and the main.pak into the Output/ folder of this mod. Compile debugGOTY or releaseGOTY if your copy is the GOTY version of the game, otherwise compile in debug or release for the 2009. The Output folder contents should look like this:

  • bass.dll
  • d3d9.dll
  • dependency.pak
  • lua54.dll
  • main.pak
  • portaudio_x86.dll
  • ZenGarden.scr

Enabling and Disabling Features

In GameConstants.h at the very end of the document, you can see a bunch of #ifdef If you want to enable a specific feature then you have to remove // Put // at the beginning if you do not want it enabled

Choosing Which Version to Compile on

For Mod developers, you must compile on debugGOTY or debug so you can get the most of the debugging capabilities like tools and cheats. If you want to release a version publicly, then you might need to compile in releaseGOTY or release. The Release build is the most performant of the two and it does not have built in exploit tools

If you use the GOTY main.pak then you must use debugGOTY or releaseGOTY because your mod might not load the assets properly like missing jackson reanim. Use debug or release if you have the old version of Plants Vs. Zombies (2009)

Adding and Replacing Assets

For modders, you have to create a folder named extension/ inside the Output/ folder containing:

  • compiled/particles/
  • compiled/reanim/
  • images/
  • sounds/
  • particles/
  • properties/
  • reanim/

If you add Images, Particles, Texts, and Sounds, you have to create resources.xml inside properties/ and it have to follow this format

  <?xml version="1.0"?>
  <ResourceManifest>
      <Resources id="LoadingImages">
      <SetDefaults path="extension/images" idprefix="IMAGE_" />
      ... the rest of the code

The path value on SetDefaults must start with extension\ for it to work. If you add Reanimations, you need to put them in compiled/reanim/ and the assets in reanim/

Adding Resource Packs

If this is enabled by the modder / distributor, you can use any pak mod like PvZ2Pak by E-Pea. (Note you must use GOTY or 2009 depends on what version you compile) Create a folder named resourcepack/ inside the Output/ folder. Then, copy the folders of the PAK mod...

  • compiled/particles/
  • compiled/reanim/
  • images/
  • sounds/
  • particles/
  • properties/
  • reanim/

and paste into resourcepack/

You need to modify properties/resources.xml inside the resourcepack/ folder and replace every

<SetDefaults path="xxx" idprefix="..." />

with

<SetDefaults path="resourcepack/xxx" idprefix="..." />

Roadmap

Features

  • Build on 2009 or GOTY
  • Resource Pack Support
  • Dependency Pak from the Engine
  • Extension Files/Pak for Modders
  • Fixed Rendering for SexyAppFramework
  • Fixed Software Rendering
  • Resizable Window Screen
  • Screen Saver
  • Achievements
  • Bloom and Doom Contents
  • Audio Inputs (Microphone) PortAudio
  • A ton of Bug fixes from OG and GOTY
  • Missing Unfinished Features
  • Safe-Syncs for Save Files
  • 2009 / GOTY Profile Support
  • Fixed Oversights
  • Scrolling and Swiping
  • Addressed All of the Performance Issues
  • Fixed DDInterface false flagging users with Errors
  • Lua Modding Support (Partial)
  • Zombatar (Partial)
  • Platform Exclusive Contents (Partial)
  • Particle Editor (Partial)
  • Advance Settings (Partial)

Planned Features

  • Font Builder
  • Keyboard Keybind System
  • Gamepad Support
  • LAN Multiplayer
  • Shared Screen Multiplayer
  • MP4 Playback
  • Unicode Support (Partial)
  • x64 Build

Thanks to

  • @patoke for reverse-engineering GOTY achievements, Disco, ect.
  • @rspforhp for their amazing work decompiling the 0.9.9 version of PvZ
  • @ruslan831 for archiving the 0.9.9 decompilation of PvZ
  • @PortAudio for the amazing portable audio I/O library
  • @Lua for allowing us to make modding with lua possible
  • The GLFW team for their amazing work
  • PopCap for creating the amazing PvZ franchise (and making their game engine public)
  • All the contributors which have worked or are actively working in this amazing project

Stable Decompile Team

Programmers

InLiothixie YourLocalMoon Electr0Gunner

Bug Hunter

Exter Unnamed

Artists

ReatExists Nostalgic2137 Fruko

Animators

Unnamed

Music Composers

Drenco

Special Thanks

Exter Adnini

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 52.6%
  • C++ 42.0%
  • Shell 2.4%
  • Roff 0.9%
  • Makefile 0.7%
  • HTML 0.3%
  • Other 1.1%