Very interesting project. Unfortunately I have never been deep into the Matrix script, so maybe my contribution at this time might not be good, but I will try.
Please correct me if I wrote something wrong (I had few time to try this and I am really needing to sleep). In case this doesn't suit your real needs (this is probably the case), I hope it may be at least useful to help you to reach the display animation you want. I'd like to help you more but my time for OMSI has been crushed to almost nothing these days...
First of all, let's enable that display animation cycle for every IBIS suffix code:-----
Anyway, you said that you tested with the 96 code and it worked, but other codes didn't. This was so because you would need to add a code line with the new number you'd like to use there (after line 69,70 or 71, you decide):the picture above RESTRICTS matrix changes to codes that are less or equal to 97 AND not equal to 96 AND not equal to 95. So if you'd like to add animated things to code, lets say, 55, you would need to add:
(L.L.IBIS_Line_Suffix) 55 = ! &&
The exclamation point is the NOT operator, && is the AND operator. The ! negates the expression IBIS_Line_Suffix equals to 35.
and here, the picture above will ALLOW the animation if the suffix code is GREATER OR EQUAL than 98 OR equal to 96 OR equal to 95.
So to allow code 55, you would need to add the line l1 50 =
However, You're interested in expanding the animations to every code. Then, you need to delete lines (69 to 74) , (169 to 172), (176 to 178 )
But all these changes would be useless if we stopped at this point, because there are only 2 lines available for text in the HOF file that will be displayed in the front display, then we will need to perform some adaptation in order to really see the animation thing. I will post the code excerpts here, but the whole code is within the .osc file below.
--- # End of enabling animations for every IBIS suffix
---- The lines below gets the lines from the HOF file, and will show line 1 or 2 depending on the current animation state (I'm using the original matrix animation made by M&R with some changes in order to display the animation correctly using our new pattern) ----
(L.L.Matrix_ChangeCounter) !
{if}
l0 0 (M.V.GetTerminusString) 33 $SetLengthL "@" $+
l0 2 (M.V.GetTerminusString) 16 $SetLengthL $+ (S.$.Matrix_NewTerminus)
{else}
l0 1 (M.V.GetTerminusString) 33 $SetLengthL "@" $+
l0 2 (M.V.GetTerminusString) 16 $SetLengthL $+ (S.$.Matrix_NewTerminus)
{endif}
----- The line below had to be modified in order to not cause the text texture to be aligned incorrectly in the display:
l2 (C.L.Matrix_Waittime) - 0 max 33 * (C.L.Matrix_Changetime_Terminus) / trunc 50 min s3
For a simple test, I added the following terminus to Grundorf hof:
[addterminus]
704
Krummelstr
12345678 @12345678
ABCDEFGH @ABCDEFGH
KRUMMELSTRASSE
BERNERD. K.-STR.
Gru_Krummelstr.tga
Bernerd. Krummelstr.
....................
................
With these modifications, the game will be animating the matrix for any destination applied. BUT, the destination should be written using the template used above:
[16characters]@[16characters] (first animation frame)
[16characters]@[16characters] (second animation frame)
Here are my scripts (backup yours first!)
http://dl.dropbox.com/u/175347…mated_matrix/Matrix_D.osc
http://dl.dropbox.com/u/175347…mated_matrix/Grundorf.hof
Hope it helps a bit.
Let me know if you find any bugs or errors.