crxtrdude / pywright

Python game engine for running visual novel games similar to the Phoenix Wright series
Other
5 stars 3 forks source link

Keep textbox onscreen for prompts #180

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
So when the judge asks you to point out a spot in a photo, or you are asked to 
present evidence in response to something, it's useful to keep the textbox 
around so the player can keep it in mind as they search for the correct 
response.

There are two approaches I can think of. The first is to add a command 
somewhere that keeps the textbox onscreen while showing another interface. The 
likely command could be something like {prompt} or {nowait}. All it does is 
make the textbox stop blocking the script. User will have to manually delete it 
when they don't want it anymore (I believe delete name=_textbox_ does that.) 
Positives are it should be pretty easy to code and add, and it's very flexible 
- can use it anywhere for any new thing. Downsides are old games won't show the 
prompt.

Another option would be to build the feature into some of the interfaces that 
are used. Examine/list etc would somehow detect when there is meant to be a 
prompt, and handle showing and removing the textbox.  Detection could be as 
simple as how long ago we saw a textbox - if it's very recent we just show that 
textbox again with full text, and delete when the current interface goes away. 
Downsides to this approach: possible buginess, not that flexible. Upsides, 
works everywhere and case authors don't have to think about it.

Original issue reported on code.google.com by saluk64007@gmail.com on 9 Feb 2014 at 8:26

GoogleCodeExporter commented 8 years ago
The first approach seems to make more sense. Since it can be easily inserted at 
the end of the text. What I'm thinking in terms of the macro is this

set _prompt_bar general/promptanswer (for regular prompt bar)
set _prompt_bar general/promptarea (for are of picture prompt bar)
set _prompt_bar general/promptthought (AAI prompt bar for Logic)
macro prompt
obj $_prompt_bar y=212 name=prompt
scroll y=-20 spd=4 name=_textbox_ nowait
scroll y=-20 spd=4 name=prompt
endmacro

And then the author can utilize the type of prompt they want.
Then they can use this macro to delete the prompt

macro endprompt
delete name=_textbox_
delete name=prompt
endmacro

Original comment by earlAcda...@gmail.com on 9 Feb 2014 at 9:07