Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Akari on 2006-07-12 04:38:41
-
I try to implement field windows opcodes. It's hard but I will surely do it ^_^ So I have some questions.
1) Which opcode use for creating transparent window, self closing window and text without border?
2) Which of windows opcodes syncronous and which are not?
3) Is it nesesary to create window instance for all of them? (with WINDOW opcode)
4) What will happened if one entity call WINDOW and next entity will try to create message with this window id? What scope window id has?
And someone may try to explain windowing system, because I don't clear understand how it works =)
-
The answer to #4 is the window will shrink closed and re-zoom open with the new data.
I think the "place" command is for the windowless message.
-
this seems used to set opacity to windows
WMODE(00 02 00)
WINDOW(00 1C 00 08 00 FA 00 49 00)
MESSAGE(00 20)
WMODE(00 00 00)
Do somebody knows something about WMODE?
-
WMode(ID, Style, CBC)
ID - ID of the target window
Style - 02 for transparent window, 01 for the window without border
CBC - Cannot Be Closed if 01
dziugo
-
The WMode called before Window was initialize. Does this mean that there are fixed number of window that can be opened and there are some static array of window structure are allocated for them?
-
Yes, 8 structs if I counted it properly.
-
I'm on my way to implement all window opcodes.
Now I have questions about WNUMB (0x37) and STTIM (0x38)
WNUMB - Where are offsets for databank?
STTIM - If it has not window_id - then changing it affects all windows?
STTIM - It has hours minutes and seconds. In the game I see only minutes and seconds... how is it set?
STTIM - After setting does it updates automaticly? or you need to reset it from script?
How can I open multiple windows at once?
-
I've answered a couple here: will edit as I play about to find the answer to the others, so check back.
WNUMB: Sorry, forgot to add them. Wiki entry updated, but basically you split the four-byte value into 2 two-byte values, and they are used to find the address for the two banks.
STTIM (1): Yes, as far as I can tell. I opened up three windows in succession with a clock in it, each showed the same clock, with the time value from the previous one still ticking away in it. So the first one had 60 minutes, left it for ten seconds, then pressed [OK] when the clock read 59:50, and the second window had 59:50 in it which continued to tick down.
STTIM (2): Yes, it only has minutes and seconds, but if you do (for example) 1hr, 0mins, 0secs, the clock will read 60:00. So hours just translates into 60 minutes.
STTIM (3): The clock begins ticking down automatically as soon as you use a MESSAGE to open the window with the clock in it.