This guide will walk you through the entire process of decompiling the game Webfishing, setting up a modding environment exporting your mod, and using it in-game!
- GDRE Tools: For decompiling the game files (Download GDRE Tools)
- GodotSteam v3.21: For running the decompiled game in Godot (Download GodotSteam v3.21)
- GodotPCKExplorer: Allows you to view pck files without having to decompile them.This is useful because it allows you to double click on .pck files and open them easily (I recommend not to do this with webfishing.pck, but mainly to check your own mods) Get it here
- My Comfy APIs: Makes writing mods a whole lot easier. Allows you to get the current or remote players and variables, and register keybinds which work with the in-game settings. USE THE APIS!!
- Lure API: If you want to mod ANY fish, props, bobbers, colors, player customization, accessories, voices, patterns, items, or even maps. USE LURE!!.
- Download the latest version of GDRE Tools for Windows.
- Locate
webfishing.exe
inside theWEBFISHING
folder where Webfishing is installed via Steam.
- Use GDRE Tools to load the
webfishing.exe
file (do not attempt to decompile the.exe
). - Do a Full Recovery with GDRE Tools
- Note: All game code and assets are stored within
webfishing.exe
- Note: This was previously in a file titled
webfishing.pck
which does not exist anymore, but may possibly be where to find it at some other point?
- Note: All game code and assets are stored within
- Open the folder where you exported the webfishing exe and keep it open for later! This is important later!
This process will create a fully functional Godot project from the game files.
- Download GodotSteam v3.21.
- EXTRACT GodotSteam
win64-g352-s158-gs321.zip
and open that folder - Create a new text file titled
steam_appid.txt
- Open the newly created
steam_appid.txt
in notepad or your favourite text editor, and set the contents to only3146520
, then save it.
-
Open
windows-352-editor-64bit.exe
to open the GodotSteam editor -
Once you've created your new mod, right click on
res://
and clickOpen in File Manager
- Keep this folder open for Section 3, you will thank me later!
- In the root of your Mod Project, create a new folder structure:
mods/authorname.modname
.- Replace
authorname
with your username. - Replace
modname
with the name of your mod.
- Replace
- Inside
mods/authorname.modname
, create a file calledmain.gd
.- Note: This is the script file for your mod, which you will be editing later
- Note: GDWeave, the WEBFISHING modloader, run your
mods/authorname.modname/main.gd
file automatically, and mounts your mod in/root/authorname.modname
(authorname.modname is specified in manifest.json of your mod).
- Ensure that both the decompiled webfishing PCK folder from earlier, and the new project folder are open!
- Open a Command Prompt as Admin by pressing the Windows key and typing "Command Prompt" then right clicking it and running it as admin
- Copy the following command into Command Prompt
- Replace
webfishing
with the full path to your decompiled webfishing folder, then replacemymod
with the full path to your new mod folder
Example:mklink /J "webfishing/mods" "mymod/mods"
mklink /J "C:\Users\Blue\Desktop\webfishing\mods" "C:\Users\Blue\Documents\My Mods\mods"
- Replace
Now, whenever you edit your mod's files inside of the Decompiled Godot project, the changes will sync to your empty project, this will save you a LOT of trouble later.
You can now close your mod's GodotSteam project by simply exiting GodotSteam.
- Open the decompiled Webfishing project that you've just exported in GodotSteam.
- Ensure that there is a "mods" folder in the File Manager. If not, ensure that you've followed Step 2 properly.
- You can now test the game in the editor by pressing F5!
Guide: Make your Mod!
Godot itself does not support mod loading like GDWeave does by default. To test your mod within GodotSteam:
- Go to
Project > Project Settings
in the top menu.
- Select the
AutoLoad
tab. - Under "Path," click the folder icon, and select your
main.gd
file withinmods/authorname.modname/main.gd
. - Under "Name," name it with your mod name
AuthorName.ModName
, but remove the dot here!- This setup allows GodotSteam to load your mod within the decompiled project. This works by creating a new node in "/root/AuthorName.ModName" with your main.gd script attached to it, simulating how GDWeave loads your mod in game.
- Once you've done all of this, click Add,
The next instructions are entirely optional, but make development and finding errors in your mods MUCH EASIER by removing the game's built in print spam!!
-
Make sure you're in the "Script" tab at the top middle of the screen
-
Press Ctrl+Shift+R (CMD+Shift+R on Mac) to open find and replace
-
Set Find: to
print(
and set Replace: topass #print#(
- Click
Replace...
, then clickReplace All (NO UNDO)
Now, if you print("anything to the console")
or get any errors, you can find them in the output section at the very bottom of your screen
You can click Clear
on the output to clear the output at any point
You can now press F5
to launch Webfishing in the engine and test/debug your mod.
If you did everything correctly, the game should launch and start normally!
-
Close your Decompiled Webfishing project, and open GodotSteam Editor again to open your mod's own GodotSteam project you created in Section 2 Step 6
-
Create a brand new folder inside of
WEBFISHING/GDWeave/Mods
(your steam installation folder of WEBFISHING) calledauthorname.modname
-
Go to
Project > Export
. -
If you see this at the bottom of your screen
- Click Manage Export Templates->Download & Install
- Create a new Windows Export Template
- Under Options, disable
Runnable
.
-
If you are using any dependencies (BlueberryWolfiAPI, Lure, etc) make sure not to export those with your mod!!
-
Choose Export PCK/zip and ensure
Export with Debug
is disabled, then save it into the folder you created in step 1.
-
Open the mod export folder you created for your mod earlier in
WEBFISHING/GDWeave/Mods
in Section 6, step 2. -
Inside your mod's folder, create a
manifest.json
file with the following content:{ "Id": "authorname.modname", "PackPath": "modname.pck", "Dependencies": [ "authorname.dependencyname" ] }
- Replace
authorname
with your username. - Replace
modname
with the name of your mod. Note: The Dependencies field can be removed if your mod does not have any dependencies.
- Replace
If you're using my Comfy API, like the example project does, make sure to add my API to your manifest.json!
"Dependencies": [
"BlueberryWolfi.APIs"
]
Example:
You've just created your very own mod! You can now launch WEBFISHING and it will load, and you can share it with other people by sending them the folder to your mod in WEBFISHING\GDWeave\Mods
. Isn't that amazing??
The next section is for Developers to learn the best practices to implement while developing mods for GDWeave using GDScript before releasing them to the world
Make sure to follow the Best Practices for WEBFISHING mods using GDWeave