Claude Code Plugins

Community-maintained marketplace

Feedback

rename-global-variable-or-function

@cdlewis/snowboardkids2-decomp
58
0

Renaming a global variable or function requires additional steps in decompilation projects or the build will fail. Use this skill when you want to rename a global variable or function.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name rename-global-variable-or-function
description Renaming a global variable or function requires additional steps in decompilation projects or the build will fail. Use this skill when you want to rename a global variable or function.

Rename a global variable or function

Instructions

Global variables and function names are mapped to specific addresses in memory thought the symbol*addrs.txt file at the root of the project. Each symbol should only appear at most once. If a symbol is not present it will be given a default name (usually starting with func_ or D_).

So at a minimum this file will need to be updated when attempting to rename a variable. However additional steps may also be needed.

Global Variables

Global variables will have a default name format that looks like: D_<memory address>_<rom address>. For example D_800B11A0_1DB740. Both the memory address and rom adress should be included as annotations when renaming a symbol. This is because different symbols may share a memory address but be located in different overlays. To rename D_800B11A0_1DB740, for example, to MyNewGlobal we would do:

D_800B11A0_1DB740 = 0x800B11A0; // rom:0x1DB740

Note the structure of ` = ; // rom:.

You may see additional annotations for size and type. These should be preserved if they exist but you should not need to use them.

Functions

A similar process is followed for functions. A function will by default have a name structure of func_<memory address>_<rom address>. For example: func_800B00C0_9FF70. To rename this function to MyFunction we would do:

MyFunction = 0x800B00C0; // rom:0x9FF70

Validation

To validate your name change, rebuild the project:

./tools/build-and-verify.sh