Related topic:
Prelude, "CREDITS and CONTRIBUTIONS" is displayed from halfway. (https://www.aworldoficeandfire.co.uk/forum/v8-0/prelude-credits-and-contributions-is-displayed-from-halfway/) in V8.* by me.
(https://img.atwiki.jp/awoiafwb/attach/1/239/credit1a.jpg)
I hand-disassembled the code and found that the cause is the scroll starting position. Currently the value passed to position_set_y for the last overlay_animate_to_position is -1100. Changing this to e.g. -2100 resolves the scroll-from-halfway problem.
This will reveal some sentences that have been HIDDEN from ANY PLAYER except translators since v7.11 or earlier:
----
The Dothraki take what they need through pillage and plunder and are said to dis-trust the oceans because their horses will not drink from it. Rape is rife in these parts and one would do well to stay well away...^^Welcome to the Game of Thrones and lets hope your adventures lead to better ends than that of most folk within the continents of Westeros and Essos!^^^CREDITS......(and first 11 or 12 lines)
----
I was also concerned about TOO LONG DURATION for most texts and the IRREGULAR fade-in/fade-out durations, and adjust them. For reference, I experimentally changed values for "gt" operations in my environment as below:
A World of Ice and Fire^^^^^^ If you wish... (3 lines)
5500 -> 5500
7000 -> 7000
Westeros, Dark times has befell this... (4 lines)
27000 -> 15000
29500 -> 16500
To the north of this vast continent is... (11 lines)
50000 -> 36000
51500 -> 37500
In order to bolster their influence... (6 lines)
63500 -> 47500
65000 -> 49000
Located in the Vale, an isolated... (5 lines)
85000 -> 57000
87000 -> 58500
Heading south Lord Mace Tyrell,... (3 lines)
107500 -> 65500
109000 -> 67000
King of Salt and Rock, Son of... (8 lines)
129000 -> 85000
131500 -> 86500
This turmoil continues past the... (3 lines)
150500 -> 93500
152000 -> 95000
A Game of Thrones is a TV series (6 lines)
190000 -> 104000
191500 -> 105500
The Dothraki take what...Welcome to the...CREDITS...
240500 -> 175500
Incidentally, currently the presentation is terminated with a click, but this is not convenient for both players and developers/testers. It would be better to move from the displayed text to the next text, so (if you haven't done so already) I recommend that you define the value passed to "gt" operations as a Python tuple or list (including several constants) rather than a literal at the top of module_presentations.py like:
fade1 = 1500
#----
story_t1 = 5500
story_t2 = story_t1 + 4000
story_t3 = story_t2 + 11000
story_t4 = story_t3 + ... # (Or these lines also should be a tuple like (5500, 4000, 11000, ...).)
:
#---- (If previous lines are set in a tuple, below could be made dynamically)
story_durations = [
story_t1, story_t1 + fade1,
story_t2, story_t2 + fade1,
... ]
This should make it easier to write the code to jump to the next text by incrementing the sequence number of the currently displayed text.
- Game version (and steam or downloaded):
AWoIaF v9.4, v8.2. Warband v1.174 downloaded.
AWoIaF v8.1, v7.11.Warband v1.167 downloaded.
Unfortunately there isn't such a thing as arrays or lists in the module system.
I have however made the other adjustments suggested here. Plus tidied up the text and removed the initial pointless menu.
Thanks a lot. I've confirmed that most of the issues have been resolved in AWoIaF v10.0 dev.4.
Maybe my explanation was unclear. The example I wrote above does not mean to have the engine process the array while the game is running, but to write (in Python format) story_durations = [ story_t1, story_t1 + fade1, story_t2, story_t2 + fade1, ... ] at the beginning of module_presentations.py, and then reference it in the list of operations , e.g., as story_durations[ 3 ].
AFAIK, we can access like an array even at runtime (with some restrictions and conditions). We can reference a string adding an offset to it with "str_store_string" ope, as done in the script "lord_comment_to_s43", or can use unused slots, or read/write integers by bit partitioning and arithmetic operations. (I won't go into the additional operations in WSE2 here.)