:top
#loadbkg main
 
/I
#LOADBKG zoe
- Hi! My name is Zoe. And I'll show you the basics of scripting in GINCS Visual Studio.
/I
- Development of visual novels are very exciting.
/I
- At first, we'll learn how to display pictures and text.
/I
- Okay, let's try to go somewhere... maybe my room in Casablanca would be a good place.
/I
- To do that, we need to create new label called ":casablanca" somewere in the script.
/I
- Then, we need to display some picture of my room. I think "zoeroom.pcx" will be good. Just type "#loadbkg zoeroom" after label.
/I
- At the next line we'll write some text. Let it be "ZOE'S ROOM" if you do not mind.
/I
- And the last line must look like this: "/i". This command tells GINCS to wait for key to press.
/I
- So, now we have something like this:
.            :casablanca
.            #loadbkg zoeroom
.            "ZOE'S ROOM"
.            /i
/I
- Let's travel to Casablanca by implementing commang:
"#goto casablanca"...
/I
#goto casablanca
blah-blah-blah
:casablanca
#loadbkg zoeroom
"ZOE'S ROOM"
/i
#LOADBKG zoeroomd
       - Please do not pay attention
       to the little mess here...
/I
       - Yes, I know what you're
       thinking:
/I
       - How could the picture with
       Zoe's avatar appear over the
       old image when GINCS supports
       only one graphics layer?
/I
       - The answer is: It doesn't!
/I
       - We simply have another
       picture with my room at the
       background and my avatar in
       front of it!
/I
       - Just do not forget to use the
       same palette for such images to
       avoid artifacts when changing
       backgrounds.
/I
       - And be careful. This approach
       can quickly use up all the
       available space in rom. We have
       only 4 mb size limit. Use this
       technique wisely.
/I
#CLEARBKG 
#LOADBKG zoe
- Now I'll teach you how to create frames and comix baloons in dialogs.
/I
- GINCS Visual Studio 1.8.0 has a new remarkable feature.
/I
- Now it can automatically create a text frame around the messages of any length, breaking long messages into parts by words.
/I
- You only need to create a template frame, which is then saved in the project properties.
/I
#LOADBKG zoef1
- To do that, open text frame setup menu in your Studio by clicking this button.
/I
#LOADBKG zoef2
- Now you can change the symbols that will be a text frame.
/I
- The characters in the yellow fields will be duplicated in the frame.
/I
#LOADBKG zoef3
- Then open your FONT.CHR in any tile editor and redraw those symbols.
/I
#LOADBKG zoe
- That's all! Now you can choose any of my remark and press Ctrl+Shift+F.
/I
#LOADBKG zoe2
            [_^__________]
            |- Testing...|
            {____________}
/I
    [_^_______________________]
    |- See? It works! Amazing!|
    {_________________________}
/I
[_^_______________________________]
|- And even the very long messages|
|are correctly split into parts!  |
|Creating comics for SEGA         |
{_________________________________}
/i
[_^_______________________________]
|Genesis/Mega Drive has never been|
|easier!                          |
{_________________________________}
/I
#CLEARBKG 
#LOADBKG zoe
- Okay, let's learn how to create menus in GINCS!
/I
- The command syntax is: "!<label>;<text>"
where <label> meens label on which you jump after selecting line with <text>
/I
- Do not forget to use "/i" command after all menu items!
/I
- Ok. Let's create a menu to allow you to walk. At start we need two different locations. My room and the balcony will suit us for this.
/I
- Your room code will look like this:
.      :zoeroom
.      #LOADBKG zoeroom
.      "ZOE'S ROOM"
.      !zoeroom;Stay here
.      !zoebalcony;Go to the balcony
.      /i
/I
- And your balcony code is:
.      :zoebalcony
.      "ZOE'S BALCONY"
.      #LOADBKG zoebalc
.      !zoebalcony;Stay here
.      !zoeroom;Go to the room
.      /i
/I
:zoeroom
#CLEARBKG 
#if fl0001 #goto zoeroom2
#LOADBKG zoeroom
"ZOE'S ROOM"
!zoeroom;Stay here
!zoebalcony;Go to the balcony
/i
:zoebalcony
#CLEARBKG 
#set fl0001
"ZOE'S BALCONY"
#LOADBKG zoebalc
!zoebalcony;Stay here
!zoeroom;Go to the room
/i

:zoeroom2
#CLEARBKG 
#LOADBKG zoeroomd
       - Hey, you're back!
       How do I know that? Well...
       I set a trigger!
/I
       - Triggers is the third most
       important substance in GINCS.
/I
       - You need them if you want to
       know that some action has
       already happened.
/I
       - I added the command
       "#set fl0001" after the label
       ":zoebalcony" and a condition
       checking whether the trigger is
       set behind the label ":zoeroom"
/I
       - The condition syntax looks
       like:
       "#if (not) fl0xxx #goto <label>"
/I
       - I wrote:
       "#if fl0001 #goto zoeroom2"
       and created label "zoeroom2"
/I
       - Now we are in another room
       that looks exactly like the
       first one, because we use the
       same background! ;-)
/I
       - But in which we can implement
       events that happen after your
       visit to the balcony.
/I
       - And do not forget about the
       maximum number of rows in one
       script limit. You can not
       create scripts containing more
       than 1000 lines.
/I
       - To avoid this use "#proggoto"
       and "#progcall" commands. More
       details in help file.
/I
       - So... Since you are my guest,
       make yourself comfortable.
/I

:zoeroom3
#CLEARBKG 
#LOADBKG zoeroom
"ZOE'S ROOM"
#if not fl0002 !switchontv;Switch on TV
#if fl0002 !switchofftv;Switch off TV
!getout;Get out
/I

:switchontv
#set fl0002
#LOOPMUSIC rockch1
TV is turned on.
/I
#LOADBKG zoeroomd
       - Good, now you can hear the
       looping sound. Use commands
       "#playsound", "#loopsound" and
       "#stopsound". 
/I
       - But remember, sound files
       take up lot of space in rom.
/I
#goto zoeroom3

:switchofftv
#clear fl0002
#STOPMUSIC 
#goto zoeroom3

:getout
#LOADBKG zoeroomd
       - Leaving already? It was a
       pleasure to talk with you.
       Perhaps I'll see you again if 
       this lazy... 3DSch...
/I
       - Whatever he is, finally find
       the strength to finish "The 
       Longest Journey" and will begin
       to port "Dreamfall".
/I
#STOPMUSIC
#clear fl0001
#clear fl0002
#CLEARBKG 
#goto top