I ultimately decided to compile what amounted to nightly builds each month for the time being for my hack, but I'm going to need help with the script where Misty teaches your Pokémon Iron Tail after you win the rematch with her in Celadon City. Here's what I have thus far:
CeladonCityAfterBattleText: ; 48a95 (12:4a95)
jr nz, .asm_7053f
ld hl, IronTailMoveTutorPreText
ld a, 5
Basically, I intend to have the game check if any Pokémon in your party can learn Iron Tail. If no Pokémon can learn Iron Tail for whatever reason, Misty will tell you to put a Pokémon in your party that can learn Iron Tail. If at least one Pokémon can learn Iron Tail, the Move Tutor script will proceed as usual. After successfully teaching the move, the player will move one step down, Misty will move one step left, and her sister (Lily, for whom I'll use the Foulard Woman sprite) will move one step down, out of the Celadon Ballet Academy, after which Misty will comment on it before the two leave Celadon.
Hey, I was wondering if you could give me a hand tracking down another bug that has me stumped because I can't replicate it and I can't seem to figure out how it could even be happening. Someone mentioned something similar to this during beta testing, they said it only occurred in VBA-M and stopped when they went to VBA, but this user said they are using normal VBA.
Here is a clip of it happening in their LP series. It seems as though on that floor, when they talk to a trainer, they are warped back to the last warp they entered from before the battle starts, but I can't find anything that should be calling any sort of warping code in the TalkToTrainer routines. Any ideas where to look? At this point I'm pretty sure it's too late to get a save-state of the bug, since they've already recorded another episode or two since then.
Te queria preguntar algo, te acuerdas que hace 1 año masomenos te pregunté como podria hacer para cambiar los niveles de los starters que te regalan en Yellow? Pues bien, me dijiste de buscar la rutina "GivePokemon". Recien hace unos días la identifiqué con el GBASM Editor y leyendo el Red diassembly a la vez. Intenté cambiar SOLO el nivel de Charmander y no pasó nada. Intenté lo mismo con Lapras, pero tampoco no se aplicaron los cambios. Segun tu, qué podria estar haciendo mal?
I thought you said when a TM called it, that address held the item number instead of list number, so if that was the case a TM would never accidentally be read as MOVE_LIST. But that was probably just another misunderstanding from earlier when we were confused. I'll try again to put the other stuff in instead.
As of right now, the TMs no longer seem to be crashing when I load that save state in the updated rom, and Move IDs higher than HM01's ID load correctly. And just to check, it appears that Pokémon names above that value load correctly as well.
Great. I apparently don't have room to add that tiny piece of code there even after removing the old hacky thing.
cp HM_01 ; are we dealing with a TM or HM?
jr c, .skipHM
ld hl, wExtraFlags
That's what I was adding between lines 1506 and 1507, and then I made the start of GetName look like:
GetName:: ; 376b (0:376b)
; [wd0b5] = which name
; [wNameListType] = which list
; [wPredefBank] = bank of list
; returns pointer to name in de
bit 5, [hl]
res 5, [hl]
jr z, .noTM
cp HM_01 ;it's TM/HM
.noTM ; Return here if not an item
Guess I'll have to work around it again. I hate how crowded bank 0 gets. The code looks like it would work if I could just fit it in, anyway.
Ah right, whoops. Yeah checking a would work but resetting it there would be pointless lol.
Just to clarify what you were telling me about the problem, I'd need to go to the item menu routine we found earlier and set it there based on the Item ID, or would I be able to just set it during the ItemUseTMHM routine and not have to worry about checking the item ID beforehand.