Addicional .MDT information (for Son of Persia's Toolset)
Apr 16, 2021 3:26:13 GMT 10
Biohazard4X, scoovyhd, and 2 more like this
Post by kTeo on Apr 16, 2021 3:26:13 GMT 10
Tested on an MDT triggered by a CUTSCENE (Type 02) AEV EVENT.
for more information on how to understand .MDT and .AEV FILES, read Mr.Curious's tutorials.
1. First array before message = Message Speed/positioning (must have)
Skipped digits on list below are either repeating the same thing as one of the entries or crashing the game.
{0x0800} = Instant Message, Starting on Left
{0x0000} = Instant Message, Centralized
{0x0100} = Skip Entire Message
{0x0500} = Skip Only Before Next Message Trigger
I haven't been able to find the slow and fast variants, where the letter appear one by one. There's no difference in MDT entries that contains those. If you find something, feel free
to leave a reply so it gets added to the list.
2. In the middle of a message, inserting {0x0300} will trigger a Line Break.
{0x0300} = Line Break
3. If you need more space for text, inserting {0x0800}{0x0400} will trigger the next lines to appear after pressing the NEXT key. this will overwrite the text prior to this action.
NOTE: looks like those values stand for:
{0x0800} at the end = Next Message Trigger
{0x0400} at the end = Centralize Text/Overwrite Prior Text
NOTE 2: Using only {Next Message Trigger} will make the next messages appear in the same screen without overwriting the last message. they will have an extended horizontal lenght. it's
not recommended to use more than 2 lines because they would get vertically out of the screen.
4. Inserting {0x1100} then another array with an item ID in the first byte will make their name appear. example: {0x1100}{0x2300} will create the text "Handgun"
6. At the end of a message,use {0x0800}{0x0100} to finish the event after pressing the NEXT key.
NOTE: If you don't use {0x0800}{0x0100} at the end, the same message will repeat twice and then end. (with, at the first one, another text presumanly being the second copy being
visible under the screen). Weird.
Now for a more interesting part, You can create choices to trigger another event if the player presses "Yes".
After some text or a {Line Break}, insert {0x0700}"your text" (quotation marks not needed)
{0x0700}"your text" = ONE choice. you must repeat this process for every choice you create. you can make 10 at once if you dedicate a whole message for this + line breaks, but
only the two first would act like a YES and NO respectively, the rest will act as a YES.
It's still not clear how to make that work, but apparently there's no major discrepance in the entries structures for MDT, AEV and ITA that triggers another AEV. More research is
needed.
for more information on how to understand .MDT and .AEV FILES, read Mr.Curious's tutorials.
1. First array before message = Message Speed/positioning (must have)
Skipped digits on list below are either repeating the same thing as one of the entries or crashing the game.
{0x0800} = Instant Message, Starting on Left
{0x0000} = Instant Message, Centralized
{0x0100} = Skip Entire Message
{0x0500} = Skip Only Before Next Message Trigger
I haven't been able to find the slow and fast variants, where the letter appear one by one. There's no difference in MDT entries that contains those. If you find something, feel free
to leave a reply so it gets added to the list.
2. In the middle of a message, inserting {0x0300} will trigger a Line Break.
{0x0300} = Line Break
3. If you need more space for text, inserting {0x0800}{0x0400} will trigger the next lines to appear after pressing the NEXT key. this will overwrite the text prior to this action.
NOTE: looks like those values stand for:
{0x0800} at the end = Next Message Trigger
{0x0400} at the end = Centralize Text/Overwrite Prior Text
NOTE 2: Using only {Next Message Trigger} will make the next messages appear in the same screen without overwriting the last message. they will have an extended horizontal lenght. it's
not recommended to use more than 2 lines because they would get vertically out of the screen.
4. Inserting {0x1100} then another array with an item ID in the first byte will make their name appear. example: {0x1100}{0x2300} will create the text "Handgun"
6. At the end of a message,use {0x0800}{0x0100} to finish the event after pressing the NEXT key.
NOTE: If you don't use {0x0800}{0x0100} at the end, the same message will repeat twice and then end. (with, at the first one, another text presumanly being the second copy being
visible under the screen). Weird.
Now for a more interesting part, You can create choices to trigger another event if the player presses "Yes".
After some text or a {Line Break}, insert {0x0700}"your text" (quotation marks not needed)
{0x0700}"your text" = ONE choice. you must repeat this process for every choice you create. you can make 10 at once if you dedicate a whole message for this + line breaks, but
only the two first would act like a YES and NO respectively, the rest will act as a YES.
It's still not clear how to make that work, but apparently there's no major discrepance in the entries structures for MDT, AEV and ITA that triggers another AEV. More research is
needed.