Difference between revisions of "Myst VIEW resources"
(brought here a notice) |
(add basic information on what I found out about the VIEW (based on Petroff's work)) |
||
Line 3: | Line 3: | ||
There are the same number of RLST and VIEW resources in all Myst packages: thus they may be locked together by index like HSPT and CARD resources in Riven. | There are the same number of RLST and VIEW resources in all Myst packages: thus they may be locked together by index like HSPT and CARD resources in Riven. | ||
+ | |||
+ | = Basic Format = | ||
+ | From what I can tell, VIEW resources describe what to show on screen and what sound to play. This is based on what Petroff Heroj found out (with some adjustments). | ||
+ | |||
+ | == Conditional Images == | ||
+ | {| class="structure" | ||
+ | |unsigned short|u0 | ||
+ | |- | ||
+ | |unsigned short|image_count | ||
+ | |- | ||
+ | |variable|conditional_images | ||
+ | |} | ||
+ | |||
+ | *''u0'' is unknown. | ||
+ | *''image_count'' is the amount of images to check against. | ||
+ | |||
+ | *''conditional_images'' is a count of these records: | ||
+ | |||
+ | {| class="structure" | ||
+ | |unsigned short|var | ||
+ | |- | ||
+ | |unsigned short|num_states | ||
+ | |} | ||
+ | |||
+ | *''var'' is the variable to check against. | ||
+ | *''num_states''is the number of image id's. | ||
+ | |||
+ | Then, there are ''num_states'' unsigned shorts representing an image id. The variable is the index of what to use in the table. | ||
+ | |||
+ | == Main Segment == | ||
+ | |||
+ | Following that, is this structure: | ||
+ | |||
+ | {| class="structure" | ||
+ | |unsigned short|main_image | ||
+ | |- | ||
+ | |signed short|sound | ||
+ | |- | ||
+ | |unsigned short|flags | ||
+ | |} | ||
+ | |||
+ | *''main_image'' is the main image to show on the screen. (Kind of like the default case). | ||
+ | *''sound'' is the sound id to play. If it is less than 0, it acts like a flag to pause, continue sound (-1?), or stop the current sound (what means what still needs to be checked). | ||
+ | *''flags'' appears to be flags. | ||
+ | |||
+ | == Unknown Segment == | ||
+ | |||
+ | TODO: I haven't completely figured this out. Petroff's guess was that it preloaded resources. However, it doesn't make sense that it is like that. It starts with an unsigned short representing the count. Then, following that is an unsigned short (which he believed to be the resource type to load). If it was 3 then there would be an array of WDIB's (an array of unsigned shorts, starting with a count and an unknown -- each unsigned shorts). A 1 would mean a single WDIB, a 2 would mean a single MSND (each represented by an unsigned short). | ||
+ | |||
+ | == More Unknown == | ||
+ | Following that is four unsigned shorts. Petroff's guess was that they represented RLST, HINT, EXIT, and INIT respectively. But, that doesn't line up with the resources that exist in the files. More likely, those resources are dependent upon the card id. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | = Old Case Studies = | ||
image name and sub-images (akin to Riven PLSTs) | image name and sub-images (akin to Riven PLSTs) | ||
{| cellpadding=2 style="border:1px #000 solid;border-collapse:collapse;text-align:center;" | {| cellpadding=2 style="border:1px #000 solid;border-collapse:collapse;text-align:center;" |
Revision as of 22:17, 3 September 2008
Myst | |||
Mohawk | Overview | ||
CLRC | EXIT | HINT | INIT |
MJMP | MSND | PICT | RLST |
VIEW | WDIB | HELP | RSFL |
Scripts | Variables |
There are the same number of RLST and VIEW resources in all Myst packages: thus they may be locked together by index like HSPT and CARD resources in Riven.
Contents
Basic Format
From what I can tell, VIEW resources describe what to show on screen and what sound to play. This is based on what Petroff Heroj found out (with some adjustments).
Conditional Images
u0 |
image_count |
conditional_images |
- u0 is unknown.
- image_count is the amount of images to check against.
- conditional_images is a count of these records:
var |
num_states |
- var is the variable to check against.
- num_statesis the number of image id's.
Then, there are num_states unsigned shorts representing an image id. The variable is the index of what to use in the table.
Main Segment
Following that, is this structure:
main_image |
sound |
flags |
- main_image is the main image to show on the screen. (Kind of like the default case).
- sound is the sound id to play. If it is less than 0, it acts like a flag to pause, continue sound (-1?), or stop the current sound (what means what still needs to be checked).
- flags appears to be flags.
Unknown Segment
TODO: I haven't completely figured this out. Petroff's guess was that it preloaded resources. However, it doesn't make sense that it is like that. It starts with an unsigned short representing the count. Then, following that is an unsigned short (which he believed to be the resource type to load). If it was 3 then there would be an array of WDIB's (an array of unsigned shorts, starting with a count and an unknown -- each unsigned shorts). A 1 would mean a single WDIB, a 2 would mean a single MSND (each represented by an unsigned short).
More Unknown
Following that is four unsigned shorts. Petroff's guess was that they represented RLST, HINT, EXIT, and INIT respectively. But, that doesn't line up with the resources that exist in the files. More likely, those resources are dependent upon the card id.
Old Case Studies
image name and sub-images (akin to Riven PLSTs)
0 | 0 | 3001 | -1 | 0/0 | 3001 | 3001 | 0 | 0 |
name | neg. | bytes | (name name 0 0) |
0 | 0 | 3002 | -2 | 0/144 | 0 | 3002 | 3002 | 0 | 0 | |
0 | 0 | 3003 | -2 | 0/144 | 1 | [1 3004] | 3003 | 3003 | 0 | 0 |
name | ? | count | entry | (name name 0 0) |
- I think 3004 is the name of a sub-image (small image to be placed in another) of 3003 here.
0 | 0 | 3005 | 3005 | 0/144 | 1 | [1 3006] | 3005 | 3005 | 0 | 0 |
name twice | (name name 0 0) |
0 | 0 | 3012 | -2 | 0/50 | 5 | [1 3013] | [1 3008] | [1 3009] | [1 3010] | [1 3011] | 3012 | 0 | 0 | 3012 |
name | ? | count | entries | (name 0 0 name) |
14 | 1 | 1 | 5 | 2 | 3030 | 3031 | FFFC 3 2 3031 00_A0 | 4031 | x00A0 | 2 | 2 4030 | 1 3030 | 3031 | 3031 | 0 | 0 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
44 | 1 | 1 | 2 | 2 | 3095 | 3096 | FFFC 15 2 3095 00_A0 | 4095 | x00A0 | 4 | 2 4095 | 1 3562 | 1 3097 | 2 5095 | 3095 | 3095 | 3095 | 0 |
348 | 1 | 1 | 16 | 2 | 3536 | 3535 | 3535 | x0060 | 0 | 3535 | 3535 | 0 | 0 | |||||
359 | 1 | 1 | 5 | 2 | 3550 | 3552 | FFFC 3 2 6552 00_80 | 3552 | x0080 | 4 | 4 3550 | 4 3552 | 2 4552 | 2 5552 | 3552 | 3552 | 0 | 0 |
47 | 1 | 1 | 10 | 2 | 4140 | 4141 | 5141 | x0090 | 1 | 2 4141 | 4141 | 4141 | 4141 | 4141 | ||||
50 | 1 | 1 | 10 | 2 | 4148 | 4149 | 4149 | x0090 | 0 | 4149 | 4149 | 4149 | 0 | |||||
51 | 1 | 1 | 10 | 2 | 4150 | 4151 | FFFE | x0070 | 0 | 4150 | 4150 | 0 | 0 | |||||
94 | 1 | 1 | 10 | 2 | 4243 | 4244 | 4244 | x0050 | 0 | 4244 | 4244 | 0 | 0 | |||||
116 | 1 | 1 | 40 | 2 | 4292 | 4294 | FFFC 40 2 4292 00_50 | 4292 | x0060 | 2 | 1 4293 | 2 5292 | 4292 | 4292 | 0 | 0 | ||
145 | 1 | 1 | 0 | 2 | 4358 | 4357 | FFFE | x0030 | 0 | 4357 | 4357 | 0 | 0 | |||||
287 | 1 | 1 | 34 | 3 | 4698 | 4701 | 4702 | xFFFD | 4 | 1 4699 | 2 4698 | 2 5698 | 2 6698 | 4698 | 4698 | 4698 | 4698 | |
295 | 1 | 1 | 10 | 2 | 4717 | 4719 | 4717 | x0040 | 1 | 1 4718 | 4717 | 4717 | 0 | 0 |