• ✨ ARCHIVE MODE ✨
    The forum has now been set to read-only mode, no new posts, resources, replies etc will not be possible.
    We recommend you join our Discord server to get real-time response: Discord Invite Link

Fixed TorbenC's Bug Fix Pack #1 New Bark Town - Cherrygrove City

TorbenC

Trainer
Hello, this is Torben Carrington again with some more bug fixes. These were created for version 0.39.

This time there weren't any crashes or anything (fantastic!) but there are actually tons of little things to fix with the game. I focused mainly on dialogue, signs, missing NPCs, etc. but there were also general script enhancements (for instance, position fixes of NPCs, improving the scripted movement of NPCs such as the guide in Cherrygrove City, etc).

I'm going to just start naming the threads "TorbenC's Bug Fix Pack #__ Starting Area - Finishing Area" this way they are easy to find in search, and most importantly, easier to find the newest one. Each Bug Fix Pack will have an archive attached at the bottom of the post containing all of the bug fixes I've done that time around, simply extract the contents into Pokemon3D's root directory (the directory with the Pokemon3D launcher) and merge/replace older files with the new contents. There will also be a changelog in the threads, listing each bug I fixed with that Bug Fix Pack (I won't include it with the archive so as not to irritate people by cluttering their Pokemon folders).

The changelog works like this:
Bug Fix #__) filedirectory\editedfile.dat && anotherdirectory\anotherfile.dat:
Description of the bug fix. In this case, two files were edited. "&&" separates the different files that have been edited to correct the bug. Note some bug fixes may have multiple paragraphs.

There are also two tags, NEW and DELETED. This would mean the file directly after the tag is either newly added to the game (NEW), or that this Bug Fix Pack cuts out support for (DELETED) the file (meaning you can delete it from your Pokemon folders). Some bug fixes may be content additions, such as missing NPCs from the game. And one more thing to note, all directories listed in a bug fix start in the Pokemon\Scripts folder.

These are just a few guidelines I'll follow to keep everything nice and orderly. Each bug fix will list the files it edited, but each file may be edited by multiple bug fixes, keep this in mind. If this occurs, know that bug fix #10 for instance, is done after bug fix #5. So any edits done to the script in bug fix #5 are present when bug fix #10 is applied. Line numbers will not be provided as it is far to much work when another bug fix edits the same file and the line numbers get screwed with.

*wipes sweat* Alright! Now that this is all out of the way, I'm going to try and release a new Bug Fix Pack once every 1-2 weeks (quicker if I get on the team, but for now it's just for fun). Due to limited internet access for the moment I cannot tell if any bugs I am fixing have already been fixed for the future version, but the hope is that at least the majority of them will be new bug fixes. Why do this? I love the game and want to help out Nilllzz with finishing this masterpiece... and build a little portfolio of sorts at the same time, win win!

The goal here is to patch up the cogs of early development releases of this fantastic game, Nilllzz doesn't have time to go through and fix these minute details of the game, and by me doing this I hope that this will offer Nilllzz more time to work on more important aspects of the game like new maps, game engine features, and more... or take a break, either way is a win.

Below the changelog I have also added a list of wanted/needed script instructions to be implemented. These instructions range from minor conveniences to important functions to help match original gameplay. This is for Nilllzz to mull over and hopefully implement some if not all of them, so for the general users who don't have access to the source code, feel free to skip over it or post in agreement or disagreement with the suggestions.

Without further ado, here is the changelog for Bug Fix Pack #1:

--------------------------------------------
Changelog:

Bug Fix #1) barktown\mom.dat && barktown\momdoor.dat && furniture\barktown\yourroom\note.dat:
Altered Mom's dialogue to reflect Pokemon Crystal version's dialogue. Also fixed a missing script instruction to display the message for receiving the POKE-GEAR due to it only being in mom.dat but not momdoor.dat. Reformatted the dialogue to more closely match the dialogue found in Pokemon Crystal version (moved around break points, etc).

I also removed the instructions to open the POKE-GEAR from Mom's dialogue and instead placed them in note.dat, this is the note found up in the Player's room which lists the controls. I found this to be much more suited and it allowed me to match the original dialogue near perfectly.

Bug Fix #2) rival\rival_barktown.dat:
Fixed the dialogue, it now better resembles Pokemon Crystal/Gold/Silver versions' (reformatted the dialogue's instances of the word "Pokemon" to look like they should, removed extra periods, etc.). The kick event has also been mostly corrected (fixed resulting direction to face).

Due to engine limitations (see engine feature suggestions list) actors (including the player) cannot be scripted to move backwards. This forces me to have the player look towards the direction of travel, which is not how it is in the real games.

Bug Fix #3) barktown\no_pokemon.dat:
Fixed the walking sequence, it is now the same as Pokemon Crystal/Gold/Silver versions. Previously the NPC "Mary" ID 1 would go south one step before walking to the player if the player was on the souther end of the exit out of town, this was incorrect. Mary now properly walks to the northern end of the exit and turns to face the player, making the player do the extra movement as is in the original.

The "I should talk to Mom first" dialogue if "mom_talk" is registered has also been removed. This is not in Pokemon Crystal/Gold/Silver versions.

Bug Fix #4) ..\maps\barktown\1.dat:
Fixed formatting of instances of "Pokemon" in the dialogue for NPC "Women" ID 0.

Notice: This is the first map bug fix, note the "..\" this designates "up one directory" remember that we start from Pokemon\Scripts, so we "..\" back up from Scripts to Pokemon, then continue into the maps directory.

Bug Fix #5) ..\maps\barktown\0.dat:
Fixed formatting of instances of "Pokemon" in the dialogue for NPC "MrsElm" ID 0 and NPC "littleElm" ID 1.

Bug Fix #6) ..\maps\barktown.dat && NEW barktown\mary.dat:
Fixed the formatting of instances of "Pokemon" in:
* The dialogue for NPC "Jo" ID 0.
* The sign to the side of Professor Elm's Lab

Changed the warp point for the door into Professor Elm's Lab to enter onto the left hand side of the red mat inside. This is true to the original Crystal/Gold/Silver versions of the game.

Created a new script "mary.dat" and attached it to NPC "Mary" ID 1. This script is used for the conditional dialogue Mary has throughout the first few parts of the game.

Bug Fix #7) elmlab\cyndaquil.dat && elmlab\totodile.dat && elmlab\chikorita.dat:
Corrected the dialogue from Professor Elm on the topic of the Pokemon Healing Machine to the left of the lab. Professor Elm now properly turns and speaks about it as he did in the original Crystal/Gold/Silver versions of the game.

Bug Fix #8) ..\maps\route29.dat:
Fixed the position and movement pattern of NPC "John Maynad" ID 0. He is now properly positioned in the grass and only looking around, just as he was in Pokemon Crystal/Gold/Silver versions.

Correctly formatted instances of the word "Pokemon" in John Maynad's and NPC "John Maynad2" ID 1's dialogue as well as adding a few missing periods for John Maynad.

Bug Fix #9) ..\maps\gates\route2946gate.dat:
Added a missing NPC that appears in Crystal/Gold/Silver versions of the game and gave him the same dialogue as found in those games. Due to the gates not being to-scale of the original games, I placed him in the far right corner when entering from route 29. The new NPC's name is "Random" and his ID is 2.

Bug Fix #10) GateKeeper0.dat:
This script was reverted again, the problem seems to be that environment.regionweatherid is not returning an ID number. I believe this is an engine problem and not a problem with the script, but for now, in this Bug Fix Pack I am including a reverted version of this script which works.

Bug Fix #11) route29\1.dat:
Fixed formatting of the word "Pokemon" and corrected the grammar (to match the original games) of one dialogue option to say "at night" as opposed to "during night".

Bug Fix #12) cherrygrove\oldguide.dat && ..\maps\cherrygrove.dat:
Corrected the position and movement pattern of the NPC "GuideGent" ID 0. Now he correctly stands still at the last tree on the path into Cherrygrove City looking south.

Fixed the tour path, it now matches the one presented in Pokemon GOld/Silver versions of the game. Also added the correct pause and look at each other at the end of the tour. The dialogue has not been altered for GuideGent yet due to the POKE-GEAR not supporting cards yet.

Bug Fix #13) NEW cherrygrove\steve.dat && ..\maps\cherrygrove.dat:
Attached a new script steve.dat to NPC "Steve" ID 1. This is due to the conditional dialogue that Steve has before and after receiving the Mystery Egg from Mr.Pokemon. This also corrects the dialogue formatting (added proper breaklines, corrected instances of the word "Pokemon", etc.).

Notice: I did not have the opportunity to pin point exactly when this dialogue change occurs, I will do so at a later point. For now, the assumption of it being after you receive the Mystery Egg from Mr.Pokemon works for the purposes of this bug fix.

Bug Fix #14) ..\maps\cherrygrove.dat:
Corrected the text on the signs in front of both the Pokemon Center and the Pokemon Mart to appear as it did in Pokemon Crystal/Gold/Silver versions of the game.

Bug Fix #15) ..\maps\cherrygrove\1.dat:
Fixed instances of the word "Pokemon" in dialogue for both NPC "Male" ID 0 and NPC "FeMale" ID 0.

Corrected NPC "FeMale"'s ID number to be ID 1 instead of ID 0 as she is the second NPC in the map file and ID 0 is already being used by NPC "Male".

Bug Fix #16) ..\maps\cherrygrove\2.dat:
Added a missing NPC that appears in Crystal/Gold/Silver versions of the game and gave him the same dialogue and movement pattern as he has in those games. The new NPC's name is "Kid" and his ID is 1.

Corrected formatting of the word "Pokemon" in the dialogue for NPC "Guy" ID 0.

Bug Fix #17) ..\maps\cherrygrove_mart.dat:
Added two missing NPCs that appear in Crystal/Gold/Silver versions of the game and gave them both the same dialogue and movement patterns they have in those games. The first new NPC's name is "GuyOne" and his ID is 1. The second new NPC's name is "GuyTwo" and his ID is 2.

Corrected the NPC "SellMan"'s ID number to be ID 0 instead of ID 1 as he is the first NPC in the map file.

Bug Fix #18) ..\maps\cherrygrove_center.dat:
Added a missing NPC that appears in Crystal/Gold/Silver versions of the game and gave him the same dialogue and movement pattern as he has in those games. The new NPC's name is "BigGuy" and his ID is 5.

Corrected the skin, movement pattern, and dialogue of NPC "Random" ID 2 to be closer to that of the gentleman found in Pokemon Crystal/Gold/Silver versions of the game.

Notice: I have let the NPC "RandomHiker" ID 3 replace the woman found near the staircase in the original games as he seems to serve the same purpose (alerting the player of the possibility of trading and how). I was also unable to locate a "gentleman"'s skin so I used a middle aged man's skin for the NPC "Random".

Bug Fix #19) ..\maps\route30.dat:
Corrected the text on the sign stating the route number and where it leads to, to read as it does in Pokemon Crystal/Silver/Gold versions of the game. Also fixed the formatting of the word "Pokemon" in the sign in front of Mr.Pokemon's house's text.

Removed an NPC that is not in the original Pokemon Crystal/silver/Gold versions of the game. The removed NPC's name was "Catcher" and his ID was 8.

Bug Fix #20) route30\mrpokemon.dat:
Corrected the dialogue for both Mr.Pokemon and Professor Oak to match that of the original Pokemon Gold/Silver versions of the game. Also corrected the formatting of many instances of the word "Pokemon" in their dialogue.

Corrected the egg event movement patterns to match that of Pokemon Crystal/Silver/Gold versions of the game (now Professor Oak walks over before the player turns to face him, Mr.Pokemon looks at Professor Oak mid-dialogue, etc.).

Bug Fix #21) route30\elm_call.dat:
Corrected the dialogue for the call to match that of the original Pokemon Crystal/Silver/Gold versions of the game and formatted the text properly (moved around breaklines, corrected instances of the word "Pokemon", etc.).

Bug Fix #22) rival\rival_cherrygrove\startscript.dat && REMOVED rival\rival_cherrygrove\walk_script.dat && ..\maps\cherrygrove.dat:
Corrected the positioning of the two script blocks near the eastern exit of Cherrygrove City by moving them west one space. This is where they were in the original game and it is required for the proper rival leaving sequence.

Pointed the script block at (now) position x35, y0, z8 to the script rival\rival_cherrygrove\startscript instead of rival\rival_cherrygrove\start_script. To allow for correctly handling the rival leaving sequence.

Fixed the rival spawning sequence. Previously the player would always move to the southern part of the eastern exit to allow the rival to spawn and walk straight. This was incorrect, in the original games the rival would spawn in one of two places depending on where you were on the exit.

Corrected the rival's dialogue, it now matches that of Pokemon Crystal version. Formatted everything properly as well (moved around breaklines, corrected instances of "Pokemon", etc.).

Fixed the rival leaving sequence. The player now properly gets pushed south one step and the rival will begin walking away, the player will turn to watch as the rival now goes all the way out of sight towards route 30. This is actually pretty neat to watch.

Notice: There is lag when stepping over the script blocks due to such a large script being parsed. See the list of engine feature requests to see my suggestion/assumption on how to fix this problem (parsing what need not be parsed). The rival is actually supposed to be running during this sequence, but running currently isn't implemented (see engine feature requests).

Bug Fix #23) rival\rival_cherrygrove\startscript.dat
Corrected the position of the cop in Professor Elm's lab during the elm_police event. The cop is now properly standing in front of Professor Elm upon entering the lab.

Bug Fix #24) elmlab\door.dat && elmlab\door0.dat:
Corrected the positioning of the player during the elm_police event. The player now properly stands on the left side of the cop while talking to him just as it was in the original games.

Corrected formatting of various dialogues throughout the scripts (corrected instances of the word "Pokemon", moved around breaklines, etc.). Also added some missing dialogue.

I also added ":end" in proper places throughout the scripts. This is good habit as it will (see engine feature requests) stop the parser from continuing to read more script instructions, which, even if not executed, will slow it down.

Bug Fix #25) elmlab\door.dat && elmlab\door0.dat && elmlab\elm.dat:
Removed Professor Elm's dialogue from the elm_police event in the two door scripts as the player is allowed to leave the lab and go off and adventure before giving Professor Elm the Mystery Egg. This section has been moved into elmlab.dat so it is activated upon talking to Professor Elm, just like in the originals.

Professor Elm now backs up in awe at Mr.Pokemon's discovery of the Mystery Egg upon handing it over. The dialogue for Professor Elm has also been drastically improved, it now matches that of Pokemon Crystal/Silver/Gold versions and has been reformatted (moved around breaklines, corrected instances of the word "Pokemon", etc.).

I also added ":end" in proper places throughout the scripts. This is good habit as it will (see engine feature requests) stop the parser from continuing to read more script instructions, which, even if not executed, will slow it down.

Notice: Professor Elm is actually supposed to run backwards and then run forwards during his awe-ing of the Mystery Egg. Unfortunately moving backwards is not implemented, nor is running. So for now Professor Elm turns around and walks back a little, then turns around and comes back. Once these features are implemented I will correct this (see engine feature requests).

Bug Fix #26) ..\maps\route30.dat && NEW route30\johnmaynad.dat:
Attached a new script johnmaynad.dat to NPC "John Maynad" ID 0. This is due to the conditional dialogue that Steve has before and after receiving the Mystery Egg from Mr.Pokemon. This also corrects the dialogue formatting (added proper breaklines, corrected instances of the word "Pokemon", etc.).

Notice: I did not have the opportunity to pin point exactly when this dialogue change occurs, I will do so at a later point. For now, the assumption of it being after you receive the Mystery Egg from Mr.Pokemon works for the purposes of this bug fix.

Bug Fix #27) trainer\30001.trainer && trainer\30002.trainer && trainer\30003.trainer && trainer\30004.trainer && trainer\31001.trainer && trainer\31002.trainer:
Corrected the formatting instances of the word "Pokemon" throughout these files, I did not check to see if the dialogue itself is correct (yet).

--------------------------------------------
Engine Feature Suggestions:

#1) Script Block on Warp:
I came across a problem when attempting to fix Professor Elm's Lab entry when getting your first Pokemon. I could not get a script block to activate when you warp onto the script block's position (for instance, walking through a door and being warped into the building onto a script block). I was attempting to get an "on-entry" script block to work so the moment you entered Professor Elm's Lab the script would fire, but you have to step off of the block and then back on for it to work.

The request, the activation of script blocks if you are warped onto them the same way they are activated if you step onto them. Preferably this would be handled automatically using the already existing Action value 0 and not done through a new Action value.

I am now aware of map scripts which will work quite well, but I do feel this should still be considered.

#2) The Ability to BOLD Face Text:
In the original Pokemon games almost all instances of '!', '?', and route numbers are in bold face. It would be great to be able to format the text just as it appeared in the original games.

#3) Delay Movement Pattern Choices:
Currently when a movement pattern is selected with a rectangle to walk in (straight or walk) or even just looking around, the NPC will make a new decision once every 20-30 hundredths of a second it seems (very very quickly), when in the original games... everything was *way* slower.

The request, It would be awesome to be able to be able to set a delay time in between making a decision to look a certain direction, walk, etc. Even if it was between a set number of milliseconds (or hundredths of a second) it would help. Being able to do 1 - 1 1/2 second delays between moving would be great, then we can really get into mimicking the old NPCs.

Of course, to make it easy for implementing (ie: not having to go through every map file and update the NPC's creation function) it could be an optional addition, if not provided a default value would be used.

#4) Stop Parsing Past ":end"
I've noticed some huge lag spikes when walking over various script blocks even though the scripts have an if statement at the top which should end the script right away unless a certain event is registered. Even when the event is not registered it seems like the script parser is reading the entire script or doing something it shouldn't be doing.

The request, please look into the parser and make sure it stops reading the script entirely after it hits the first ":end", this will drastically increase performance of scripts in general and will stop these irritating lag spikes everywhere script blocks are placed (especially when they have large scripts).

#5) Running:
Some NPCs in the original game will run during certain scripted events instead of walking. This doubles their movement speed (roughly) and it would be great if we can get this feature in Pokemon 3D. As a script instruction being able to instead of "@npc.walk()" do "@npc.run()" would be perfect.

An example of an NPC using this in Pokemon Crystal/Silver/Gold versions is your rival. After you defeat him in Cherrygrove City the rival runs past you and leaves town. It would be great to fix the event entirely and have the rival run like this, currently he is walking away. Another would be (as mentioned in the change log) Professor Elm when you hand him the Mystery Egg, he is supposed to run back a little bit and then run up to you again.

#6) WinOutroMessage for .trainer Files:
Currently there is the OutroMessage which prints out a message after you beat the NPC, but while you are still in battle mode. This is great, but the opposite also needs to be available... the ability to print a message when the opponent wins.

This is actually used in Pokemon Crystal/Silver/Gold versions, one example of this being used is the rival in Cherrygrove City, if you win the battle he says (still in battle mode) "Humph. Are you happy you won?" but if you lose he says "Humph. That was a waste of time." before battle mode ends.

#7) Moving Backwards:
Sometimes NPCs and even the player are scripted to move backwards in the original games without turning to face the direction of travel.

Two instances of this occurring are both in New Bark Town. The first is when your rival kicks you back from the window next to Professor Elm's Lab, you jump backwards two steps without turning around. The second is when Professor Elm runs backwards a little bit after you hand him the Mystery Egg, he doesn't turn around either.

@npc.move(0, -1)
@player.move(-3)

Would be perfect, a negative value meaning opposite of where you are facing. Note, I tested the negative value and it crashes the game with NPCs and simply doesn't do anything with the player (player gets stuck forever).

--------------------------------------------
Edit Log:
Corrected grammar, spelling, and various sentence structure errors.
Corrected Engine Feature Request #6.
Added extra information to Engine Feature Request #7.
Added extra information to Engine Feature Request #1.
 

Attachments

Last edited:

Darkfire

Administrator
Administrator
P3D Developer
Some of these are re-written on purpose to be different from the originals and sometimes make more sense than having things like the Mystery Egg event not happen automatically
I believe inserting a negative number works(we used it in dragonsden/questions.dat)
also we made @player.setmovement(int,int,int)(look in Olivine/dockhand.dat)
@level.wait(int) works in hundreths of a second however it is a seprate command
I believe we are going to have a speed control command soon or already(I dont see it in the source so.......)
I undate this page regularly:
http://pokemon3d.net/wiki/index.php?title=Version_2_Scripts
as well as a page on the maps
Maps can have mapscripts that activate upon loading the map(to make it happen after the player appears on the map do @player.move(0))
fyi: if you are warping between maps and continuing the script afterwards make sure to use @level.update or put all of the rest of the script in the map script and it will activate after the warp
 

TorbenC

Trainer
Thank you very much for the replies, especially you Darkfire. I'll look into all of this tonight and check around. I understand some things may have been done differently on purpose, but for the most part I haven't noticed anything different that was different for any particular reason.

The mystery event not happening automatically I find is alright personally, considering the goal was to talk to professor elm originally, and if little kids did that perfectly fine I don't think that it will cause any problems having it setup the same was as before.
 

TorbenC

Trainer
Okay, I could not get @npc.move(0,-1) to work, it crashes the game (parameter value cannot be below 0).
@player.move(-1) does not crash the game, but it doesn't do anything and the player gets stuck.

Also, using the mapscript for simply player.move(0) seems like a waste, I feel it would be preferred to just auto-activate the script block if the player is warped on top of it. This would at least be the cleaner solution. This is needed for Professor Elm's lab at least, the moment the player walks through the door (which warps the player in)(s)he starts walking toward Professor Elm when receiving the first Pokemon and this probably happens in other areas or for other events in Professor Elm's lab as well.

I could make a mapscript that handles all these events in particular though, but this does not guarantee functionality as we cannot be sure the player used the door to enter the building... Though I guess we can just assume that if the player is save hacking or anything of the sort to get into the lab, (s)he should expect bugs. In this case this might be a good idea.

I'll give it some thought and it *may* be fixed in the next bug pack but I think it would be easier to go through the game and then do a second pass and fix any bugs I had to skip, especially if it means I don't have to do to many passes of each area as new engine functions would be added by that time hopefully.
Also, I accidentally messed up on of my engine feature requests (WinMessage). I've corrected it now, I meant to say that conditional OutroMessages are needed, WinOutroMessage (NPC wins) and LoseOutroMessage (NPC looses).
Please see the new edits log on the opening post to view all changes.

On a side note, I am already at 45 bugs for the next Bug Fix Pack, including missing content and tons of dialogue fixes.
 

Darkfire

Administrator
Administrator
P3D Developer
Okay, I could not get @npc.move(0,-1) to work, it crashes the game (parameter value cannot be below 0).
@player.move(-1) does not crash the game, but it doesn't do anything and the player gets stuck.
It 100% works since we use it in the Dragon's den script
i am not sure what you did wrong there but there isnt any reason why it wont work eventually.
Also, using the mapscript for simply player.move(0) seems like a waste, I feel it would be preferred to just auto-activate the script block if the player is warped on top of it. This would at least be the cleaner solution. This is needed for Professor Elm's lab at least, the moment the player walks through the door (which warps the player in)(s)he starts walking toward Professor Elm when receiving the first Pokemon and this probably happens in other areas or for other events in Professor Elm's lab as well.

I could make a mapscript that handles all these events in particular though, but this does not guarantee functionality as we cannot be sure the player used the door to enter the building... Though I guess we can just assume that if the player is save hacking or anything of the sort to get into the lab, (s)he should expect bugs. In this case this might be a good idea.
This already happens in alot of places and we specifically didnt do it in Elm's Lab
When you enter Union Cave on a friday and hear the Lapras cry, that is a map script
and the @player.move(0) is so the player appears on the map before whatever script happens
the unioncave script as example is:
Code:
version=2
:if:<environment.day>=Friday <and> <register.registered(Friday_Lapras)>=False
:then
@player.Move(0)
@pokemon.cry(131)
@Text.show(A mysterious cry~echoed up from~the depths.*I wonder what~it could be?)
:endif
:end
This makes the player enter the map properly before the rest of the script is followed.
If this were to happen first the player would be temporarily placed else where on the map
comparatively:
Code:
version=2
:if:<player.hasbadge(9)>=true <and> <environment.day>=friday
:then
@npc.warp(11,14,0,68)
:endif
:end
the warping of the npc happens first then the player is loaded into the map
 

TorbenC

Trainer
Thank you for your post, I'm on low battery so I'll have to read it more in depth tonight.
Perhaps the reason -1 didn't work in move() is because it was broken in 0.39? I am unsure, I see it being used in the dragon's den script but i have not been able to test it there yet. If you could that would be great.

Thank you!
 

Darkfire

Administrator
Administrator
P3D Developer
Thank you for your post, I'm on low battery so I'll have to read it more in depth tonight.
Perhaps the reason -1 didn't work in move() is because it was broken in 0.39? I am unsure, I see it being used in the dragon's den script but i have not been able to test it there yet. If you could that would be great.

Thank you!
I played through the dragon's den scripts to get the registers this morning so it works perfectly fine
Clair steps backwards normally and everything
 
Top