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.
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!
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
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
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)
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 codeThe 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/
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="..." />- 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)
- Font Builder
- Keyboard Keybind System
- Gamepad Support
- LAN Multiplayer
- Shared Screen Multiplayer
- MP4 Playback
- Unicode Support (Partial)
- x64 Build
- @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
InLiothixie YourLocalMoon Electr0Gunner
Exter Unnamed
ReatExists Nostalgic2137 Fruko
Unnamed
Drenco
Exter Adnini