summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2019-05-12 11:20:59 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2019-05-12 11:20:59 -0400
commit50e66f942f13982a16ff9373dc15b43c74fcb82b (patch)
tree30ef3302dd8056e7f3fb310acfebfe10786cf6a2
parentf0f7aebc6b8e71aeefce2ad7acffb12bcd579d3c (diff)
Cleanup and brevity
-rw-r--r--Add-a-new-Pack-pocket.md57
-rw-r--r--Improve-the-outdoor-sprite-system.md4
-rw-r--r--Tutorials.md3
3 files changed, 17 insertions, 47 deletions
diff --git a/Add-a-new-Pack-pocket.md b/Add-a-new-Pack-pocket.md
index 4595c3f..406d9c6 100644
--- a/Add-a-new-Pack-pocket.md
+++ b/Add-a-new-Pack-pocket.md
@@ -13,7 +13,7 @@ This tutorial is for how to add a new Pack pocket. As an example, we'll add a Be
8. [Update standard inventory routines](#8-update-standard-inventory-routines)
9. [Update the Pack engine](#9-update-the-pack-engine)
10. [Update the Crystal-only Pack engine](#10-update-the-crystal-only-pack-engine)
-11. [Update Kurt Apricorn Script](#11-Update-Kurt-Apricorn-Script)
+11. [Update Kurt's Apricorn script](#11-update-kurts-apricorn-script)
12. [Fix build errors](#12-fix-build-errors)
@@ -860,57 +860,26 @@ Edit [engine/items/pack_kris.asm](../blob/master/engine/items/pack_kris.asm):
This is just like `PackGFXPointers`, but for the Crystal-only girl's Pack.
-## 11. Update Kurt Apricorn Script
-Because we're changing where the Apricorn type items are stored, if we would try to make custom Poke Balls with Kurt right now, the game would glitch up. This is because the game would still look for Apricorns on the Items pocket when they are no longer there. Fixing this is thankfully quick and easy.
+## 11. Update Kurt's Apricorn script
-Edit [engine/events/kurt.asm](../blob/master/engine/events/kurt.asm):
+If you did not change the Apricorns' pocket, then skip this step.
-```diff
-Kurt_GetQuantityOfApricorn:
- push bc
-- ld hl, wNumItems
-+ ld hl, wNumBerries
- ld a, [wCurItem]
-
-...
-
-; Initialize the search.
- push de
- push bc
-- ld hl, wNumItems
-+ ld hl, wNumBerries
- ld a, [wCurItem]
+Kurt's script to turn Apricorns into Balls assumes they're still in the Item pocket. Fixing this is thankfully quick and easy. Edit [engine/events/kurt.asm](../blob/master/engine/events/kurt.asm). There are *five* places in the code where we need to do this:
-...
-
-Kurt_GetAddressOfApricornQuantity:
- push hl
- push bc
+```diff
- ld hl, wNumItems
+ ld hl, wNumBerries
- inc hl
-
-...
-
-Kurt_GetRidOfItem:
- push bc
-- ld hl, wNumItems
-+ ld hl, wNumBerries
- ld a, [wCurItemQuantity]
-
-...
+```
-.okay
- push bc
-- ld hl, wNumItems
-+ ld hl, wNumBerries
- ld a, b
+1. `Kurt_GetQuantityOfApricorn`
+2. `Kurt_GiveUpSelectedQuantityOfSelectedApricorn`
+3. `Kurt_GetAddressOfApricornQuantity`
+4. `Kurt_GetRidOfItem`
+5. `Kurt_GetRidOfItem.okay`
-```
-It only takes to replace `wNumItems` for `wNumBerries` throughout the file. With this simple change, whenever you talk to Kurt, the game will look at the correct pocket and will also apply any changes to the number of Apricorns you hold (taking it from your pocket in order to turn them in Balls) as intended.
+Just use your text editor to find all five occurrences of "`wNumItems`" in the file, and make that one-line change to all of them.
-Just remember, this step only needs to be made if you change the Apricorn's pocket.
## 12. Fix build errors
@@ -927,7 +896,7 @@ So, `jr` and `jp` both jump to the given label. But `jp` encodes the full two-by
```diff
TutorialPack:
...
-
+
.Items:
xor a ; ITEM_POCKET
ld hl, .ItemsMenuHeader
diff --git a/Improve-the-outdoor-sprite-system.md b/Improve-the-outdoor-sprite-system.md
index 17125ee..0e9576a 100644
--- a/Improve-the-outdoor-sprite-system.md
+++ b/Improve-the-outdoor-sprite-system.md
@@ -261,8 +261,8 @@ Edit [data/maps/outdoor_sprites.asm](../blob/master/data/maps/outdoor_sprites.as
+ db SPRITE_COOLTRAINER_M
+ db SPRITE_BUG_CATCHER
+ db SPRITE_SUPER_NERD
++ ; 8 of max 9 walking sprites
+ db SPRITE_WEIRD_TREE ; variable sprite: becomes SPRITE_SUDOWOODO and SPRITE_TWIN
-+ ; max 9 of 9 walking sprites
+ db SPRITE_POKE_BALL
+ db SPRITE_FRUIT_TREE
+ db SPRITE_SUICUNE
@@ -479,6 +479,6 @@ Anyway, the point is that we don't need them any more. So you can completely del
- Remove the `SPRITE_WEIRD_TREE`, `SPRITE_AZALEA_ROCKET`, and `SPRITE_OLIVINE_RIVAL` definitions from [constants/sprite_constants.asm](../blob/master/constants/sprite_constants.asm).
- Remove their `variablesprite` commands from [maps/*.asm](../tree/master/maps/) and `InitializeEventsScript` in [engine/events/std_scripts.asm](../blob/master/engine/events/std_scripts.asm). You can also remove `special LoadUsedSpritesGFX` when it occurs in a map script right after a `variablesprite` command.
-- Replace `SPRITE_WEIRD_TREE`, `SPRITE_AZALEA_ROCKET`, and `SPRITE_OLIVINE_RIVAL` with the actual sprites they're supposed to use in [maps/*.asm](../tree/master/maps/) and [data/maps/outdoor_sprites.asm](../blob/master/data/maps/outdoor_sprites.asm). Be sure to put the actual sprites among the first nine list entries, since (with the exception of `SPRITE_TWINS`) they all need to walk.
+- Replace `SPRITE_WEIRD_TREE`, `SPRITE_AZALEA_ROCKET`, and `SPRITE_OLIVINE_RIVAL` with the actual sprites they're supposed to use in [maps/*.asm](../tree/master/maps/) and [data/maps/outdoor_sprites.asm](../blob/master/data/maps/outdoor_sprites.asm). Be sure to put the actual sprites among the first nine list entries, since they all need to walk (except for the `SPRITE_SUDOWOODO` and `SPRITE_TWIN` which replace `SPRITE_WEIRD_TREE`).
For more information on variable sprites, see [the tutorial to add a new sprite](Add-a-new-overworld-sprite).
diff --git a/Tutorials.md b/Tutorials.md
index 5195583..5244337 100644
--- a/Tutorials.md
+++ b/Tutorials.md
@@ -141,6 +141,7 @@ Feel free to contribute one of these!
- Bill calls to switch boxes when one is full
- Show quantity already in Pack in Marts
- Instant text option
+- Items that act like HMs
+- Let Pokémon use HM moves just by being compatible with them (from [Coral](https://hax.iimarckus.org/post/45725/))
- Nuzlocke mode (an in-game enforced [Nuzlocke Challenge](https://bulbapedia.bulbagarden.net/wiki/Nuzlocke_Challenge))
- Move standing+walking sprites to VRAM0, standing-only sprites to VRAM1; allocate 1:E0-FF for the map name sign; allocate 1:80-DF for more map tiles; add Polished Map support
-- Use Coral Version's HM System (https://web.archive.org/web/20180903115245/https://hax.iimarckus.org/post/45725/) \ No newline at end of file