Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ProgramName_Descriptor::ProgramName_Descriptor()
: SingleSwitchProgramDescriptor(
"GameName:ProgramName",
"Game Name", "Program Name",
"ComputerControl/blob/master/Wiki/Programs/GameName/ProgramName.md",
"Programs/GameName/ProgramName.html",
"<Description of this program>.",
FeedbackType::REQUIRED,
AllowCommandsWhenRunning::DISABLE_COMMANDS,
Expand Down
132 changes: 132 additions & 0 deletions SerialPrograms/Scripts/use_new_wiki.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
#!/usr/bin/env python3
"""
Script to update wiki links from old format to new format.
Old format: Programs/PokemonSV/AutoStory.html
New format: Programs/PokemonSV/AutoStory.html
"""

import os
import re
import sys
from pathlib import Path


def update_wiki_links(content):
"""
Update wiki links from old format to new format.

Args:
content: File content as string

Returns:
Updated content with new wiki links
"""
# Pattern to match old wiki links
# Matches: ComputerControl/blob/master/Wiki/ followed by path and .md extension
pattern = r'ComputerControl/blob/master/Wiki/([^)\s]+)\.md'

# Replace with new format: just the path with .html extension
replacement = r'\1.html'

updated_content = re.sub(pattern, replacement, content)

return updated_content


def process_file(file_path):
"""
Process a single file to update wiki links.

Args:
file_path: Path to the file to process

Returns:
True if file was modified, False otherwise
"""
try:
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()

updated_content = update_wiki_links(content)

if content != updated_content:
# Convert to Windows line endings (CRLF)
updated_content = updated_content.replace('\r\n', '\n').replace('\n', '\r\n')

with open(file_path, 'w', encoding='utf-8', newline='') as f:
f.write(updated_content)
return True

return False
except Exception as e:
print(f"Error processing {file_path}: {e}", file=sys.stderr)
return False


def find_files_with_wiki_links(root_dir, extensions=None):
"""
Find all files that might contain wiki links.

Args:
root_dir: Root directory to search
extensions: List of file extensions to search (default: code files only)

Returns:
List of file paths
"""
if extensions is None:
# Only process code files (.cpp, .h, .c, .hpp, .cc, .cxx)
extensions = ['.cpp', '.h', '.c', '.hpp', '.cc', '.cxx', '.tpp']

files_to_process = []

for root, dirs, files in os.walk(root_dir):
# Skip certain directories
dirs[:] = [d for d in dirs if d not in ['.git', 'build', 'Build', '__pycache__']]

for file in files:
if any(file.endswith(ext) for ext in extensions):
files_to_process.append(os.path.join(root, file))

return files_to_process


def main():
"""Main function to update wiki links in the repository."""
# Determine the root directory (SerialPrograms directory)
script_dir = Path(__file__).parent
serial_programs_dir = script_dir.parent

print(f"Searching for wiki links in: {serial_programs_dir}")
print("Looking for pattern: ComputerControl/blob/master/Wiki/.../*.md")
print("Replacing with: .../....html")
print("Target files: C/C++ code files (.cpp, .h, .c, .hpp, .cc, .cxx, .tpp)")
print("Output: Windows line endings (CRLF)\n")

# Find all relevant files
files = find_files_with_wiki_links(serial_programs_dir)
print(f"Found {len(files)} files to scan\n")

# Process each file
modified_count = 0
modified_files = []

for file_path in files:
if process_file(file_path):
modified_count += 1
modified_files.append(file_path)
print(f"Updated: {os.path.relpath(file_path, serial_programs_dir)}")

print(f"\n{'='*60}")
print(f"Summary: {modified_count} file(s) modified")

if modified_files:
print("\nModified files:")
for file_path in modified_files:
print(f" - {os.path.relpath(file_path, serial_programs_dir)}")

return 0 if modified_count >= 0 else 1


if __name__ == "__main__":
sys.exit(main())
4 changes: 2 additions & 2 deletions SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ GlobalSettings::GlobalSettings()
, m_discord_settings(
"<font size=4><b>Discord Settings:</b> Integrate with Discord. (" +
make_text_url(
ONLINE_DOC_URL_BASE + "ComputerControl/blob/master/Wiki/Software/DiscordIntegration.md",
ONLINE_DOC_URL_BASE + "DiscordIntegration/index.html",
"online documentation"
) + ")</font>"
)
Expand Down Expand Up @@ -282,7 +282,7 @@ void GlobalSettings::load_json(const JsonValue& json){
m_discord_settings.set_text(
"<font size=4><b>Discord Settings:</b> Integrate with Discord. (" +
make_text_url(
ONLINE_DOC_URL_BASE + "ComputerControl/blob/master/Wiki/Software/DiscordIntegration.md",
ONLINE_DOC_URL_BASE + "DiscordIntegration/index.html",
"online documentation"
) + ")</font>"
);
Expand Down
6 changes: 3 additions & 3 deletions SerialPrograms/Source/CommonFramework/Globals.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,17 @@ const std::string PROGRAM_VERSION = PROGRAM_VERSION_BASE + "-user";

const std::string PROGRAM_NAME = "Pok\u00e9mon Automation";

const std::string ONLINE_DOC_URL_BASE = "https://github.com/PokemonAutomation/";
const std::string ONLINE_DOC_URL_BASE = "https://pokemonautomation.github.io/";
const std::string PROJECT_SOURCE_URL = "https://github.com/PokemonAutomation/Arduino-Source/";
const std::string RESOURCES_URL_BASE = "https://github.com/PokemonAutomation/Packages/";



// This the URL that we display. We don't actually use this for linking.
const std::string GITHUB_LINK_TEXT = "github.com/PokemonAutomation";
const std::string GITHUB_LINK_TEXT = "pokemonautomation.github.io";

// This is the URL that we actually link to.
const std::string GITHUB_LINK_URL = "https://github.com/PokemonAutomation/About/blob/master/README.md";
const std::string GITHUB_LINK_URL = "https://pokemonautomation.github.io";



Expand Down
2 changes: 1 addition & 1 deletion SerialPrograms/Source/ML/Programs/ML_LabelImages.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ LabelImages_Descriptor::LabelImages_Descriptor()
Color(),
"ML:LabelImages",
"ML", "Label Images",
"ComputerControl/blob/master/Wiki/Programs/ML/LabelImages.md",
"Programs/ML/LabelImages.html",
"Label " + Pokemon::STRING_POKEMON + " on images"
)
{}
Expand Down
2 changes: 1 addition & 1 deletion SerialPrograms/Source/ML/Programs/ML_RunYOLO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ RunYOLO_Descriptor::RunYOLO_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:RunYOLO",
"Nintendo Switch", "Run YOLO",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/RunYOLO.md",
"Programs/NintendoSwitch/RunYOLO.html",
"Run YOLO object detection model.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ ConsoleSettings_Descriptor::ConsoleSettings_Descriptor()
Color(),
"NintendoSwitch:GlobalSettings",
"Nintendo Switch", "Framework Settings",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/FrameworkSettings.md",
"Programs/NintendoSwitch/FrameworkSettings.html",
"Switch Framework Settings"
)
{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ FriendCodeAdder_Descriptor::FriendCodeAdder_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:FriendCodeAdder",
"Nintendo Switch", "Friend Code Adder",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/FriendCodeAdder.md",
"Programs/NintendoSwitch/FriendCodeAdder.html",
"Add a list of friend codes.",
ProgramControllerClass::StandardController_PerformanceClassSensitive,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ FriendDelete_Descriptor::FriendDelete_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:FriendDelete",
"Nintendo Switch", "Friend Delete",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/FriendDelete.md",
"Programs/NintendoSwitch/FriendDelete.html",
"Mass delete/block all those unwanted friends.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PreventSleep_Descriptor::PreventSleep_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:PreventSleep",
"Nintendo Switch", "Prevent Sleep",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/PreventSleep.md",
"Programs/NintendoSwitch/PreventSleep.html",
"Press B every 15 seconds to keep the Switch from sleeping.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ PushJoySticks_Descriptor::PushJoySticks_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:PushJoySticks",
"Nintendo Switch", "Push Joy Sticks",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/PushJoySticks.md",
"Programs/NintendoSwitch/PushJoySticks.html",
"Push Joy Sticks continuously.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ RecordKeyboardController_Descriptor::RecordKeyboardController_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:RecordKeyboardController",
"Nintendo Switch", "Record Keyboard Controller",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/RecordKeyboardController.md",
"Programs/NintendoSwitch/RecordKeyboardController.html",
"Record actions from the keyboard controller, then play it back.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ SnapshotDumper_Descriptor::SnapshotDumper_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:SnapshotDumper",
"Nintendo Switch", "Snapshot Dumper",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/SnapshotDumper.md",
"Programs/NintendoSwitch/SnapshotDumper.html",
"Periodically take screenshots.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ SwitchViewer_Descriptor::SwitchViewer_Descriptor()
Color(),
"NintendoSwitch:SwitchViewer",
"Nintendo Switch", "Switch Viewer",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/SwitchViewer.md",
"Programs/NintendoSwitch/SwitchViewer.html",
"View status information from one or more running programs."
)
{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ TurboA_Descriptor::TurboA_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:TurboA",
"Nintendo Switch", "Turbo A",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/TurboA.md",
"Programs/NintendoSwitch/TurboA.html",
"Endlessly mash A.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ TurboButton_Descriptor::TurboButton_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:TurboButton",
"Nintendo Switch", "Turbo Button",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/TurboButton.md",
"Programs/NintendoSwitch/TurboButton.html",
"Mash a controller button. (similar to turbo controller)",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ TurboMacro_Descriptor::TurboMacro_Descriptor()
: SingleSwitchProgramDescriptor(
"NintendoSwitch:TurboMacro",
"Nintendo Switch", "Turbo Macro",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/TurboMacro.md",
"Programs/NintendoSwitch/TurboMacro.html",
"Create macros",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ VirtualConsole_Descriptor::VirtualConsole_Descriptor()
Color(),
"NintendoSwitch:VirtualConsole",
"Nintendo Switch", "Virtual Console",
"ComputerControl/blob/master/Wiki/Programs/NintendoSwitch/VirtualConsole.md",
"Programs/NintendoSwitch/VirtualConsole.html",
"Play your Switch from your computer. Device logging is logged to the output window."
)
{}
Expand Down
2 changes: 1 addition & 1 deletion SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ GameSettings_Descriptor::GameSettings_Descriptor()
Color(),
"PokemonBDSP:GlobalSettings",
STRING_POKEMON + " BDSP", "Game Settings",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/PokemonSettings.md",
"Programs/PokemonBDSP/PokemonSettings.html",
"Global " + STRING_POKEMON + " Brilliant Diamond and Shing Pearl Settings"
)
{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ EggAutonomous_Descriptor::EggAutonomous_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:EggAutonomous",
STRING_POKEMON + " BDSP", "Egg Autonomous",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/EggAutonomous.md",
"Programs/PokemonBDSP/EggAutonomous.html",
"Automatically fetch+hatch eggs and keep all shinies.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::REQUIRED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ EggFetcher_Descriptor::EggFetcher_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:EggFetcher",
STRING_POKEMON + " BDSP", "Egg Fetcher",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/EggFetcher.md",
"Programs/PokemonBDSP/EggFetcher.html",
"Automatically fetch eggs from the daycare man.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ EggHatcher_Descriptor::EggHatcher_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:EggHatcher",
STRING_POKEMON + " BDSP", "Egg Hatcher",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/EggHatcher.md",
"Programs/PokemonBDSP/EggHatcher.html",
"Hatch eggs from boxes.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::OPTIONAL_,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ AmitySquarePickUpFarmer_Descriptor::AmitySquarePickUpFarmer_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:AmitySquarePickUpFarmer",
STRING_POKEMON + " BDSP", "Amity Square Pick Up Farmer",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/AmitySquarePickUpFarmer.md",
"Programs/PokemonBDSP/AmitySquarePickUpFarmer.html",
"Automatically fetch berries and stickers from the walking pokemon in Amity Square.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::NONE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ DoublesLeveling_Descriptor::DoublesLeveling_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:DoublesLeveling",
STRING_POKEMON + " BDSP", "Double Battle Leveling",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/DoublesLeveling.md",
"Programs/PokemonBDSP/DoublesLeveling.html",
"Level up your party by spamming spread moves in a double battle with a partner that heals you forever.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::REQUIRED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ GiftBerryReset_Descriptor::GiftBerryReset_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:GiftBerryReset",
STRING_POKEMON + " BDSP", "Gift Berry Reset",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/GiftBerryReset.md",
"Programs/PokemonBDSP/GiftBerryReset.html",
"Reset the game in front of the NPC that gives rare berries in Pastoria City until a desired berry is received.",
ProgramControllerClass::StandardController_NoRestrictions,
FeedbackType::REQUIRED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ MoneyFarmerRoute210_Descriptor::MoneyFarmerRoute210_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:MoneyFarmerRoute210",
STRING_POKEMON + " BDSP", "Money Farmer (Route 210)",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/MoneyFarmerRoute210.md",
"Programs/PokemonBDSP/MoneyFarmerRoute210.html",
"Farm money by using VS Seeker to rebattle the Ace Trainer couple on Route 210.",
ProgramControllerClass::StandardController_RequiresPrecision,
FeedbackType::REQUIRED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ MoneyFarmerRoute212_Descriptor::MoneyFarmerRoute212_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:MoneyFarmerRoute212",
STRING_POKEMON + " BDSP", "Money Farmer (Route 212)",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/MoneyFarmerRoute212.md",
"Programs/PokemonBDSP/MoneyFarmerRoute212.html",
"Farm money by using VS Seeker to rebattle the rich couple on Route 212.",
ProgramControllerClass::StandardController_RequiresPrecision,
FeedbackType::REQUIRED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ PoffinCooker_Descriptor::PoffinCooker_Descriptor()
: SingleSwitchProgramDescriptor(
"PokemonBDSP:PoffinCooker",
STRING_POKEMON + " BDSP", "Poffin Cooker",
"ComputerControl/blob/master/Wiki/Programs/PokemonBDSP/PoffinCooker.md",
"Programs/PokemonBDSP/PoffinCooker.html",
"Cook Poffins.",
ProgramControllerClass::StandardController_PerformanceClassSensitive,
FeedbackType::REQUIRED,
Expand Down
Loading