Bucket Mouse
Active member
It gets the gears turning. In addition to cutscenes, you've demonstrated EXACTLY how to manipulate the spare flags to do pretty much anything, which holds possibilities.
ChangeObjectState could potentially be used to change the sprite -- change its colors or turn it into another sprite entirely.
And I have a theory we could get text boxes working in these by performing a JSR to the direct part of the code where a text box is generated (it either starts at "DrawTextBox' or 'DoDrawTextBox' depending on if the opening argument is important). The question is how we get the NES to load the right text. I'm hoping it's as simple as assigning a text group to the screen.
This might be important, from HandleObjectCollisions:
Textboxflag may be an important flag. If so, we'd have to load that into A first, before JSR, to get everything working.
There's also the fact that the sprite of the man will disappear once the text box loads -- unless we can set up a BNE or BEQ routine to step around the HideSprites command for this specific instance. Sounds possible to me.
ChangeObjectState could potentially be used to change the sprite -- change its colors or turn it into another sprite entirely.
And I have a theory we could get text boxes working in these by performing a JSR to the direct part of the code where a text box is generated (it either starts at "DrawTextBox' or 'DoDrawTextBox' depending on if the opening argument is important). The question is how we get the NES to load the right text. I'm hoping it's as simple as assigning a text group to the screen.
This might be important, from HandleObjectCollisions:
Code:
isAnNPC:
;;;; do npc stuff.
LDA gamepad
AND #%00000010 ;; is b button pressed?
BEQ skipShowingText
LDA Object_ID,x
STA stringTemp ;; 3 will be passed on to text routine
;;;; it holds the number within the group to draw.
;;; set a flag to handle this next frame
LDA #$01
STA textBoxFlag
Textboxflag may be an important flag. If so, we'd have to load that into A first, before JSR, to get everything working.
There's also the fact that the sprite of the man will disappear once the text box loads -- unless we can set up a BNE or BEQ routine to step around the HideSprites command for this specific instance. Sounds possible to me.