#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
@@ -100,6 +98,12 @@
#rom-patcher-button-apply
The rest of elements are informative and can be removed, though it's recommended to keep them for a better user experience.
-->
+
+
+
+
+
\ No newline at end of file
diff --git a/hacks/transform/info.md b/hacks/transform/info.md
new file mode 100644
index 0000000..e69de29
diff --git a/hacks/transform/patches.info b/hacks/transform/patches.info
index 3ff40e0..32b9f97 100644
--- a/hacks/transform/patches.info
+++ b/hacks/transform/patches.info
@@ -4,7 +4,7 @@
{
"file": "poketransform_v1.3.bps",
"name": "Poketransform (v1.3)",
- "description": "Pokémon Emerald (USA, Europe) Base ROM",
+ "description": "",
"outputName": "poketransform_v1.3"
}
]
diff --git a/rom-patcher-js/style.css b/rom-patcher-js/style.css
index c4ab243..a4e4b5c 100644
--- a/rom-patcher-js/style.css
+++ b/rom-patcher-js/style.css
@@ -525,8 +525,11 @@ img {
text-align: center;
}
+:root {
+ --rom-patcher-link-color: #cce;
+}
#rom-patcher-powered a {
- color: #cce;
+ color: var(--rom-patcher-link-color);
padding: 4px 8px;
text-decoration: none;
opacity: .25;
@@ -551,7 +554,7 @@ img {
}
#team-aqua-homepage a {
- color: #cce;
+ color: var(--rom-patcher-link-color);
padding: 4px 8px;
text-decoration: none;
opacity: .25;
diff --git a/scripts/new_hack.py b/scripts/new_hack.py
new file mode 100644
index 0000000..8d4dca6
--- /dev/null
+++ b/scripts/new_hack.py
@@ -0,0 +1,42 @@
+import shutil
+import os
+import sys
+
+def copy_template(destination_name, overwrite=False):
+ if destination_name == '.':
+ print(f"Cannot use '{destination_name}' as destination.")
+ return
+
+ source = "./hacks/template"
+ destination = f"./hacks/{destination_name}"
+ patches_dir = os.path.join(destination, "patches")
+
+ if not os.path.exists(source):
+ print(f"Source folder '{source}' does not exist.")
+ return
+
+ if os.path.exists(destination):
+ if overwrite:
+ shutil.rmtree(destination)
+ print(f"Removing folder '{destination}' for overwrite.")
+ else:
+ print(f"Destination folder '{destination}' already exists. Use overwrite=True to replace it.")
+ return
+
+ try:
+ shutil.copytree(source, destination)
+ os.makedirs(patches_dir, exist_ok=True)
+ print(f"ROM Patching Page created successfully at '{destination}'")
+
+ except Exception as e:
+ print(f"Error copying folder: {e}")
+
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ print("Usage: python copy_folder.py [overwrite]")
+ else:
+ dest_name = sys.argv[1]
+ overwrite_flag = False
+ if len(sys.argv) >= 3:
+ overwrite_flag = sys.argv[2].lower() in ["true", "1", "yes"]
+ copy_template(dest_name, overwrite_flag)
diff --git a/tutorials/how_to_add_hack.md b/tutorials/how_to_add_hack.md
index 6c0c04b..ef287b2 100644
--- a/tutorials/how_to_add_hack.md
+++ b/tutorials/how_to_add_hack.md
@@ -20,16 +20,21 @@ Firstly we'll create your very own patching page, allowing information about you
+ └── patches.zip
```
### Visuals
-1. Duplicate the `hacks/template` folder and rename it to match the name of your game, **with no spaces**.
- > Note: This will also be part of the pages URL.
+1. First, you must create your ROM Patching folder. This can be done two ways:
+ - In the root of your fork, use the python script `python3 scripts/new_hack.py name` where `name` is your hack name **with no spaces**.
+ - Duplicate the `hacks/template` folder and rename it to match the name of your game, **with no spaces**.
+ > Note: Your hack name will also be part of the pages URL.
2. Inside your new folder, open `config.js` and edit it with your hack’s `title:` and the ROM `base:` used for your patches.
3. Within this same file, the `discord:`, `github:`, `pokécommunity:` and/or `reddit:` fields can be filled with links in order to display buttons for each on your patching page.
4. Add a high-resolution logo for your hack to your folder, named `logo.png`. This will appear at the top of your hack’s page.
5. Open `info.md`. When adding more information such as screenshots, features, credits, etc. to this file, it will display the content on your hack page.
-6. Open `color.css`. Changing the value of `--page-title-color`, will edit the title colour and `--page-bg-color` will change the background colour of the patching page.
+6. Open `color.css`. Changing the colours within this will change parts of the patching page.
+ - `--page-title-color` will edit the title colour
+ - `--page-bg-color` will change the background colour
+ - `--page-rom-patcher-link-color` will change the link colour below the rom patcher from the default if defined
### Patches & Info
-1. Create a subfolder called `patches` within your patching page directory.
+1. If it doesn't already exist, create a subfolder called `patches` within your patching page directory.
2. Place your patch files inside it.
> Only `.bps`, `.ups` and `.xdelta` patches are able to be used.
3. Open the `patches.info` file, which contains details about each patch.