Converting iBus and Wayfarer from Gemini 2 to E400MMC

  • Please note that answers to questions that receive more than 5 collective down votes will be automatically hidden.

seppdemba

Content Control
Oct 25, 2016
246
Hey guys :)

As some of you've already seen in the workbench thread I'm trying to get the Wayfarer ticketmachine and the iBus into the Enviro 400 MMC.
While the iBus is working in most of it's features there are still missing the terminus, date and time displays on the iBus terminal.

The ticketmachine doesn't work at all.

What did I do untill now:
  • copied the scripts, varlists, constvarlists and stringvarlists, which are used by B9TL_l.bus into the MMC scripts folder
  • added the entries concerning those files in the ENV400MMC.bus (including the counters on top of each list)
  • copied the [mesh] entries from the model_B9TLGemini2_l.cfg to the model.cfg of the MMC
    • added a permanent animation to correct the postions of the meshes to fit them into the MMC
  • added all fonts in the model.cfg of MMC regarding their order number
What does the bus does (or not):
  • the ticketprinter is rendered, its buttons can be pushed, but without sound and any reaction. No ticket is printed.
  • the ticketprinter display is empty
  • the iBus works fine, but doesn't display the date, clock time and actual terminus
  • a manually set destination display will not be safed by Omsi. When a safed situation is loaded, the destination display is always empty.
    • This is meant to the red text displayed after pushing crtl+z twice, not to the real display on the bus, which aren't created yet.
All native functions of the MMC aren't affected by the mod. My logfile doesn't include any error concerning these things. The Gemini 2 works as it should.
I'm afraid I failed to notice something basic.

Cheers, Matthias

Enviro06.jpg Enviro09.jpg
 

Attachments

  • Like
Reactions: AdventureRock123

BlueOrange

Founder of Masterswitch Studios
Masterswitch Studios
Mar 22, 2016
352
When using text-textures, you don't assign them an ID, they're automatically indexed depending on the amount of texttexture definitions previously. So:
Code:
[texttexture]
{snip}

[texttexture]
{snip}

[texttexture]
ticketprinter_date
StreetBerlin_toast2
170
26
0
32
32
32
The date in this specific code snippet would be 2, because there are two previous texttexture definitions, and OMSI Scripting Language (OSL) indexes from 0 (as it should be). If I added another definition before the definition of ticketprinter_date, the ID would change to 3. Hope this can point you in the right direction. By the way, the ID needs to go under a [useTextTexture] tag, and you'll probably need to change the ID of whats under the useTextTexture tags.
 
  • Like
Reactions: seppdemba

BlueOrange

Founder of Masterswitch Studios
Masterswitch Studios
Mar 22, 2016
352
Thank you very much. I sorted that out, but that wasn't the error.
Cheers, Matthias
Still not appearing? Try searching all the script files for instances of (L.S.ticketprinter_date) (which saves to the variable) in the script files. If its missing, try searching for that in the B9TL
 

seppdemba

Content Control
Oct 25, 2016
246
I think you may need to edit 8321_main.osc for the ticketprinter part
Hiya,

this has been really useful. Most of the features missed are working now. Even the announcement of route and destination after opening the doors is now available (I forgot to mention that issue above).

However, the ticketmachine works, but doesn't give any sounds and the time and date are still missing on iBus terminal.

Cheers, Matthias
 
  • Like
Reactions: AC4723

seppdemba

Content Control
Oct 25, 2016
246
Hi :)

I got the sounds of the ticket machine working. Still time and date on iBus display are missing.

Cheers, Matthias
 

seppdemba

Content Control
Oct 25, 2016
246
I've found the date and time script (cockpit_clock) in cockpit_l.osc, I hope it helps.
the model.cfg of the G2 says ticketprinter_clock and ticketprinter_date for both fonts used by iBus:

Code:
53
iBus time
[texttexture]
ticketprinter_clock
StreetBerlin_toast
110
26
0
32
32
32


iBus date
54
[texttexture]
ticketprinter_date
StreetBerlin_toast2
170
26
0
32
32
32
o_O

Cheers, Matthias
 

seppdemba

Content Control
Oct 25, 2016
246
When using text-textures, you don't assign them an ID, they're automatically indexed depending on the amount of texttexture definitions previously. So:
Code:
[texttexture]
{snip}

[texttexture]
{snip}

[texttexture]
ticketprinter_date
StreetBerlin_toast2
170
26
0
32
32
32
The date in this specific code snippet would be 2, because there are two previous texttexture definitions, and OMSI Scripting Language (OSL) indexes from 0 (as it should be). If I added another definition before the definition of ticketprinter_date, the ID would change to 3. Hope this can point you in the right direction. By the way, the ID needs to go under a [useTextTexture] tag, and you'll probably need to change the ID of whats under the useTextTexture tags.
Thank you very much. I sorted that out, but that wasn't the error.

Cheers, Matthias
 

seppdemba

Content Control
Oct 25, 2016
246
Still not appearing? Try searching all the script files for instances of (L.S.ticketprinter_date) (which saves to the variable) in the script files. If its missing, try searching for that in the B9TL
Hi,

there arent't such entries in the scripts, neither in my MMC nor in the B9TL. I only found the variables in the ticketprinter_stringvarlist_l.txt.

Code:
ticketprinter_display
ticketprinter_clock
ticketprinter_date
ticketname1
ticketname2
ticketname3
ticketname4
ticketname5
ticketname6
ticketname7
ticketprice1
ticketprice2
ticketprice3
ticketprice4
ticketprice5
ticketprice6
ticketprice7
ticketprice
ticketgains
I don't get why it works in the B9TL then ... o_O

Cheers, Matthias
 

AC4723

I'm to lazy to make stuff
Nov 27, 2016
39
there arent't such entries in the scripts, neither in my MMC nor in the B9TL. I only found the variables in the ticketprinter_stringvarlist_l.txt.

I don't get why it works in the B9TL then ... o_O
This part from cockpit_l.osc could be the code for it.
Code:
    (L.S.Time) 3600 / s0 trunc s1
    
        l1 0 =
        {if}
            "12"
        {else}
            l1 "02" $IntToStrEnh
        {endif}
    
    
    ":" $+ l0 l1 - 60 * trunc "02" $IntToStrEnh $+
        
    (S.$.cockpit_clock)

    (L.$.cockpit_clock) ":" (L.S.Time) 60 % "02" $IntToStrEnh $+ $+ (S.$.ticketprinter_clock)

    (L.S.Day) "02" $IntToStrEnh "/" $+
    (L.S.Month) "02" $IntToStrEnh $+ "/" $+
    (L.S.Year) $IntToStr $+
    (S.$.ticketprinter_date)
 

seppdemba

Content Control
Oct 25, 2016
246
This part from cockpit_l.osc could be the code for it.
Code:
    (L.S.Time) 3600 / s0 trunc s1
   
        l1 0 =
        {if}
            "12"
        {else}
            l1 "02" $IntToStrEnh
        {endif}
   
   
    ":" $+ l0 l1 - 60 * trunc "02" $IntToStrEnh $+
       
    (S.$.cockpit_clock)

    (L.$.cockpit_clock) ":" (L.S.Time) 60 % "02" $IntToStrEnh $+ $+ (S.$.ticketprinter_clock)

    (L.S.Day) "02" $IntToStrEnh "/" $+
    (L.S.Month) "02" $IntToStrEnh $+ "/" $+
    (L.S.Year) $IntToStr $+
    (S.$.ticketprinter_date)
Hiya :)

I added that code into the ticketprinter script. Also added the variable "cockpit_clock" to a varlist, but it didn't solve the issue.

Cheers, Matthias