Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
82337fc
Merge pull request #45 from SeekyCt/dev
SeekyCt Dec 27, 2021
f524a33
Update manual for v8
SeekyCt Dec 27, 2021
b141109
Fix 7-3 sequence typo
SeekyCt Apr 6, 2022
94e3691
Expand item_data.h
SeekyCt Apr 6, 2022
7573563
Expand ipc.h
SeekyCt Apr 6, 2022
eebd287
Dev version tag
SeekyCt Jul 30, 2022
69807ca
Actually fix script menu closing
SeekyCt Jul 30, 2022
df1202f
Fixed crash in Francis's room, and managed PyConsole #ifdef directive…
JohnP55 Dec 1, 2022
e72a21b
Fix inpTpl declaration
SeekyCt Dec 5, 2022
4982737
Fix hang when warping to credits
SeekyCt Dec 5, 2022
f0cc0dc
Crash fixes, fadeout transition and more map entrances (#49)
JohnP55 Dec 8, 2022
c675da9
Fix nullptr mapchangeInit miss
SeekyCt Dec 8, 2022
0c3517b
Added grey icons for non-held buttons in the input display (#50)
JohnP55 Dec 10, 2022
bfb41e1
git subrepo clone https://github.com/SeekyCt/spm-headers.git spm-headers
SeekyCt Dec 23, 2022
1b3e40b
spm-headers migration
SeekyCt Dec 23, 2022
ef2618b
git subrepo pull spm-headers
SeekyCt Dec 23, 2022
5e462d8
Fix include casing
SeekyCt Dec 23, 2022
6904ae6
git subrepo push --branch=spm-practice-codes spm-headers
SeekyCt Dec 23, 2022
4588d45
Move build system to ninja
SeekyCt Dec 23, 2022
760f63c
Rework asset handling
SeekyCt Dec 23, 2022
ca6d753
Update .gitignore
SeekyCt Dec 26, 2022
fa88e61
Finish v9
SeekyCt Dec 27, 2022
35f03c9
Merge pull request #52 from SeekyCt/dev
SeekyCt Dec 27, 2022
ba6e66c
Fix elf2rel link
SeekyCt Sep 11, 2023
e8ddb03
configure.py cleanup
SeekyCt Dec 29, 2022
835e2ad
mregnames
SeekyCt Dec 29, 2022
1dfeea4
Delete runtime.s
SeekyCt Dec 29, 2022
caf2d93
Fix mapData symbol
SeekyCt Jan 1, 2023
21c4f94
Fix type hint
SeekyCt Jan 1, 2023
57a3afe
Clarify assets comment
SeekyCt Jan 5, 2023
648c6a5
Configure.py cleanup
SeekyCt Jan 8, 2023
f59f154
Keep incbin size always in rodata
SeekyCt Jan 8, 2023
23dcedc
git subrepo push spm-headers
SeekyCt Jan 28, 2023
baba376
git subrepo pull --force --branch=spm-practice-codes spm-headers
SeekyCt Jan 28, 2023
07e852c
Fixes for spm-headers update
SeekyCt Jan 28, 2023
67079ca
Allow libgcc linking
SeekyCt Apr 1, 2023
1303152
OSReport format attribute
SeekyCt Jul 27, 2023
c406714
Expand npcdrv structs
SeekyCt Jul 28, 2023
e920462
Work pointer fixes
SeekyCt Aug 21, 2023
1c614a0
Fix subrepo
SeekyCt Sep 12, 2023
0d951b0
git subrepo push spm-headers
SeekyCt Sep 12, 2023
68a651b
git subrepo pull --force spm-headers
SeekyCt Sep 12, 2023
0b25998
git subrepo pull --force spm-headers
SeekyCt Sep 16, 2023
ca2d7af
git subrepo pull --branch=master spm-headers
SeekyCt Sep 18, 2023
b861e8f
Added check to prevent loading the rel loader file twice, added butto…
JohnP55 Jul 30, 2023
5441a02
removed unused check
JohnP55 Jul 30, 2023
0f87d57
Fixed crash and added requested changes (also updated version)
JohnP55 Sep 18, 2023
eaa55d7
cleaned up some small stuff, also fixed the jp0 lst
JohnP55 Sep 18, 2023
cf77013
added start of movement code
JohnP55 Dec 20, 2023
0324f3c
added support for movement with the joystick
JohnP55 Dec 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 8 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
*.elf
*.rel
# Build system outputs
build
out
build.ninja

# Tool / user files
.vscode
build.*
*.bat
porting
*.bin
*.bat
compile_commands.json
29 changes: 28 additions & 1 deletion MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Once you've chosen the floor and pit you'd like to warp to, press `2`.

By default a Dimentio teleport animation will play when you do this (thanks to JohnP55 for the idea and documentation of relevant functions), but you can turn that off by pressing `-` in the menu if you'd like.

You can also press + to change your progress through the pit bosses.

## HUD Displays
The `Edit HUD Display Options` option in the menu allows you to enable and disable various displays on the screen. The list can be navigated with the D-Pad and `2` can be pressed to switch between Enabled and Disabled.

Expand All @@ -38,6 +40,25 @@ The `Position Update Delay` option allows you to change the amount of frames bet

The `Position Decimal Places` option allows you to set how many decimal places the coordinates are displayed to.

### HP Bars
HP bars give a graphical display of each enemy's remaining health underneath them, and at the top of the screen for bosses.

The `Display Enemy HP Bars` option enables the drawing of HP bars under each enemy.

The `Hide Enemy HP Bars in 3D` option will stop HP bars being drawn while you're flipped, as they often look quite messy there.

The `Display Boss HP Bars` option enables the drawing of the boss HP bar at the top of the screen.

### Controller Inputs
The `Display Controller Inputs` option will show all buttons you press on screen.

## Hitbox Displays
The hitbox display settings allow you to configure the game's unused NPC hitbox drawing code.

The `Display NPC Hitboxes` option will enable the game's main hitbox drawing code.

The `Show Disabled NPC Hitboxes` option will also enable the game's code to display disabled hitboxes in gray.

## Logging Options
The `Edit Logging Options` option in the menu allows you to enable and disable various things being printed to an on-screen console or OSReport (for Dolphin). The list can be navigated with the D-Pad and `2` can be pressed to switch between Enabled and Disabled.

Expand All @@ -50,6 +71,9 @@ The `Evt Variable Tracking` option will log whenever a saved script variable (LS
### Script Debug Instruction
The `Evt Debug Instructions` option will log messages passed into the debug script instructions `debug_put_msg` and `debug_put_reg`.

## Sequence Position Editor
The `Edit Sequence Position` option in the menu allows you to view and edit the values of the sequence value, GSW(0), in a more user-friendly way than the script variable editor.

## Script Variable Editor
The `Edit Script Variables` option in the menu allows you to view and edit the values of any GW, GF, GSW, GSWF, LSW or LSWF. The variable type (first few letters), variable number (first 4 decimal digits) and value (final 8 hex digits) can be scrolled through with the D-Pad.

Expand All @@ -62,12 +86,15 @@ The `Edit Stats` option in the menu allows you to change the values of your Leve
## Miscellaneous Options
The `Miscellaneous Options` option in the menu allows you to configure settings that aren't especially related to speedrunning or reverse engineering.

## wiidungeon.xml Replacement
### wiidungeon.xml Replacement
The `Load Pit Text From File` option allows you to customise the Pit of 100 Trials definition text with a file either added to your ISO or patched in with Riivolution to create your own Pit, or play someone else's. A clean copy of the file can be obtained [here](https://github.com/SeekyCt/spm-docs/blob/master/misc/wiidungeon.xml)
* Warning: this option is not supported when loading the mod exclusively through a save exploit on console (either USB Loader with a patched ISO or Riivolution must be used) because the game frequently reloads this file, so loading it from a save file would wear out the Wii's NAND.
* To use this feature with a patched ISO, follow one of the ISO guides in [INSTALLING.md](https://github.com/SeekyCt/spm-practice-codes/blob/main/INSTALLING.md) and add the custom `wiidungeon.xml` to the `mod` folder that `mod.rel` is placed in.
* To use this feature with Riivolution, edit / replace `wiidungeon.xml` in the SpmPracticeCodes folder on the root of your SD card.

### Last Key
The `Force Last Key in Pit` option will make it so that the key in each pit room is guaranteed to drop from the final enemy killed in the room.

## Saved Settings
The `Manage Saved Settings` option in the menu allows you to save your settings for the mod to your Wii's NAND (to the file `pcset.bin` in the game's save folder) and they'll automatically load next time you boot the mod. You can also load your saved settings, load the default settings or delete them from your NAND.

Expand Down
219 changes: 0 additions & 219 deletions Makefile

This file was deleted.

19 changes: 14 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,22 @@ The dev branch contains in-development features and usually isn't ported to or t
## Building
To compile this yourself, you'll need the following:
* devkitPPC
* The fork of PistonMiner's elf2rel from the [SPM Rel Loader repo](https://github.com/SeekyCt/spm-rel-loader/releases/tag/elf2rel-24-6-2021)
* For v8 and above, the 21-12-2021 build is required. v5-7 require the 24-6-2021 build. Older versions are compatible with any build.
* The TTYDTOOLS environment variable set to the folder outside of the `bin` folder with your compiled `elf2rel` in (so `$(TTYDTOOLS)/bin/elf2rel` will point to it)

Once that's set up you can use `make rgX` to build region `rg` ('eu', 'us', 'jp' or 'kr') revision `X` (0-1 for eu & jp, 0-2 for us, 0 for kr) or just `make` to build for all regions and revisions.
* ninja
* Python 3
- 3.8 is known to work, earlier versions may too
* The python modules from `requirements.txt` (`pip install -r requirements.txt`)
* The fork of PistonMiner's elf2rel from the [SPM Rel Loader repo](https://github.com/SeekyCt/spm-rel-loader/releases/)
* For v8 and above, the 21-12-2021 build is required. v5-7 require the 24-6-2021 build. Older versions are compatible with any build
* The ELF2REL environment variable set to the path to your compiled `elf2rel` executable

Once that's set up:
* Run `configure.py`
* Versions can be listed as arguments to enable them, by default all will be enabled
* Run `ninja`
* Versions can be listed as arguments to build them (must be enabled in `configure.py`), by default all will be built

## Credits
* This mod was made using the [SPM Rel Loader](https://github.com/SeekyCt/spm-rel-loader), which is based on the TTYD rel loader by PistonMiner and Zephiles.
* JohnP55 for help and suggestions creating the map change teleport effect.
* TheLordScruffy for the Dolphin & Riivolution detection methods.
* stebler for `tools/incbin.S`.
10 changes: 10 additions & 0 deletions assets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# == Format ==
# assetPathHere:
# symbol: symbolHere (<symbol>_end will also be created)
# align: alignmentHere (default 4)
# section: sectionHere (default .rodata)

assets/inputs.tpl:
symbol: inpTpl
align: 0x20
section: .data
Binary file modified assets/inputs.tpl
Binary file not shown.
Loading