Davidebyzero / GBAGI

A fork of Brian Provinciano's Sierra AGI interpreter for the Game Boy Advance, aiming to fix its bugs
https://web.archive.org/web/20090512184610/http://www.bripro.com:80/gbagi/index.php
9 stars 1 forks source link

Ordering wine in leisure Suit Larry #7

Open VisionaiR3D opened 3 weeks ago

VisionaiR3D commented 3 weeks ago

I'm doing a playtrough of leisure Suit Larry on my gba I need to use the phone at the quikimart to order some wine. But I'm unable to punch in the right number 555-8039. Maybe it's because I'm missing the dash after 555.

Anyone here that has solved this?

Davidebyzero commented 3 weeks ago

According to this code snippet from the decompiled Logic22.lgc using WinAGI GDS, it shouldn't matter if you include the hyphen or not:

        get.string(s1, "Please enter number: ", 23, 0, 14);
        v67 = 3;
    }
    if (v65 == 2) {
        set.string(s2, "555-8039");
        set.string(s3, "5558039");
        if ((compare.strings(s1, s2) || 
            compare.strings(s1, s3))) {
            v65 = 100;
        }

ScummVM identifies this version of LSL1 as "1.00 1987-06-01".

But how are you even able to get up to that point in LSL under GBAGI? When I try to play it, I can't even answer the first question in the opening age quiz. I've tried using the virtual keyboard to type in the answers, and it seems to completely ignore that, as well as all other GBAGI controls. Edit: Apparently you need to hold Shift on the virtual keyboard while pressing the letter keys. This doesn't make any sense, because in ScummVM at least, it doesn't matter whether you hold Shift or not.

Edit 2: I ran the Debug build of GBAGI for Windows and breakpointed the cCompareStrings() function, and sure enough, it compared against "5558039" and the result was TRUE. There is something else you need to do in the game for dialing that number to not give a busy signal.

VisionaiR3D commented 3 weeks ago

It was a long time ago when I created the build but I remember I had to remove the age check protection before making the build. I believe it was documented on the old website. You can still view it trough internet archive.

I also remember that I was able to dail the right number. But was unable to specify that I wanted to buy wine on the next screen. But I cannot confirm at this point because the number I'm dailing is being rejected at the moment.

I will experiment a little more and come back to you.

I can send you my rom if you want to check it out.

Davidebyzero commented 3 weeks ago

But was unable to specify that I wanted to buy wine on the next screen.

It sounds like Fix word count returned by ParseInput() may have fixed this. Could you please try version 2.20 and see if it works now?

It was a long time ago when I created the build but I remember I had to remove the age check protection before making the build.

Do you mean that you compiled LSL from source code?