Player sprites & more (#1055)

* WIP work on sprites (sprite_stuff.py)

* cleanup of various stuff

* separate compiler installation into separate script

* wipz

* more

* renames, bugfixes

* more

* very grood

* cleanin

* goods and services

* oopth

* oopth2

* Parse palette data from xml

* more work

* more wipperz

* more

* it working

* git subrepo pull --force tools/splat

subrepo:
  subdir:   "tools/splat"
  merged:   "e72a868f9f"
upstream:
  origin:   "https://github.com/ethteck/splat.git"
  branch:   "master"
  commit:   "e72a868f9f"
git-subrepo:
  version:  "0.4.5"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "aa416e4"

* fix symbol_addrs for new splat

* upd8s

* Use generated header, other versions, fixes

* fixes & formatting

* wip fusing npc + player extraction & cleanup

* remove npc_files

* buildin

* fix some bugs

* Cleanup, yay0s separately

* cleen

* cleanup

* Respect stack during build

* jp spritz

* dun

* fix c files

---------

Co-authored-by: pixel-stuck <mathmcclintic@gmail.com>
This commit is contained in:
Ethan Roseman 2023-06-26 19:27:37 +09:00 committed by GitHub
parent f0a9274c01
commit 8837fbdf65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
468 changed files with 19347 additions and 15853 deletions

View File

@ -1,7 +1,9 @@
{
"files.eol": "\n",
"files.insertFinalNewline": true,
"editor.rulers": [120],
"editor.rulers": [
120
],
"clang-tidy.compilerArgs": [
"-std=gnu89",
"-Iinclude",
@ -31,7 +33,8 @@
"python.analysis.extraPaths": [
"./tools",
"./tools/build/sprite",
"./tools/splat"
"./tools/splat",
"./tools/build/imgfx"
],
"[c]": {
"editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?", // no $, for scripts
@ -53,4 +56,6 @@
"docs/doxygen": true
},
"C_Cpp.default.cStandard": "c89",
"python.linting.mypyEnabled": true,
"python.linting.enabled": true,
}

View File

@ -4,7 +4,7 @@ Thank you for your interest in contributing to this project!
## Dependencies
There are a few additional dependencies needed when contributing to this project. You can install them with `./install.sh --extra`.
There are a few additional dependencies needed when contributing to this project. You can install them with `./install_deps.sh --extra`.
## Build System
@ -69,13 +69,11 @@ Once the C file compiles, you can compare the assembly generated by your code ve
./diff.py -mwo function_name
```
(Sometimes, `-mwo` doesn't work. We don't know why yet; use `-mw` if you encounter issues.)
`diff.py` displays the difference between the original game's assembly (on the left) and what your C code generated (on the right). If you want to compare with the last saved version as well, you can use `-3` to get a three-column diff of the original (left), current (middle), and previous (right). Passing `-b` instead of `-3` gives a three-way diff of original, current, and the version from when `diff.py` was started. Run `./diff.py -h` to see other flags and options.
### Matching the function
You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running with `-m`, will automatically recompile your code whenever you save the `.c` file.
You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running with `-mw`, will automatically recompile your code whenever you save the `.c` file.
If you use Visual Studio Code, you can use _Run Test Task_ to run `diff.py` and show you errors and warnings from the compiler inline. (You might want to attach _Run Test Task_ to a keybinding, as you'll be using it often.)

View File

@ -4,9 +4,10 @@ ENV DEBIAN_FRONTEND=noninteractive
COPY requirements.txt /
COPY requirements_extra.txt /
COPY install.sh /
COPY install_deps.sh /
COPY install_compilers.sh /
RUN apt-get update && ./install.sh --extra
RUN apt-get update && ./install_deps.sh --extra && ./install_compilers.sh
RUN mkdir /papermario
WORKDIR /papermario

View File

@ -14,7 +14,7 @@ It builds the following ROMs:
| PAL | `2111d39265a317414d359e35a7d971c4dfa5f9e1` | [![Progress (PAL)][progress-pal-badge]][progress-pal] |
| iQue | `5c724685085eba796537573dd6f84aaddedc8582` | [![Progress (iQue)][progress-ique-badge]][progress-ique] |
To set up the repository, see [INSTALL.md](INSTALL.md).
To set up the repository, see [SETUP.md](SETUP.md).
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to the project. Any and all help is welcome!

View File

@ -22,7 +22,7 @@ cd papermario
Install build dependencies:
```sh
./install.sh
./install_deps.sh
```
> **NOTE:** On Mac, if you get an error that looks like
@ -34,36 +34,16 @@ Install build dependencies:
>Please `brew unlink coreutils` before continuing.
>```
>
>it's fine to just open `install.sh` in a text editor, delete the `md5sha1sum` from the `brew install` line, and rerun it (put it back after so you don't accidentally commit it!)
Copy baseroms into the following places (at least 1 is required):
* `ver/us/baserom.z64` (sha1: `3837f44cda784b466c9a2d99df70d77c322b97a0`)
* `ver/jp/baserom.z64` (sha1: `b9cca3ff260b9ff427d981626b82f96de73586d3`)
(If you're using WSL, you can enter the Linux filesystem by opening `\\wsl$` in File Explorer; e.g. `\\wsl$\Ubuntu\home\<your username>\papermario`.)
Configure the build and extract assets from the base ROM:
```sh
./configure
```
Compile the game:
```
ninja
```
If you get `papermario.z64: OK` at the end, the build succeeded!
The output ROM is `papermario.z64` - you can run this in any N64 emulator.
>it's fine to just open `install_deps.sh` in a text editor, delete the `md5sha1sum` from the `brew install` line, and rerun it (put it back after so you don't accidentally commit it!)
Continue onto [building](#building)
## WSL 2
1. Install or upgrade to **WSL 2** following [these instructions](https://aka.ms/wsl2-install) (Ubuntu is recommended)
2. Open a WSL terminal
3. Run the following command: `sudo apt update && sudo apt upgrade && cd ~`
4. Continue with [the instructions for Linux](#unix)
4. Continue with [building](#building)
If you have Visual Studio Code, you can type `code .` to open the repo within it.
`Ctrl + J` opens up a Linux terminal within VS Code.
@ -77,7 +57,7 @@ docker build . -t pm
docker run --rm -ti -v $(pwd):/papermario pm
```
Then continue with [the instructions for Linux](#unix), but you can skip the install.sh!
Then continue with [building](#building)
## Nix
@ -88,4 +68,28 @@ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1
nix-shell
```
Like the instructions for Docker, continue with [the instructions for Linux](#unix), but you can skip the install.sh!
Like the instructions for Docker, continue with [building](#building)
# Building
Copy baseroms into the following places (at least 1 is required):
* `ver/us/baserom.z64` (sha1: `3837f44cda784b466c9a2d99df70d77c322b97a0`)
* `ver/jp/baserom.z64` (sha1: `b9cca3ff260b9ff427d981626b82f96de73586d3`)
* `ver/pal/baserom.z64` (sha1: `2111d39265a317414d359e35a7d971c4dfa5f9e1`)
* `ver/ique/baserom.z64` (sha1: `5c724685085eba796537573dd6f84aaddedc8582`)
(If you're using WSL, you can enter the Linux filesystem by opening `\\wsl$` in File Explorer; e.g. `\\wsl$\Ubuntu\home\<your username>\papermario`.)
Configure the build and extract assets from the base ROM:
```sh
./configure
```
Compile the game:
```
ninja
```
If you get `papermario.z64: OK` at the end, the build succeeded and the built rom matches the input rom!

View File

@ -7,10 +7,10 @@ import subprocess
import sys
from diff import Display, debounced_fs_watch
from colorama import Fore, Back, Style
from colorama import Fore, Style
sys.path.append("tools")
from tools.update_evts import parse_symbol_addrs
from old.update_evts import parse_symbol_addrs
from tools.disasm_script import ScriptDisassembler, get_constants
parser = argparse.ArgumentParser(

View File

@ -2200,383 +2200,6 @@ enum ActorPartTargetFlags {
ACTOR_PART_TARGET_FLAG_4 = 0x04,
};
enum PlayerSprites {
SPR_Mario1 = 0x1,
SPR_Mario1_Back = 0x2,
SPR_MarioB1 = 0x3,
SPR_MarioB2 = 0x4,
SPR_MarioB3 = 0x5,
SPR_MarioW1 = 0x6,
SPR_MarioW1_Back = 0x7,
SPR_MarioW2 = 0x8,
SPR_MarioW3 = 0x9,
SPR_Peach1 = 0xA,
SPR_Peach1_Back = 0xB,
SPR_Peach2 = 0xC,
SPR_Peach3 = 0xD,
};
// TODO: extract player sprite + animations
enum PlayerAnims {
ANIM_Mario1_Still = 0x00010000,
ANIM_Mario1_TiredStill = 0x00010001,
ANIM_Mario1_Idle = 0x00010002,
ANIM_Mario1_TiredIdle = 0x00010003,
ANIM_Mario1_Walk = 0x00010004,
ANIM_Mario1_Run = 0x00010005,
ANIM_Mario1_BeforeJump = 0x00010006,
ANIM_Mario1_Jump = 0x00010007,
ANIM_Mario1_Fall = 0x00010008,
ANIM_Mario1_Land = 0x00010009,
ANIM_Mario1_Sit = 0x0001000A,
ANIM_Mario1_SpinJump = 0x0001000B,
ANIM_Mario1_SpinFall = 0x0001000C,
ANIM_Mario1_SpinLand = 0x0001000D,
ANIM_Mario1_Frozen = 0x0001000E,
ANIM_Mario1_Fallen = 0x0001000F,
ANIM_Mario1_Spin = 0x00010010,
ANIM_Mario1_SpeedySpin = 0x00010011,
ANIM_Mario1_SpinAttack = 0x00010012,
ANIM_Mario1_SitUnused = 0x00010013,
ANIM_Mario1_Crouch = 0x00010014,
ANIM_Mario1_CrouchBurnt = 0x00010015,
ANIM_Mario1_Throw = 0x00010016,
ANIM_Mario1_Hurt = 0x00010017,
ANIM_Mario1_FallDown = 0x00010018,
ANIM_Mario1_TouchedFire = 0x00010019,
ANIM_Mario1_HurtFoot = 0x0001001A,
ANIM_Mario1_PanicRun = 0x0001001B,
ANIM_Mario1_Eat = 0x0001001C,
ANIM_Mario1_StickOutTongue = 0x0001001D,
ANIM_Mario1_PlantFireFlower = 0x0001001E,
ANIM_Mario1_UsePower = 0x0001001F,
ANIM_Mario1_FightingStance = 0x00010020,
ANIM_Mario1_Thinking = 0x00010021,
ANIM_Mario1_Dizzy = 0x00010022,
ANIM_Mario1_VacantStare = 0x00010023,
ANIM_Mario1_GetItem = 0x00010024,
ANIM_Mario1_Drink = 0x00010025,
ANIM_Mario1_Squish = 0x00010026,
ANIM_Mario1_ThinkingRun = 0x00010027,
ANIM_Mario1_Question = 0x00010028,
ANIM_Mario1_NodYes = 0x00010029,
ANIM_Mario1_LookUp = 0x0001002A,
ANIM_Mario1_Flail = 0x0001002B,
ANIM_Mario1_Pray = 0x0001002C,
ANIM_Mario1_Chuckle = 0x0001002D,
ANIM_Mario1_FallBack = 0x0001002E,
ANIM_Mario1_Burnt = 0x0001002F,
ANIM_Mario1_GetUp = 0x00010030,
ANIM_Mario1_DustOff = 0x00010031,
ANIM_Mario1_ThumbsUp = 0x00010032,
ANIM_Mario1_TossItem = 0x00010033,
ANIM_MarioB1_Stomp = 0x00030000,
ANIM_MarioB1_Trip = 0x00030001,
ANIM_MarioB1_Dying = 0x00030002,
ANIM_MarioB1_SleepStill = 0x00030003,
ANIM_MarioB1_Sleep = 0x00030004,
ANIM_MarioB1_SickStill = 0x00030005,
ANIM_MarioB1_Sick = 0x00030006,
ANIM_MarioB1_ReadyToDrink = 0x00030007,
ANIM_MarioB1_ApplyCream = 0x00030008,
ANIM_MarioB1_AdjustCap = 0x00030009,
ANIM_MarioB1_FingerWag = 0x0003000A,
ANIM_MarioB1_JumpForJoy = 0x0003000B,
ANIM_MarioB1_Leeching = 0x0003000C,
ANIM_MarioB1_Smash1_Begin = 0x0003000D,
ANIM_MarioB1_Smash1_PullBack = 0x0003000E,
ANIM_MarioB1_Smash1_Hold1 = 0x0003000F,
ANIM_MarioB1_Smash1_Hold2 = 0x00030010,
ANIM_MarioB1_Smash1_PreSwing = 0x00030011,
ANIM_MarioB1_Smash1_Swing = 0x00030012,
ANIM_MarioB1_Smash1_Spin = 0x00030013,
ANIM_MarioB1_Smash2_Begin = 0x00030014,
ANIM_MarioB1_Smash2_PullBack = 0x00030015,
ANIM_MarioB1_Smash2_Hold1 = 0x00030016,
ANIM_MarioB1_Smash2_Hold2 = 0x00030017,
ANIM_MarioB1_Smash2_PreSwing = 0x00030018,
ANIM_MarioB1_Smash2_Swing = 0x00030019,
ANIM_MarioB1_Smash2_Spin = 0x0003001A,
ANIM_MarioB1_Smash3_Begin = 0x0003001B,
ANIM_MarioB1_Smash3_PullBack = 0x0003001C,
ANIM_MarioB1_Smash3_Hold1 = 0x0003001D,
ANIM_MarioB1_Smash3_Hold2 = 0x0003001E,
ANIM_MarioB1_Smash3_PreSwing = 0x0003001F,
ANIM_MarioB1_Smash3_Swing = 0x00030020,
ANIM_MarioB1_Smash3_Spin = 0x00030021,
ANIM_MarioB2_SpinSmash1_Begin = 0x00040000,
ANIM_MarioB2_SpinSmash1_Raise = 0x00040001,
ANIM_MarioB2_SpinSmash1_Hold1 = 0x00040002,
ANIM_MarioB2_SpinSmash1_Hold2 = 0x00040003,
ANIM_MarioB2_SpinSmash1_PreSwing = 0x00040004,
ANIM_MarioB2_SpinSmash1_Swing = 0x00040005,
ANIM_MarioB2_SpinSmash2_Begin = 0x00040006,
ANIM_MarioB2_SpinSmash2_Raise = 0x00040007,
ANIM_MarioB2_SpinSmash2_Hold1 = 0x00040008,
ANIM_MarioB2_SpinSmash2_Hold2 = 0x00040009,
ANIM_MarioB2_SpinSmash2_PreSwing = 0x0004000A,
ANIM_MarioB2_SpinSmash2_Swing = 0x0004000B,
ANIM_MarioB2_SpinSmash3_Begin = 0x0004000C,
ANIM_MarioB2_SpinSmash3_Raise = 0x0004000D,
ANIM_MarioB2_SpinSmash3_Hold1 = 0x0004000E,
ANIM_MarioB2_SpinSmash3_Hold2 = 0x0004000F,
ANIM_MarioB2_SpinSmash3_PreSwing = 0x00040010,
ANIM_MarioB2_SpinSmash3_Swing = 0x00040011,
ANIM_MarioB2_Hammer1 = 0x00040012,
ANIM_MarioB2_Hammer2 = 0x00040013,
ANIM_MarioB2_Hammer3 = 0x00040014,
ANIM_MarioB2_DustyHammer = 0x00040015,
ANIM_MarioB2_HammerThrow1_Begin = 0x00040016,
ANIM_MarioB2_HammerThrow1_Raise = 0x00040017,
ANIM_MarioB2_HammerThrow1_Hold1 = 0x00040018,
ANIM_MarioB2_HammerThrow1_Hold2 = 0x00040019,
ANIM_MarioB2_HammerThrow1_PreThrow = 0x0004001A,
ANIM_MarioB2_HammerThrow1_Throw = 0x0004001B,
ANIM_MarioB2_HammerThrow2_Begin = 0x0004001C,
ANIM_MarioB2_HammerThrow2_Raise = 0x0004001D,
ANIM_MarioB2_HammerThrow2_Hold1 = 0x0004001E,
ANIM_MarioB2_HammerThrow2_Hold2 = 0x0004001F,
ANIM_MarioB2_HammerThrow2_PreThrow = 0x00040020,
ANIM_MarioB2_HammerThrow2_Throw = 0x00040021,
ANIM_MarioB2_HammerThrow3_Begin = 0x00040022,
ANIM_MarioB2_HammerThrow3_Raise = 0x00040023,
ANIM_MarioB2_HammerThrow3_Hold1 = 0x00040024,
ANIM_MarioB2_HammerThrow3_Hold2 = 0x00040025,
ANIM_MarioB2_HammerThrow3_PreThrow = 0x00040026,
ANIM_MarioB2_HammerThrow3_Throw = 0x00040027,
ANIM_MarioB2_BerserkIdle = 0x00040028,
ANIM_MarioB2_BerserkStill = 0x00040029,
ANIM_MarioB2_Inert = 0x0004002A,
ANIM_MarioB2_InertTired = 0x0004002B,
ANIM_MarioB3_Hustled = 0x00050000,
ANIM_MarioB3_Petrified = 0x00050001,
ANIM_MarioB3_StoneBurnt = 0x00050002,
ANIM_MarioB3_BurnHurt = 0x00050003,
ANIM_MarioB3_Hammer1_Charging = 0x00050004,
ANIM_MarioB3_Hammer1_Charged = 0x00050005,
ANIM_MarioB3_Hammer2_Charging = 0x00050006,
ANIM_MarioB3_Hammer2_Charged = 0x00050007,
ANIM_MarioB3_Hammer3_Charging = 0x00050008,
ANIM_MarioB3_Hammer3_Charged = 0x00050009,
ANIM_MarioW1_CarryWalk = 0x00060000,
ANIM_MarioW1_CarryAbove = 0x00060001,
ANIM_MarioW1_CarryRun = 0x00060002,
ANIM_MarioW1_CarryAboveRun = 0x00060003,
ANIM_MarioW1_PushToward = 0x00060004,
ANIM_MarioW1_TakeItem = 0x00060005,
ANIM_MarioW1_PlaceItem = 0x00060006,
ANIM_MarioW1_CarryIdle = 0x00060007,
ANIM_MarioW1_TakeItemSquashed = 0x00060008,
ANIM_MarioW1_JumpWatt = 0x00060009,
ANIM_MarioW1_FallWatt = 0x0006000A,
ANIM_MarioW1_LandWatt = 0x0006000B,
ANIM_MarioW1_Lift = 0x0006000C,
ANIM_MarioW1_Lift_Back = 0x0006000D,
ANIM_MarioW1_Toss = 0x0006000E,
ANIM_MarioW1_Toss_Back = 0x0006000F,
ANIM_MarioW1_Smash1_Miss = 0x00060010,
ANIM_MarioW1_Smash1_Miss_Back = 0x00060011,
ANIM_MarioW1_Smash1_Hit = 0x00060012,
ANIM_MarioW1_Smash1_Hit_Back = 0x00060013,
ANIM_MarioW1_Smash2_Miss = 0x00060014,
ANIM_MarioW1_Smash2_Miss_Back = 0x00060015,
ANIM_MarioW1_Smash2_Hit = 0x00060016,
ANIM_MarioW1_Smash2_Hit_Back = 0x00060017,
ANIM_MarioW1_Smash3_Miss = 0x00060018,
ANIM_MarioW1_Smash3_Miss_Back = 0x00060019,
ANIM_MarioW1_Smash3_Hit = 0x0006001A,
ANIM_MarioW1_Smash3_Hit_Back = 0x0006001B,
ANIM_MarioW1_PunchAir_Back = 0x0006001C,
ANIM_MarioW2_Carried = 0x00080000,
ANIM_MarioW2_FallenPivotable = 0x00080001,
ANIM_MarioW2_TouchedLava = 0x00080002,
ANIM_MarioW2_Collapse = 0x00080003,
ANIM_MarioW2_PraiseTheSun = 0x00080004,
ANIM_MarioW2_HangSwingingLegs = 0x00080005,
ANIM_MarioW2_Hang = 0x00080006,
ANIM_MarioW2_SpeakUp = 0x00080007,
ANIM_MarioW2_IdleYawning = 0x00080008,
ANIM_MarioW2_LayingDown = 0x00080009,
ANIM_MarioW2_Shocked = 0x0008000A,
ANIM_MarioW2_PleaseComeBack = 0x0008000B,
ANIM_MarioW2_LookClosely = 0x0008000C,
ANIM_MarioW2_HoldOnto = 0x0008000D,
ANIM_MarioW2_RideLaki = 0x0008000E,
ANIM_MarioW2_RideSushie = 0x0008000F,
ANIM_MarioW2_DiveSushie = 0x00080010,
ANIM_MarioW2_TouchNose = 0x00080011,
ANIM_MarioW2_PanicHoverStill = 0x00080012,
ANIM_MarioW2_PanicHover = 0x00080013,
ANIM_MarioW2_Jump = 0x00080014,
ANIM_MarioW2_JumpHitHead = 0x00080015,
ANIM_MarioW2_Surprise = 0x00080016,
ANIM_MarioW2_Flail = 0x00080017,
ANIM_MarioW2_PanicStill = 0x00080018,
ANIM_MarioW2_Panic = 0x00080019,
ANIM_MarioW2_Thrown = 0x0008001A,
ANIM_MarioW2_DeepExhale = 0x0008001B,
ANIM_MarioW2_NodYesTwice = 0x0008001C,
ANIM_MarioW2_SleepStanding = 0x0008001D,
ANIM_MarioW2_JoltAwake = 0x0008001E,
ANIM_MarioW2_FlailArms = 0x0008001F,
ANIM_MarioW2_PushSide = 0x00080020,
ANIM_MarioW2_LookUpWalk = 0x00080021,
ANIM_MarioW2_LookAround = 0x00080022,
ANIM_MarioW2_SitStill = 0x00080023,
ANIM_MarioW2_SitIdle = 0x00080024,
ANIM_MarioW2_SitNodYes = 0x00080025,
ANIM_MarioW2_HoldLetter = 0x00080026,
ANIM_MarioW2_ReadLetter = 0x00080027,
ANIM_MarioW3_ShakeHead = 0x00090000,
ANIM_MarioW3_ShakeHeadHard = 0x00090001,
ANIM_MarioW3_8bit_Still = 0x00090002,
ANIM_MarioW3_8bit_Run = 0x00090003,
ANIM_MarioW3_8bit_TurnAround = 0x00090004,
ANIM_MarioW3_8bit_Jump = 0x00090005,
ANIM_Peach1_Still = 0x000A0000,
ANIM_Peach1_Idle = 0x000A0001,
ANIM_Peach1_Walk = 0x000A0002,
ANIM_Peach1_Run = 0x000A0003,
ANIM_Peach1_RunLiftDress = 0x000A0004,
ANIM_Peach1_StepUp = 0x000A0005,
ANIM_Peach1_StepDown = 0x000A0006,
ANIM_Peach1_HoldCream = 0x000A0007,
ANIM_Peach1_HoldCream_Back = 0x000A0008,
ANIM_Peach1_HoldStrawberry = 0x000A0009,
ANIM_Peach1_HoldStrawberry_Back = 0x000A000A,
ANIM_Peach1_HoldButter = 0x000A000B,
ANIM_Peach1_HoldButter_Back = 0x000A000C,
ANIM_Peach1_HoldCleanser = 0x000A000D,
ANIM_Peach1_HoldCleanser_Back = 0x000A000E,
ANIM_Peach1_HoldWater = 0x000A000F,
ANIM_Peach1_HoldWater_Back = 0x000A0010,
ANIM_Peach1_HoldMilk = 0x000A0011,
ANIM_Peach1_HoldMilk_Back = 0x000A0012,
ANIM_Peach1_HoldFlour = 0x000A0013,
ANIM_Peach1_HoldFlour_Back = 0x000A0014,
ANIM_Peach1_HoldEgg = 0x000A0015,
ANIM_Peach1_HoldEgg_Back = 0x000A0016,
ANIM_Peach1_HoldCompleteCake = 0x000A0017,
ANIM_Peach1_HoldCompleteCake_Back = 0x000A0018,
ANIM_Peach1_HoldCakeBowl = 0x000A0019,
ANIM_Peach1_HoldCakeBowl_Back = 0x000A001A,
ANIM_Peach1_HoldCakeMixed = 0x000A001B,
ANIM_Peach1_HoldCakeMixed_Back = 0x000A001C,
ANIM_Peach1_HoldCakePan = 0x000A001D,
ANIM_Peach1_HoldCakePan_Back = 0x000A001E,
ANIM_Peach1_HoldCakeBatter = 0x000A001F,
ANIM_Peach1_HoldCakeBatter_Back = 0x000A0020,
ANIM_Peach1_HoldBareCake = 0x000A0021,
ANIM_Peach1_HoldBareCake_Back = 0x000A0022,
ANIM_Peach1_HoldSalt = 0x000A0023,
ANIM_Peach1_HoldSalt_Back = 0x000A0024,
ANIM_Peach1_HoldSugar = 0x000A0025,
ANIM_Peach1_HoldSugar_Back = 0x000A0026,
ANIM_Peach1_HoldIcingCake = 0x000A0027,
ANIM_Peach1_HoldIcingCake_Back = 0x000A0028,
ANIM_Peach1_HoldBerryCake = 0x000A0029,
ANIM_Peach1_HoldBerryCake_Back = 0x000A002A,
ANIM_Peach1_CarryCream = 0x000A002B,
ANIM_Peach1_CarryCream_Back = 0x000A002C,
ANIM_Peach1_CarryStrawberry = 0x000A002D,
ANIM_Peach1_CarryStrawberry_Back = 0x000A002E,
ANIM_Peach1_CarryButter = 0x000A002F,
ANIM_Peach1_CarryButter_Back = 0x000A0030,
ANIM_Peach1_CarryCleanser = 0x000A0031,
ANIM_Peach1_CarryCleanser_Back = 0x000A0032,
ANIM_Peach1_CarryWater = 0x000A0033,
ANIM_Peach1_CarryWater_Back = 0x000A0034,
ANIM_Peach1_CarryMilk = 0x000A0035,
ANIM_Peach1_CarryMilk_Back = 0x000A0036,
ANIM_Peach1_CarryFlour = 0x000A0037,
ANIM_Peach1_CarryFlour_Back = 0x000A0038,
ANIM_Peach1_CarryEgg = 0x000A0039,
ANIM_Peach1_CarryEgg_Back = 0x000A003A,
ANIM_Peach1_CarryCompleteCake = 0x000A003B,
ANIM_Peach1_CarryCompleteCake_Back = 0x000A003C,
ANIM_Peach1_CarryCakeBowl = 0x000A003D,
ANIM_Peach1_CarryCakeBowl_Back = 0x000A003E,
ANIM_Peach1_CarryCakeMixed = 0x000A003F,
ANIM_Peach1_CarryCakeMixed_Back = 0x000A0040,
ANIM_Peach1_CarryCakePan = 0x000A0041,
ANIM_Peach1_CarryCakePan_Back = 0x000A0042,
ANIM_Peach1_CarryCakeBatter = 0x000A0043,
ANIM_Peach1_CarryCakeBatter_Back = 0x000A0044,
ANIM_Peach1_CarryBareCake = 0x000A0045,
ANIM_Peach1_CarryBareCake_Back = 0x000A0046,
ANIM_Peach1_CarrySalt = 0x000A0047,
ANIM_Peach1_CarrySalt_Back = 0x000A0048,
ANIM_Peach1_CarrySugar = 0x000A0049,
ANIM_Peach1_CarrySugar_Back = 0x000A004A,
ANIM_Peach1_CarryIcingCake = 0x000A004B,
ANIM_Peach1_CarryIcingCake_Back = 0x000A004C,
ANIM_Peach1_CarryBerryCake = 0x000A004D,
ANIM_Peach1_CarryBerryCake_Back = 0x000A004E,
ANIM_Peach2_RaiseArms = 0x000C0000,
ANIM_Peach2_Talk = 0x000C0001,
ANIM_Peach2_LowerArms = 0x000C0002,
ANIM_Peach2_Yawn = 0x000C0003,
ANIM_Peach2_Sleep = 0x000C0004,
ANIM_Peach2_Gasp = 0x000C0005,
ANIM_Peach2_GaspStill = 0x000C0006,
ANIM_Peach2_Shout = 0x000C0007,
ANIM_Peach2_EndShout = 0x000C0008,
ANIM_Peach2_Delighted = 0x000C0009,
ANIM_Peach2_GiveItem = 0x000C000A,
ANIM_Peach2_OpenDoors = 0x000C000B,
ANIM_Peach2_Curious = 0x000C000C,
ANIM_Peach2_Startle = 0x000C000D,
ANIM_Peach2_SadStill = 0x000C000E,
ANIM_Peach2_SadTalk = 0x000C000F,
ANIM_Peach2_SpreadArms = 0x000C0010,
ANIM_Peach2_LookAround = 0x000C0011,
ANIM_Peach2_ArmsCrossedIdle = 0x000C0012,
ANIM_Peach2_ArmsCrossedTalk = 0x000C0013,
ANIM_Peach2_ForwardIdle = 0x000C0014,
ANIM_Peach2_ForwardShout = 0x000C0015,
ANIM_Peach2_ForwardHappy = 0x000C0016,
ANIM_Peach2_ForwardSad = 0x000C0017,
ANIM_Peach2_Carried = 0x000C0018,
ANIM_Peach2_Thrown = 0x000C0019,
ANIM_Peach2_Land = 0x000C001A,
ANIM_Peach2_TiedHangIdle = 0x000C001B,
ANIM_Peach2_TiedHangStruggle = 0x000C001C,
ANIM_Peach2_TiedStill = 0x000C001D,
ANIM_Peach2_TiedIdle = 0x000C001E,
ANIM_Peach2_MixingFull = 0x000C001F,
ANIM_Peach2_Mixing1 = 0x000C0020,
ANIM_Peach2_Mixing2 = 0x000C0021,
ANIM_Peach2_Mixing3 = 0x000C0022,
ANIM_Peach2_Mixing4 = 0x000C0023,
ANIM_Peach2_UseParasol = 0x000C0024,
ANIM_Peach2_PutAwayParasol = 0x000C0025,
ANIM_Peach2_TalkIdle = 0x000C0026,
ANIM_Peach2_CantFitParasol = 0x000C0027,
ANIM_Peach2_Inert = 0x000C0028,
ANIM_Peach3_PresentCompleteCake = 0x000D0000,
ANIM_Peach3_PresentBareCake = 0x000D0001,
ANIM_Peach3_PresentBerryCake = 0x000D0002,
ANIM_Peach3_PresentIcingCake = 0x000D0003,
ANIM_Peach3_InformalTalk = 0x000D0004,
ANIM_Peach3_ForwardHoldItem = 0x000D0005,
ANIM_Peach3_ForwardPlaceItem = 0x000D0006,
ANIM_Peach3_ReachIntoOven = 0x000D0007,
ANIM_Peach3_TiedSideways = 0x000D0008,
ANIM_Peach3_TiedTalk = 0x000D0009,
ANIM_Peach3_TiedShout = 0x000D000A,
ANIM_Peach3_TiedLaugh = 0x000D000B,
ANIM_Peach3_PourBatter = 0x000D000C,
ANIM_Peach3_WalkSad = 0x000D000D,
ANIM_Peach3_TiedUpsideDown = 0x000D000E,
ANIM_Peach3_Pray = 0x000D000F,
ANIM_Peach3_ReachForButtonHigh = 0x000D0010,
ANIM_Peach3_PressButtonHigh = 0x000D0011,
ANIM_Peach3_AfterPressButtonHigh = 0x000D0012,
ANIM_Peach3_ReachForButton = 0x000D0013,
ANIM_Peach3_PressButton = 0x000D0014,
ANIM_Peach3_AfterPressButton = 0x000D0015,
};
enum AmbientSounds {
AMBIENT_SPOOKY = 0,
AMBIENT_WIND = 1,
@ -3471,7 +3094,7 @@ enum ItemEntityFlags {
// governs item behavior after spawning until being picked up
enum ItemPhysicsStates {
ITEM_PHYSICS_STATE_INIT = 0x0,
ITEM_PHYSICS_STATE_ALIVE = 0x1, //
ITEM_PHYSICS_STATE_ALIVE = 0x1, //
ITEM_PHYSICS_STATE_DEAD = 0x2, // item is vanished or fallen out of the world
ITEM_PHYSICS_STATE_TOUCH = 0x3, // player has touched the item
ITEM_PHYSICS_STATE_04 = 0x4,

28
install_compilers.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/bash
uname=`uname`
if [[ "$uname" == "Darwin" ]]; then
echo "Downloading gcc/binutils for macOS"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/GCC
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for macOS"
curl -L "https://github.com/decompals/ido-static-recomp/releases/download/v0.2/ido-5.3-recomp-macos-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3
exit 0
fi
echo "Downloading gcc/binutils for Linux"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for Linux"
curl -L "https://github.com/decompals/ido-static-recomp/releases/download/v0.2/ido-5.3-recomp-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3

View File

@ -12,17 +12,6 @@ unset supported
if [[ "$uname" == "Darwin" ]]; then
supported=true
echo "Downloading gcc/binutils for macOS"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/mac.tar.gz" | tar zx -C tools/build/cc/GCC
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-mac.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for macOS"
curl -L "https://github.com/decompals/ido-static-recomp/releases/download/v0.2/ido-5.3-recomp-macos-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3
echo "Installing packages for macOS"
if ! command -v brew >/dev/null 2>&1; then
@ -243,7 +232,7 @@ fi
if [ "$supported" != true ]; then
echo "The following distros (and their derivatives) are supported by install.sh:"
echo "The following distros (and their derivatives) are supported by install_deps.sh:"
echo "- Debian/Ubuntu (apt)"
echo "- Arch Linux (pacman)"
echo "- openSUSE (zypper)"
@ -252,14 +241,3 @@ if [ "$supported" != true ]; then
echo "Please consider contributing and adding an installation script for your distro."
exit 1
fi
echo "Downloading gcc/binutils for Linux"
curl -L "https://github.com/pmret/gcc-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
curl -L "https://github.com/pmret/binutils-papermario/releases/download/master/linux.tar.gz" | tar zx -C tools/build/cc/gcc
# 2.7.2
curl -L "https://github.com/decompals/mips-gcc-2.7.2/releases/download/main/gcc-2.7.2-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
curl -L "https://github.com/decompals/mips-binutils-2.6/releases/download/main/binutils-2.6-linux.tar.gz" | tar zx -C tools/build/cc/gcc2.7.2
echo "Downloading IDO 5.3 for Linux"
curl -L "https://github.com/decompals/ido-static-recomp/releases/download/v0.2/ido-5.3-recomp-ubuntu-latest.tar.gz" | tar zx -C tools/build/cc/ido5.3

View File

@ -6,3 +6,5 @@ watchdog
gitpython
colour
ahocorasick-rs
types-tqdm
types-colorama

View File

@ -2,6 +2,7 @@
#include "sprite.h"
#include "nu/nusys.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#ifdef SHIFT
#define SPRITE_ROM_START (u32) _1943000_ROM_START + 0x10

View File

@ -6,6 +6,7 @@
#include "entity.h"
#include "ld_addrs.h"
#include "battle/action_cmd.h"
#include "sprite/player.h"
extern IMG_BIN ui_battle_menu_spirits_png[];
extern PAL_BIN ui_battle_menu_spirits_pal[];

View File

@ -15,6 +15,7 @@
#include "sprite/npc/BattleSushie.h"
#include "sprite/npc/BattleLakilester.h"
#include "sprite/npc/BattleBow.h"
#include "sprite/player.h"
extern HudScript HES_ProjectorBeam;
extern IconHudScriptPair gItemHudScripts[];

View File

@ -7,6 +7,7 @@
#include "sprite/npc/BattleMerlee.h"
#include "battle/action_cmd/flee.h"
#include "battle/battle.h"
#include "sprite/player.h"
extern HudScript HES_Happy;
extern HudScript HES_HPDrain;

View File

@ -1,6 +1,7 @@
#include "battle/battle.h"
#include "hud_element.h"
#include "battle/action_cmd.h"
#include "sprite/player.h"
#include "sprite/npc/Goompa.h"
#include "sprite/npc/BattleGoombario.h"

View File

@ -3,6 +3,7 @@
#include "world/actions.h"
#include "sprite.h"
#include "world/partner/watt.h"
#include "sprite/player.h"
#ifdef SHIFT
#define inspect_icon_VRAM_DEF inspect_icon_VRAM

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "world/partners.h"
#include "sprite/player.h"
extern f32 GravityParamsStartJump[];
extern f32 D_8010C928;

View File

@ -8,6 +8,7 @@
#include "message_ids.h"
#include "nu/nusys.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#if VERSION_IQUE
// TODO: remove if section is split in iQue release

View File

@ -1,6 +1,7 @@
#include "../area.h"
#include "sprite/npc/BattleBow.h"
#include "sprite/npc/TubbasHeart.h"
#include "sprite/player.h"
#define NAMESPACE A(tubbas_heart)

View File

@ -1,6 +1,7 @@
#include "../area.h"
#include "sprite/npc/HuffNPuff.h"
#include "sprite/npc/RuffPuff.h"
#include "sprite/player.h"
#include "battle/action_cmd/whirlwind.h"
#include "battle/action_cmd/stop_leech.h"

View File

@ -2,6 +2,7 @@
#include "sprite/npc/Tutankoopa.h"
#include "sprite/npc/ChainChomp.h"
#include "sprite/npc/BuzzyBeetle.h"
#include "sprite/player.h"
#define NAMESPACE A(tutankoopa)

View File

@ -2,6 +2,7 @@
#include "sprite/npc/Buzzar.h"
#include "battle/action_cmd/break_free.h"
#include "battle/action_cmd/whirlwind.h"
#include "sprite/player.h"
#define NAMESPACE A(buzzar)

View File

@ -1,5 +1,6 @@
#include "../area.h"
#include "sprite/npc/GoombaKing.h"
#include "sprite/player.h"
#define NAMESPACE A(goomba_king)

View File

@ -1,6 +1,7 @@
#include "../area.h"
#include "sprite/npc/JrTroopa.h"
#include "sprite/npc/ParaJrTroopa.h"
#include "sprite/player.h"
#include "sprite/npc/Goompa.h"
#define NAMESPACE A(jr_troopa)

View File

@ -2,6 +2,7 @@
#include "sprite.h"
#include "sprite/npc/BattleBowser.h"
#include "sprite/npc/ParadePeach.h"
#include "sprite/player.h"
#define NAMESPACE A(bowser_intro)

View File

@ -3,6 +3,7 @@
#include "sprite/npc/BattleKolorado.h"
#include "sprite/npc/LavaBud.h"
#include "sprite/npc/PetitPiranha.h"
#include "sprite/player.h"
#include "animation_script.h"
#include "entity.h"
#include "ld_addrs.h"

View File

@ -1,5 +1,6 @@
#include "../area.h"
#include "sprite/npc/TheMaster.h"
#include "sprite/player.h"
#define NAMESPACE A(master3)

View File

@ -1,5 +1,6 @@
#include "../area.h"
#include "sprite/npc/KentCKoopa.h"
#include "sprite/player.h"
#include "sprite/npc/Coin.h"
#define NAMESPACE A(kent_c_koopa)

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "sprite/npc/ShySquadGuy.h"
#include "sprite/player.h"
#define NAMESPACE b_area_omo2_1_shy_squad

View File

@ -1,6 +1,7 @@
#include "../area.h"
#include "sprite/npc/BabyBlooper.h"
#include "battle/action_cmd/stop_leech.h"
#include "sprite/player.h"
#define NAMESPACE A(blooper_baby)

View File

@ -1,5 +1,6 @@
#include "../area.h"
#include "sprite/npc/WorldEldstar.h"
#include "sprite/player.h"
#define NAMESPACE A(eldstar)

View File

@ -2,6 +2,7 @@
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/player.h"
extern EvtScript EVS_Enemy_Hit_Impl;
extern EvtScript EVS_Enemy_SpinAround_Impl;

View File

@ -1,6 +1,7 @@
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Fuzzy.h"
#include "sprite/player.h"
#define NAMESPACE A(forest_fuzzy)

View File

@ -1,6 +1,7 @@
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/npc/Fuzzy.h"
#include "sprite/player.h"
#include "effects.h"
#define NAMESPACE A(fuzzy)

View File

@ -2,6 +2,7 @@
#include "effects.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "sprite/player.h"
#include "sprite/npc/Fuzzy.h"
#include "battle/action_cmd/stop_leech.h"

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "sprite/npc/Swooper.h"
#include "sprite/player.h"
#include "battle/action_cmd/stop_leech.h"
#define NAMESPACE A(swoopula)

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "script_api/battle.h"
#include "battle/action_cmd/hammer.h"
#include "sprite/player.h"
#include "world/common/todo/IsBerserkerEquipped.inc.c"
#include "world/common/todo/ShouldMovesAutoSucceed.inc.c"

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "script_api/battle.h"
#include "battle/action_cmd/jump.h"
#include "sprite/player.h"
s32 N(D_802A10F0)[] = {
9, 3, 9, 3, 9, 3, 8, 3,

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "script_api/battle.h"
#include "sprite/player.h"
#include "common/StarPower.inc.c"

View File

@ -1,4 +1,5 @@
#include "common.h"
#include "sprite/player.h"
/// Provide arg `TRUE` on `LVar1` to disable refunding.
EvtScript N(UseItemWithEffect) = {

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "sprite/npc/WorldBombette.h"
#include "battle/action_cmd/hammer.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_hammer_attack

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_hammer_charge_0

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_hammer_charge_1

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_hammer_charge_2

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "effects.h"
#include "entity.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_hammer_throw

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_mega_quake

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_power_quake

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_quake_hammer

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_move_spin_smash

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "entity.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_coconut

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "script_api/battle.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_dried_shroom

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "entity.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_dusty_hammer

View File

@ -3,6 +3,7 @@
#include "effects.h"
#include "entity.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_egg_missile

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "script_api/battle.h"
#include "sprite/player.h"
#include "effects.h"

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "model.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_fire_flower

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "entity.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_food

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "model.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_fright_jar

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "script_api/battle.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_hustle_drink

View File

@ -3,6 +3,7 @@
#include "effects.h"
#include "entity.h"
#include "ld_addrs.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_insecticide_herb

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "entity.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_life_shroom

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "effects.h"
#include "entity.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_mushroom

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "ld_addrs.h"
#include "entity.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_pebble

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "script_api/battle.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_please_come_back

View File

@ -2,6 +2,7 @@
#include "script_api/battle.h"
#include "entity.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_pow_block

View File

@ -1,6 +1,7 @@
#include "common.h"
#include "script_api/battle.h"
#include "effects.h"
#include "sprite/player.h"
#define NAMESPACE battle_item_repel_gel

View File

@ -3,6 +3,7 @@
#include "entity.h"
#include "ld_addrs.h"